gemi 0.74.0 → 0.74.1
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/auth/AuthController.d.ts.map +1 -1
- package/dist/auth/config.d.ts +13 -0
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/{chunk-w8jyvdgd.js → chunk-1rzn4rvz.js} +1 -1
- package/dist/{chunk-pjd63e8g.js → chunk-2yje4e2t.js} +1 -1
- package/dist/chunk-4qwz8b3z.js +19 -0
- package/dist/{chunk-smr9jn4z.js.map → chunk-4qwz8b3z.js.map} +5 -5
- package/dist/{chunk-msqr4d2d.js → chunk-eg2n7x73.js} +2 -2
- package/dist/{chunk-msqr4d2d.js.map → chunk-eg2n7x73.js.map} +1 -1
- package/dist/{chunk-43t1js09.js → chunk-qn3y2sjy.js} +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/http/index.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/kernel/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/services/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-smr9jn4z.js +0 -19
- /package/dist/{chunk-w8jyvdgd.js.map → chunk-1rzn4rvz.js.map} +0 -0
- /package/dist/{chunk-pjd63e8g.js.map → chunk-2yje4e2t.js.map} +0 -0
- /package/dist/{chunk-43t1js09.js.map → chunk-qn3y2sjy.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../auth/AuthController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../auth/AuthController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,SAAS,CAAC;AAuDhD,cAAM,aAAc,SAAQ,WAAW,CACrC;IACE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;;;;;MASJ;CACH;AAED,cAAM,qBAAsB,SAAQ,WAAW,CAC7C;IACE,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,cAAM,oBAAqB,SAAQ,WAAW,CAC5C;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,qBAAa,cAAe,SAAQ,UAAU;IACtC,EAAE;IAUF,WAAW,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;IAmBtD,mBAAmB,CAAC,GAAG,4DAAoB;;;;;;;IAyC3C,eAAe,CACnB,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;IAqCnD,aAAa,CAAC,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;;;IAoCrE,QAAQ,CAAC,GAAG,gBAAsB;;;;;;;;;;IA8ClC,MAAM,CAAC,GAAG,gBAAsB;;;;;;;;;;IA8ChC,MAAM;IA6FN,OAAO,CAAC,GAAG,4DAAoB;IAiD/B,cAAc,CAAC,GAAG,wBAA8B;IA6BhD,aAAa,CAAC,GAAG,uBAA6B;IAsD9C,cAAc,CAClB,GAAG;qBAAkC,MAAM;qBAAe,MAAM;6BAAK;IAmCjE,aAAa,CAAC,GAAG,4DAAoB;;;IA+BrC,aAAa,CAAC,GAAG,4DAAoB;;;;;;;IA6H3C;;;;;OAKG;cACa,gBAAgB,CAAC,IAAI,EAAE;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAwFzD,oBAAoB,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;CAetE"}
|
package/dist/auth/config.d.ts
CHANGED
|
@@ -138,6 +138,19 @@ export interface AuthConfig {
|
|
|
138
138
|
pin: string;
|
|
139
139
|
}) => Promise<void> | void;
|
|
140
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* The default `verifyPassword`: `false` for anything that is not a hash it can
|
|
143
|
+
* check, rather than an exception.
|
|
144
|
+
*
|
|
145
|
+
* `password` is nullable — a user created through OAuth has none — and
|
|
146
|
+
* `Bun.password.verify` throws `UnsupportedAlgorithm` for `null` and for any
|
|
147
|
+
* string it cannot read as a hash. Sign-in let that escape as a 500 where a
|
|
148
|
+
* wrong password answers `invalid_credentials`, which also told anyone asking
|
|
149
|
+
* that the address has an account (#276). A malformed hash is corrupt data
|
|
150
|
+
* rather than a wrong password, but the answer to "does this password match"
|
|
151
|
+
* is still no.
|
|
152
|
+
*/
|
|
153
|
+
export declare function verifyPasswordHash(password: string, hash: string | null | undefined): Promise<boolean>;
|
|
141
154
|
export declare function defineAuthConfig(config: AuthConfig): AuthConfig;
|
|
142
155
|
export declare function authConfigDefaults(config?: AuthConfig): Required<AuthConfig>;
|
|
143
156
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../auth/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE;IACH,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAGhC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAEvC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAEpD,aAAa,CAAC,EAAE,UAAU,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,8BAA8B,CAAC,EAAE,CAC/B,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAGrE,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,GAAG,EACT,iBAAiB,EAAE,MAAM,KACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAChD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D;AAID,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,UAAe,GACtB,QAAQ,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../auth/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE;IACH,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAGhC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAEvC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAEpD,aAAa,CAAC,EAAE,UAAU,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,8BAA8B,CAAC,EAAE,CAC/B,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAGrE,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,GAAG,EACT,iBAAiB,EAAE,MAAM,KACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAChD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9B,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE/D;AAID,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,UAAe,GACtB,QAAQ,CAAC,UAAU,CAAC,CAyCtB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{i as k,j as l}from"./chunk-
|
|
2
|
+
import{i as k,j as l}from"./chunk-eg2n7x73.js";import{ka as F,oa as L,pa as c}from"./chunk-zq5m4scz.js";import"./chunk-8z37k28d.js";import{md as I,qd as E,rd as T}from"./chunk-4qwz8b3z.js";import"./chunk-q60vevbt.js";import"./chunk-ngq4n2b3.js";import"./chunk-xrd9xx3c.js";import"./chunk-8ypzxfvx.js";import"./chunk-8ef9n5pk.js";import"./chunk-62pzr6vf.js";import"./chunk-achgw308.js";import"./chunk-yqb9cpkx.js";import"./chunk-9p5vwn4d.js";import"./chunk-zat41156.js";import"./chunk-bm97dwbp.js";import"./chunk-f90k29w1.js";import{Cg as h}from"./chunk-ywf0kz71.js";import{Dg as P}from"./chunk-7e4rhaqs.js";import"./chunk-1x8gzkpq.js";import{join as A,resolve as CJ,sep as IJ}from"path";import{Duplex as JJ}from"stream";import{constants as C,createBrotliCompress as $J,createGzip as XJ}from"zlib";var ZJ=["br","gzip"],zJ=1024,GJ=5,jJ=19,xJ=6;function HJ(J){if(J===void 0)return 1;if(!/^\d+(\.\d{0,3})?$/.test(J.trim()))return 1;let $=Number(J.trim());return Number.isFinite($)?Math.min($,1):1}function QJ(J){if(J===null||J===void 0)return null;let $=new Map;for(let X of J.split(",")){let[z,...x]=X.split(";"),W=z.trim().toLowerCase();if(W==="")continue;let Q=1;for(let H of x){let Y=H.indexOf("=");if(Y===-1)continue;if(H.slice(0,Y).trim().toLowerCase()==="q"){Q=HJ(H.slice(Y+1));break}}$.set(W,Q)}return $}function WJ(J,$=ZJ){let X=QJ(J);if(!X)return null;let z=X.get("*"),x=null,W=0;for(let Q of $){let H=X.get(Q)??z??0;if(H>W)x=Q,W=H}return x}function OJ(J,$){if(!J)return!1;return J.split(",").some((X)=>X.trim().toLowerCase().split("=")[0].trim()===$)}function KJ(J,$){if(J==="HEAD")return!1;if(!$.body)return!1;if($.status<200||$.status===204||$.status===206||$.status===304)return!1;if($.headers.has("Content-Range"))return!1;let X=$.headers.get("Content-Type");if(!X||!/^\s*text\/html\s*(;|$)/i.test(X))return!1;let z=$.headers.get("Content-Encoding");if(z&&z.trim().toLowerCase()!=="identity")return!1;if(OJ($.headers.get("Cache-Control"),"no-transform"))return!1;let x=$.headers.get("Content-Length");if(x!==null&&Number(x)<zJ)return!1;return!0}function UJ(J){let $=J==="br"?$J({params:{[C.BROTLI_PARAM_QUALITY]:GJ,[C.BROTLI_PARAM_LGWIN]:jJ},flush:C.BROTLI_OPERATION_FLUSH}):XJ({level:xJ,flush:C.Z_SYNC_FLUSH});return JJ.toWeb($)}function YJ(J){let $=J.get("Vary");if(!$){J.set("Vary","Accept-Encoding");return}let X=$.split(",").map((z)=>z.trim().toLowerCase());if(X.includes("*")||X.includes("accept-encoding"))return;J.append("Vary","Accept-Encoding")}function q(J,$){if(!KJ(J.method,$))return $;let X=new Headers($.headers);YJ(X);let z=WJ(J.headers.get("Accept-Encoding"));if(!z)return new Response($.body,{status:$.status,statusText:$.statusText,headers:X});let x;try{x=UJ(z)}catch{return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}return X.set("Content-Encoding",z),X.delete("Content-Length"),new Response($.body.pipeThrough(x),{status:$.status,statusText:$.statusText,headers:X})}function v(J){let $=J.toString(),X=new Bun.CryptoHasher("sha1");return X.update($),X.digest("hex")}if(!globalThis.URLPattern)globalThis.URLPattern=I;import{stat as SJ}from"fs/promises";var S="app/client.tsx";function f(J,$=F){let X=J[S]?.file;if(!X)return;return{module:L(X,$),preload:R(J,S,$)}}function R(J,$,X=F){let z=[],x=new Set,W=(Q)=>{if(x.has(Q))return;x.add(Q);let H=J[Q];if(!H?.file)return;z.push(L(H.file,X));for(let Y of H.imports??[])W(Y)};return W($),z}var bJ=new RegExp(`^${E}/.+\\.m?js$`);function LJ(J){return bJ.test(J)}function u(J){if(LJ(J))return new Response("window.location.reload();export {}",{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store"}});if(T(J))return new Response("Not found",{status:404});return}var VJ=`<!DOCTYPE html>
|
|
3
3
|
<html lang="en">
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8" />
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{h as b,j as T}from"./chunk-
|
|
2
|
+
import{h as b,j as T}from"./chunk-eg2n7x73.js";import{ia as M,ja as N}from"./chunk-0e5z1x9w.js";import"./chunk-zq5m4scz.js";import"./chunk-9a8qz3s7.js";import"./chunk-gvkydx8r.js";import"./chunk-8z37k28d.js";import"./chunk-1k0gv92y.js";import{Dg as S}from"./chunk-7e4rhaqs.js";import"./chunk-1x8gzkpq.js";import{join as u}from"path";import{createServer as v}from"vite";import{join as E}from"path";import{IncomingMessage as P,ServerResponse as k}from"http";import{Socket as q}from"net";function w(J){return J.replace(/\x1b\[[0-9;]*m/g,"").replace(/\[[0-9;]*m/g,"").replace(/\n\s*\n/g,`
|
|
3
3
|
`).split(`
|
|
4
4
|
`).map((K)=>K.trim()).filter((K)=>K.length>0).join(`
|
|
5
5
|
`).trim()}function D(J){return`
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Md as uW,Td as G5}from"./chunk-q60vevbt.js";import{Ke as U5,_d as a$,de as qO}from"./chunk-ngq4n2b3.js";import{$e as mO,Le as kT,Ne as f5,Pe as n4,Qe as RW,Re as PT,Se as xT,Ve as _T,We as AT,Xe as s$,Ye as y4,Ze as $5,_e as QW,af as m1,bf as k0,df as _,ef as mT,ff as qT,gf as HT,if as q1,jf as O0,kf as YT}from"./chunk-xrd9xx3c.js";import{rf as P4,sf as fW,tf as N}from"./chunk-8ypzxfvx.js";import{uf as j5}from"./chunk-8ef9n5pk.js";import{If as D5,vf as a4,wf as OO,xf as ZO,yf as F5,zf as C5}from"./chunk-62pzr6vf.js";import{Xf as TO}from"./chunk-achgw308.js";import{ag as l4,fg as d4}from"./chunk-yqb9cpkx.js";import{lg as h4,mg as n}from"./chunk-9p5vwn4d.js";import{pg as K}from"./chunk-zat41156.js";import{qg as u$}from"./chunk-bm97dwbp.js";import{Cg as Af}from"./chunk-ywf0kz71.js";import{Eg as o4}from"./chunk-7e4rhaqs.js";import{Jg as zW}from"./chunk-1x8gzkpq.js";import{randomBytes as _X}from"crypto";function lO($){return typeof $==="function"&&$.prototype!==void 0}function G1($){return typeof $==="string"?[$]:$}function dO($,O){let Z=O?"attachment":"inline",T=$.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${Z}; filename="${T}"; filename*=UTF-8''${encodeURIComponent($)}`}function _5($){return"total"in $&&"partial"in $&&"body"in $}function e$($){return new Response(null,{status:416,headers:{"Accept-Ranges":"bytes","Content-Range":AT($),"Content-Length":"0","Cache-Control":"no-store"}})}async function A5($){if($ instanceof Blob)return{body:$,start:0,end:$.size-1,total:$.size,partial:!1,type:$.type,name:$.name,download:!1,status:200,extraHeaders:{}};if(_5($))return{body:$.body,start:$.start,end:$.end,total:$.total,partial:$.partial,type:$.type,name:$.name,download:!1,etag:$.etag,lastModified:$.lastModified,status:200,extraHeaders:{}};let O=$.file,Z=O instanceof Blob?O:null,T=$.total??Z?.size??-1;return{body:O,start:$.start??0,end:$.end??T-1,total:T,partial:$.partial??!1,type:$.type??Z?.type??"",name:$.name??O?.name,download:$.download??!1,etag:$.etag,lastModified:$.lastModified,status:$.status??200,extraHeaders:$.headers??{}}}async function ET($,O){if($ instanceof Response)return $;if(!$)return new Response("Not found",{status:404});let Z=await A5($),{body:T,start:j,end:f,total:W,partial:z}=Z;if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}let{range:J}=O;if(J){if(W<=0)return e$(Math.max(W,0));if(!z){if(T instanceof Blob){let F=xT(J,W);if(!F)return e$(W);T=T.slice(F.start,F.end+1),j=F.start,f=F.end,z=!0}}}let Y=Boolean(J)&&z,X=Y?206:Z.status,C=new Headers;if(C.set("Accept-Ranges","bytes"),C.set("Content-Type",Z.type||"application/octet-stream"),Y)C.set("Content-Range",_T(j,f,W)),C.set("Content-Length",String(f-j+1));else if(W>=0)C.set("Content-Length",String(W));if(Z.name)C.set("Content-Disposition",dO(Z.name,Z.download));if(Z.etag)C.set("ETag",Z.etag);if(Z.lastModified)C.set("Last-Modified",Z.lastModified.toUTCString());for(let[F,U]of Object.entries(Z.extraHeaders))C.set(F,U);if((O.method??"GET").toUpperCase()==="HEAD"){if(T&&"cancel"in T&&typeof T.cancel==="function")await T.cancel();return new Response(null,{status:X,headers:C})}return new Response(T,{status:X,headers:C})}function KW($){return lO($)}class u{method;handler;methodName;__internal_brand="RouteHandler";middlewares=[];constructor($,O,Z){this.method=$;this.handler=O;this.methodName=Z;this.handler=O,this.methodName=Z,this.method=$}get source(){if(!KW(this.handler)||typeof this.methodName!=="string")return;return{controller:this.handler,methodName:this.methodName}}__internal_use(){return{run:this.run.bind(this),middlewares:this.middlewares}}run($){if(KW(this.handler)){let O=new this.handler;return O[this.methodName].bind(O)()}return this.handler()}middleware($){return this.middlewares=G1($),this}}class VW{url;headers;__internal_brand="ProxyHandler";constructor($,O){this.url=$;this.headers=O}run(){let $=new _,O=$.headers.toJSON();for(let Z of QW($.rawRequest))delete O[Z];return fetch(this.url,{method:$.rawRequest.method,headers:{...O,...this.headers},body:$.rawRequest.body})}}class LW{constructor(...$){return new u(...$)}}class SW extends u{__internal_brand="StreamHandler";async run($){let O=N.getStore(),Z=O?.req?.rawRequest,T=PT(Z?.headers.get("Range"));if(O)O.rangeRequest=T;try{let j=await super.run($);return await ET(j,{range:T,method:Z?.method})}catch(j){if(j instanceof HT)return e$(j.total);throw j}finally{if(O)O.rangeRequest=null}}}class IW{constructor(...$){return new SW(...$)}}class MW{__internal_brand="ResourceRoutes";first;second;constructor($){this.first={get:new u("GET",$,"list"),post:new u("POST",$,"store")},this.second={get:new u("GET",$,"show"),put:new u("PUT",$,"update"),delete:new u("DELETE",$,"delete")}}middleware($){if($.list)this.first.get.middleware($.list);if($.store)this.first.post.middleware($.store);if($.show)this.second.get.middleware($.show);if($.update)this.second.put.middleware($.update);if($.delete)this.second.delete.middleware($.delete);return this}}class N0{static __brand="ApiRouter";routes={};middlewares=[];middleware($){}get($,O){return new u("GET",$,O)}post($,O){return new u("POST",$,O)}put($,O){return new u("PUT",$,O)}patch($,O){return new u("PATCH",$,O)}delete($,O){return new u("DELETE",$,O)}resource($){return new MW($)}agent($){return E5($,this)}file($,O){return new LW("GET",$,O)}stream($,O){return new IW("GET",$,O)}proxy($,O={}){return new VW($,O)}}function E5($,O){let Z={stream:new u("POST",$,"stream"),attach:new u("POST",$,"attach"),stop:new u("POST",$,"stop"),upload:new u("POST",$,"upload")};return class extends N0{static __internal_brand="AgentRoute";static controller=$;static handlers=Z;constructor(){super();this.middlewares=[...O?.middlewares??[]]}routes={"/":Z.stream,"/attach":Z.attach,"/stop":Z.stop,"/files":Z.upload};static middleware(j){if(j.stream)Z.stream.middleware(j.stream);if(j.attach)Z.attach.middleware(j.attach);if(j.stop)Z.stop.middleware(j.stop);if(j.upload)Z.upload.middleware(j.upload);return this}}}class bT{method;url;meta;__internal_brand="McpRoute";constructor($,O,Z){this.method=$;this.url=O;this.meta=Z}}class NW{static __brand="McpRouter";routes={};fromApiRoute($,O,Z){return new bT($,O,Z)}}function s($,O){return $.replace(/:([^/]+[*?]?)/g,(Z,T)=>{let j=T.endsWith("?")||T.endsWith("*"),f=j?T.slice(0,-1):T,W=O[f];if(W===void 0){if(j)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${f}`);console.error(`Missing parameter: ${f} in URL: ${$}`)}return String(W)}).replace(/\/\//g,"/").replace(/\/$/,"")}class wT extends m1{constructor($,O=307){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:$}},view:{status:O,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:$}}}}}class uO{static to($,...O){let[Z={}]=O,{search:T={},params:j={},permanent:f,status:W}={params:{},status:307,permanent:!1,...Z},z=new URLSearchParams(T).toString();throw new wT([s($,j)||"/",z.toString()].filter(Boolean).join("?"),W??(f?301:307))}static external($,O=307){throw new wT($,O)}}class xW{kind="redirect";viewPath="REDIRECT";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>({});else if(typeof $==="function")this.handler=$;else{let[O,Z]=$;this.handler=(T)=>{return new O()[Z](T)}}}async run($,O){let{destination:Z,permanent:T=!1,status:j=307}=await this.handler($);if(!Z)throw Error(`Redirect destination is required see ${O}`);return uO.to(Z,{permanent:T,status:j}),{}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}async function vT($,O){if($ instanceof Response)return $;let Z=$ instanceof Blob,T=Z?$:$.file,j=Z?$.name:$.name??$.file?.name,f=(Z?$.type:$.type??$.file?.type)||"",W=Z?!1:$.download??!1,z=Z?200:$.status??200;if(!Z)for(let[J,Y]of Object.entries($.headers??{}))O.set(J,Y);if(T instanceof Blob&&"exists"in T&&typeof T.exists==="function"){if(!await T.exists())return new Response("Not found",{status:404})}if(O.set("Content-Type",f||"application/octet-stream"),T instanceof Blob)O.set("Content-Length",String(T.size));if(j)O.set("Content-Disposition",dO(j,W));return new Response(T instanceof Blob?T.stream():T,{status:z,headers:O})}class _W{kind="file";viewPath="FILE";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>null;else if(typeof $==="function")this.handler=$;else{let[O,Z]=$;this.handler=(T)=>{return new O()[Z](T)}}}async run($,O){let Z=await this.handler($);if(!Z)throw Error(`File route handler must return a file see ${O}`);return{FILE:Z}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class AW{viewPath;middlewares=[];featureGates=[];handler;constructor($,O){this.viewPath=$;if(!O)this.handler=()=>({});else if(typeof O==="function")this.handler=O;else{let[Z,T]=O;this.handler=(j)=>{return new Z()[T](j)}}}async run($,O){let Z=await this.handler($);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class EW{viewPath;children;middlewares=[];featureGates=[];alwaysRuns=!1;handler=()=>({});constructor($,O,Z){this.viewPath=$;if(typeof O==="function")this.handler=O,this.children=class extends B1{routes=Z??{}};else if(Array.isArray(O)){let[T,j]=O;this.handler=(f)=>{return new T()[j](f)},this.children=class extends B1{routes=Z??{}}}else this.children=class extends B1{routes=O},this.handler=()=>({})}async run($,O){let Z=await this.handler($);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}alwaysRun(){return this.alwaysRuns=!0,this}middleware($){return this.middlewares=G1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class B1{middlewares=[];featureGates=[];routes={};view($,O){return new AW($,O)}file($){return new _W($)}redirect($){return new xW($)}layout($,O,Z){return new EW($,O,Z)}}class w0{req;config={};constructor($){this.req=$}run(...$){return{}}static configure($){let O=this;return class extends O{config=$}}}function P5($){return $}function H5(){return{aliases:{},global:[]}}var C$="redirect";function $O($,O="/"){if(typeof $!=="string"||!$.startsWith("/"))return O;if(/[\u0000-\u001f\u007f\\]/.test($)||$.startsWith("//"))return O;try{let Z=new URL($,"http://gemi.invalid");if(Z.origin!=="http://gemi.invalid")return O;let T=`${Z.search}${Z.hash}`.replaceAll("/","%2F"),j=`${Z.pathname}${T}`.replaceAll(":","%3A");return j.startsWith("//")?O:j}catch{return O}}function PW($){let O=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();return O?O==="https":new URL($.url).protocol==="https:"}function b5($,O=!0){let Z=new URL($.rawRequest.url),T=Z.pathname.replace(/\.(json|og)$/,""),[,j,...f]=T.split("/");if(K(n).supportedLocales.includes(j))T=`/${f.join("/")}`;return O?`${T}${Z.search}`:T}function w5($,O){let Z=(T)=>T.replace(/\/+$/,"")||"/";return Z($)===Z(O)}function sO($,O){let Z=O||K(b).config.signInPath,T=/^[a-z][a-z\d+.-]*:/i.test(Z);if(T?!/^https?:\/\//i.test(Z):!Z.startsWith("/"))throw Error(`\`auth.signInPath\` must be a path like "/auth/sign-in", or an http(s) URL for sign-in hosted elsewhere. Got "${Z}". A route's own \`"auth:<path>"\` cannot carry a URL, because the alias parser splits it on the colon.`);let j=new URL(Z,"http://gemi.invalid");if($?.kind==="view"){let f=b5($,!T);if(T||!w5(new URL(f,j).pathname,j.pathname))j.searchParams.set(C$,f)}return T?j.href:`${j.pathname}${j.search}`}class HW extends w0{async run($){let O=N.getStore(),Z=O.req,T=()=>new q1({redirectTo:sO(Z,$)}),j=Z.cookies.get("access_token"),f=Z.headers.get("access_token"),W=j||f;if(!W)throw T();let z=O.user;if(!z){let J=await K(b).getSession(W,Z.headers.get("User-Agent"));if(!J)throw T();z=J?.user,O.setUser(z)}return{}}}class bW extends w0{async run(...$){let[O="public",Z="864000",...T]=$,j=`${O}, max-age=${Z}${T.length>0?", ":""}${T.join(", ")}`;if($.length===0)j="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="public")j="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="private")j="private, max-age=0, stale-while-revalidate=300, stale-if-error=600";if(this.req.rawRequest.method==="GET")this.req.ctx().setHeaders("Cache-Control",j);return{}}}var v5={"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"};class wW extends w0{config={origins:{"":{"Access-Control-Allow-Methods":"GET, HEAD, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"}}};run(){let $=this.req,O=$.rawRequest.headers.get("Origin");if(this.config.origins[O]){$.ctx().setHeaders("Access-Control-Allow-Origin",O);let Z={...v5,...this.config.origins[O]};for(let[T,j]of Object.entries(Z))$.ctx().setHeaders(T,j)}return{}}}class D${config;static token="ratelimiter";constructor($){this.config=$}get driver(){return this.config.driver}async consume($,O={}){let Z=O.limit??this.config.limit,T=O.window??this.config.window,j=O.cost??1;if(vW("window",T),vW("limit",Z),!Number.isFinite(j)||j<0)throw Error(`Rate limiter cost must be zero or greater, got ${j}`);return await this.config.driver.consume({key:$,limit:Z,window:T*1000,cost:j})}}function vW($,O){if(!Number.isFinite(O)||O<=0)throw Error(`Rate limiter ${$} must be greater than zero, got ${O}`)}class gT extends m1{constructor($){super("Rate limit exceeded");let O={"Content-Type":"application/json",...$?mW($):{}};this.payload={api:{status:429,data:{error:{message:"Rate limit exceeded"}},headers:O},view:{error:{message:"Rate limit exceeded"},status:429,headers:O}}}}class kW extends w0{async run($,O){let Z=g5();if(!Z)return{};let T=await Z.consume(this.key(),{limit:gW($)??this.config.limit,window:gW(O)??this.config.window});if(this.config.headers!==!1){let j=this.req.ctx?.();if(j)for(let[f,W]of Object.entries(mW(T)))j.setHeaders(f,W)}if(!T.allowed)throw new gT(T);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${nO(this.req)}:${this.req.routePath??"*"}`}}function g5(){try{let $=K();return $.bound(D$)?$.make(D$):null}catch{return null}}function nO($){let O=RW($.rawRequest);if(O!==void 0)return O;let Z=$.headers.get("x-forwarded-for");if(Z){let[T]=Z.split(",");if(T?.trim())return T.trim()}return $.headers.get("x-real-ip")?.trim()||"unknown"}function mW($){let O={"X-RateLimit-Limit":String($.limit),"X-RateLimit-Remaining":String($.remaining),"X-RateLimit-Reset":String(Math.ceil($.resetAt/1000))};if(!$.allowed)O["Retry-After"]=String(Math.max(1,Math.ceil($.retryAfter/1000)));return O}function gW($){if($===void 0||$===null||$==="")return;let O=Number($);if(!Number.isFinite(O)||O<=0)return;return O}class qW extends w0{async run(){let $=this.req.cookies.get("csrf_token");if(!$)throw new RT;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify($,{secret:process.env.SECRET}))throw new RT;return{}}}class RT extends m1{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:"Invalid CSRF token"}},view:{}}}class yW{policiesList={};constructor(){let $=this.register();for(let O of $){let Z=new O;this.policiesList[O.name]=Z}}register(){return[]}}class pW{all($,O){return!0}}import{createHmac as cW,randomBytes as R5}from"crypto";var yT="v2.";function pT($){return $.startsWith(yT)}function iW(){let $=process.env.SECRET;if(!$)throw Error("Signing in needs a secret to mint session tokens with. Set SECRET in the environment.");return $}function hW($){let O=R5(16).toString("hex"),Z=cW("sha256",iW()).update(`${$}:${O}`).digest("hex");return`${yT}${Z}`}function aO($,O){let Z=cW("sha256",iW()).update(`legacy-session:${O}:${$}`).digest("hex");return`${yT}${Z}`}import{randomBytes as iT}from"crypto";class cT extends _{schema={name:{string:"Invalid name",required:"Name is required","min:2":"Name must be at least 3 characters"},email:{string:"Invalid email",required:"Email is required",email:"Invalid email"},password:{"min:8":"Password must be at least 9 characters"}}}async function k5($,O){if(typeof O!=="string"||O==="")return!1;try{return await Bun.password.verify($,O)}catch{return!1}}function K9($){return $}function lW($={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",signInPath:"/auth/sign-in",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,cookieDomain:null,migrateLegacySession:null,signUpRequest:cT,oauthProviders:{},verifyPassword:k5,hashPassword:async(O)=>await Bun.password.hash(O),generateForgotPasswordToken:async()=>iT(32).toString("hex"),generateEmailVerificationToken:()=>{if(!($.verifyEmail??!0))return"";return iT(32).toString("hex")},generateMagicLinkToken:()=>iT(32).toString("hex"),extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{}}}function hT($){if($&&typeof $==="object")delete $.password;return $}function m5(){return new Proxy({},{get:($,O)=>uW(O)})}var dW=new WeakMap;function sW($){if($&&typeof $==="object"){for(let O of Object.values($))sW(O);Object.freeze($)}return $}var q5={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}},y5=sW({token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:q5});class lT{models;constructor($=m5()){this.models=$}run($){return this.models.User.asSystem($)}sessionSelect(){return y5}transaction($){return this.models.User.transaction($)}withLegacySessionLock($,O){let Z=this.models.User.$connection??ZO(),T=K(TO).connection(Z),j=()=>this.transaction(async()=>{if(T.dialect==="postgres"){let z=`gemi:legacy-session:${$}`;await OO()`SELECT pg_advisory_xact_lock(hashtextextended(${z}, 0))`}return O()});if(T.dialect!=="sqlite"||OO())return j();let W=(dW.get(T)??Promise.resolve()).then(j,j);return dW.set(T,W.catch(()=>{})),W}async createUser($){let O=await this.run(()=>this.models.User.create({data:$}));return hT(O)}async updateUserPassword($){let O=await this.run(()=>this.models.User.update({where:{id:$.id},data:{password:$.password}}));return hT(O)}async findUserByEmailAddress($,O){return await this.run(()=>this.models.User.findUnique({where:O?{email:$,emailVerifiedAt:{not:null}}:{email:$}}))}async findUserByVerificationToken($){return await this.run(()=>this.models.User.findFirst({where:{verificationToken:$}}))}async verifyUser($){return await this.run(()=>this.models.User.update({where:{email:$},data:{emailVerifiedAt:new Date}}))}async createSession($){return await this.run(()=>this.models.Session.create({data:$,include:{user:!0}}))}async createSessionV2($){return await this.run(()=>this.models.Session.create({data:$,select:this.sessionSelect()}))}async findSession($){if(!$.token)return null;try{return await this.run(()=>this.models.Session.findUnique({where:{token:$.token},select:this.sessionSelect()}))}catch(O){return console.error("findSession failed:",O),null}}async updateSession($){return await this.run(()=>this.models.Session.update({where:{token:$.token},data:{expiresAt:$.expiresAt},select:this.sessionSelect()}))}async deleteSession($){if(!$.token)return;await this.run(()=>this.models.Session.deleteMany({where:{token:$.token}}))}async claimLegacySession($){if(!$.token)return!1;let{count:O}=await this.run(()=>this.models.Session.deleteMany({where:{token:$.token}}));return O>0}async deleteAllUserSessions($){await this.run(()=>this.models.Session.deleteMany({where:{userId:$}}))}async createPasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.create({data:{token:$.token,user:{connect:{id:$.user.id}}}}))}async findPasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.findUnique({where:{token:$.token},include:{user:!0}}))}async deletePasswordResetToken($){return await this.run(()=>this.models.PasswordResetToken.delete({where:{token:$.token}}))}async findInvitation($,O){return await this.run(()=>this.models.OrganizationInvitation.findFirst({where:{publicId:$,email:O}}))}async deleteInvitationById($){await this.run(()=>this.models.OrganizationInvitation.delete({where:{publicId:$}}))}async createAccount($){return await this.run(()=>this.models.Account.create({data:{userId:$.userId,organizationId:$.organizationId,organizationRole:$.organizationRole}}))}async createMagicLinkToken($){return await this.run(()=>this.models.MagicLinkToken.create({data:{email:$.email,token:$.token,pin:$.pin}}))}async findUserMagicLinkToken($){return await this.run(()=>$.token?this.models.MagicLinkToken.findUnique({where:{token_email:{token:$.token,email:$.email}}}):this.models.MagicLinkToken.findUnique({where:{pin_email:{pin:$.pin,email:$.email}}}))}async deleteMagicLinkToken($){await this.run(()=>this.models.MagicLinkToken.deleteMany({where:{email:$}}))}async createSocialAccount($){return await this.run(()=>this.models.SocialAccount.create({data:$}))}async findUserBySocialAccount($,O){if(!O)return null;let Z=await this.run(()=>this.models.SocialAccount.findFirst({where:{provider:$,providerId:O},include:{user:!0}}));return Z?hT(Z.user):null}async findSocialAccounts($,O){return await this.run(()=>this.models.SocialAccount.findMany({where:{userId:$,provider:O},orderBy:{id:"asc"}}))}async claimSocialAccount($,O){let{count:Z}=await this.run(()=>this.models.SocialAccount.updateMany({where:{id:$.id,providerId:$.providerId},data:{providerId:O}}));return Z===1}}import{randomBytes as IY}from"crypto";function x0($,O,Z,T,j){return m0(O,Y6($,O),Z,T,j)}function m0($,O,Z,T,j,f){let W=aT(O,Z,T);if(j&&O!==W)throw RangeError(uz($,O,Z,T,f));return W}function Y6($,O){let Z=$[O];if(Z===void 0)throw TypeError(Nj(O));return Z}function W0($){return $!==null&&/object|function/.test(typeof $)}function E0($,O=Map){let Z=new O;return(T,...j)=>{if(Z.has(T))return Z.get(T);let f=$(T,...j);return Z.set(T,f),f}}function T3($){return i1({name:$},1)}function i1($,O){return c0((Z)=>({value:Z,configurable:1,writable:!O}),$)}function X6($){return c0((O)=>({get:O,configurable:1}),$)}function FZ($){return{[Symbol.toStringTag]:{value:$,configurable:1}}}function L$($,O){let Z={},T=$.length;for(let j of O)Z[$[--T]]=j;return Z}function c0($,O,Z){let T={};for(let j in O)T[j]=$(O[j],j,Z);return T}function CO($,O,Z){let T={};for(let j=0;j<O.length;j++){let f=O[j];T[f]=$(f,j,Z)}return T}function p5($,O,Z){let T={};for(let j=0;j<$.length;j++)T[O[j]]=Z[$[j]];return T}function H0($,O){let Z={};for(let T of $)Z[T]=O[T];return Z}function j3($,O){let Z={};for(let T in O)$.has(T)||(Z[T]=O[T]);return Z}function f3($){$={...$};let O=Object.keys($);for(let Z of O)$[Z]===void 0&&delete $[Z];return $}function F6($,O){for(let Z of O)if(!(Z in $))return 0;return 1}function C6($,O,Z){for(let T of $)if(O[T]!==Z[T])return 0;return 1}function D6($,O,Z){let T={...Z};for(let j=0;j<O;j++)T[$[j]]=0;return T}function w($,...O){return(...Z)=>$(...O,...Z)}function nW($){return $[0].toUpperCase()+$.substring(1)}function DO($){return $.slice().sort()}function ZZ($,O){return String(O).padStart($,"0")}function K1($,O){return Math.sign($-O)}function aT($,O,Z){return Math.min(Math.max($,O),Z)}function f1($,O){return[Math.floor($/O),fO($,O)]}function fO($,O){return($%O+O)%O}function L1($,O){return[CZ($,O),W3($,O)]}function CZ($,O){return Math.trunc($/O)||0}function W3($,O){return $%O||0}function oO($){return Math.abs($%1)===0.5}function U6($,O,Z){let T=0,j=0;for(let z=0;z<=O;z++){let J=$[Z[z]],Y=a0[z],X=q/Y,[C,F]=L1(J,X);T+=F*Y,j+=C}let[f,W]=L1(T,q);return[j+f,W]}function DZ($,O,Z){let T={};for(let j=O;j>=0;j--){let f=a0[j];T[Z[j]]=CZ($,f),$=W3($,f)}return T}function G6($){return $===v?sZ:[]}function B6($){return $===v?MO:[]}function K6($){return $===v?["year","day"]:[]}function Q6($){if($!==void 0)return h($)}function V6($){if($!==void 0)return i0($)}function z3($){if($!==void 0)return UO($)}function i0($){return I6(UO($))}function UO($){return S6(b7($))}function J3($){if($==null)throw TypeError("Cannot be null or undefined");return $}function L6($,O){if(O==null)throw RangeError(Nj($));return O}function z1($){if(!W0($))throw TypeError(dz);return $}function UZ($,O,Z=$){if(typeof O!==$)throw TypeError(LO(Z,O));return O}function S6($,O="number"){if(!Number.isInteger($))throw RangeError(Z7(O,$));return $||0}function I6($,O="number"){if($<=0)throw RangeError(T7(O,$));return $}function Y3($){if(typeof $=="symbol")throw TypeError(z7);return String($)}function TZ($,O){return W0($)?String($):h($,O)}function GZ($){if(typeof $=="string")return BigInt($);if(typeof $!="bigint")throw TypeError(W7($));return $}function M6($,O="number"){if(typeof $=="bigint")throw TypeError(f7(O));if($=Number($),!Number.isFinite($))throw RangeError(j7(O,$));return $}function U0($,O){return Math.trunc(M6($,O))||0}function N6($,O){return S6(M6($,O),O)}function aW($,O){return I6(U0($,O),O)}function X3($,O){let[Z,T]=L1(O,q),j=$+Z,f=Math.sign(j);return f&&f===-Math.sign(T)&&(j-=f,T+=f*q),[j,T]}function G$($,O,Z=1){return X3($[0]+O[0]*Z,$[1]+O[1]*Z)}function B$($,O){return X3($[0],$[1]+O)}function v0($,O){return G$(O,$,-1)}function B0($,O){return K1($[0],O[0])||K1($[1],O[1])}function x6($,O,Z){return B0($,O)===-1||B0($,Z)===1}function BZ($,O=1){let Z=BigInt(q/O);return[Number($/Z),Number($%Z)*O]}function K$($,O=1){let Z=q/O,[T,j]=L1($,Z);return[T,j*O]}function _6($,O=1){let[Z,T]=$,j=Math.floor(T/O),f=q/O;return BigInt(Z)*BigInt(f)+BigInt(j)}function g0($,O=1,Z){let[T,j]=$,[f,W]=L1(j,O);return T*(q/O)+(f+(Z?W/O:0))}function F3($,O,Z=f1){let[T,j]=$,[f,W]=Z(j,O);return[T*(q/O)+f,W]}function C3($,O){let Z=$.formatToParts(O),T={};for(let j of Z)T[j.type]=j.value;return T}function D3($){return x0($,"isoYear",FO,XO,1),$.isoYear===FO?x0($,"isoMonth",4,12,1):$.isoYear===XO&&x0($,"isoMonth",1,9,1),$}function Q1($){return J1({...$,...p0,isoHour:12}),$}function J1($){let O=x0($,"isoYear",FO,XO,1),Z=O===FO?1:O===XO?-1:0;return Z&&R0(G0({...$,isoDay:$.isoDay+Z,isoNanosecond:$.isoNanosecond-Z})),$}function R0($){if(!$||x6($,q7,m7))throw RangeError(hZ);return $}function S1($){return U6($,5,u0)[1]}function KZ($){let[O,Z]=f1($,q);return[DZ(Z,5,u0),O]}function A6($){return E6($)[0]}function E6($){return F3($,y0)}function K0($){return S$($.isoYear,$.isoMonth,$.isoDay,$.isoHour,$.isoMinute,$.isoSecond,$.isoMillisecond)}function G0($){let O=K0($);if(O!==void 0){let[Z,T]=L1(O,A0);return[Z,T*o0+($.isoMicrosecond||0)*r1+($.isoNanosecond||0)]}}function U3($,O){let[Z,T]=KZ(S1($)-O);return R0(G0({...$,isoDay:$.isoDay+T,...Z}))}function jZ(...$){return S$(...$)/T2}function S$(...$){let[O,Z]=P6(...$),T=O.valueOf();if(!isNaN(T))return T-Z*A0}function P6($,O=1,Z=1,T=0,j=0,f=0,W=0){let z=$===FO?1:$===XO?-1:0,J=new Date;return J.setUTCHours(T,j,f,W),J.setUTCFullYear($,O-1,Z+z),[J,z]}function M1($,O){let[Z,T]=B$($,O);T<0&&(T+=q,Z-=1);let[j,f]=f1(T,o0),[W,z]=f1(f,r1);return QZ(Z*A0+j,W,z)}function QZ($,O=0,Z=0){let T=Math.ceil(Math.max(0,Math.abs($)-k7)/A0)*Math.sign($),j=new Date($-T*A0);return L$(aZ,[j.getUTCFullYear(),j.getUTCMonth()+1,j.getUTCDate()+T,j.getUTCHours(),j.getUTCMinutes(),j.getUTCSeconds(),j.getUTCMilliseconds(),O,Z])}function H6($){return[$.isoYear,$.isoMonth,$.isoDay]}function b6(){return j1}function G3($,O){switch(O){case 2:return B3($)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function w6($){return B3($)?366:365}function B3($){return $%4==0&&($%100!=0||$%400==0)}function v6($){let[O,Z]=P6($.isoYear,$.isoMonth,$.isoDay);return fO(O.getUTCDay()-Z,7)||7}function g6({isoYear:$}){return $<1?["bce",1-$]:["ce",$]}function c5($){let O=K0($);if(O<p7)return g6($);let Z=C3(ij(Q$),O),{era:T,eraYear:j}=d8(Z,Q$);return[T,j]}function VZ($){return h1($),LZ($,1),$}function h1($){return R6($,1),$}function oW($){return C6(gj,$,R6($))}function R6($,O){let{isoYear:Z}=$,T=x0($,"isoMonth",1,b6(),O);return{isoYear:Z,isoMonth:T,isoDay:x0($,"isoDay",1,G3(Z,T),O)}}function LZ($,O){return L$(u0,[x0($,"isoHour",0,23,O),x0($,"isoMinute",0,59,O),x0($,"isoSecond",0,59,O),x0($,"isoMillisecond",0,999,O),x0($,"isoMicrosecond",0,999,O),x0($,"isoNanosecond",0,999,O)])}function R($){return $===void 0?0:L2(z1($))}function GO($,O=0){$=h0($);let Z=S2($),T=o7($,O);return[L2($),T,Z]}function K3($){return S2(h0($))}function k6($){return $=h0($),mj($,9,6,1)}function I$($,O,Z,T=9,j=0,f=4){O=h0(O);let W=mj(O,T,j),z=L3(O),J=xO(O,f),Y=NO(O,T,j,1);return W==null?W=Math.max(Z,Y):p6(W,Y),z=S3(z,Y,1),$&&(J=((X)=>X<4?(X+2)%4:X)(J)),[W,Y,z,J]}function SZ($,O=6,Z){let T=L3($=I3($,XZ)),j=xO($,7),f=NO($,O);return f=L6(XZ,f),T=S3(T,f,void 0,Z),[f,T,j]}function Q3($){return qj(h0($))}function m6($,O){return V3(h0($),O)}function V3($,O=4){let Z=y6($);return[xO($,4),...q6(NO($,O),Z)]}function q6($,O){return $!=null?[a0[$],$<4?9-3*$:-1]:[O===void 0?1:10**(9-O),O]}function L3($){let O=$[WO];return O===void 0?1:U0(O,WO)}function S3($,O,Z,T){let j=T?q:a0[O+1];if(j){let f=a0[O];if(j%(($=m0(WO,$,1,j/f-(T?0:1),1))*f))throw RangeError(LO(WO,$))}else $=m0(WO,$,1,Z?1e9:1,1);return $}function y6($){let O=$[nT];if(O!==void 0){if(typeof O!="number"){if(Y3(O)==="auto")return;throw RangeError(LO(nT,O))}O=m0(nT,Math.floor(O),0,9,1)}return O}function h0($){return $===void 0?{}:z1($)}function I3($,O){return typeof $=="string"?{[O]:$}:z1($)}function a($){if($!==void 0){if(W0($))return Object.assign(Object.create(null),$);throw TypeError(dz)}}function IZ($,O){return $&&Object.assign(Object.create(null),$,{overflow:i7[O]})}function M3($,O,Z=9,T=0,j){let f=O[$];if(f===void 0)return j?T:void 0;if(f=Y3(f),f==="auto")return j?T:null;let W=eT[f];if(W===void 0&&(W=g7[f]),W===void 0)throw RangeError(az($,f,eT));return m0($,W,T,Z,1,IO),W}function l1($,O,Z,T=0){let j=Z[$];if(j===void 0)return T;let f=Y3(j),W=O[f];if(W===void 0)throw RangeError(az($,f,O));return W}function p6($,O){if(O>$)throw RangeError(_7)}function z0($){return{branding:rZ,epochNanoseconds:$}}function X0($,O,Z){return{branding:C1,calendar:Z,timeZone:O,epochNanoseconds:$}}function o($,O=$.calendar){return{branding:e1,calendar:O,...H0(B2,$)}}function r($,O=$.calendar){return{branding:t1,calendar:O,...H0(Rj,$)}}function p1($,O=$.calendar){return{branding:H$,calendar:O,...H0(Rj,$)}}function fZ($,O=$.calendar){return{branding:b$,calendar:O,...H0(Rj,$)}}function l0($){return{branding:oZ,...H0(G2,$)}}function i($){return{branding:tZ,sign:N1($),...H0(bj,$)}}function c6($){return A6($.epochNanoseconds)}function MZ($){return F3($.epochNanoseconds,o0)[0]}function i6($){return _6($.epochNanoseconds,r1)}function h6($){return _6($.epochNanoseconds)}function l6($){return $.epochNanoseconds}function J0($){return typeof $=="string"?$:h($.id)}function M$($,O){return $===O||J0($)===J0(O)}function d6($,O,Z,T,j){let f=c1(T),[W,z]=((B,Q)=>{let S=Q((B=I3(B,Z3))[Q2]),V=a7(B);return V=L6(Z3,V),[V,S]})(j,$);if(JO(Math.max(W,f),z))return rW(T,W);if(!z)throw RangeError(lZ);let[J,Y,X]=PZ(O,Z,z),C=s3(X),F=HZ(X),U=n3(X),D=F(Y,J,T),G=U(Y,J,D,W);return JO(W,z)?rW(G,W):((B,Q,S,V,x,A,L)=>{let I=N1(B),[E,P]=N3(V,vj(S,B),S,I,x,A,L),Z0=x3(Q,E,P);return B[k[S]]+Z0*I})(G,C(D),W,Y,J,C,F)}function rW($,O){return g0(f0($),a0[O],1)}function N3($,O,Z,T,j,f,W){let z=k[Z],J={...O,[z]:O[z]+T},Y=W($,j,O),X=W($,j,J);return[f(Y),f(X)]}function x3($,O,Z){let T=g0(v0(O,Z));if(!T)throw RangeError(SO);return g0(v0(O,$))/T}function u6($,O){let[Z,T,j]=SZ(O,5,1);return z0(xZ($.epochNanoseconds,Z,T,j,1))}function s6($,O,Z){let{epochNanoseconds:T,timeZone:j,calendar:f}=O,[W,z,J]=SZ(Z);if(W===0&&z===1)return O;let Y=$(j);if(W===6)T=((X,C,F,U)=>{let D=Q0(F,C),[G,B]=X(D),Q=F.epochNanoseconds,S=P0(C,G),V=P0(C,B);if(x6(Q,S,V))throw RangeError(SO);return Z8(x3(Q,S,V),U)?V:S})($8,Y,O,J);else{let X=Y.getOffsetNanosecondsFor(T);T=u1(Y,t6(M1(T,X),W,z,J),X,2,0,1)}return X0(T,j,f)}function n6($,O){return o(t6($,...SZ(O)),$.calendar)}function a6($,O){let[Z,T,j]=SZ(O,5);var f;return l0((f=j,_3($,BO(Z,T),f)[0]))}function o6($,O){let Z=$(O.timeZone),T=Q0(O,Z),[j,f]=$8(T),W=g0(v0(P0(Z,j),P0(Z,f)),uZ,1);if(W<=0)throw RangeError(SO);return W}function r6($,O){let{timeZone:Z,calendar:T}=O,j=((f,W,z)=>P0(W,f(Q0(z,W))))(O8,$(Z),O);return X0(j,Z,T)}function t6($,O,Z,T){return e6($,BO(O,Z),T)}function e6($,O,Z){let[T,j]=_3($,O,Z);return J1({...s1($,j),...T})}function _3($,O,Z){return KZ(I1(S1($),O,Z))}function WZ($){return I1($,dZ,7)}function BO($,O){return a0[$]*O}function $8($){let O=O8($);return[O,s1(O,1)]}function O8($){return R7(6,$)}function i5($,O,Z){let T=Math.min(c1($),6);return x$(_Z(f0($,T),O,Z),T)}function NZ($,O,Z,T,j,f,W,z,J,Y){if(T===0&&j===1)return $;let X=JO(T,z)?bZ(z)&&T<6&&Z>=6?l5:h5:d5,[C,F,U]=X($,O,Z,T,j,f,W,z,J,Y);return U&&T!==7&&(C=((D,G,B,Q,S,V,x,A)=>{let L=N1(D);for(let I=Q+1;I<=B;I++){if(I===7&&B!==7)continue;let E=vj(I,D);E[k[I]]+=L;let P=g0(v0(x(A(S,V,E)),G));if(P&&Math.sign(P)!==L)break;D=E}return D})(C,F,Z,Math.max(6,T),W,z,J,Y)),C}function xZ($,O,Z,T,j){if(O===6){let f=((W)=>W[0]+W[1]/q)($);return[I1(f,Z,T),0]}return _Z($,BO(O,Z),T,j)}function _Z($,O,Z,T){let[j,f]=$;T&&f<0&&(f+=q,j-=1);let[W,z]=f1(I1(f,O,Z),q);return X3(j+W,z)}function I1($,O,Z){return Z8($/O,Z)*O}function Z8($,O){return e7[O]($)}function h5($,O,Z,T,j,f){let W=N1($),z=f0($),J=xZ(z,T,j,f),Y=v0(z,J),X=Math.sign(J[0]-z[0])===W,C=x$(J,Math.min(Z,6));return[{...$,...C},G$(O,Y),X]}function l5($,O,Z,T,j,f,W,z,J,Y){let X=N1($),C=g0(f0($,5)),F=BO(T,j),U=I1(C,F,f),[D,G]=N3(W,{...$,...wj},6,X,z,J,Y),B=U-g0(v0(D,G)),Q=0;B&&Math.sign(B)!==X?O=B$(D,U):(Q+=X,U=I1(B,F,f),O=B$(G,U));let S=vZ(U);return[{...$,...S,days:$.days+Q},O,Boolean(Q)]}function d5($,O,Z,T,j,f,W,z,J,Y){let X=N1($),C=k[T],F=vj(T,$);T===7&&($={...$,weeks:$.weeks+Math.trunc($.days/7)});let U=CZ($[C],j)*j;F[C]=U;let[D,G]=N3(W,F,T,j*X,z,J,Y),B=U+x3(O,D,G)*X*j,Q=I1(B,j,f),S=Math.sign(Q-B)===X;return F[C]=Q,[F,S?G:D,S]}function A3($,O,Z,T){let[j,f,W,z]=((Y)=>{let X=V3(Y=h0(Y));return[Y.timeZone,...X]})(T),J=j!==void 0;return((Y,X,C,F,U,D)=>{C=_Z(C,U,F,1);let G=X.getOffsetNanosecondsFor(C);return g3(M1(C,G),D)+(Y?d1(WZ(G)):"Z")})(J,O(J?$(j):$$),Z.epochNanoseconds,f,W,z)}function E3($,O,Z){let[T,j,f,W,z,J]=((Y)=>{Y=h0(Y);let X=qj(Y),C=y6(Y),F=t7(Y),U=xO(Y,4),D=NO(Y,4);return[X,r7(Y),F,U,...q6(D,C)]})(Z);return((Y,X,C,F,U,D,G,B,Q,S)=>{F=_Z(F,Q,B,1);let V=Y(C).getOffsetNanosecondsFor(F);return g3(M1(F,V),S)+d1(WZ(V),G)+((x,A)=>A!==1?"["+(A===2?"!":"")+J0(x)+"]":"")(C,D)+R3(X,U)})($,O.calendar,O.timeZone,O.epochNanoseconds,T,j,f,W,z,J)}function P3($,O){let[Z,T,j,f]=((Y)=>(Y=h0(Y),[qj(Y),...V3(Y)]))(O);return W=$.calendar,z=Z,J=f,g3(e6($,j,T),J)+R3(W,z);var W,z,J}function H3($,O){return Z=$.calendar,T=$,j=Q3(O),zZ(T)+R3(Z,j);var Z,T,j}function b3($,O){return T8($.calendar,j8,$,Q3(O))}function w3($,O){return T8($.calendar,u5,$,Q3(O))}function v3($,O){let[Z,T,j]=m6(O);return f=j,f8(_3($,T,Z)[0],f);var f}function AZ($,O){let[Z,T,j]=m6(O,3);return T>1&&($={...$,...i5($,T,Z)}),((f,W)=>{let{sign:z}=f,J=z===-1?V0(f):f,{hours:Y,minutes:X}=J,[C,F]=F3(f0(J,3),y0,L1);D8(C);let U=k3(F,W),D=W>=0||!z||U;return(z<0?"-":"")+"P"+tW({Y:y1(J.years),M:y1(J.months),W:y1(J.weeks),D:y1(J.days)})+(Y||X||C||D?"T"+tW({H:y1(Y),M:y1(X),S:y1(C,D)+U}):"")})($,j)}function T8($,O,Z,T){let j=J0($),f=T>1||T===0&&j!==v;return T===1?j===v?O(Z):zZ(Z):f?zZ(Z)+W8(j,T===2):O(Z)}function tW($){let O=[];for(let Z in $){let T=$[Z];T&&O.push(T,Z)}return O.join("")}function g3($,O){return zZ($)+"T"+f8($,O)}function zZ($){return j8($)+"-"+q0($.isoDay)}function j8($){let{isoYear:O}=$;return(O<0||O>9999?z8(O)+ZZ(6,Math.abs(O)):ZZ(4,O))+"-"+q0($.isoMonth)}function u5($){return q0($.isoMonth)+"-"+q0($.isoDay)}function f8($,O){let Z=[q0($.isoHour),q0($.isoMinute)];return O!==-1&&Z.push(q0($.isoSecond)+((T,j,f,W)=>k3(T*o0+j*r1+f,W))($.isoMillisecond,$.isoMicrosecond,$.isoNanosecond,O)),Z.join(":")}function d1($,O=0){if(O===1)return"";let[Z,T]=f1(Math.abs($),uZ),[j,f]=f1(T,dZ),[W,z]=f1(f,y0);return z8($)+q0(Z)+":"+q0(j)+(W||z?":"+q0(W)+k3(z):"")}function R3($,O){if(O!==1){let Z=J0($);if(O>1||O===0&&Z!==v)return W8(Z,O===2)}return""}function W8($,O){return"["+(O?"!":"")+"u-ca="+$+"]"}function k3($,O){let Z=ZZ(9,$);return Z=O===void 0?Z.replace(ZJ,""):Z.slice(0,O),Z?"."+Z:""}function z8($){return $<0?"-":"+"}function y1($,O){return $||O?$.toLocaleString("fullwide",{useGrouping:0}):""}function s5($,O){let{epochNanoseconds:Z}=$,T=(O.getOffsetNanosecondsFor?O:O($.timeZone)).getOffsetNanosecondsFor(Z),j=M1(Z,T);return{calendar:$.calendar,...j,offsetNanoseconds:T}}function J8($,O){let Z=Q0(O,$);return{calendar:O.calendar,...H0(B2,Z),offset:d1(Z.offsetNanoseconds),timeZone:O.timeZone}}function u1($,O,Z,T=0,j=0,f,W){if(Z!==void 0&&T===1&&(T===1||W))return U3(O,Z);let z=$.getPossibleInstantsFor(O);if(Z!==void 0&&T!==3){let J=((Y,X,C,F)=>{let U=G0(X);F&&(C=WZ(C));for(let D of Y){let G=g0(v0(D,U));if(F&&(G=WZ(G)),G===C)return D}})(z,O,Z,f);if(J!==void 0)return J;if(T===0)throw RangeError(L7)}return W?G0(O):P0($,O,j,z)}function P0($,O,Z=0,T=$.getPossibleInstantsFor(O)){if(T.length===1)return T[0];if(Z===1)throw RangeError(S7);if(T.length)return T[Z===3?1:0];let j=G0(O),f=((z,J)=>{let Y=z.getOffsetNanosecondsFor(B$(J,-q));return q3(z.getOffsetNanosecondsFor(B$(J,q))-Y)})($,j),W=f*(Z===2?-1:1);return(T=$.getPossibleInstantsFor(M1(j,W)))[Z===2?0:T.length-1]}function m3($){if(Math.abs($)>=q)throw RangeError(Q7);return $}function q3($){if($>q)throw RangeError(V7);return $}function y3($,O,Z){return z0(R0(G$(O.epochNanoseconds,((T)=>{if(U8(T))throw RangeError(N7);return f0(T,5)})($?V0(Z):Z))))}function p3($,O,Z,T,j,f=Object.create(null)){let W=O(T.timeZone),z=$(T.calendar);return{...T,...d3(W,z,T,Z?V0(j):j,f)}}function c3($,O,Z,T,j=Object.create(null)){let{calendar:f}=Z;return o(u3($(f),Z,O?V0(T):T,j),f)}function i3($,O,Z,T,j){let{calendar:f}=Z;return r(EZ($(f),Z,O?V0(T):T,j),f)}function h3($,O,Z,T,j=Object.create(null)){let f=Z.calendar,W=$(f),z=zO(W,Z);O&&(T=wZ(T)),T.sign<0&&(z=W.dateAdd(z,{...Y0,months:1}),z=s1(z,-1));let J=W.dateAdd(z,T,j);return p1(zO(W,J),f)}function l3($,O,Z){return l0(Y8(O,$?V0(Z):Z)[0])}function d3($,O,Z,T,j){let f=f0(T,5),W=Z.epochNanoseconds;if(U8(T)){let z=Q0(Z,$);W=G$(P0($,{...EZ(O,z,{...T,...wj},j),...H0(u0,z)}),f)}else W=G$(W,f),R(j);return{epochNanoseconds:R0(W)}}function u3($,O,Z,T){let[j,f]=Y8(O,Z);return J1({...EZ($,O,{...Z,...wj,days:Z.days+f},T),...j})}function EZ($,O,Z,T){if(Z.years||Z.months||Z.weeks)return $.dateAdd(O,Z,T);R(T);let j=Z.days+f0(Z,5)[0];return j?Q1(s1(O,j)):O}function zO($,O,Z=1){return s1(O,Z-$.day(O))}function Y8($,O){let[Z,T]=f0(O,5),[j,f]=KZ(S1($)+T);return[j,Z+f]}function s1($,O){return O?{...$,...QZ(K0($)+O*A0)}:$}function PZ($,O,Z){let T=$(Z.calendar);return bZ(Z)?[Z,T,O(Z.timeZone)]:[{...Z,...p0},T]}function s3($){return $?l6:G0}function HZ($){return $?w(d3,$):u3}function n3($){return $?w(a5,$):o5}function bZ($){return $&&$.epochNanoseconds}function JO($,O){return $<=6-(bZ(O)?1:0)}function a3($,O,Z,T,j,f,W){let z=$(h0(W).relativeTo),J=Math.max(c1(j),c1(f));if(JO(J,z))return i(N$(((G,B,Q,S)=>{let V=G$(f0(G),f0(B),S?-1:1);if(!Number.isFinite(V[0]))throw RangeError(hZ);return{...Y0,...x$(V,Q)}})(j,f,J,T)));if(!z)throw RangeError(lZ);T&&(f=V0(f));let[Y,X,C]=PZ(O,Z,z),F=HZ(C),U=n3(C),D=F(X,Y,j);return i(U(X,Y,F(X,D,f),J))}function X8($,O,Z,T,j){let f=c1(T),[W,z,J,Y,X]=((L,I,E)=>{L=I3(L,XZ);let P=mj(L),Z0=E(L[Q2]),g=L3(L),m=xO(L,7),T0=NO(L);if(P===void 0&&T0===void 0)throw RangeError(x7);return T0==null&&(T0=0),P==null&&(P=Math.max(T0,I)),p6(P,T0),g=S3(g,T0,1),[P,T0,g,m,Z0]})(j,f,$),C=Math.max(f,W);if(!bZ(X)&&C<=6)return i(N$(((L,I,E,P,Z0)=>{let g=xZ(f0(L),E,P,Z0);return{...Y0,...x$(g,I)}})(T,W,z,J,Y)));if(!X)throw RangeError(lZ);let[F,U,D]=PZ(O,Z,X),G=s3(D),B=HZ(D),Q=n3(D),S=B(U,F,T),V=Q(U,F,S,W),x=T.sign,A=N1(V);if(x&&A&&x!==A)throw RangeError(SO);return A&&(V=NZ(V,G(S),W,z,J,Y,U,F,G,B)),i(V)}function F8($){return $.sign===-1?wZ($):$}function wZ($){return i(V0($))}function V0($){let O={};for(let Z of k)O[Z]=-1*$[Z]||0;return O}function C8($){return!$.sign}function N1($,O=k){let Z=0;for(let T of O){let j=Math.sign($[T]);if(j){if(Z&&Z!==j)throw RangeError(M7);Z=j}}return Z}function N$($){for(let O of v7)m0(O,$[O],-f6,f6,1);return D8(g0(f0($),y0)),$}function D8($){if(!Number.isSafeInteger($))throw RangeError(I7)}function f0($,O=6){return U6($,O,k)}function x$($,O=6){let[Z,T]=$,j=DZ(T,O,k);if(j[k[O]]+=Z*(q/a0[O]),!Number.isFinite(j[k[O]]))throw RangeError(hZ);return j}function vZ($,O=5){return DZ($,O,k)}function U8($){return Boolean(N1($,U2))}function c1($){let O=9;for(;O>0&&!$[k[O]];O--);return O}function n5($,O){return[$,O]}function eW($){let O=Math.floor($/$Z)*$Z;return[O,O+$Z]}function G8($){let O=x1($=TZ($));if(!O)throw RangeError(_0($));let Z;if(O.m)Z=0;else{if(!O.offset)throw RangeError(_0($));Z=_$(O.offset)}return O.timeZone&&e3(O.timeZone,1),z0(U3(VZ(O),Z))}function B8($){let O=x1(h($));if(!O)throw RangeError(_0($));if(O.timeZone)return x8(O,O.offset?_$(O.offset):void 0);if(O.m)throw RangeError(_0($));return A8(O)}function K8($,O){let Z=x1(h($));if(!Z||!Z.timeZone)throw RangeError(_0($));let{offset:T}=Z,j=T?_$(T):void 0,[,f,W]=GO(O);return x8(Z,j,f,W)}function _$($){let O=e3($);if(O===void 0)throw RangeError(_0($));return O}function Q8($){let O=x1(h($));if(!O||O.m)throw RangeError(_0($));return o(_8(O))}function gZ($){let O=x1(h($));if(!O||O.m)throw RangeError(_0($));return r(O.p?_8(O):A8(O))}function V8($,O){let Z=r3(h(O));if(Z)return o3(Z),p1(D3(h1(Z)));let T=gZ(O);return p1(zO($(T.calendar),T))}function o3($){if($.calendar!==v)throw RangeError(W1($.calendar))}function L8($,O){let Z=t3(h(O));if(Z)return o3(Z),fZ(h1(Z));let T=gZ(O),{calendar:j}=T,f=$(j),[W,z,J]=f.h(T),[Y,X]=f.I(W,z),[C,F]=f.N(Y,X,J);return fZ(Q1(f.P(C,F,J)),j)}function S8($){let O,Z=((T)=>{let j=zJ.exec(T);return j?(RZ(j[10]),H8(j)):void 0})(h($));if(!Z){if(Z=x1($),!Z)throw RangeError(_0($));if(!Z.p)throw RangeError(_0($));if(Z.m)throw RangeError(W1("Z"));o3(Z)}if((O=r3($))&&oW(O))throw RangeError(_0($));if((O=t3($))&&oW(O))throw RangeError(_0($));return l0(LZ(Z,1))}function I8($){let O=((Z)=>{let T=XJ.exec(Z);return T?((j)=>{function f(X,C,F){let U=0,D=0;if(F&&([U,J]=f1(J,a0[F])),X!==void 0){if(z)throw RangeError(W1(X));D=((G)=>{let B=parseInt(G);if(!Number.isFinite(B))throw RangeError(W1(G));return B})(X),W=1,C&&(J=$j(C)*(a0[F]/y0),z=1)}return U+D}let W=0,z=0,J=0,Y={...L$(k,[f(j[2]),f(j[3]),f(j[4]),f(j[5]),f(j[6],j[7],5),f(j[8],j[9],4),f(j[10],j[11],3)]),...DZ(J,2,k)};if(!W)throw RangeError(sz(k));return Oj(j[1])<0&&(Y=V0(Y)),Y})(T):void 0})(h($));if(!O)throw RangeError(_0($));return i(N$(O))}function M8($){let O=x1($)||r3($)||t3($);return O?O.calendar:$}function N8($){let O=x1($);return O&&(O.timeZone||O.m&&$$||O.offset)||$}function x8($,O,Z=0,T=0){let j=kZ($.timeZone),f=eZ(j);return X0(u1(f,VZ($),O,Z,T,!f.v,$.m),j,KO($.calendar))}function _8($){return E8(J1(VZ($)))}function A8($){return E8(Q1(h1($)))}function E8($){return{...$,calendar:KO($.calendar)}}function x1($){let O=WJ.exec($);return O?((Z)=>{let T=Z[10],j=(T||"").toUpperCase()==="Z";return{isoYear:P8(Z),isoMonth:parseInt(Z[4]),isoDay:parseInt(Z[5]),...H8(Z.slice(5)),...RZ(Z[16]),p:Boolean(Z[6]),m:j,offset:j?void 0:T}})(O):void 0}function r3($){let O=jJ.exec($);return O?((Z)=>({isoYear:P8(Z),isoMonth:parseInt(Z[4]),isoDay:1,...RZ(Z[5])}))(O):void 0}function t3($){let O=fJ.exec($);return O?((Z)=>({isoYear:V$,isoMonth:parseInt(Z[1]),isoDay:parseInt(Z[2]),...RZ(Z[3])}))(O):void 0}function e3($,O){let Z=JJ.exec($);return Z?((T,j)=>{let f=T[4]||T[5];if(j&&f)throw RangeError(W1(f));return m3((U$(T[2])*uZ+U$(T[3])*dZ+U$(T[4])*y0+$j(T[5]||""))*Oj(T[1]))})(Z,O):void 0}function P8($){let O=Oj($[1]),Z=parseInt($[2]||$[3]);if(O<0&&!Z)throw RangeError(W1(-0));return O*Z}function H8($){let O=U$($[3]);return{...KZ($j($[4]||""))[0],isoHour:U$($[1]),isoMinute:U$($[2]),isoSecond:O===60?59:O}}function RZ($){let O,Z,T=[];if($.replace(YJ,(j,f,W)=>{let z=Boolean(f),[J,Y]=W.split("=").reverse();if(Y){if(Y==="u-ca")T.push(J),O||(O=z);else if(z||/[A-Z]/.test(Y))throw RangeError(W1(j))}else{if(Z)throw RangeError(W1(j));Z=J}return""}),T.length>1&&O)throw RangeError(W1($));return{timeZone:Z,calendar:T[0]||v}}function $j($){return parseInt($.padEnd(9,"0"))}function A$($){return new RegExp(`^${$}$`,"i")}function Oj($){return $&&$!=="+"?-1:1}function U$($){return $===void 0?0:parseInt($)}function b8($){return kZ(h($))}function kZ($){let O=Zj($);return typeof O=="number"?d1(O):O?((Z)=>{if(CJ.test(Z))throw RangeError(K7);return Z.toLowerCase().split("/").map((T,j)=>(T.length<=3||/\d/.test(T))&&!/etc|yap/.test(T)?T.toUpperCase():T.replace(/baja|dumont|[a-z]+/g,(f,W)=>f.length<=2&&!j||f==="in"||f==="chat"?f.toUpperCase():f.length>2||!W?nW(f).replace(/island|noronha|murdo|rivadavia|urville/,nW):f)).join("/")})($):$$}function $6($){let O=Zj($);return typeof O=="number"?O:O?O.resolvedOptions().timeZone:$$}function Zj($){let O=e3($=$.toUpperCase(),1);return O!==void 0?O:$!==$$?FJ($):void 0}function Tj($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function jj($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function w8($,O,Z,T,j,f){let W=$(h0(f).relativeTo),z=Math.max(c1(T),c1(j));if(C6(k,T,j))return 0;if(JO(z,W))return B0(f0(T),f0(j));if(!W)throw RangeError(lZ);let[J,Y,X]=PZ(O,Z,W),C=s3(X),F=HZ(X);return B0(C(F(Y,J,T)),C(F(Y,J,j)))}function fj($,O){return n1($,O)||mZ($,O)}function n1($,O){return K1(K0($),K0(O))}function mZ($,O){return K1(S1($),S1(O))}function v8($,O){return!Tj($,O)}function g8($,O){return!jj($,O)&&!!qZ($.timeZone,O.timeZone)&&M$($.calendar,O.calendar)}function R8($,O){return!fj($,O)&&M$($.calendar,O.calendar)}function k8($,O){return!n1($,O)&&M$($.calendar,O.calendar)}function m8($,O){return!n1($,O)&&M$($.calendar,O.calendar)}function q8($,O){return!n1($,O)&&M$($.calendar,O.calendar)}function y8($,O){return!mZ($,O)}function qZ($,O){if($===O)return 1;let Z=J0($),T=J0(O);if(Z===T)return 1;try{return $6(Z)===$6(T)}catch(j){}}function Wj($,O,Z,T){let j=I$($,a(T),3,5),f=yZ(O.epochNanoseconds,Z.epochNanoseconds,...j);return i($?V0(f):f)}function zj($,O,Z,T,j,f){let W=cZ(T.calendar,j.calendar),z=a(f),[J,Y,X,C]=I$(Z,z,5),F=T.epochNanoseconds,U=j.epochNanoseconds,D=B0(U,F),G;if(D)if(J<6)G=yZ(F,U,J,Y,X,C);else{let B=O(((S,V)=>{if(!qZ(S,V))throw RangeError(ez);return S})(T.timeZone,j.timeZone)),Q=$(W);G=c8(Q,B,T,j,D,J,z),G=NZ(G,U,J,Y,X,C,Q,T,l6,w(d3,B))}else G=Y0;return i(Z?V0(G):G)}function Jj($,O,Z,T,j){let f=cZ(Z.calendar,T.calendar),W=a(j),[z,J,Y,X]=I$(O,W,6),C=G0(Z),F=G0(T),U=B0(F,C),D;if(U)if(z<=6)D=yZ(C,F,z,J,Y,X);else{let G=$(f);D=i8(G,Z,T,U,z,W),D=NZ(D,F,z,J,Y,X,G,Z,G0,u3)}else D=Y0;return i(O?V0(D):D)}function Yj($,O,Z,T,j){let f=cZ(Z.calendar,T.calendar),W=a(j);return p8(O,()=>$(f),Z,T,...I$(O,W,6,9,6),W)}function Xj($,O,Z,T,j){let f=cZ(Z.calendar,T.calendar),W=a(j),z=I$(O,W,9,9,8),J=$(f);return p8(O,()=>J,zO(J,Z),zO(J,T),...z,W)}function p8($,O,Z,T,j,f,W,z,J){let Y=G0(Z),X=G0(T),C;if(B0(X,Y))if(j===6)C=yZ(Y,X,j,f,W,z);else{let F=O();C=F.dateUntil(Z,T,j,J),f===6&&W===1||(C=NZ(C,X,j,f,W,z,F,Z,G0,EZ))}else C=Y0;return i($?V0(C):C)}function Fj($,O,Z,T){let j=a(T),[f,W,z,J]=I$($,j,5,5),Y=I1(Cj(O,Z),BO(W,z),J),X={...Y0,...vZ(Y,f)};return i($?V0(X):X)}function a5($,O,Z,T,j,f){let W=B0(T.epochNanoseconds,Z.epochNanoseconds);return W?j<6?h8(Z.epochNanoseconds,T.epochNanoseconds,j):c8(O,$,Z,T,W,j,f):Y0}function o5($,O,Z,T,j){let f=G0(O),W=G0(Z),z=B0(W,f);return z?T<=6?h8(f,W,T):i8($,O,Z,z,T,j):Y0}function c8($,O,Z,T,j,f,W){let[z,J,Y]=((F,U,D,G)=>{function B(){return I={...s1(V,A++*-G),...S},E=P0(F,I),B0(x,E)===-G}let Q=Q0(U,F),S=H0(u0,Q),V=Q0(D,F),x=D.epochNanoseconds,A=0,L=Cj(Q,V),I,E;if(Math.sign(L)===-G&&A++,B()&&(G===-1||B()))throw RangeError(SO);let P=g0(v0(E,x));return[Q,I,P]})(O,Z,T,j);var X,C;return{...f===6?(X=z,C=J,{...Y0,days:l8(X,C)}):$.dateUntil(z,J,f,W),...vZ(Y)}}function i8($,O,Z,T,j,f){let[W,z,J]=((Y,X,C)=>{let F=X,U=Cj(Y,X);return Math.sign(U)===-C&&(F=s1(X,-C),U+=q*C),[Y,F,U]})(O,Z,T);return{...$.dateUntil(W,z,j,f),...vZ(J)}}function yZ($,O,Z,T,j,f){return{...Y0,...x$(xZ(v0($,O),T,j,f),Z)}}function h8($,O,Z){return{...Y0,...x$(v0($,O),Z)}}function l8($,O){return pZ(K0($),K0(O))}function pZ($,O){return Math.trunc((O-$)/A0)}function Cj($,O){return S1(O)-S1($)}function cZ($,O){if(!M$($,O))throw RangeError(Aj);return $}function r5($){function O(j){return((f,W)=>({...d8(f,W),F:f.month,day:parseInt(f.day)}))(C3(Z,j),T)}let Z=ij($),T=JZ($);return{id:$,O:t5(O),B:e5(O)}}function t5($){return E0((O)=>{let Z=K0(O);return $(Z)},WeakMap)}function e5($){let O=$(0).year-y7;return E0((Z)=>{let T,j=S$(Z-O),f=[],W=[];do j+=400*A0;while((T=$(j)).year<=Z);do j+=(1-T.day)*A0,T.year===Z&&(f.push(j),W.push(T.F)),j-=A0;while((T=$(j)).year>=Z);return{k:f.reverse(),C:Z2(W.reverse())}})}function d8($,O){let Z,T,j=u8($);if($.era){let f=F2[O];f!==void 0&&(Z=O==="islamic"?"ah":$.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g,""),Z==="bc"||Z==="b"?Z="bce":Z!=="ad"&&Z!=="a"||(Z="ce"),T=j,j=r8(T,f[Z]||0))}return{era:Z,eraYear:T,year:j}}function u8($){return parseInt($.relatedYear||$.year)}function oT($){let{year:O,F:Z,day:T}=this.O($),{C:j}=this.B(O);return[O,j[Z]+1,T]}function YO($,O=1,Z=1){return this.B($).k[O-1]+(Z-1)*A0}function rO($){let O=Z6(this,$),Z=Z6(this,$-1),T=O.length;if(T>Z.length){let j=t8(this);if(j<0)return-j;for(let f=0;f<T;f++)if(O[f]!==Z[f])return f+1}}function tO($){return pZ(YO.call(this,$),YO.call(this,$+1))}function O6($,O){let{k:Z}=this.B($),T=O+1,j=Z;return T>Z.length&&(T=1,j=this.B($+1).k),pZ(Z[O-1],j[T-1])}function eO($){return this.B($).k.length}function Z6($,O){return Object.keys($.B(O).C)}function s8($){return KO(h($))}function KO($){if(($=$.toLowerCase())!==v&&$!==nZ&&JZ($)!==JZ(ij($).resolvedOptions().calendar))throw RangeError(B7($));return $}function JZ($){return $==="islamicc"&&($="islamic"),$.split("-")[0]}function n8($){return this.R($)[0]}function a8($){return this.R($)[1]}function Dj($){let[O]=this.h($);return pZ(this.q(O),K0($))+1}function o8($){let O=UJ.exec($);if(!O)throw RangeError(U7($));return[parseInt(O[1]),Boolean(O[2])]}function YZ($,O,Z){return $+(O||Z&&$>=Z?1:0)}function rT($,O){return $-(O&&$>=O?1:0)}function r8($,O){return(O+$)*(Math.sign(O)||1)||0}function tT($){return F2[e8($)]}function t8($){return H7[e8($)]}function e8($){return JZ($.id||v)}function $z($,O,Z,T){let j=_1(Z,T,d0,[],z2);if(j.timeZone!==void 0){let f=Z.dateFromFields(j),W=a1(j),z=$(j.timeZone);return{epochNanoseconds:u1(O(z),{...f,...W},j.offset!==void 0?_$(j.offset):void 0),timeZone:z}}return{...Z.dateFromFields(j),...p0}}function Oz($,O,Z,T,j,f){let W=_1(Z,j,d0,f2,z2),z=$(W.timeZone),[J,Y,X]=GO(f),C=Z.dateFromFields(W,IZ(f,J)),F=a1(W,J);return X0(u1(O(z),{...C,...F},W.offset!==void 0?_$(W.offset):void 0,Y,X),z,T)}function Zz($,O,Z){let T=_1($,O,d0,[],F1),j=R(Z);return o(J1({...$.dateFromFields(T,IZ(Z,j)),...a1(T,j)}))}function Uj($,O,Z,T=[]){let j=_1($,O,d0,T);return $.dateFromFields(j,Z)}function Gj($,O,Z,T){let j=_1($,O,Hj,T);return $.yearMonthFromFields(j,Z)}function Bj($,O,Z,T,j=[]){let f=_1($,Z,d0,j);return O&&f.month!==void 0&&f.monthCode===void 0&&f.year===void 0&&(f.year=V$),$.monthDayFromFields(f,T)}function Tz($,O){let Z=R(O);return l0(a1(n0($,$3,[],1),Z))}function jz($){let O=n0($,bj);return i(N$({...Y0,...O}))}function _1($,O,Z,T=[],j=[]){return n0(O,[...$.fields(Z),...j].sort(),T)}function n0($,O,Z,T=!Z){let j={},f,W=0;for(let z of O){if(z===f)throw RangeError(J7(z));if(z==="constructor"||z==="__proto__")throw RangeError(xj(z));let J=$[z];if(J!==void 0)W=1,W6[z]&&(J=W6[z](J,z)),j[z]=J;else if(Z){if(Z.includes(z))throw TypeError(Nj(z));j[z]=X2[z]}f=z}if(T&&!W)throw TypeError(sz(O));return j}function a1($,O){return LZ(QJ({...X2,...$}),O)}function fz($,O,Z,T,j,f){let W=a(f),{calendar:z,timeZone:J}=Z;return X0(((Y,X,C,F,U)=>{let D=QO(Y,C,F,d0,W2,j2),[G,B,Q]=GO(U,2);return u1(X,{...Y.dateFromFields(D,IZ(U,G)),...a1(D,G)},_$(D.offset),B,Q)})($(z),O(J),T,j,W),J,z)}function Wz($,O,Z,T,j){let f=a(j);return o(((W,z,J,Y)=>{let X=QO(W,z,J,d0,F1),C=R(Y);return J1({...W.dateFromFields(X,IZ(Y,C)),...a1(X,C)})})($(O.calendar),Z,T,f))}function zz($,O,Z,T,j){let f=a(j);return((W,z,J,Y)=>{let X=QO(W,z,J,d0);return W.dateFromFields(X,Y)})($(O.calendar),Z,T,f)}function Jz($,O,Z,T,j){let f=a(j);return p1(((W,z,J,Y)=>{let X=QO(W,z,J,Hj);return W.yearMonthFromFields(X,Y)})($(O.calendar),Z,T,f))}function Yz($,O,Z,T,j){let f=a(j);return((W,z,J,Y)=>{let X=QO(W,z,J,d0);return W.monthDayFromFields(X,Y)})($(O.calendar),Z,T,f)}function Xz($,O,Z){return l0(((T,j,f)=>{let W=R(f);return a1({...H0($3,T),...n0(j,$3)},W)})($,O,Z))}function Fz($,O){return i((Z=$,T=O,N$({...Z,...n0(T,bj)})));var Z,T}function QO($,O,Z,T,j=[],f=[]){let W=[...$.fields(T),...j].sort(),z=n0(O,W,f),J=n0(Z,W);return z=$.mergeFields(z,J),n0(z,W,[])}function Kj($,O){let Z=_1($,O,Y2);return $.monthDayFromFields(Z)}function Qj($,O,Z){let T=_1($,O,J2);return $.yearMonthFromFields(T,Z)}function Cz($,O,Z,T,j){O=H0(Z=$.fields(Z),O),T=n0(T,j=$.fields(j),[]);let f=$.mergeFields(O,T);return f=n0(f,[...Z,...j].sort(),[]),$.dateFromFields(f)}function dT($,O){let{era:Z,eraYear:T,year:j}=O,f=tT($);if(Z!==void 0||T!==void 0){if(Z===void 0||T===void 0)throw TypeError(X7);if(!f)throw RangeError(Y7);let W=f[Z];if(W===void 0)throw RangeError(C7(Z));let z=r8(T,W);if(j!==void 0&&j!==z)throw RangeError(F7);j=z}else if(j===void 0)throw TypeError(D7(f));return j}function uT($,O,Z,T){let{month:j,monthCode:f}=O;if(f!==void 0){let W=((z,J,Y,X)=>{let C=z.U(Y),[F,U]=o8(J),D=YZ(F,U,C);if(U){let G=t8(z);if(G===void 0)throw RangeError(jO);if(G>0){if(D>G)throw RangeError(jO);if(C===void 0){if(X===1)throw RangeError(jO);D--}}else{if(D!==-G)throw RangeError(jO);if(C===void 0&&X===1)throw RangeError(jO)}}return D})($,f,Z,T);if(j!==void 0&&j!==W)throw RangeError(rz);j=W,T=1}else if(j===void 0)throw TypeError(G7);return m0("month",j,1,$.L(Z),T)}function T6($,O,Z,T,j){return x0(O,"day",1,$.j(T,Z),j)}function sT($,O,Z,T){let j=0,f=[];for(let W of Z)O[W]!==void 0?j=1:f.push(W);if(Object.assign($,O),j)for(let W of T||f)delete $[W]}function Dz($){return z0(R0(BZ(GZ($))))}function Uz($,O,Z,T,j=v){return X0(R0(BZ(GZ(Z))),O(T),$(j))}function Gz($,O,Z,T,j=0,f=0,W=0,z=0,J=0,Y=0,X=v){return o(J1(VZ(c0(U0,L$(aZ,[O,Z,T,j,f,W,z,J,Y])))),$(X))}function Bz($,O,Z,T,j=v){return r(Q1(h1(c0(U0,{isoYear:O,isoMonth:Z,isoDay:T}))),$(j))}function Kz($,O,Z,T=v,j=1){let f=U0(O),W=U0(Z),z=$(T);return p1(D3(h1({isoYear:f,isoMonth:W,isoDay:U0(j)})),z)}function Qz($,O,Z,T=v,j=V$){let f=U0(O),W=U0(Z),z=$(T);return fZ(Q1(h1({isoYear:U0(j),isoMonth:f,isoDay:W})),z)}function Vz($=0,O=0,Z=0,T=0,j=0,f=0){return l0(LZ(c0(U0,L$(u0,[$,O,Z,T,j,f])),1))}function Lz($=0,O=0,Z=0,T=0,j=0,f=0,W=0,z=0,J=0,Y=0){return i(N$(c0(N6,L$(k,[$,O,Z,T,j,f,W,z,J,Y]))))}function Vj($,O,Z=v){return X0($.epochNanoseconds,O,Z)}function Sz($){return z0($.epochNanoseconds)}function Lj($,O){return o(Q0(O,$))}function Sj($,O){return r(Q0(O,$))}function Iz($,O,Z){return Qj($(O.calendar),Z)}function Mz($,O,Z){return Kj($(O.calendar),Z)}function Ij($,O){return l0(Q0(O,$))}function Nz($,O,Z,T){let j=((f,W,z,J)=>{let Y=K3(J);return P0(f(W),z,Y)})($,Z,O,T);return X0(R0(j),Z,O.calendar)}function xz($,O,Z){let T=$(O.calendar);return p1({...O,...Qj(T,Z)})}function _z($,O,Z){return Kj($(O.calendar),Z)}function Az($,O,Z,T,j){let f=$(j.timeZone),W=j.plainTime,z=W!==void 0?O(W):p0;return X0(P0(Z(f),{...T,...z}),f,T.calendar)}function Ez($,O=p0){return o(J1({...$,...O}))}function Pz($,O,Z){return Qj($(O.calendar),Z)}function Hz($,O,Z){return Kj($(O.calendar),Z)}function bz($,O,Z,T){return((j,f,W)=>Cz(j,f,J2,z1(W),MO))($(O.calendar),Z,T)}function wz($,O,Z,T){return((j,f,W)=>Cz(j,f,Y2,z1(W),sZ))($(O.calendar),Z,T)}function vz($,O,Z,T,j){let f=z1(j),W=O(f.plainDate),z=$(f.timeZone);return X0(P0(Z(z),{...W,...T}),z,W.calendar)}function gz($,O){return o(J1({...$,...O}))}function Rz($){return z0(R0(K$($,y0)))}function kz($){return z0(R0(K$($,o0)))}function mz($){return z0(R0(BZ(GZ($),r1)))}function qz($){return z0(R0(BZ(GZ($))))}function yz($,O,Z=p0){let T=O.timeZone,j=$(T),f={...Q0(O,j),...Z};return X0(u1(j,f,f.offsetNanoseconds,2),T,O.calendar)}function pz($,O,Z){let T=O.timeZone,j=$(T),f={...Q0(O,j),...Z},W=lz(O.calendar,Z.calendar);return X0(u1(j,f,f.offsetNanoseconds,2),T,W)}function cz($,O=p0){return o({...$,...O})}function iz($,O){return o({...$,...O},lz($.calendar,O.calendar))}function iZ($,O){return{...$,calendar:O}}function hz($,O){return{...$,timeZone:O}}function lz($,O){if($===O)return $;let Z=J0($),T=J0(O);if(Z===T||Z===v)return O;if(T===v)return $;throw RangeError(Aj)}function $7($,O){return(Z)=>Z===v?$:Z===nZ||Z===Q$?Object.assign(Object.create($),{id:Z}):Object.assign(Object.create(O),DJ(Z))}function o1($,O,Z){let T=new Set(Z);return(j)=>(((f,W)=>{for(let z of W)if(z in f)return 1;return 0})(j=j3(T,j),$)||Object.assign(j,O),Z&&(j.timeZone=$$,["full","long"].includes(j.timeStyle)&&(j.timeStyle="medium")),j)}function Y1($,O=Mj){let[Z,,,T]=$;return(j,f=gJ,...W)=>{let z=O(T&&T(...W),j,f,Z),J=z.resolvedOptions();return[z,...O7($,J,W)]}}function Mj($,O,Z,T){if(Z=T(Z),$){if(Z.timeZone!==void 0)throw TypeError(A7);Z.timeZone=$}return new A1(O,Z)}function O7($,O,Z){let[,T,j]=$;return Z.map((f)=>(f.calendar&&((W,z,J)=>{if((J||W!==v)&&W!==z)throw RangeError(Aj)})(J0(f.calendar),O.calendar,j),T(f,O)))}function E$($){let O=VO();return M1(O,$.getOffsetNanosecondsFor(O))}function VO(){return K$(Date.now(),o0)}function X1(){return J6||(J6=new A1().resolvedOptions().timeZone)}var Z7=($,O)=>`Non-integer ${$}: ${O}`,T7=($,O)=>`Non-positive ${$}: ${O}`,j7=($,O)=>`Non-finite ${$}: ${O}`,f7=($)=>`Cannot convert bigint to ${$}`,W7=($)=>`Invalid bigint: ${$}`,z7="Cannot convert Symbol to string",dz="Invalid object",uz=($,O,Z,T,j)=>j?uz($,j[O],j[Z],j[T]):LO($,O)+`; must be between ${Z}-${T}`,LO=($,O)=>`Invalid ${$}: ${O}`,Nj=($)=>`Missing ${$}`,xj=($)=>`Invalid field ${$}`,J7=($)=>`Duplicate field ${$}`,sz=($)=>"No valid fields: "+$.join(),nz="Invalid bag",az=($,O,Z)=>LO($,O)+"; must be "+Object.keys(Z).join(),oz="Cannot use valueOf",_j="Invalid calling context",Y7="Forbidden era/eraYear",X7="Mismatching era/eraYear",F7="Mismatching year/eraYear",C7=($)=>`Invalid era: ${$}`,D7=($)=>"Missing year"+($?"/era/eraYear":""),U7=($)=>`Invalid monthCode: ${$}`,rz="Mismatching month/monthCode",G7="Missing month/monthCode",j6="Cannot guess year",jO="Invalid leap month",tz="Invalid protocol",SO="Invalid protocol results",Aj="Mismatching Calendars",B7=($)=>`Invalid Calendar: ${$}`,ez="Mismatching TimeZones",K7="Forbidden ICU TimeZone",Q7="Out-of-bounds offset",V7="Out-of-bounds TimeZone gap",L7="Invalid TimeZone offset",S7="Ambiguous offset",hZ="Out-of-bounds date",I7="Out-of-bounds duration",M7="Cannot mix duration signs",lZ="Missing relativeTo",N7="Cannot use large units",x7="Required smallestUnit or largestUnit",_7="smallestUnit > largestUnit",_0=($)=>`Cannot parse: ${$}`,W1=($)=>`Invalid substring: ${$}`,$2=($)=>`Cannot format ${$}`,O2="Mismatching types for formatting",A7="Cannot specify TimeZone",Z2=w(CO,($,O)=>O),P$=w(CO,($,O,Z)=>Z),q0=w(ZZ,2),eT={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},IO=Object.keys(eT),A0=86400000,T2=1000,r1=1000,o0=1e6,y0=1e9,dZ=60000000000,uZ=3600000000000,q=86400000000000,a0=[1,r1,o0,y0,dZ,uZ,q],F1=IO.slice(0,6),$3=DO(F1),j2=["offset"],f2=["timeZone"],W2=F1.concat(j2),z2=W2.concat(f2),O3=["era","eraYear"],E7=O3.concat(["year"]),sZ=["year"],Ej=["monthCode"],Pj=["month"].concat(Ej),MO=["day"],Hj=Pj.concat(sZ),J2=Ej.concat(sZ),d0=MO.concat(Hj),P7=MO.concat(Pj),Y2=MO.concat(Ej),X2=P$(F1,0),v="iso8601",nZ="gregory",Q$="japanese",F2={[nZ]:{bce:-1,ce:0},[Q$]:{bce:-1,ce:0,meiji:1867,taisho:1911,showa:1925,heisei:1988,reiwa:2018},ethioaa:{era0:0},ethiopic:{era0:0,era1:5500},coptic:{era0:-1,era1:0},roc:{beforeroc:-1,minguo:0},buddhist:{be:0},islamic:{ah:0},indian:{saka:0},persian:{ap:0}},H7={chinese:13,dangi:13,hebrew:-6},h=w(UZ,"string"),C2=w(UZ,"boolean"),b7=w(UZ,"number"),D2=w(UZ,"function"),k=IO.map(($)=>$+"s"),bj=DO(k),w7=k.slice(0,6),U2=k.slice(6),v7=U2.slice(1),g7=Z2(k),Y0=P$(k,0),wj=P$(w7,0),vj=w(D6,k),u0=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],gj=["isoDay","isoMonth","isoYear"],aZ=u0.concat(gj),Rj=DO(gj),G2=DO(u0),B2=DO(aZ),p0=P$(G2,0),R7=w(D6,aZ),A1=Intl.DateTimeFormat,K2="en-GB",kj=1e8,k7=kj*A0,m7=[kj,0],q7=[-kj,0],XO=275760,FO=-271821,y7=1970,V$=1972,j1=12,p7=S$(1868,9,8),c7=E0(c5,WeakMap),XZ="smallestUnit",Z3="unit",WO="roundingIncrement",nT="fractionalSecondDigits",Q2="relativeTo",V2={constrain:0,reject:1},i7=Object.keys(V2),h7={compatible:0,reject:1,earlier:2,later:3},l7={reject:0,use:1,prefer:2,ignore:3},d7={auto:0,never:1,critical:2,always:3},u7={auto:0,never:1,critical:2},s7={auto:0,never:1},n7={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},NO=w(M3,XZ),mj=w(M3,"largestUnit"),a7=w(M3,Z3),L2=w(l1,"overflow",V2),S2=w(l1,"disambiguation",h7),o7=w(l1,"offset",l7),qj=w(l1,"calendarName",d7),r7=w(l1,"timeZoneName",u7),t7=w(l1,"offset",s7),xO=w(l1,"roundingMode",n7),H$="PlainYearMonth",b$="PlainMonthDay",t1="PlainDate",e1="PlainDateTime",oZ="PlainTime",C1="ZonedDateTime",rZ="Instant",tZ="Duration",e7=[Math.floor,($)=>oO($)?Math.floor($):Math.round($),Math.ceil,($)=>oO($)?Math.ceil($):Math.round($),Math.trunc,($)=>oO($)?Math.trunc($)||0:Math.round($),($)=>$<0?Math.floor($):Math.ceil($),($)=>Math.sign($)*Math.round(Math.abs($))||0,($)=>oO($)?($=Math.trunc($)||0)+$%2:Math.round($)],$$="UTC",$Z=5184000,$J=jZ(1847),OJ=jZ(new Date().getUTCFullYear()+10),ZJ=/0+$/,Q0=E0(s5,WeakMap),f6=4294967295,eZ=E0(($)=>{let O=Zj($);return typeof O=="object"?new M2(O):new I2(O||0)});class I2{constructor($){this.v=$}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor($){return[U3($,this.v)]}l(){}}class M2{constructor($){this.$=((O)=>{function Z(J){let Y=aT(J,W,z),[X,C]=eW(Y),F=j(X),U=j(C);return F===U?F:T(f(X,C),F,U,J)}function T(J,Y,X,C){let F,U;for(;(C===void 0||(F=C<J[0]?Y:C>=J[1]?X:void 0)===void 0)&&(U=J[1]-J[0]);){let D=J[0]+Math.floor(U/2);O(D)===X?J[1]=D:J[0]=D+1}return F}let j=E0(O),f=E0(n5),W=$J,z=OJ;return{G(J){let Y=Z(J-86400),X=Z(J+86400),C=J-Y,F=J-X;if(Y===X)return[C];let U=Z(C);return U===Z(F)?[J-U]:Y>X?[C,F]:[]},V:Z,l(J,Y){let X=aT(J,W,z),[C,F]=eW(X),U=$Z*Y,D=Y<0?()=>F>W||(W=X,0):()=>C<z||(z=X,0);for(;D();){let G=j(C),B=j(F);if(G!==B){let Q=f(C,F);T(Q,G,B);let S=Q[0];if((K1(S,J)||1)===Y)return S}C+=U,F+=U}}}})(((O)=>(Z)=>{let T=C3(O,Z*T2);return jZ(u8(T),parseInt(T.month),parseInt(T.day),parseInt(T.hour),parseInt(T.minute),parseInt(T.second))-Z})($))}getOffsetNanosecondsFor($){return this.$.V(A6($))*y0}getPossibleInstantsFor($){let[O,Z]=[jZ((T=$).isoYear,T.isoMonth,T.isoDay,T.isoHour,T.isoMinute,T.isoSecond),T.isoMillisecond*o0+T.isoMicrosecond*r1+T.isoNanosecond];var T;return this.$.G(O).map((j)=>R0(B$(K$(j,y0),Z)))}l($,O){let[Z,T]=E6($),j=this.$.l(Z+(O>0||T?1:0),O);if(j!==void 0)return K$(j,y0)}}var yj="([+\u2212-])",OZ="(?:[.,](\\d{1,9}))?",N2=`(?:(?:${yj}(\\d{6}))|(\\d{4}))-?(\\d{2})`,pj="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+OZ+")?)?",cj=yj+pj,TJ=N2+"-?(\\d{2})(?:[T ]"+pj+"(Z|"+cj+")?)?",x2="\\[(!?)([^\\]]*)\\]",$T=`((?:${x2}){0,9})`,jJ=A$(N2+$T),fJ=A$("(?:--)?(\\d{2})-?(\\d{2})"+$T),WJ=A$(TJ+$T),zJ=A$("T?"+pj+"(?:"+cj+")?"+$T),JJ=A$(cj),YJ=new RegExp(x2,"g"),XJ=A$(`${yj}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${OZ}H)?(?:(\\d+)${OZ}M)?(?:(\\d+)${OZ}S)?)?`),FJ=E0(($)=>new A1(K2,{timeZone:$,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),CJ=/^(AC|AE|AG|AR|AS|BE|BS|CA|CN|CS|CT|EA|EC|IE|IS|JS|MI|NE|NS|PL|PN|PR|PS|SS|VS)T$/,DJ=E0(r5),ij=E0(($)=>new A1(K2,{calendar:$,timeZone:$$,era:"short",year:"numeric",month:"short",day:"numeric"})),UJ=/^M(\d{2})(L?)$/,GJ={era:TZ,eraYear:U0,year:U0,month:aW,monthCode:TZ,day:aW},BJ=P$(F1,U0),KJ=P$(k,N6),W6=Object.assign({},GJ,BJ,KJ,{offset:TZ}),QJ=w(p5,F1,u0),z6={dateAdd($,O,Z){let T=R(Z),j,{years:f,months:W,weeks:z,days:J}=O;if(J+=f0(O,5)[0],f||W)j=((Y,X,C,F,U)=>{let[D,G,B]=Y.h(X);if(C){let[Q,S]=Y.I(D,G);D+=C,G=YZ(Q,S,Y.U(D)),G=m0("month",G,1,Y.L(D),U)}return F&&([D,G]=Y._(D,G,F)),B=m0("day",B,1,Y.j(D,G),U),Y.q(D,G,B)})(this,$,f,W,T);else{if(!z&&!J)return $;j=K0($)}return j+=(7*z+J)*A0,Q1(QZ(j))},dateUntil($,O,Z){if(Z<=7){let J=0,Y=l8({...$,...p0},{...O,...p0});return Z===7&&([J,Y]=L1(Y,7)),{...Y0,weeks:J,days:Y}}let T=this.h($),j=this.h(O),[f,W,z]=((J,Y,X,C,F,U,D)=>{let G=F-Y,B=U-X,Q=D-C;if(G||B){let S=Math.sign(G||B),V=J.j(F,U),x=0;if(Math.sign(Q)===-S){let A=V;[F,U]=J._(F,U,-S),G=F-Y,B=U-X,V=J.j(F,U),x=S<0?-A:V}if(Q=D-Math.min(C,V)+x,G){let[A,L]=J.I(Y,X),[I,E]=J.I(F,U);if(B=I-A||Number(E)-Number(L),Math.sign(B)===-S){let P=S<0&&-J.L(F);G=(F-=S)-Y,B=U-YZ(A,L,J.U(F))+(P||J.L(F))}}}return[G,B,Q]})(this,...T,...j);return Z===8&&(W+=this.J(f,T[0]),f=0),{...Y0,years:f,months:W,days:z}},dateFromFields($,O){let Z=R(O),T=dT(this,$),j=uT(this,$,T,Z),f=T6(this,$,j,T,Z);return r(Q1(this.P(T,j,f)),this.id||v)},yearMonthFromFields($,O){let Z=R(O),T=dT(this,$),j=uT(this,$,T,Z);return p1(D3(this.P(T,j,1)),this.id||v)},monthDayFromFields($,O){let Z=R(O),T=!this.id,{monthCode:j,year:f,month:W}=$,z,J,Y,X,C;if(j!==void 0){[z,J]=o8(j),C=Y6($,"day");let F=this.N(z,J,C);if(!F)throw RangeError(j6);if([Y,X]=F,W!==void 0&&W!==X)throw RangeError(rz);T&&(X=m0("month",X,1,j1,1),C=m0("day",C,1,G3(f!==void 0?f:Y,X),Z))}else{Y=f===void 0&&T?V$:dT(this,$),X=uT(this,$,Y,Z),C=T6(this,$,X,Y,Z);let F=this.U(Y);J=X===F,z=rT(X,F);let U=this.N(z,J,C);if(!U)throw RangeError(j6);[Y,X]=U}return fZ(Q1(this.P(Y,X,C)),this.id||v)},fields($){return tT(this)&&$.includes("year")?[...$,...O3]:$},mergeFields($,O){let Z=Object.assign(Object.create(null),$);return sT(Z,O,Pj),tT(this)&&(sT(Z,O,E7),this.id===Q$&&sT(Z,O,P7,O3)),Z},inLeapYear($){let[O]=this.h($);return this.K(O)},monthsInYear($){let[O]=this.h($);return this.L(O)},daysInMonth($){let[O,Z]=this.h($);return this.j(O,Z)},daysInYear($){let[O]=this.h($);return this.X(O)},dayOfYear:Dj,era($){return this.ee($)[0]},eraYear($){return this.ee($)[1]},monthCode($){let[O,Z]=this.h($),[T,j]=this.I(O,Z);return((f,W)=>"M"+q0(f)+(W?"L":""))(T,j)},dayOfWeek:v6,daysInWeek(){return 7}},VJ={dayOfYear:Dj,h:H6,q:S$},LJ=Object.assign({},VJ,{weekOfYear:n8,yearOfWeek:a8,R($){function O(U){return(7-U<T?7:0)-U}function Z(U){let D=w6(F+U),G=U||1,B=O(fO(J+D*G,7));return X=(D+(B-Y)*G)/7}let T=this.id?1:4,j=v6($),f=this.dayOfYear($),W=fO(j-1,7),z=f-1,J=fO(W-z,7),Y=O(J),X,C=Math.floor((z-Y)/7)+1,F=$.isoYear;return C?C>Z(0)&&(C=1,F++):(C=Z(-1),F--),[C,F,X]}}),SJ={dayOfYear:Dj,h:oT,q:YO,weekOfYear:n8,yearOfWeek:a8,R(){return[]}},w$=$7(Object.assign({},z6,LJ,{h:H6,ee($){return this.id===nZ?g6($):this.id===Q$?c7($):[]},I:($,O)=>[O,0],N($,O){if(!O)return[V$,$]},K:B3,U(){},L:b6,J:($)=>$*j1,j:G3,X:w6,P:($,O,Z)=>({isoYear:$,isoMonth:O,isoDay:Z}),q:S$,_:($,O,Z)=>($+=CZ(Z,j1),(O+=W3(Z,j1))<1?($--,O+=j1):O>j1&&($++,O-=j1),[$,O]),year($){return $.isoYear},month($){return $.isoMonth},day:($)=>$.isoDay}),Object.assign({},z6,SJ,{h:oT,ee($){let O=this.O($);return[O.era,O.eraYear]},I($,O){let Z=rO.call(this,$);return[rT(O,Z),Z===O]},N($,O,Z){let[T,j,f]=oT.call(this,{isoYear:V$,isoMonth:j1,isoDay:31}),W=rO.call(this,T),z=j===W;(K1($,rT(j,W))||K1(Number(O),Number(z))||K1(Z,f))===1&&T--;for(let J=0;J<100;J++){let Y=T-J,X=rO.call(this,Y),C=YZ($,O,X);if(O===(C===X)&&Z<=O6.call(this,Y,C))return[Y,C]}},K($){let O=tO.call(this,$);return O>tO.call(this,$-1)&&O>tO.call(this,$+1)},U:rO,L:eO,J($,O){let Z=O+$,T=Math.sign($),j=T<0?-1:0,f=0;for(let W=O;W!==Z;W+=T)f+=eO.call(this,W+j);return f},j:O6,X:tO,P($,O,Z){return QZ(YO.call(this,$,O,Z))},q:YO,_($,O,Z){if(Z){if(O+=Z,!Number.isSafeInteger(O))throw RangeError(hZ);if(Z<0)for(;O<1;)O+=eO.call(this,--$);else{let T;for(;O>(T=eO.call(this,$));)O-=T,$++}}return[$,O]},year($){return this.O($).year},month($){let{year:O,F:Z}=this.O($),{C:T}=this.B(O);return T[Z]+1},day($){return this.O($).day}})),V1="numeric",v$=["timeZoneName"],_2={month:V1,day:V1},hj={year:V1,month:V1},lj=Object.assign({},hj,{day:V1}),dj={hour:V1,minute:V1,second:V1},uj=Object.assign({},lj,dj),IJ=Object.assign({},uj,{timeZoneName:"short"}),MJ=Object.keys(hj),NJ=Object.keys(_2),xJ=Object.keys(lj),_J=Object.keys(dj),sj=["dateStyle"],AJ=MJ.concat(sj),EJ=NJ.concat(sj),nj=xJ.concat(sj,["weekday"]),_O=_J.concat(["dayPeriod","timeStyle"]),aj=nj.concat(_O),PJ=aj.concat(v$),HJ=v$.concat(_O),bJ=v$.concat(nj),wJ=v$.concat(["day","weekday"],_O),vJ=v$.concat(["year","weekday"],_O),gJ={},oj=[o1(aj,uj),MZ],A2=[o1(PJ,IJ),MZ,0,($,O)=>{let Z=J0($.timeZone);if(O&&J0(O.timeZone)!==Z)throw RangeError(ez);return Z}],rj=[o1(aj,uj,v$),K0],tj=[o1(nj,lj,HJ),K0],ej=[o1(_O,dj,bJ),($)=>S1($)/o0],$f=[o1(AJ,hj,wJ),K0,1],Of=[o1(EJ,_2,vJ),K0,1],J6;function e0($,O,Z,T,j){function f(...J){if(!(this instanceof f))throw TypeError(_j);b2(this,O(...J))}function W(J,Y){return Object.defineProperties(function(...X){return J.call(this,z(this),...X)},T3(Y))}function z(J){let Y=D0(J);if(!Y||Y.branding!==$)throw TypeError(_j);return Y}return Object.defineProperties(f.prototype,{...X6(c0(W,Z)),...i1(c0(W,T)),...FZ("Temporal."+$)}),Object.defineProperties(f,{...i1(j),...T3($)}),[f,(J)=>{let Y=Object.create(f.prototype);return b2(Y,J),Y},z]}function g2($){return $=$.concat("id").sort(),(O)=>{if(!F6(O,$))throw TypeError(tz);return O}}function m$($){if(D0($)||$.calendar!==void 0||$.timeZone!==void 0)throw TypeError(nz);return $}function OT($,O){let Z={};for(let T in $)Z[T]=({o:j},f)=>{let W=D0(f)||{},{branding:z}=W,J=z===t1||O.includes(z)?W:S0(f);return j[T](J)};return Z}function jf($){let O={};for(let Z in $)O[Z]=(T)=>{let{calendar:j}=T;return(f=j,typeof f=="string"?w$(f):(W=f,Object.assign(Object.create(oJ),{i:W})))[Z](T);var f,W};return O}function w1(){throw TypeError(oz)}function EO({calendar:$}){return typeof $=="string"?new Df($):$}function E2($,O){if(O=a(O),W0($)){let T=D0($);if(T&&T.branding===b$)return R(O),T;let j=m2($);return Bj(JT(j||v),!j,$,O)}let Z=L8(w$,$);return R(O),Z}function R2($,O,Z){return T=O.call($,L0(z0(Z))),m3(UO(T));var T}function ZT($,O=c2){let Z=Object.keys(O).sort(),T={};for(let j of Z)T[j]=w(O[j],$,D2($[j]));return T}function y($,O){return typeof $=="string"?eZ($):ZT($,O)}function e($){return y($,Tf)}function r0($){if(W0($)){let O=D0($);if(O)switch(O.branding){case rZ:return O;case C1:return z0(O.epochNanoseconds)}}return G8($)}function P2($,O,Z){let T=O.l(r0(Z).epochNanoseconds,$);return T?L0(z0(T)):null}function c($){return W0($)?(D0($)||{}).timeZone||ZY($):((O)=>kZ(N8(h(O))))($)}function E1($,O){if(W0($)){let Z=D0($)||{};switch(Z.branding){case oZ:return R(O),Z;case e1:return R(O),l0(Z);case C1:return R(O),Ij(e,Z)}return Tz($,O)}return R(O),S8($)}function ff($){return $===void 0?void 0:E1($)}function g$($,O){if(O=a(O),W0($)){let T=D0($);return T&&T.branding===H$?(R(O),T):Gj(WT(PO($)),$,O)}let Z=V8(w$,$);return R(O),Z}function P1($,O){if(O=a(O),W0($)){let T=D0($)||{};switch(T.branding){case e1:return R(O),T;case t1:return R(O),o({...T,...p0});case C1:return R(O),Lj(e,T)}return Zz(zT(PO($)),$,O)}let Z=Q8($);return R(O),Z}function S0($,O){if(O=a(O),W0($)){let T=D0($)||{};switch(T.branding){case t1:return R(O),T;case e1:return R(O),r(T);case C1:return R(O),Sj(e,T)}return Uj(zT(PO($)),$,O)}let Z=gZ($);return R(O),Z}function k2($,O,Z){return i0(O.call($,d(r(Z,$))))}function $1($){return(O)=>typeof O=="string"?w$(O):((Z,T)=>{let j=Object.keys(T).sort(),f={};for(let W of j)f[W]=w(T[W],Z,Z[W]);return f})(O,$)}function l($){if(W0($)){let O=D0($);return O&&O.branding===tZ?O:jz($)}return I8($)}function AO($){if($!==void 0){if(W0($)){let O=D0($)||{};switch(O.branding){case C1:case t1:return O;case e1:return r(O)}let Z=PO($);return{...$z(c,y,zT(Z),$),calendar:Z}}return B8($)}}function PO($){return m2($)||v}function m2($){let{calendar:O}=$;if(O!==void 0)return C0(O)}function C0($){return W0($)?(D0($)||{}).calendar||KY($):((O)=>KO(M8(h(O))))($)}function R$($,O){if(O=a(O),W0($)){let Z=D0($);if(Z&&Z.branding===C1)return GO(O),Z;let T=PO($);return Oz(c,y,zT(T),T,$,O)}return K8($,O)}function H2($){return c0((O)=>(Z)=>O(Zf(Z)),$)}function Zf($){return Q0($,e)}function RJ(){let $=A1.prototype,O=Object.getOwnPropertyDescriptors($),Z=Object.getOwnPropertyDescriptors(A1),T=function(j,f={}){if(!(this instanceof T))return new T(j,f);Uf.set(this,((W,z={})=>{let J=new A1(W,z),Y=J.resolvedOptions(),X=Y.locale,C=H0(Object.keys(z),Y),F=E0(qJ),U=(...D)=>{let G,B=D.map((Q,S)=>{let V=D0(Q),x=(V||{}).branding;if(S&&G&&G!==x)throw TypeError(O2);return G=x,V});return G?F(G)(X,C,...B):[J,...D]};return U.u=J,U})(j,f))};for(let j in O){let f=O[j],W=j.startsWith("format")&&kJ(j);typeof f.value=="function"?f.value=j==="constructor"?T:W||mJ(j):W&&(f.get=function(){return W.bind(this)})}return Z.prototype.value=Object.create($,O),Object.defineProperties(T,Z),T}function kJ($){return function(...O){let Z=Uf.get(this),[T,...j]=Z(...O);return T[$](...j)}}function mJ($){return function(...O){return Uf.get(this).u[$](...O)}}function qJ($){let O=yJ[$];if(!O)throw TypeError($2($));return Y1(O,E0(Mj))}var yJ={Instant:oj,PlainDateTime:rj,PlainDate:tj,PlainTime:ej,PlainYearMonth:$f,PlainMonthDay:Of},pJ=Y1(oj),cJ=Y1(A2),iJ=Y1(rj),hJ=Y1(tj),lJ=Y1(ej),dJ=Y1($f),uJ=Y1(Of),Wf={era:Q6,eraYear:z3,year:UO,month:i0,daysInMonth:i0,daysInYear:i0,inLeapYear:C2,monthsInYear:i0},jT={monthCode:h},zf={day:i0},q2={dayOfWeek:i0,dayOfYear:i0,weekOfYear:V6,yearOfWeek:z3,daysInWeek:i0},y2=Object.assign({},Wf,jT,zf,q2),TT=new WeakMap,D0=TT.get.bind(TT),b2=TT.set.bind(TT),sJ={...OT(Wf,[H$]),...OT(q2,[]),...OT(jT,[H$,b$]),...OT(zf,[b$])},Jf=jf(y2),nJ=jf({...Wf,...jT}),aJ=jf({...jT,...zf}),HO={calendarId:($)=>J0($.calendar)},oJ=c0(($,O)=>function(Z){let{i:T}=this;return $(T[O](d(r(Z,T))))},y2),rJ=CO(($)=>(O)=>O[$],k.concat("sign")),Yf=CO(($,O)=>(Z)=>Z[u0[O]],F1),p2={epochSeconds:c6,epochMilliseconds:MZ,epochMicroseconds:i6,epochNanoseconds:h6},bO=w(j3,new Set(["branding"])),[tJ,k$,eJ]=e0(b$,w(Qz,C0),{...HO,...aJ},{getISOFields:bO,getCalendar:EO,with($,O,Z){return k$(Yz(UY,$,this,m$(O),Z))},equals:($,O)=>q8($,E2(O)),toPlainDate($,O){return d(wz(wO,$,this,O))},toLocaleString($,O,Z){let[T,j]=uJ(O,Z,$);return T.format(j)},toString:w3,toJSON:($)=>w3($),valueOf:w1},{from:($,O)=>k$(E2($,O))}),c2={getOffsetNanosecondsFor:R2,getPossibleInstantsFor($,O,Z){let T=[...O.call($,F0(o(Z,v)))].map((f)=>OY(f).epochNanoseconds),j=T.length;return j>1&&(T.sort(B0),q3(g0(v0(T[0],T[j-1])))),T}},Tf={getOffsetNanosecondsFor:R2},[$Y,L0,OY]=e0(rZ,Dz,p2,{add:($,O)=>L0(y3(0,$,l(O))),subtract:($,O)=>L0(y3(1,$,l(O))),until:($,O,Z)=>p(Wj(0,$,r0(O),Z)),since:($,O,Z)=>p(Wj(1,$,r0(O),Z)),round:($,O)=>L0(u6($,O)),equals:($,O)=>v8($,r0(O)),toZonedDateTime($,O){let Z=z1(O);return t(Vj($,c(Z.timeZone),C0(Z.calendar)))},toZonedDateTimeISO:($,O)=>t(Vj($,c(O))),toLocaleString($,O,Z){let[T,j]=pJ(O,Z,$);return T.format(j)},toString:($,O)=>A3(c,e,$,O),toJSON:($)=>A3(c,e,$),valueOf:w1},{from:($)=>L0(r0($)),fromEpochSeconds:($)=>L0(Rz($)),fromEpochMilliseconds:($)=>L0(kz($)),fromEpochMicroseconds:($)=>L0(mz($)),fromEpochNanoseconds:($)=>L0(qz($)),compare:($,O)=>Tj(r0($),r0(O))}),[fT,_9]=e0("TimeZone",($)=>{let O=b8($);return{branding:"TimeZone",id:O,o:eZ(O)}},{id:($)=>$.id},{getPossibleInstantsFor:({o:$},O)=>$.getPossibleInstantsFor(P1(O)).map((Z)=>L0(z0(Z))),getOffsetNanosecondsFor:({o:$},O)=>$.getOffsetNanosecondsFor(r0(O).epochNanoseconds),getOffsetStringFor($,O){let Z=r0(O).epochNanoseconds,T=ZT(this,Tf).getOffsetNanosecondsFor(Z);return d1(T)},getPlainDateTimeFor($,O,Z=v){let T=r0(O).epochNanoseconds,j=ZT(this,Tf).getOffsetNanosecondsFor(T);return F0(o(M1(T,j),C0(Z)))},getInstantFor($,O,Z){let T=P1(O),j=K3(Z),f=ZT(this);return L0(z0(P0(f,T,j)))},getNextTransition:({o:$},O)=>P2(1,$,O),getPreviousTransition:({o:$},O)=>P2(-1,$,O),equals($,O){return!!qZ(this,c(O))},toString:($)=>$.id,toJSON:($)=>$.id},{from($){let O=c($);return typeof O=="string"?new fT(O):O}}),ZY=g2(Object.keys(c2)),[TY,H1]=e0(oZ,Vz,Yf,{getISOFields:bO,with($,O,Z){return H1(Xz(this,m$(O),Z))},add:($,O)=>H1(l3(0,$,l(O))),subtract:($,O)=>H1(l3(1,$,l(O))),until:($,O,Z)=>p(Fj(0,$,E1(O),Z)),since:($,O,Z)=>p(Fj(1,$,E1(O),Z)),round:($,O)=>H1(a6($,O)),equals:($,O)=>y8($,E1(O)),toZonedDateTime:($,O)=>t(vz(c,S0,y,$,O)),toPlainDateTime:($,O)=>F0(gz($,S0(O))),toLocaleString($,O,Z){let[T,j]=lJ(O,Z,$);return T.format(j)},toString:v3,toJSON:($)=>v3($),valueOf:w1},{from:($,O)=>H1(E1($,O)),compare:($,O)=>mZ(E1($),E1(O))}),[jY,b1,fY]=e0(H$,w(Kz,C0),{...HO,...nJ},{getISOFields:bO,getCalendar:EO,with($,O,Z){return b1(Jz(DY,$,this,m$(O),Z))},add:($,O,Z)=>b1(h3(w2,0,$,l(O),Z)),subtract:($,O,Z)=>b1(h3(w2,1,$,l(O),Z)),until:($,O,Z)=>p(Xj(v2,0,$,g$(O),Z)),since:($,O,Z)=>p(Xj(v2,1,$,g$(O),Z)),equals:($,O)=>m8($,g$(O)),toPlainDate($,O){return d(bz(wO,$,this,O))},toLocaleString($,O,Z){let[T,j]=dJ(O,Z,$);return T.format(j)},toString:b3,toJSON:($)=>b3($),valueOf:w1},{from:($,O)=>b1(g$($,O)),compare:($,O)=>n1(g$($),g$(O))}),[WY,F0]=e0(e1,w(Gz,C0),{...HO,...Jf,...Yf},{getISOFields:bO,getCalendar:EO,with($,O,Z){return F0(Wz(wO,$,this,m$(O),Z))},withCalendar:($,O)=>F0(iZ($,C0(O))),withPlainDate:($,O)=>F0(iz($,S0(O))),withPlainTime:($,O)=>F0(cz($,ff(O))),add:($,O,Z)=>F0(c3(O$,0,$,l(O),Z)),subtract:($,O,Z)=>F0(c3(O$,1,$,l(O),Z)),until:($,O,Z)=>p(Jj(t0,0,$,P1(O),Z)),since:($,O,Z)=>p(Jj(t0,1,$,P1(O),Z)),round:($,O)=>F0(n6($,O)),equals:($,O)=>R8($,P1(O)),toZonedDateTime:($,O,Z)=>t(Nz(y,$,c(O),Z)),toPlainDate:($)=>d(r($)),toPlainTime:($)=>H1(l0($)),toPlainYearMonth($){return b1(xz(WT,$,this))},toPlainMonthDay($){return k$(_z(JT,$,this))},toLocaleString($,O,Z){let[T,j]=iJ(O,Z,$);return T.format(j)},toString:P3,toJSON:($)=>P3($),valueOf:w1},{from:($,O)=>F0(P1($,O)),compare:($,O)=>fj(P1($),P1(O))}),[zY,d,i2]=e0(t1,w(Bz,C0),{...HO,...Jf},{getISOFields:bO,getCalendar:EO,with($,O,Z){return d(zz(wO,$,this,m$(O),Z))},withCalendar:($,O)=>d(iZ($,C0(O))),add:($,O,Z)=>d(i3(O$,0,$,l(O),Z)),subtract:($,O,Z)=>d(i3(O$,1,$,l(O),Z)),until:($,O,Z)=>p(Yj(t0,0,$,S0(O),Z)),since:($,O,Z)=>p(Yj(t0,1,$,S0(O),Z)),equals:($,O)=>k8($,S0(O)),toZonedDateTime($,O){let Z=!W0(O)||O instanceof fT?{timeZone:O}:O;return t(Az(c,E1,y,$,Z))},toPlainDateTime:($,O)=>F0(Ez($,ff(O))),toPlainYearMonth($){return b1(Pz(WT,$,this))},toPlainMonthDay($){return k$(Hz(JT,$,this))},toLocaleString($,O,Z){let[T,j]=hJ(O,Z,$);return T.format(j)},toString:H3,toJSON:($)=>H3($),valueOf:w1},{from:($,O)=>d(S0($,O)),compare:($,O)=>n1(S0($),S0(O))}),Xf={fields($,O,Z){return[...O.call($,Z)]}},h2=Object.assign({dateFromFields($,O,Z,T){return i2(O.call($,Object.assign(Object.create(null),Z),T))}},Xf),l2=Object.assign({yearMonthFromFields($,O,Z,T){return fY(O.call($,Object.assign(Object.create(null),Z),T))}},Xf),d2=Object.assign({monthDayFromFields($,O,Z,T){return eJ(O.call($,Object.assign(Object.create(null),Z),T))}},Xf),Ff={mergeFields($,O,Z,T){return z1(O.call($,Object.assign(Object.create(null),Z),Object.assign(Object.create(null),T)))}},JY=Object.assign({},h2,Ff),YY=Object.assign({},l2,Ff),XY=Object.assign({},d2,Ff),Cf={dateAdd($,O,Z,T,j){return i2(O.call($,d(r(Z,$)),p(i(T)),j))}},u2=Object.assign({},Cf,{dateUntil($,O,Z,T,j,f){return BY(O.call($,d(r(Z,$)),d(r(T,$)),Object.assign(Object.create(null),f,{largestUnit:IO[j]})))}}),FY=Object.assign({},Cf,{day:k2}),CY=Object.assign({},u2,{day:k2}),WT=$1(l2),zT=$1(h2),JT=$1(d2),DY=$1(YY),wO=$1(JY),UY=$1(XY),O$=$1(Cf),t0=$1(u2),w2=$1(FY),v2=$1(CY),[GY,p,BY]=e0(tZ,Lz,{...rJ,blank:C8},{with:($,O)=>p(Fz($,O)),negated:($)=>p(wZ($)),abs:($)=>p(F8($)),add:($,O,Z)=>p(a3(AO,t0,y,0,$,l(O),Z)),subtract:($,O,Z)=>p(a3(AO,t0,y,1,$,l(O),Z)),round:($,O)=>p(X8(AO,t0,y,$,O)),total:($,O)=>d6(AO,t0,y,$,O),toLocaleString($,O,Z){return Intl.DurationFormat?new Intl.DurationFormat(O,Z).format(this):AZ($)},toString:AZ,toJSON:($)=>AZ($),valueOf:w1},{from:($)=>p(l($)),compare:($,O,Z)=>w8(AO,O$,y,l($),l(O),Z)}),s2={toString:($)=>$.id,toJSON:($)=>$.id,...sJ,dateAdd:({id:$,o:O},Z,T,j)=>d(r(O.dateAdd(S0(Z),l(T),j),$)),dateUntil:({o:$},O,Z,T)=>p(i($.dateUntil(S0(O),S0(Z),k6(T)))),dateFromFields:({id:$,o:O},Z,T)=>d(Uj(O,Z,T,K6($))),yearMonthFromFields:({id:$,o:O},Z,T)=>b1(Gj(O,Z,T,G6($))),monthDayFromFields:({id:$,o:O},Z,T)=>k$(Bj(O,0,Z,T,B6($))),fields({o:$},O){let Z=new Set(d0),T=[];for(let j of O){if(h(j),!Z.has(j))throw RangeError(xj(j));Z.delete(j),T.push(j)}return $.fields(T)},mergeFields:({o:$},O,Z)=>$.mergeFields(f3(J3(O)),f3(J3(Z)))},[Df]=e0("Calendar",($)=>{let O=s8($);return{branding:"Calendar",id:O,o:w$(O)}},{id:($)=>$.id},s2,{from($){let O=C0($);return typeof O=="string"?new Df(O):O}}),KY=g2(Object.keys(s2).slice(4)),[QY,t]=e0(C1,w(Uz,C0,c),{...p2,...HO,...H2(Jf),...H2(Yf),offset:($)=>d1(Zf($).offsetNanoseconds),offsetNanoseconds:($)=>Zf($).offsetNanoseconds,timeZoneId:($)=>J0($.timeZone),hoursInDay:($)=>o6(y,$)},{getISOFields:($)=>J8(e,$),getCalendar:EO,getTimeZone:({timeZone:$})=>typeof $=="string"?new fT($):$,with($,O,Z){return t(fz(wO,y,$,this,m$(O),Z))},withCalendar:($,O)=>t(iZ($,C0(O))),withTimeZone:($,O)=>t(hz($,c(O))),withPlainDate:($,O)=>t(pz(y,$,S0(O))),withPlainTime:($,O)=>t(yz(y,$,ff(O))),add:($,O,Z)=>t(p3(O$,y,0,$,l(O),Z)),subtract:($,O,Z)=>t(p3(O$,y,1,$,l(O),Z)),until:($,O,Z)=>p(i(zj(t0,y,0,$,R$(O),Z))),since:($,O,Z)=>p(i(zj(t0,y,1,$,R$(O),Z))),round:($,O)=>t(s6(y,$,O)),startOfDay:($)=>t(r6(y,$)),equals:($,O)=>g8($,R$(O)),toInstant:($)=>L0(Sz($)),toPlainDateTime:($)=>F0(Lj(e,$)),toPlainDate:($)=>d(Sj(e,$)),toPlainTime:($)=>H1(Ij(e,$)),toPlainYearMonth($){return b1(Iz(WT,$,this))},toPlainMonthDay($){return k$(Mz(JT,$,this))},toLocaleString($,O,Z={}){let[T,j]=cJ(O,Z,$);return T.format(j)},toString:($,O)=>E3(e,$,O),toJSON:($)=>E3(e,$),valueOf:w1},{from:($,O)=>t(R$($,O)),compare:($,O)=>jj(R$($),R$(O))}),VY=Object.defineProperties({},{...FZ("Temporal.Now"),...i1({timeZoneId:()=>X1(),instant:()=>L0(z0(VO())),zonedDateTime:($,O=X1())=>t(X0(VO(),c(O),C0($))),zonedDateTimeISO:($=X1())=>t(X0(VO(),c($),v)),plainDateTime:($,O=X1())=>F0(o(E$(e(c(O))),C0($))),plainDateTimeISO:($=X1())=>F0(o(E$(e(c($))),v)),plainDate:($,O=X1())=>d(r(E$(e(c(O))),C0($))),plainDateISO:($=X1())=>d(r(E$(e(c($))),v)),plainTimeISO:($=X1())=>H1(l0(E$(e(c($)))))})}),q$=Object.defineProperties({},{...FZ("Temporal"),...i1({PlainYearMonth:jY,PlainMonthDay:tJ,PlainDate:zY,PlainTime:TY,PlainDateTime:WY,ZonedDateTime:QY,Instant:$Y,Calendar:Df,TimeZone:fT,Duration:GY,Now:VY})}),LY=RJ(),Uf=new WeakMap,SY=Object.defineProperties(Object.create(Intl),i1({DateTimeFormat:LY}));var Gf=new WeakMap;function MY($){let O=Gf.get($);if(!O)O=$(IY(32).toString("hex")),Gf.set($,O),O.catch(()=>Gf.delete($));return O}async function Bf($,O,Z){if(typeof Z==="string"&&Z!=="")return await $.verifyPassword(O,Z);try{await $.verifyPassword(O,await MY($.hashPassword))}catch{}return!1}var Kf="intended_url";class Qf extends _{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class n2 extends _{schema={email:{required:"Email is required",email:"Invalid email"}}}class a2 extends _{schema={password:{required:"Password is required",password:"Invalid password"}}}class $0 extends kT{async me(){let $=await Z$.user();if(!$)throw new mT;return $}async verifyEmail($=new _){let O=await $.input(),{userProvider:Z}=K(b),T=await Z.findUserByVerificationToken(O.get("token"));if(!T)return{email:null};return await Z.verifyUser(T.email),{email:T.email}}async signInWithMagicLink($=new _){let O=K(b),{userProvider:Z}=O,T=$.search.get("token"),j=decodeURIComponent($.search.get("email")).toLowerCase().trim(),f=null;try{f=await Z.findUserMagicLinkToken({email:j,token:T})}catch(z){return console.log(z),{error:JSON.stringify(z)}}if(!f)return{error:"Invalid token"};await Z.verifyUser(j),await Z.deleteMagicLinkToken(j);let W=await O.createOrUpdateSession({email:j});return $.ctx().setCookie("access_token",W.token,K(b).accessTokenCookieOptions($,W.expiresAt)),await O.config.onSignIn(W,$.search.toJSON()),{session:W}}async signInWithPinV2($=new _){let O=K(b),{userProvider:Z}=O,T=await $.input(),{email:j,pin:f}=T.toJSON(),W=j.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:W,pin:f}))throw new k0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(W),await Z.verifyUser(W);let J=await O.createOrUpdateSessionV2({email:W});return $.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),J}async signInWithPin($=new _){let O=K(b),{userProvider:Z}=O,T=await $.input(),{email:j,pin:f}=T.toJSON(),W=j.toLowerCase().trim();if(!await Z.findUserMagicLinkToken({email:W,pin:f}))throw new k0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(W),await Z.verifyUser(W);let J=await O.createOrUpdateSession({email:W});return $.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await O.config.onSignIn(J,$.search.toJSON()),{session:J}}async signInV2($=new Qf){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(b),W=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),z=await Bf(f.config,T,W?.password);if(!W||!z)throw new k0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSessionV2({email:W.email,id:W.id});$.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(W,$.search.toJSON());let{password:Y,...X}=W;return X}async signIn($=new Qf){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(b),W=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),z=await Bf(f.config,T,W?.password);if(!W||!z)throw new k0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSession({email:W.email,id:W.id});$.ctx().setCookie("access_token",J.token,K(b).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(W,$.search.toJSON());let{password:Y,...X}=W;return X}async signUp(){let $=K(b),{userProvider:O,config:Z}=$,T=new Z.signUpRequest,j=await T.input(),{email:f,password:W,name:z,invitationId:J}=j.toJSON(),Y=f.toLowerCase().trim();if(await O.findUserByEmailAddress(Y,!1))throw new k0({email:["Email address already exists"]});let C=await Z.hashPassword(W),F=K(n).detectLocale(T),U;if(J)U=await O.findInvitation(J,Y);let D,G="";if(U)D=await O.transaction(async()=>{await O.deleteInvitationById(J);let B=await O.createUser({email:Y,name:z,password:C,emailVerifiedAt:new Date,locale:F});return await O.createAccount({organizationId:U.organizationId,userId:B.id,organizationRole:U.role}),await Z.onUserCreated(B),B});else G=await Z.generateEmailVerificationToken(Y),D=await O.transaction(async()=>{let B=await O.createUser({email:Y,name:z,password:C,verificationToken:G,locale:F});return await Z.onUserCreated(B),B});return await Z.onSignUp(D,G,T.search.toJSON()),D}async signOut($=new _){let O=$.cookies.get("access_token")??$.headers.get("access_token"),Z=K(b),{config:T}=Z,j=await Z.revokeSession(O,$.headers.get("User-Agent"));if($.ctx().setCookie("access_token","",K(b).accessTokenCookieOptions($,new Date(0))),K(b).cookieDomain($))$.ctx().setCookie("access_token","",{...K(b).accessTokenCookieOptions($,new Date(0)),domain:void 0});if(j?.user)j.user.extension=await T.extendSession(j.user),await T.onSignOut(j.user);return{}}async forgotPassword($=new n2){let Z=(await $.input()).get("email").toLowerCase().trim(),{userProvider:T,config:j}=K(b),f=await T.findUserByEmailAddress(Z,j.verifyEmail);if(!f)return{};let W=await j.generateForgotPasswordToken(f);return await T.createPasswordResetToken({user:f,token:W}),await j.onForgotPassword(f,W),{}}async resetPassword($=new a2){let{userProvider:O,config:Z}=K(b),T=await $.input(),{password:j,token:f}=T.toJSON(),W=await O.findPasswordResetToken({token:f});if(!W)throw new k0({token:["Invalid token"]});if(q$.Instant.from(W.createdAt.toISOString()).add({hours:24}).until(q$.Now.instant()).sign>=0)throw new k0({token:["Token expired"]});await O.deletePasswordResetToken({token:f});let J=await O.findUserByEmailAddress(W.user.email,Z.verifyEmail);if(!J)throw new k0({email:["User not found"]});let Y=await Z.hashPassword(j);return await O.updateUserPassword({id:J.id,password:Y}),await O.deleteAllUserSessions(J.id),await Z.onResetPassword(J),{}}async changePassword($=new _){let{userProvider:O,config:Z}=K(b),T=await Z$.user(),j=await $.input(),{oldPassword:f,newPassword:W}=j.toJSON(),z=await O.findUserByEmailAddress(T.email,Z.verifyEmail);if(!await Bf(Z,f,z?.password))throw new k0({oldPassword:["Incorrect password"]});let Y=await Z.hashPassword(W);return await O.updateUserPassword({id:T.id,password:Y}),await O.deleteAllUserSessions(T.id),{}}async oauthRedirect($=new _){let{provider:O}=$.params,Z=K(b).config.oauthProviders[O];if(!Z)throw Error(`Invalid provider: ${O}`);let T=$O($.search.get(C$),"");if(T)$.ctx().setCookie(Kf,encodeURIComponent(T),{httpOnly:!0,sameSite:"Lax",secure:PW($.rawRequest),maxAge:600});return{destination:await Z.getRedirectUrl($)}}async oauthCallback($=new _){let{provider:O}=$.params,Z=K(b),{userProvider:T,config:j}=Z,f=j.oauthProviders[O],{email:W,name:z,username:J,providerId:Y}=await f.onCallback($),X=Y?await T.findUserBySocialAccount(O,Y):null,C="signin";if(!X){if(!W)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let G=K(n).detectLocale($);try{let B=await this.linkOAuthAccount({provider:O,providerId:Y,email:W,name:z,username:J,locale:G});if(B)X=B.user,C=B.action}catch(B){let Q=Y?await T.findUserBySocialAccount(O,Y):null;if(!Q)throw B;X=Q}if(!X)return{session:null}}let F=await Z.createOrUpdateSessionV2({email:X.email,id:X.id});if($.ctx().setCookie("access_token",F.token,K(b).accessTokenCookieOptions($,F.expiresAt)),C==="signup")await j.onSignUp(X,"",$.search.toJSON());else await j.onSignIn(X,$.search.toJSON());let U=$.cookies.get(Kf),D=j.redirectPath;if(U){try{D=$O(decodeURIComponent(U),D)}catch{}$.ctx().setCookie(Kf,"",{maxAge:-1})}return{session:F,redirectTo:D}}async linkOAuthAccount($){let{provider:O,providerId:Z,email:T,name:j,username:f,locale:W}=$,{userProvider:z,config:J}=K(b),Y=(F)=>({provider:O,userId:F,email:T,username:f,providerId:Z,expiresAt:new Date,accessToken:"",refreshToken:""}),X=await z.findUserByEmailAddress(T,!1);if(X){if(!Z)return{user:X,action:"signin"};let F=await z.findSocialAccounts(X.id,O);if(F.some((D)=>D.providerId===Z))return{user:X,action:"signin"};if(F.some((D)=>D.providerId))return console.error(`Authentication error: user ${X.id} is already linked to a different ${O} account`),null;let U=F[0];if(U){if(!await z.claimSocialAccount(U,Z))throw Error(`${O} account link changed concurrently`)}else await z.createSocialAccount(Y(X.id));return{user:X,action:"signin"}}return{user:await z.transaction(async()=>{let F=await z.createUser({email:T,name:j,locale:W,emailVerifiedAt:new Date});if(Z)await z.createSocialAccount(Y(F.id));return await J.onUserCreated(F),F}),action:"signup"}}async createMagicLinkToken($=new _){let Z=(await $.input()).get("email").toLowerCase().trim(),T=K(b),{user:j,pin:f,token:W}=await T.createMagicLinkToken(Z);if(j)return await T.config.onMagicLinkCreated(j,{email:Z,pin:f,token:W}),{email:Z};return{email:null}}}class o2 extends B1{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[$0,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[$0,"oauthCallback"])}}class Vf extends B1{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[$0,"signInWithMagicLink"]),"/oauth":o2}}class Lf extends N0{middlewares=["cache:private"];routes={"/sign-in":this.post($0,"signIn"),"/sign-in-v2":this.post($0,"signInV2"),"/sign-up":this.post($0,"signUp"),"/sign-out":this.post($0,"signOut"),"/forgot-password":this.post($0,"forgotPassword"),"/reset-password":this.post($0,"resetPassword"),"/change-password":this.post($0,"changePassword"),"/verify-email":this.post($0,"verifyEmail"),"/me":this.get($0,"me").middleware(["auth"]),"/magic-link":this.post($0,"createMagicLinkToken"),"/sign-in-with-pin":this.post($0,"signInWithPin"),"/sign-in-with-pin-v2":this.post($0,"signInWithPinV2")}}class Sf extends N0{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let O=new _().params.locale;return await K(n).onLocaleChange(O),{locale:O}}),"/translations/:locale/:scope*":this.get(async()=>{let $=new _,O=`/${$.params.scope??""}`,Z=$.params.locale,T=K(n),j=Z??T.detectLocale($),f=T.getPageTranslations(j,O);return $.ctx().setCookie("i18n-locale",j,{expires:new Date(Date.now()+31536000000)}),{[j]:f}})}}class If{}class Mf extends If{async resize($,O){let{height:Z,width:T,quality:j,fit:f}=O;return await(await YT("The Sharp image optimization driver"))($).resize(T>0?T:void 0,Z>0?Z:void 0,{fit:f}).webp({quality:j>0?j:80,force:!0}).toBuffer()}}function ZC($){return $}function r2(){return{driver:new Mf}}class Nf extends N0{routes={"/resize":this.file(async()=>{let $=new _,O=new URL($.rawRequest.url),Z=O.searchParams.get("url"),T=Number(O.searchParams.get("w")),j=Number(O.searchParams.get("h")),f=O.searchParams.get("fit")??"cover",W=Number(O.searchParams.get("q"));if(!Z)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let J=`${Z.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${Z}`,Y=await fetch(J);if(!Y.ok)return new Response(JSON.stringify({error:"Image not found",info:J}),{headers:{"Content-Type":"application/json"},status:404});let X=Buffer.from(await Y.arrayBuffer()),C=await K(t2).resize(X,{height:j,width:T,fit:f,quality:W});Y.headers.delete("Content-Type"),Y.headers.delete("Content-Length");let F=new Headers(Y.headers);return F.set("Content-Type","image/webp"),F.set("Content-Length",`${C.byteLength}`),new Response(new Uint8Array(C),{headers:F})})}}class t2{static token="image";driver;constructor($={}){this.driver=$.driver??r2().driver}resize($,O){return this.driver.resize($,O)}}import{mkdir as xf,readdir as NY,access as xY}from"fs/promises";async function _f($){try{return await xY($),!0}catch{return!1}}class vO{config;static token="log";writer;isReady=!1;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;bootPromise=null;currentLogFilePath;get logsDirPath(){return`${Af()}/storage/logs`}constructor($){this.config=$}boot(){if(!this.bootPromise)this.bootPromise=this.createStorage().catch(($)=>{console.error("Log storage unavailable, file logging disabled",$)}).then(()=>{this.isReady=!0});return this.bootPromise}async createStorage(){let $=`${Af()}/storage`;if(!await _f($))await xf($);if(!await _f(this.logsDirPath))await xf(this.logsDirPath);await this.newLogFile()}async newLogFile(){if(!await _f(this.logsDirPath))await xf(this.logsDirPath);if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let Z=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.config.onLogFileClosed(Z),this.fileSize=0,this.writerSize=0}let O=(await NY(this.logsDirPath)).sort().reverse()[0];if(O){let Z=Bun.file(`${this.logsDirPath}/${O}`);if(Z.size<this.config.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${O}`,this.writer=Z.writer(),this.writer.write(await Z.text()),this.writer.write(`
|
|
3
|
+
`),this.writer.flush(),this.fileSize=Z.size}if(!this.writer){let Z=`${new Date(Date.now()).toISOString()}.log`.replaceAll(":","-");this.currentLogFilePath=`${this.logsDirPath}/${Z}`;let T=Bun.file(`${this.logsDirPath}/${Z}`);this.writer=T.writer(),this.fileSize=0,this.writerSize=0}this.isCreatingFile=!1}async log($,O,Z={}){if(!this.isReady)await this.boot();let T=N.getStore(),j={};if(T)j={url:T.req.rawRequest.url,method:T.req.rawRequest.method,headers:T.req.rawRequest.headers,body:T.req.rawRequest.body};let f={timestamp:new Date(Date.now()).toISOString(),env:Bun.env.NODE_ENV,level:$,message:O,metadata:{...j,...Z}},W="";try{W=JSON.stringify(f)}catch(z){console.log("Error parsing log object",z)}try{let z=this.config.onLogCreated(f);if(z instanceof Promise)z.catch((J)=>console.error("Error in onLogCreated",J))}catch(z){console.error("Error in onLogCreated",z)}if(!this.writer)return;this.writerSize+=W.length,this.fileSize+=W.length;try{this.writer.write(W),this.writer.write(`
|
|
4
|
+
`),this.tryFlush()}catch(z){console.error("Error writing log",z)}}async tryFlush(){if(this.fileSize>this.config.maxFileSize){if(!this.isCreatingFile)await this.newLogFile()}if(this.writerSize>this.config.maxFileSize/2)await this.writer.flush(),this.writerSize=0,await this.newLogFile();else clearTimeout(this.flushTimeout),this.flushTimeout=setTimeout(async()=>{await this.writer.flush(),this.writerSize=0},100)}}class Ef extends N0{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(K(vO).currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function _Y($){let O=new Map;for(let Z of $)if(typeof Z==="string"){let[T,j=""]=Z.split(":");if(T.startsWith("-")){if(O.has(T.replace("-","")))O.delete(T.replace("-",""))}else O.set(T,j.split(",").filter(Boolean))}else O.set(Z,[]);return O}class gO{config;static token="middleware";constructor($){this.config=$}get aliases(){return this.config.aliases}assertGlobalMiddleware(){for(let $ of this.config.global){if(typeof $!=="string")continue;let[O]=$.split(":");if(O.startsWith("-"))throw Error(`Global middleware "${$}" cancels an alias, but nothing is inherited into the global list. Remove it.`);if(!this.aliases[O])throw Error(`Global middleware "${O}" is not a registered alias. Add it to \`aliases\` in the middleware config, or list the class itself.`)}}runGlobalMiddleware(){return this.runMiddleware(this.config.global)}runMiddleware($){let O=new _;return Array.from(_Y($).entries()).map(([Z,T])=>{if(typeof Z==="string"){let j=this.aliases[Z];if(j){let f=new j(O);return()=>f.run.call(f,...T)}}else{if(lO(Z)){let j=new Z(O);return j.run.bind(j)}return Z}}).filter(Boolean).reduce((Z,T)=>{return async()=>{return{...await Z(),...await T()}}},()=>Promise.resolve({}))()}}function LC($){return $}function e2(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function $4(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function AY($){return"run"in $}function EY($){return Object.hasOwn($,"get")||Object.hasOwn($,"post")||Object.hasOwn($,"put")||Object.hasOwn($,"delete")}function PY($){return Object.hasOwn($,"first")&&Object.hasOwn($,"second")}function HY($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function bY($){if("__internal_brand"in $)return $.__internal_brand==="ProxyHandler";return!1}function wY($){if("__internal_brand"in $)return $.__internal_brand==="StreamHandler";return!1}function Pf($,O="",Z=[]){let T={};function j(f,W,z,J,Y){let X=f==="/"?"":f,C=O==="/"?"":O,F=(`${C}${X}`===""?"/":`${C}${X}`).replaceAll("//","/");if(!T[F])T[F]={};T[F][W.toUpperCase()]={exec:z,middleware:[...Z,...J],...Y?{source:Y}:{}},T[F].OPTIONS={exec:()=>{let D=new _().ctx().headers;return new Response(null,{headers:D,status:204})},middleware:[]}}for(let[f,W]of Object.entries($)){if(bY(W)){let z=W;for(let J of["GET","POST","PUT","DELETE"])j(f,J,z.run.bind(z),[]);continue}if(AY(W)){let z=W,J=z.method,Y=z.middlewares,X=z.run.bind(z);if(j(f,J,X,Y,z.source),wY(W))j(f,"HEAD",X,Y,z.source)}if(EY(W))for(let[z,J]of Object.entries(W)){let Y=J.middlewares,X=J.run.bind(J);j(f,z,X,Y,J.source)}if(HY(W)){let z=new W,J=Pf(z.routes,`${O}${f}`,z.middlewares);for(let[Y,X]of Object.entries(J))T[Y.replaceAll("//","/")]=X}if(PY(W)){let{first:z,second:J}=W;for(let[Y,X]of Object.entries(z)){let C=X.middlewares,F=X.run.bind(X),[U,...D]=f.split("/").reverse();if(!U.startsWith(":"))throw Error("Resource route must end with a dynamic segment");j(D.reverse().join("/"),Y,F,C,X.source)}for(let[Y,X]of Object.entries(J)){let C=X.middlewares,F=X.run.bind(X);j(f,Y,F,C,X.source)}}}return Object.fromEntries(Object.entries(T).sort(([f],[W])=>{let z=f.split("/").length+f.split(":").length,J=W.split("/").length+W.split(":").length;return z-J}))}function XT($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function Hf($,O){if($==="/")return O;if(O==="/")return $;return`${$}${O}`}function bf($){let O=XT($);return O.length>1?O.replace(/\/$/,""):O}function O4($,O){return O.map((Z)=>({...Z,path:bf(Hf($,Z.path))}))}function FT($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let j=T;if("children"in j){let f=new j.children,W=FT(f.routes);for(let[z,{exec:J,middleware:Y,segments:X,features:C}]of Object.entries(W)){let F=Hf(Z,z),U=(D)=>j.run.call(j,D,Z);O[XT(F)]={exec:[U,...J],middleware:[...j.middlewares,...Y],features:[...j.featureGates,...C],viewPath:j.viewPath,segments:[{path:bf(Z),viewPath:j.viewPath,...j.alwaysRuns?{alwaysRun:!0}:{}},...O4(Z,X)]}}}else{let f=(W)=>j.run.call(j,W,Z);O[XT(Z)]={exec:[f],middleware:j.middlewares,features:j.featureGates,viewPath:j.viewPath,segments:[{path:bf(Z),viewPath:j.viewPath}]}}}else{let j=new T,f=FT(j.routes);for(let[W,{exec:z,middleware:J,viewPath:Y,segments:X,features:C}]of Object.entries(f)){let F=Hf(Z,W);O[XT(F)]={exec:z,middleware:[...j.middlewares,...J],features:[...j.featureGates,...C],viewPath:Y,segments:O4(Z,X)}}}return Object.fromEntries(Object.entries(O).sort(([Z],[T])=>{let j=Z.split("/").length+Z.split(":").length,f=T.split("/").length+T.split(":").length;return j-f}))}var vY=Object.defineProperty,M=($,O)=>vY($,"name",{value:O,configurable:!0}),c$=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor($,O,Z,T,j,f){this.type=$,this.name=O,this.prefix=Z,this.value=T,this.suffix=j,this.modifier=f}hasCustomName(){return this.name!==""&&typeof this.name!="number"}};M(c$,"Part");var gY=/[$_\p{ID_Start}]/u,RY=/[$_\u200C\u200D\p{ID_Continue}]/u,vf=".*";function Z4($,O){return(O?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test($)}M(Z4,"isASCII");function kf($,O=!1){let Z=[],T=0;for(;T<$.length;){let j=$[T],f=M(function(W){if(!O)throw TypeError(W);Z.push({type:"INVALID_CHAR",index:T,value:$[T++]})},"ErrorOrInvalid");if(j==="*"){Z.push({type:"ASTERISK",index:T,value:$[T++]});continue}if(j==="+"||j==="?"){Z.push({type:"OTHER_MODIFIER",index:T,value:$[T++]});continue}if(j==="\\"){Z.push({type:"ESCAPED_CHAR",index:T++,value:$[T++]});continue}if(j==="{"){Z.push({type:"OPEN",index:T,value:$[T++]});continue}if(j==="}"){Z.push({type:"CLOSE",index:T,value:$[T++]});continue}if(j===":"){let W="",z=T+1;for(;z<$.length;){let J=$.substr(z,1);if(z===T+1&&gY.test(J)||z!==T+1&&RY.test(J)){W+=$[z++];continue}break}if(!W){f(`Missing parameter name at ${T}`);continue}Z.push({type:"NAME",index:T,value:W}),T=z;continue}if(j==="("){let W=1,z="",J=T+1,Y=!1;if($[J]==="?"){f(`Pattern cannot start with "?" at ${J}`);continue}for(;J<$.length;){if(!Z4($[J],!1)){f(`Invalid character '${$[J]}' at ${J}.`),Y=!0;break}if($[J]==="\\"){z+=$[J++]+$[J++];continue}if($[J]===")"){if(W--,W===0){J++;break}}else if($[J]==="("&&(W++,$[J+1]!=="?")){f(`Capturing groups are not allowed at ${J}`),Y=!0;break}z+=$[J++]}if(Y)continue;if(W){f(`Unbalanced pattern at ${T}`);continue}if(!z){f(`Missing pattern at ${T}`);continue}Z.push({type:"REGEX",index:T,value:z}),T=J;continue}Z.push({type:"CHAR",index:T,value:$[T++]})}return Z.push({type:"END",index:T,value:""}),Z}M(kf,"lexer");function mf($,O={}){let Z=kf($);O.delimiter??="/#?",O.prefixes??="./";let T=`[^${b0(O.delimiter)}]+?`,j=[],f=0,W=0,z="",J=new Set,Y=M((V)=>{if(W<Z.length&&Z[W].type===V)return Z[W++].value},"tryConsume"),X=M(()=>Y("OTHER_MODIFIER")??Y("ASTERISK"),"tryConsumeModifier"),C=M((V)=>{let x=Y(V);if(x!==void 0)return x;let{type:A,index:L}=Z[W];throw TypeError(`Unexpected ${A} at ${L}, expected ${V}`)},"mustConsume"),F=M(()=>{let V="",x;for(;x=Y("CHAR")??Y("ESCAPED_CHAR");)V+=x;return V},"consumeText"),U=M((V)=>V,"DefaultEncodePart"),D=O.encodePart||U,G="",B=M((V)=>{G+=V},"appendToPendingFixedValue"),Q=M(()=>{G.length&&(j.push(new c$(3,"","",D(G),"",3)),G="")},"maybeAddPartFromPendingFixedValue"),S=M((V,x,A,L,I)=>{let E=3;switch(I){case"?":E=1;break;case"*":E=0;break;case"+":E=2;break}if(!x&&!A&&E===3){B(V);return}if(Q(),!x&&!A){if(!V)return;j.push(new c$(3,"","",D(V),"",E));return}let P;A?A==="*"?P=vf:P=A:P=T;let Z0=2;P===T?(Z0=1,P=""):P===vf&&(Z0=0,P="");let g;if(x?g=x:A&&(g=f++),J.has(g))throw TypeError(`Duplicate name '${g}'.`);J.add(g),j.push(new c$(Z0,g,D(V),P,D(L),E))},"addPart");for(;W<Z.length;){let V=Y("CHAR"),x=Y("NAME"),A=Y("REGEX");if(!x&&!A&&(A=Y("ASTERISK")),x||A){let I=V??"";O.prefixes.indexOf(I)===-1&&(B(I),I=""),Q();let E=X();S(I,x,A,"",E);continue}let L=V??Y("ESCAPED_CHAR");if(L){B(L);continue}if(Y("OPEN")){let I=F(),E=Y("NAME"),P=Y("REGEX");!E&&!P&&(P=Y("ASTERISK"));let Z0=F();C("CLOSE");let g=X();S(I,E,P,Z0,g);continue}Q(),C("END")}return j}M(mf,"parse");function b0($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}M(b0,"escapeString");function gf($){return $&&$.ignoreCase?"ui":"u"}M(gf,"flags");function T4($,O,Z){return qf(mf($,Z),O,Z)}M(T4,"stringToRegexp");function T$($){switch($){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}M(T$,"modifierToString");function qf($,O,Z={}){Z.delimiter??="/#?",Z.prefixes??="./",Z.sensitive??=!1,Z.strict??=!1,Z.end??=!0,Z.start??=!0,Z.endsWith="";let T=Z.start?"^":"";for(let z of $){if(z.type===3){z.modifier===3?T+=b0(z.value):T+=`(?:${b0(z.value)})${T$(z.modifier)}`;continue}O&&O.push(z.name);let J=`[^${b0(Z.delimiter)}]+?`,Y=z.value;if(z.type===1?Y=J:z.type===0&&(Y=vf),!z.prefix.length&&!z.suffix.length){z.modifier===3||z.modifier===1?T+=`(${Y})${T$(z.modifier)}`:T+=`((?:${Y})${T$(z.modifier)})`;continue}if(z.modifier===3||z.modifier===1){T+=`(?:${b0(z.prefix)}(${Y})${b0(z.suffix)})`,T+=T$(z.modifier);continue}T+=`(?:${b0(z.prefix)}`,T+=`((?:${Y})(?:`,T+=b0(z.suffix),T+=b0(z.prefix),T+=`(?:${Y}))*)${b0(z.suffix)})`,z.modifier===0&&(T+="?")}let j=`[${b0(Z.endsWith)}]|$`,f=`[${b0(Z.delimiter)}]`;if(Z.end)return Z.strict||(T+=`${f}?`),Z.endsWith.length?T+=`(?=${j})`:T+="$",new RegExp(T,gf(Z));Z.strict||(T+=`(?:${f}(?=${j}))?`);let W=!1;if($.length){let z=$[$.length-1];z.type===3&&z.modifier===3&&(W=Z.delimiter.indexOf(z)>-1)}return W||(T+=`(?=${f}|${j})`),new RegExp(T,gf(Z))}M(qf,"partsToRegexp");var g1={delimiter:"",prefixes:"",sensitive:!0,strict:!0},kY={delimiter:".",prefixes:"",sensitive:!0,strict:!0},mY={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function j4($,O){return $.length?$[0]==="/"?!0:!O||$.length<2?!1:($[0]=="\\"||$[0]=="{")&&$[1]=="/":!1}M(j4,"isAbsolutePathname");function yf($,O){return $.startsWith(O)?$.substring(O.length,$.length):$}M(yf,"maybeStripPrefix");function f4($,O){return $.endsWith(O)?$.substr(0,$.length-O.length):$}M(f4,"maybeStripSuffix");function pf($){return!$||$.length<2?!1:$[0]==="["||($[0]==="\\"||$[0]==="{")&&$[1]==="["}M(pf,"treatAsIPv6Hostname");var W4=["ftp","file","http","https","ws","wss"];function cf($){if(!$)return!0;for(let O of W4)if($.test(O))return!0;return!1}M(cf,"isSpecialScheme");function z4($,O){if($=yf($,"#"),O||$==="")return $;let Z=new URL("https://example.com");return Z.hash=$,Z.hash?Z.hash.substring(1,Z.hash.length):""}M(z4,"canonicalizeHash");function J4($,O){if($=yf($,"?"),O||$==="")return $;let Z=new URL("https://example.com");return Z.search=$,Z.search?Z.search.substring(1,Z.search.length):""}M(J4,"canonicalizeSearch");function Y4($,O){return O||$===""?$:pf($)?df($):lf($)}M(Y4,"canonicalizeHostname");function X4($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.password=$,Z.password}M(X4,"canonicalizePassword");function F4($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.username=$,Z.username}M(F4,"canonicalizeUsername");function C4($,O,Z){if(Z||$==="")return $;if(O&&!W4.includes(O))return new URL(`${O}:${$}`).pathname;let T=$[0]=="/";return $=new URL(T?$:"/-"+$,"https://example.com").pathname,T||($=$.substring(2,$.length)),$}M(C4,"canonicalizePathname");function D4($,O,Z){return hf(O)===$&&($=""),Z||$===""?$:uf($)}M(D4,"canonicalizePort");function U4($,O){return $=f4($,":"),O||$===""?$:CT($)}M(U4,"canonicalizeProtocol");function hf($){switch($){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}M(hf,"defaultPortForProtocol");function CT($){if($==="")return $;if(/^[-+.A-Za-z0-9]*$/.test($))return $.toLowerCase();throw TypeError(`Invalid protocol '${$}'.`)}M(CT,"protocolEncodeCallback");function G4($){if($==="")return $;let O=new URL("https://example.com");return O.username=$,O.username}M(G4,"usernameEncodeCallback");function B4($){if($==="")return $;let O=new URL("https://example.com");return O.password=$,O.password}M(B4,"passwordEncodeCallback");function lf($){if($==="")return $;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test($))throw TypeError(`Invalid hostname '${$}'`);let O=new URL("https://example.com");return O.hostname=$,O.hostname}M(lf,"hostnameEncodeCallback");function df($){if($==="")return $;if(/[^0-9a-fA-F[\]:]/g.test($))throw TypeError(`Invalid IPv6 hostname '${$}'`);return $.toLowerCase()}M(df,"ipv6HostnameEncodeCallback");function uf($){if($===""||/^[0-9]*$/.test($)&&parseInt($)<=65535)return $;throw TypeError(`Invalid port '${$}'.`)}M(uf,"portEncodeCallback");function K4($){if($==="")return $;let O=new URL("https://example.com");return O.pathname=$[0]!=="/"?"/-"+$:$,$[0]!=="/"?O.pathname.substring(2,O.pathname.length):O.pathname}M(K4,"standardURLPathnameEncodeCallback");function Q4($){return $===""?$:new URL(`data:${$}`).pathname}M(Q4,"pathURLPathnameEncodeCallback");function V4($){if($==="")return $;let O=new URL("https://example.com");return O.search=$,O.search.substring(1,O.search.length)}M(V4,"searchEncodeCallback");function L4($){if($==="")return $;let O=new URL("https://example.com");return O.hash=$,O.hash.substring(1,O.hash.length)}M(L4,"hashEncodeCallback");var S4=class{#f;#T=[];#O={};#$=0;#j=1;#Y=0;#z=0;#D=0;#U=0;#G=!1;constructor($){this.#f=$}get result(){return this.#O}parse(){for(this.#T=kf(this.#f,!0);this.#$<this.#T.length;this.#$+=this.#j){if(this.#j=1,this.#T[this.#$].type==="END"){if(this.#z===0){this.#V(),this.#X()?this.#Z(9,1):this.#F()?this.#Z(8,1):this.#Z(7,0);continue}else if(this.#z===2){this.#C(5);continue}this.#Z(10,0);break}if(this.#D>0)if(this.#_())this.#D-=1;else continue;if(this.#x()){this.#D+=1;continue}switch(this.#z){case 0:this.#L()&&this.#C(1);break;case 1:if(this.#L()){this.#P();let $=7,O=1;this.#I()?($=2,O=3):this.#G&&($=2),this.#Z($,O)}break;case 2:this.#K()?this.#C(3):(this.#Q()||this.#F()||this.#X())&&this.#C(5);break;case 3:this.#M()?this.#Z(4,1):this.#K()&&this.#Z(5,1);break;case 4:this.#K()&&this.#Z(5,1);break;case 5:this.#A()?this.#U+=1:this.#E()&&(this.#U-=1),this.#N()&&!this.#U?this.#Z(6,1):this.#Q()?this.#Z(7,0):this.#F()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 6:this.#Q()?this.#Z(7,0):this.#F()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 7:this.#F()?this.#Z(8,1):this.#X()&&this.#Z(9,1);break;case 8:this.#X()&&this.#Z(9,1);break;case 9:break;case 10:break}}this.#O.hostname!==void 0&&this.#O.port===void 0&&(this.#O.port="")}#Z($,O){switch(this.#z){case 0:break;case 1:this.#O.protocol=this.#J();break;case 2:break;case 3:this.#O.username=this.#J();break;case 4:this.#O.password=this.#J();break;case 5:this.#O.hostname=this.#J();break;case 6:this.#O.port=this.#J();break;case 7:this.#O.pathname=this.#J();break;case 8:this.#O.search=this.#J();break;case 9:this.#O.hash=this.#J();break;case 10:break}this.#z!==0&&$!==10&&([1,2,3,4].includes(this.#z)&&[6,7,8,9].includes($)&&(this.#O.hostname??=""),[1,2,3,4,5,6].includes(this.#z)&&[8,9].includes($)&&(this.#O.pathname??=this.#G?"/":""),[1,2,3,4,5,6,7].includes(this.#z)&&$===9&&(this.#O.search??="")),this.#S($,O)}#S($,O){this.#z=$,this.#Y=this.#$+O,this.#$+=O,this.#j=0}#V(){this.#$=this.#Y,this.#j=0}#C($){this.#V(),this.#z=$}#B($){return $<0&&($=this.#T.length-$),$<this.#T.length?this.#T[$]:this.#T[this.#T.length-1]}#W($,O){let Z=this.#B($);return Z.value===O&&(Z.type==="CHAR"||Z.type==="ESCAPED_CHAR"||Z.type==="INVALID_CHAR")}#L(){return this.#W(this.#$,":")}#I(){return this.#W(this.#$+1,"/")&&this.#W(this.#$+2,"/")}#K(){return this.#W(this.#$,"@")}#M(){return this.#W(this.#$,":")}#N(){return this.#W(this.#$,":")}#Q(){return this.#W(this.#$,"/")}#F(){if(this.#W(this.#$,"?"))return!0;if(this.#T[this.#$].value!=="?")return!1;let $=this.#B(this.#$-1);return $.type!=="NAME"&&$.type!=="REGEX"&&$.type!=="CLOSE"&&$.type!=="ASTERISK"}#X(){return this.#W(this.#$,"#")}#x(){return this.#T[this.#$].type=="OPEN"}#_(){return this.#T[this.#$].type=="CLOSE"}#A(){return this.#W(this.#$,"[")}#E(){return this.#W(this.#$,"]")}#J(){let $=this.#T[this.#$],O=this.#B(this.#Y).index;return this.#f.substring(O,$.index)}#P(){let $={};Object.assign($,g1),$.encodePart=CT;let O=T4(this.#J(),void 0,$);this.#G=cf(O)}};M(S4,"Parser");var wf=["protocol","username","password","hostname","port","pathname","search","hash"],v1="*";function Rf($,O){if(typeof $!="string")throw TypeError("parameter 1 is not of type 'string'.");let Z=new URL($,O);return{protocol:Z.protocol.substring(0,Z.protocol.length-1),username:Z.username,password:Z.password,hostname:Z.hostname,port:Z.port,pathname:Z.pathname,search:Z.search!==""?Z.search.substring(1,Z.search.length):void 0,hash:Z.hash!==""?Z.hash.substring(1,Z.hash.length):void 0}}M(Rf,"extractValues");function O1($,O){return O?p$($):$}M(O1,"processBaseURLString");function y$($,O,Z){let T;if(typeof O.baseURL=="string")try{T=new URL(O.baseURL),O.protocol===void 0&&($.protocol=O1(T.protocol.substring(0,T.protocol.length-1),Z)),!Z&&O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.username===void 0&&($.username=O1(T.username,Z)),!Z&&O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.username===void 0&&O.password===void 0&&($.password=O1(T.password,Z)),O.protocol===void 0&&O.hostname===void 0&&($.hostname=O1(T.hostname,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&($.port=O1(T.port,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&($.pathname=O1(T.pathname,Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&O.search===void 0&&($.search=O1(T.search.substring(1,T.search.length),Z)),O.protocol===void 0&&O.hostname===void 0&&O.port===void 0&&O.pathname===void 0&&O.search===void 0&&O.hash===void 0&&($.hash=O1(T.hash.substring(1,T.hash.length),Z))}catch{throw TypeError(`invalid baseURL '${O.baseURL}'.`)}if(typeof O.protocol=="string"&&($.protocol=U4(O.protocol,Z)),typeof O.username=="string"&&($.username=F4(O.username,Z)),typeof O.password=="string"&&($.password=X4(O.password,Z)),typeof O.hostname=="string"&&($.hostname=Y4(O.hostname,Z)),typeof O.port=="string"&&($.port=D4(O.port,$.protocol,Z)),typeof O.pathname=="string"){if($.pathname=O.pathname,T&&!j4($.pathname,Z)){let j=T.pathname.lastIndexOf("/");j>=0&&($.pathname=O1(T.pathname.substring(0,j+1),Z)+$.pathname)}$.pathname=C4($.pathname,$.protocol,Z)}return typeof O.search=="string"&&($.search=J4(O.search,Z)),typeof O.hash=="string"&&($.hash=z4(O.hash,Z)),$}M(y$,"applyInit");function p$($){return $.replace(/([+*?:{}()\\])/g,"\\$1")}M(p$,"escapePatternString");function I4($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}M(I4,"escapeRegexpString");function M4($,O){O.delimiter??="/#?",O.prefixes??="./",O.sensitive??=!1,O.strict??=!1,O.end??=!0,O.start??=!0,O.endsWith="";let Z=".*",T=`[^${I4(O.delimiter)}]+?`,j=/[$_\u200C\u200D\p{ID_Continue}]/u,f="";for(let W=0;W<$.length;++W){let z=$[W];if(z.type===3){if(z.modifier===3){f+=p$(z.value);continue}f+=`{${p$(z.value)}}${T$(z.modifier)}`;continue}let J=z.hasCustomName(),Y=!!z.suffix.length||!!z.prefix.length&&(z.prefix.length!==1||!O.prefixes.includes(z.prefix)),X=W>0?$[W-1]:null,C=W<$.length-1?$[W+1]:null;if(!Y&&J&&z.type===1&&z.modifier===3&&C&&!C.prefix.length&&!C.suffix.length)if(C.type===3){let F=C.value.length>0?C.value[0]:"";Y=j.test(F)}else Y=!C.hasCustomName();if(!Y&&!z.prefix.length&&X&&X.type===3){let F=X.value[X.value.length-1];Y=O.prefixes.includes(F)}Y&&(f+="{"),f+=p$(z.prefix),J&&(f+=`:${z.name}`),z.type===2?f+=`(${z.value})`:z.type===1?J||(f+=`(${T})`):z.type===0&&(!J&&(!X||X.type===3||X.modifier!==3||Y||z.prefix!=="")?f+="*":f+=`(${Z})`),z.type===1&&J&&z.suffix.length&&j.test(z.suffix[0])&&(f+="\\"),f+=p$(z.suffix),Y&&(f+="}"),z.modifier!==3&&(f+=T$(z.modifier))}return f}M(M4,"partsToPattern");var sf=class{#f;#T={};#O={};#$={};#j={};#Y=!1;constructor($={},O,Z){try{let T;if(typeof O=="string"?T=O:Z=O,typeof $=="string"){let z=new S4($);if(z.parse(),$=z.result,T===void 0&&typeof $.protocol!="string")throw TypeError("A base URL must be provided for a relative constructor string.");$.baseURL=T}else{if(!$||typeof $!="object")throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(T)throw TypeError("parameter 1 is not of type 'string'.")}typeof Z>"u"&&(Z={ignoreCase:!1});let j={ignoreCase:Z.ignoreCase===!0},f={pathname:v1,protocol:v1,username:v1,password:v1,hostname:v1,port:v1,search:v1,hash:v1};this.#f=y$(f,$,!0),hf(this.#f.protocol)===this.#f.port&&(this.#f.port="");let W;for(W of wf){if(!(W in this.#f))continue;let z={},J=this.#f[W];switch(this.#O[W]=[],W){case"protocol":Object.assign(z,g1),z.encodePart=CT;break;case"username":Object.assign(z,g1),z.encodePart=G4;break;case"password":Object.assign(z,g1),z.encodePart=B4;break;case"hostname":Object.assign(z,kY),pf(J)?z.encodePart=df:z.encodePart=lf;break;case"port":Object.assign(z,g1),z.encodePart=uf;break;case"pathname":cf(this.#T.protocol)?(Object.assign(z,mY,j),z.encodePart=K4):(Object.assign(z,g1,j),z.encodePart=Q4);break;case"search":Object.assign(z,g1,j),z.encodePart=V4;break;case"hash":Object.assign(z,g1,j),z.encodePart=L4;break}try{this.#j[W]=mf(J,z),this.#T[W]=qf(this.#j[W],this.#O[W],z),this.#$[W]=M4(this.#j[W],z),this.#Y=this.#Y||this.#j[W].some((Y)=>Y.type===2)}catch{throw TypeError(`invalid ${W} pattern '${this.#f[W]}'.`)}}}catch(T){throw TypeError(`Failed to construct 'URLPattern': ${T.message}`)}}get[Symbol.toStringTag](){return"URLPattern"}test($={},O){let Z={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&O)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return!1;try{typeof $=="object"?Z=y$(Z,$,!1):Z=y$(Z,Rf($,O),!1)}catch{return!1}let T;for(T of wf)if(!this.#T[T].exec(Z[T]))return!1;return!0}exec($={},O){let Z={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&O)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return;try{typeof $=="object"?Z=y$(Z,$,!1):Z=y$(Z,Rf($,O),!1)}catch{return null}let T={};O?T.inputs=[$,O]:T.inputs=[$];let j;for(j of wf){let f=this.#T[j].exec(Z[j]);if(!f)return null;let W={};for(let[z,J]of this.#O[j].entries())if(typeof J=="string"||typeof J=="number"){let Y=f[z+1];W[J]=Y}T[j]={input:Z[j]??"",groups:W}}return T}static compareComponent($,O,Z){let T=M((z,J)=>{for(let Y of["type","modifier","prefix","value","suffix"]){if(z[Y]<J[Y])return-1;if(z[Y]===J[Y])continue;return 1}return 0},"comparePart"),j=new c$(3,"","","","",3),f=new c$(0,"","","","",3),W=M((z,J)=>{let Y=0;for(;Y<Math.min(z.length,J.length);++Y){let X=T(z[Y],J[Y]);if(X)return X}return z.length===J.length?0:T(z[Y]??j,J[Y]??j)},"comparePartList");return!O.#$[$]&&!Z.#$[$]?0:O.#$[$]&&!Z.#$[$]?W(O.#j[$],[f]):!O.#$[$]&&Z.#$[$]?W([f],Z.#j[$]):W(O.#j[$],Z.#j[$])}get protocol(){return this.#$.protocol}get username(){return this.#$.username}get password(){return this.#$.password}get hostname(){return this.#$.hostname}get port(){return this.#$.port}get pathname(){return this.#$.pathname}get search(){return this.#$.search}get hash(){return this.#$.hash}get hasRegExpGroups(){return this.#Y}};M(sf,"URLPattern");function RO($,O){for(let[Z,T]of Object.entries($)){let j=new sf({pathname:Z});if(j.test({pathname:O}))return{routePath:Z,params:j.exec({pathname:O})?.pathname.groups??{},route:T}}return null}var j$={startIndex:0,carriedViews:[]};function N4($,O){let Z=s($.path,O);return Z.includes("*")?null:Z}function qY($,O){if(!$)return j$;if($.search!==O.search)return j$;let Z=Math.min($.segments.length,O.segments.length-1),T=0;while(T<Z){let j=$.segments[T],f=O.segments[T];if(f.alwaysRun)break;if(j.viewPath!==f.viewPath)break;let W=N4(j,$.params),z=N4(f,O.params);if(W===null||z===null||W!==z)break;T++}if(T===0)return j$;return{startIndex:T,carriedViews:O.segments.slice(0,T).map(({viewPath:j})=>j)}}function yY($,O){let[,Z,...T]=$.split("/");if(!O.includes(Z))return $;let j=`/${T.join("/")}`;return j==="/"?"/":j.replace(/\/$/,"")}function x4($){let{flatViewRoutes:O,supportedLocales:Z,from:T,origin:j,to:f}=$;if(!T)return j$;let W;try{W=new URL(T,j)}catch{return j$}if(W.origin!==j)return j$;let z=RO(O,yY(W.pathname,Z));if(!z)return j$;return qY({segments:z.route.segments,params:z.params,search:W.search},f)}var nf="x-gemi-from";import{createElement as n$,Fragment as JX}from"react";function pY($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function DT($){let O={};for(let[Z,T]of Object.entries($))if("run"in T){let j=T.viewPath;if("children"in T){O[Z]=[j];let f=new T.children,W=DT(f.routes);for(let[z,J]of Object.entries(W)){let Y=Z==="/"?z:`${Z}${z}`,X=z==="/"&&Z!=="/"?Z:Y;O[X]=[j,...J]}if(O[Z].length===1)delete O[Z]}else O[Z]=[j]}else{let j=new T,f=DT(j.routes);for(let[W,z]of Object.entries(f)){let J=Z==="/"?W:`${Z}${W}`,Y=W==="/"&&Z!=="/"?Z:J;O[Y]=z}}return Object.fromEntries(Object.entries(O).map(([Z,T])=>[pY(Z),T]))}function UT($){let O=[];for(let[Z,T]of Object.entries($))if("run"in T){let j=T.viewPath;if(j==="__")continue;if(j==="REDIRECT")continue;if(j==="FILE")continue;if("children"in T){let f=new T.children,W=UT(f.routes);O.push([j,W])}else O.push([j,[]])}else{let j=new T,f=UT(j.routes);O.push(...f)}return O}function af($){let O=[];for(let[Z,T]of $)O.push(Z,...af(T).flat());return Array.from(new Set(O))}class R1 extends O0{static getFacadeAccessor(){return vO}static debug($,O){this.getFacadeRoot().log("debug",$,O)}static info($,O){this.getFacadeRoot().log("info",$,O)}static notice($,O){this.getFacadeRoot().log("notice",$,O)}static warning($,O){this.getFacadeRoot().log("warning",$,O)}static error($,O){this.getFacadeRoot().log("error",$,O)}static critical($,O){this.getFacadeRoot().log("critical",$,O)}static alert($,O){this.getFacadeRoot().log("alert",$,O)}static emergency($,O){this.getFacadeRoot().log("emergency",$,O)}}class i$ extends O0{static getFacadeAccessor(){return n}static getSupportedLocales(){return this.getFacadeRoot().supportedLocales}static getDefaultLocale(){return this.getFacadeRoot().defaultLocale}static locale(){let $=this.getFacadeRoot(),O=N.getStore();if(O)return O.locale??$.detectLocale(O.req);return $.defaultLocale}static setLocale($=i$.locale()){let O=this.getFacadeRoot(),Z=$;if(!O.supportedLocales.includes($))Z=O.defaultLocale;let T=N.getStore();return T.setCookie("i18n-locale",Z,{expires:new Date(Date.now()+31536000000),secure:!1,httpOnly:!1}),T.setLocale(Z),Z}}class of{id;static token="kernel.id";constructor($=crypto.randomUUID()){this.id=$}}var cY=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),iY=new Set(["svg","math"]);function _4($){return $===32||$===9||$===10||$===12||$===13}function A4($){return $>=65&&$<=90||$>=97&&$<=122}function GT($){return $>=65&&$<=90?$+32:$}function E4(){let $="data",O="",Z=!1,T="",j=0,f=0,W=!1,z=0,J=0,Y=()=>$==="data"&&z===0&&J===0,X=()=>{if(!Z&&cY.has(O)){$="rawText",T=`</${O}`,j=0,O="";return}if($="data",O==="template")if(Z)z=Math.max(0,z-1);else z+=1;else if(iY.has(O)){if(Z)J=Math.max(0,J-1);else if(!W)J+=1}O=""},C=(F)=>{switch($){case"data":if(F===60)$="tagOpen";return;case"tagOpen":if(F===33)$="bang",f=0;else if(F===47)$="endTagOpen";else if(A4(F))$="tagName",Z=!1,W=!1,O=String.fromCharCode(GT(F));else if(F===63)$="bogus";else if(F===60)$="tagOpen";else $="data";return;case"endTagOpen":if(A4(F))$="tagName",Z=!0,W=!1,O=String.fromCharCode(GT(F));else if(F===62)$="data";else $="bogus";return;case"tagName":if(_4(F)||F===47)$="inTag",W=F===47;else if(F===62)X();else O+=String.fromCharCode(GT(F));return;case"inTag":if(F===62){X();return}if(W=F===47,F===34)$="attrDouble";else if(F===39)$="attrSingle";return;case"attrDouble":if(F===34)$="inTag";W=!1;return;case"attrSingle":if(F===39)$="inTag";W=!1;return;case"bang":if(F===45){if(f+=1,f===2)$="comment",f=0}else if(F===62)$="data";else $="bogus";return;case"bogus":if(F===62)$="data";return;case"comment":if(F===45)f=f<2?f+1:2;else if(F===62&&f>=2)$="data",f=0;else f=0;return;case"rawText":{if(j<T.length){if(GT(F)===T.charCodeAt(j))j+=1;else j=F===60?1:0;return}if(F===62)$="data",O="";else if(_4(F)||F===47)$="inTag",O="";else j=F===60?1:0;return}}};return{scanToInsertionPoint(F){for(let U=0;U<F.length;U++){if(Y())return U;C(F[U])}return F.length},write(F){for(let U=0;U<F.length;U++)C(F[U])},isSafe:Y}}function f$($){let O=JSON.stringify($);if(O===void 0)return"undefined";return O.replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function hY($){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${f$([$.path,$.variantKey,$.data])})</script>`}function lY($){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${f$([$.id,$.locale,$.strings])})</script>`}function rf($,O,Z={},T){let j=new TextEncoder,f=[],W=!1,z=!1,J=()=>{if(z)return;z=!0,Z.onClose?.()};O.onSettle((D)=>{if(D.status!=="resolved")return;f.push(hY(D))}),T?.onUse((D)=>{f.push(lY(D))});let Y=$.getReader(),X=E4(),C=(D,G)=>{D.enqueue(G),Z.onChunk?.(G)},F=(D)=>{while(f.length>0){let G=j.encode(f.shift());X.write(G),C(D,G)}},U=(D,G)=>{if(f.length===0){X.write(G),C(D,G);return}let B=X.scanToInsertionPoint(G);if(B>0)C(D,G.subarray(0,B));if(X.isSafe())F(D);let Q=G.subarray(B);if(Q.length>0)X.write(Q),C(D,Q)};return new ReadableStream({async pull(D){let G;try{G=await Y.read()}catch(S){throw J(),S}let{done:B,value:Q}=G;if(B){F(D),D.close(),J();return}if(!W){if(W=!0,X.write(Q),C(D,Q),Z.onShell?.(),X.isSafe())F(D);return}U(D,Q)},cancel(D){return J(),Y.cancel(D)}})}var dY=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function BT($){if(!$)return!1;return dY.test($)}async function H4($,O=()=>{}){let Z=N.getStore(),T=Z?.req??null,j=null;if(T?.rawRequest?.url)try{j=new URL(T.rawRequest.url).pathname}catch{j=null}return{user:Z?.user??null,attributes:await uY($,O),request:{path:j,routePath:T?.routePath??null,locale:Z?.locale??null},anonymousId:P4(),isBot:BT(T?.rawRequest?.headers?.get("user-agent")??null),now:new Date}}function b4($){return{user:$.user??null,attributes:$.attributes??{},request:{path:null,routePath:null,locale:null},anonymousId:$.subjectId??null,isBot:!1,now:new Date}}async function uY($,O){if(!$.context)return{};try{let Z=N.getStore();return await $.context(Z?.req??null)??{}}catch(Z){return O(`The \`context\` hook in app/config/features.ts threw; evaluating with no attributes. ${Z instanceof Error?Z.message:String(Z)}`),{}}}function w4($,O){return`${$}:${O}`}function tf($){let O=new Bun.CryptoHasher("sha1").update($).digest("hex"),Z=Number.parseInt(O.slice(0,8),16);return Math.floor(Z/4294967296*1e4)}function v4($,O){if(O>=100)return!0;if(O<=0)return!1;return $<Math.round(O*100)}function g4($,O,Z,T){if(T.unavailable)return{value:!1,reason:"unavailable"};if(T.active!==!0)return{value:!1,reason:"inactive"};if(O.when){let f;try{f=O.when(Z)}catch(W){return T.warn?.(`The \`when\` for feature "${$}" threw; treating it as off. ${W instanceof Error?W.message:String(W)}`),{value:!1,reason:"error"}}if(typeof f==="boolean")return{value:f,reason:"attributed"}}if(O.rollout===void 0)return{value:!0,reason:"on"};if(Z.isBot)return{value:!1,reason:"bot"};let j=nY($,O,Z,T.buckets);return v4(j,O.rollout)?{value:!0,reason:"rollout"}:{value:!1,reason:"excluded"}}function sY($){let O=$.user?.publicId??$.user?.id;if(O!==void 0&&O!==null)return String(O);return $.anonymousId??""}function nY($,O,Z,T){let j=w4(O.salt??$,sY(Z));if(!T)return tf(j);let f=T.get(j);if(f!==void 0)return f;let W=tf(j);return T.set(j,W),W}class R4 extends Error{cause;kind="FeatureReloadFailed";constructor($){super(`Could not reload feature switches after a write, so the cached switches may still predate it: ${$ instanceof Error?$.message:String($)}`);this.cause=$}}class ef{source;declared;ttlMs;warn;snapshot=null;inflight=null;lastFailureLoggedAt=0;generation=0;lastError=null;retryAfter=0;constructor($,O,Z,T=()=>{}){this.source=$;this.declared=O;this.ttlMs=Z;this.warn=T}async get(){let $=this.snapshot;if($&&Date.now()-$.loadedAt<this.ttlMs)return $;if($){if(Date.now()>=this.retryAfter)this.refresh().catch(()=>{});return $}return await this.refresh()}refresh(){return this.inflight??=this.load().finally(()=>{this.inflight=null}),this.inflight}async invalidate(){await this.inflight?.catch(()=>{});let $=this.generation,O=await this.refresh();if(this.generation===$)throw new R4(this.lastError);return O}peek(){return this.snapshot}async load(){try{let $=await this.source.load(),{active:O,audit:Z}=this.readRows($);return this.snapshot={active:O,audit:Z,loadedAt:Date.now(),unavailable:!1},this.generation++,this.lastError=null,this.retryAfter=0,this.snapshot}catch($){return this.handleFailure($)}}readRows($){let O=new Map,Z=new Map;for(let T of $??[]){let j=typeof T?.key==="string"?T.key:null;if(!j){this.warn("Ignoring a feature row with no `key`.");continue}if(!(j in this.declared)){this.warn(`Feature row "${j}" is not declared in app/features, so it is ignored. Delete the row, or declare the feature.`);continue}O.set(j,T.active===!0);let f=aY(T);if(f)Z.set(j,f)}return{active:O,audit:Z}}handleFailure($){let O=$ instanceof Error?$.message:String($),Z=Date.now();if(this.lastError=$,this.retryAfter=Z+this.ttlMs,Z-this.lastFailureLoggedAt>=this.ttlMs)this.lastFailureLoggedAt=Z,this.warn(`Could not load feature switches: ${O}`);if(this.snapshot)return this.snapshot;return this.snapshot={active:new Map,audit:new Map,loadedAt:Z,unavailable:!0},this.snapshot}}function aY($){let O={},Z=$.updatedBy;if(typeof Z==="string")O.updatedBy=Z;else if(Z===null)O.updatedBy=null;let T=$.updatedAt;if(T instanceof Date||typeof T==="string"||typeof T==="number"){let j=T instanceof Date?T:new Date(T);if(!Number.isNaN(j.getTime()))O.updatedAt=j}return"updatedBy"in O||"updatedAt"in O?O:null}class oY{}class rY extends Error{modelName;kind="FeatureModelMissing";constructor($){super(`No "${$}" model is registered, so every feature stays off. Add the model to prisma/schema.prisma and export it from app/models \u2014 see docs/feature-flags.md.`);this.modelName=$}}class $W extends Error{sourceName;kind="FeatureSourceReadOnly";constructor($){super(`The feature source (${$}) is read-only, so Features.set() cannot write to it. Change the switch where that source reads from, or give the source a write() method.`);this.sourceName=$}}class k4 extends Error{key;kind="UndeclaredFeature";constructor($){super(`"${$}" is not declared in app/features, so it cannot be switched. A row for it would be ignored \u2014 declare the feature first.`);this.key=$}}class m4{manager;ctx;constructor($,O){this.manager=$;this.ctx=O}async enabled($){return(await this.explain($)).value}async explain($){return await this.manager.evaluateIn($,this.ctx,new Map)}async all(){return await this.manager.evaluateAllIn(this.ctx,new Map,{clientOnly:!1})}}class h${config;log;static token="features";store;declared;warnedAboutSize=!1;warnedAboutActor=!1;constructor($,O=()=>{}){this.config=$;this.log=O;this.declared=$.features??{},this.store=new ef($.source,this.declared,Math.max(0,$.ttl)*1000,this.log)}declarations(){return this.declared}async list(){let{active:$,audit:O,unavailable:Z}=await this.switches();return{unavailable:Z,features:Object.entries(this.declared).map(([T,j])=>({key:T,describe:j.describe,rollout:j.rollout,targeted:j.when!==void 0,serverOnly:j.serverOnly,salt:j.salt,active:$.get(T),...O.get(T)}))}}async refresh(){if(!this.config.enabled)return;if(Object.keys(this.declared).length===0)return;await this.store.refresh()}async invalidate(){try{if(this.config.enabled&&Object.keys(this.declared).length>0)await this.store.invalidate()}finally{N.getStore()?.featureEvaluations?.clear()}}async set($,O,Z={}){if(typeof $!=="string"||!Object.hasOwn(this.declared,$))throw new k4(String($));if(typeof O!=="boolean")throw TypeError(`Features.set("${$}", \u2026) takes a boolean, not ${O===null?"null":typeof O}.`);let T=tY(Z.actor),j=this.config.source;if(typeof j.write!=="function")throw new $W(j.constructor?.name||"an anonymous source");let{actorRecorded:f}=await j.write($,O,{actor:T});if(T!==null&&!f&&!this.warnedAboutActor)this.warnedAboutActor=!0,this.log('Features.set() was given an actor, but the feature source has nowhere to record it. For the database source, add a nullable `updatedBy String?` column to the feature flag model to keep "last changed by".');await this.invalidate()}async enabled($){return(await this.explain($)).value}async explain($){let O=await this.requestContext();return await this.evaluateIn($,O,this.requestBuckets())}async all(){let $=await this.requestContext();return await this.evaluateAllIn($,this.requestBuckets(),{clientOnly:!1})}async forClient(){if(!this.config.enabled)return{};let $=await this.requestContext(),O=await this.evaluateAllIn($,this.requestBuckets(),{clientOnly:!0});return this.warnIfOversized(Object.keys(O).length),O}for($){return new m4(this,b4($))}async evaluateIn($,O,Z){let T=this.memoFor(O),j=T?.get($);if(j)return j;let f=this.declared[$];if(!f)return{value:!1,reason:"undeclared"};let{active:W,unavailable:z}=await this.switchFor($),J=g4($,f,O,{active:W,unavailable:z,buckets:Z,warn:this.log});return T?.set($,J),this.notify($,J,O),J}async evaluateAllIn($,O,Z){let T={};for(let[j,f]of Object.entries(this.declared)){if(Z.clientOnly&&f.serverOnly)continue;T[j]=(await this.evaluateIn(j,$,O)).value}return T}async switches(){if(!this.config.enabled||Object.keys(this.declared).length===0)return{active:new Map,audit:new Map,unavailable:!1};let $=await this.store.get();return{active:$.active,audit:$.audit,unavailable:$.unavailable}}async switchFor($){if(!this.config.enabled)return{active:!1,unavailable:!1};let O=await this.store.get();return{active:O.active.get($),unavailable:O.unavailable}}async requestContext(){let $=N.getStore();if($?.featureContext)return $.featureContext;let O=await H4(this.config,this.log);if($)$.featureContext=O;return O}memoFor($){let O=N.getStore();if(!O||O.featureContext!==$)return null;return O.featureEvaluations??=new Map,O.featureEvaluations}requestBuckets(){let $=N.getStore();if(!$)return new Map;return $.featureBuckets??=new Map,$.featureBuckets}notify($,O,Z){if(!this.config.onEvaluate)return;try{this.config.onEvaluate($,O,Z)}catch(T){this.log(`The \`onEvaluate\` hook in app/config/features.ts threw for "${$}". ${T instanceof Error?T.message:String(T)}`)}}warnIfOversized($){if(this.warnedAboutSize||$<=this.config.maxClientFlags)return;this.warnedAboutSize=!0,this.log(`${$} client-visible features are embedded in every document. Mark the ones only the server reads with \`serverOnly: true\` to keep them out of the payload.`)}}function tY($){if($===void 0||$===null)return null;if(typeof $==="string"){if($.length>0)return $}else if(typeof $==="object"){let{publicId:O,id:Z}=$;if(typeof O==="string"&&O.length>0)return O;if(typeof Z==="string"&&Z.length>0||typeof Z==="number")return String(Z)}throw TypeError("Features.set() was given an `actor` that identifies nobody. Pass a string, or a user with a `publicId` or an `id`.")}function q4($){return Object.fromEntries(Object.entries($).filter(([,O])=>{return O!==null&&O!==void 0}))}var eY=50;class l${fetcher;entries=new Map;settleListener=null;failListener=null;shellAt=null;settledBacklog=[];shipped=new Set;requestStartedAt=performance.now();renderStartedAt=null;discoveryHintsMuted=!1;constructor($){this.fetcher=$}elapsed(){return Math.round(performance.now()-this.requestStartedAt)}keyFor($,O){return[$,O].filter((Z)=>Z.length>0).join("?")}markRenderStart(){if(this.renderStartedAt===null)this.renderStartedAt=performance.now()}markShell(){if(this.shellAt===null)this.shellAt=this.elapsed()}summarize($){let O=this.elapsed();return{shellAt:this.shellAt??O,settledAt:O,aborted:$,queries:Array.from(this.entries.values(),(Z)=>({path:Z.path,variantKey:Z.variantKey,startedAt:Z.startedAt,settledAt:Z.settledAt,status:Z.status,source:Z.source}))}}onQueryFail($){this.failListener=$}muteDiscoveryHints(){this.discoveryHintsMuted=!0}maybeLogLateDiscovery($){if(!$.lateBy||this.discoveryHintsMuted)return;if($.status!=="resolved")return;if(Bun.env.NODE_ENV==="production")return;let O="";try{let j=JSON.stringify($.data)?.length??0;O=j>=1024?`${(j/1024).toFixed(1)} kB`:`${j} B`}catch{O="an unserializable payload"}let Z=($.settledAt??0)-$.startedAt,T=$.variantKey?`, { search: ${JSON.stringify(Object.fromEntries(new URLSearchParams($.variantKey)))} }`:"";console.warn(`[gemi] useQuery("${$.patternPath}") was discovered ${$.lateBy}ms into the `+`server render \u2014 under a suspended segment, so its fetch (${Z}ms, resolved ${O}) could not overlap the others. It still streamed. If the query belongs on this route, \`Query.prefetch("${$.patternPath}"${T})\` in the view `+"handler starts it at request time \u2014 but note prefetched data is also re-fetched and "+`streamed into every client-side navigation payload for the route, even when the client already holds it, so weigh that bandwidth against the ${O}. If the data is only needed conditionally (a closed popover, a hidden tab), \`{ lazy: true }\` + \`trigger()\` avoids running it here at all. \`Query.noPrefetch()\` in the handler marks the omission intentional and silences this hint for the route.`)}read($,O){return this.entries.get(this.keyFor($,O))}ensure($,O={},Z="render"){let T=O.params??{},j=new URLSearchParams(q4(O.search??{}));j.delete("json"),j.sort();let f=s($,T),W=j.toString(),z=this.keyFor(f,W),J=this.entries.get(z);if(J)return J;let Y;if(Z==="render"&&this.renderStartedAt!==null){let U=Math.round(performance.now()-this.renderStartedAt);if(U>eY)Y=U}let X,C=new Promise((U)=>{X=U}),F={path:f,patternPath:$,variantKey:W,lateBy:Y,status:"pending",promise:C,source:Z,startedAt:this.elapsed()};return this.entries.set(z,F),this.fetcher($,T,j).then((U)=>{F.status="resolved",F.data=U},(U)=>{F.status="rejected",F.error=U}).then(()=>{if(F.settledAt=this.elapsed(),this.maybeLogLateDiscovery(F),F.status==="rejected"&&this.failListener)this.failListener(F);if(this.settleListener)this.settleListener(F);else this.settledBacklog.push(F);X()}),F}async allSettled(){let $=0;while($!==this.entries.size)$=this.entries.size,await Promise.all(Array.from(this.entries.values(),(O)=>O.promise))}snapshotResolved(){let $={};for(let[O,Z]of this.entries){if(Z.status!=="resolved")continue;this.shipped.add(O),$[Z.path]??={},$[Z.path][Z.variantKey]=Z.data}return $}onSettle($){this.settleListener=(Z)=>{if(this.shipped.has(this.keyFor(Z.path,Z.variantKey)))return;$(Z)};let O=this.settledBacklog;this.settledBacklog=[];for(let Z of O)this.settleListener(Z)}}class W$ extends Error{path;variantKey;status;body;constructor($,O,Z,T){super(typeof T?.message==="string"?T.message:`Request to /api${$} failed with status ${Z}`);this.path=$;this.variantKey=O;this.status=Z;this.body=T;this.name="QueryError"}}function d$(){let $=JSON.stringify({error:{message:"Forbidden"}});return new Response($,{status:403,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}function OW(){return{status:403,error:{message:"Forbidden"}}}function kO($){let O=u$.getStore();return(Z,T,j)=>{let f=new URL($.url).origin,W=[s(Z,T),j.toString()].filter((X)=>X.length>0).join("?"),z=new Request(`${f}/${W}`,{headers:$.headers}),J=y4($);if(J)s$(z,J);let Y=new _(z,T);return u$.run(O,()=>N.run(Y,async()=>{try{let X=await K(s0).dispatchers(J).api.getRouteData(Z);if(X instanceof Response){let C=await X.json().catch(()=>null);if(!X.ok)throw new W$(s(Z,T),j.toString(),X.status,C);return C}return X}catch(X){if(X instanceof W$)throw X;let C=new W$(s(Z,T),j.toString(),500,{message:X instanceof Error?X.message:String(X)});throw C.cause=X,C}}))}}var $X=new Set(["script","style","template","title"]),OX=/\shidden([\s=/]|$)/i,ZX=/"[^"]*"|'[^']*'/g;function TX($){let O=0,Z=0,T=0,j=0;while(j<$.length){let f=$.indexOf("<",j),W=f===-1?$.length:f;if(W>j){let C=$.slice(j,W).replace(/\s+/g,"").length;if(T>0)Z+=C;else O+=C}if(f===-1)break;if($.startsWith("<!--",f)){let C=$.indexOf("-->",f+4);j=C===-1?$.length:C+3;continue}let z=$.indexOf(">",f);if(z===-1)break;let J=$.slice(f+1,z);j=z+1;let Y=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(J)?.[1]?.toLowerCase();if(!Y)continue;let X=J.startsWith("/");if(!X&&$X.has(Y)&&!J.endsWith("/")){let C=$.indexOf(`</${Y}`,j);j=C===-1?$.length:C;continue}if(Y!=="div")continue;if(X){if(T>0)T-=1}else if(T>0)T+=1;else if(OX.test(J.replace(ZX,'""')))T=1}return{shellChars:O,deferredChars:Z}}var jX=1000,fX=64;function WX($){return $>=1000?`${($/1000).toFixed(1)} kB`:`${$} chars`}function zX($,O){if(O.deferredChars<jX)return null;if(O.shellChars>=fX)return null;return`[gemi] GET ${$} streams ${WX(O.deferredChars)} of its `+`content behind reveal scripts \u2014 a no-JS visitor sees ~${O.shellChars} chars. If this is a public/content route, add "no-stream" to its middleware.`}function p4($=console.warn){let O=new Set;return{shouldObserve(Z){return!O.has(Z)},report(Z,T){if(O.has(Z))return;let j=zX(Z,T);if(!j)return;O.add(Z),$(j)}}}function c4(){let $=new TextDecoder,O="";return{onChunk(Z){O+=$.decode(Z,{stream:!0})},measure(){return O+=$.decode(),TX(O)}}}function i4($,O,Z=1e4,T){let j=new TextEncoder,f=()=>{};return new ReadableStream({start(W){let z=!1,J=(X)=>{if(z)return;z=!0,clearTimeout(Y);try{W.close()}catch{}T?.({aborted:X})};f=J,W.enqueue(j.encode(`${JSON.stringify($)}
|
|
5
|
+
`)),O.onSettle((X)=>{if(z||X.status!=="resolved")return;W.enqueue(j.encode(`${JSON.stringify([X.path,X.variantKey,X.data])}
|
|
6
|
+
`))});let Y=setTimeout(()=>J(!0),Z);O.allSettled().then(()=>J(!1),()=>J(!1))},cancel(){f(!1)}})}var YX=async()=>(await import("./chunk-t20b1xn4.js")).default,ZW,TW=async(...$)=>{return ZW??=import("react-dom/server.browser").catch((O)=>{throw ZW=void 0,O}),(await ZW).renderToReadableStream(...$)},XX=1e4,FX=`
|
|
7
|
+
!function(){try{var d=document.documentElement,c=d.classList;
|
|
8
|
+
c.remove('light','dark');
|
|
9
|
+
var e=localStorage.getItem('theme');
|
|
10
|
+
if('system'===e||(!e&&'system'===defaultTheme)){
|
|
11
|
+
var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);
|
|
12
|
+
if(m.media!==t||m.matches){d.style.colorScheme='dark';c.add('dark')}
|
|
13
|
+
else{d.style.colorScheme='light';c.add('light')}
|
|
14
|
+
}else if(e){
|
|
15
|
+
c.add(e||'')
|
|
16
|
+
}}catch(e){}}()
|
|
17
|
+
`;async function CX($,O,Z){let T=`${Z==="italic"?"italic,":""}wght@${Z==="italic"?"1,":""}${O}`,W=(await(await fetch(`https://fonts.googleapis.com/css2?family=${$}:${T}&display=swap`,{headers:{"User-Agent":"Mozilla/5.0 Firefox/1.0"}})).text()).match(/url\(([^)]+)\)/)?.[1];return await fetch(W).then((z)=>z.arrayBuffer())}var WW="/assets";function DX($){return $===WW||$.startsWith(`${WW}/`)}function UX($){let O=$.filter(DX);if(O.length>0){let Z=O.length>1;throw Error(`View route path${Z?"s":""} ${O.map((T)=>`"${T}"`).join(", ")} use${Z?"":"s"} the reserved "${WW}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}function GX($){let O=K(s0).resolver;return{...$.domain,root:O.root,origin:O.publicOrigin($.rawRequest)}}function jW($){let{status:O=400,error:Z}=$;return new Response(Z?.message,{...$,status:O})}function BX($){let{status:O=400,data:Z,directive:T,headers:j}=$;return new Response(JSON.stringify({data:Z,directive:T}),{headers:j,status:O})}class yO{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=p4();preloadCache=new WeakMap;hooks;partialRendering;constructor($){let O=$4();this.partialRendering=$.partialRendering??O.partialRendering,this.hooks={onRequestStart:$.onRequestStart??O.onRequestStart,onRequestEnd:$.onRequestEnd??O.onRequestEnd,onRequestFail:$.onRequestFail??O.onRequestFail,onStreamComplete:$.onStreamComplete??O.onStreamComplete};let Z={"/":$.rootRouter,"/auth":Vf};this.flatViewRoutes=FT(Z),UX(Object.keys(this.flatViewRoutes)),this.routeManifest=DT(Z),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,T])=>T.at(-1)!=="FILE")),this.componentTree=UT(Z),this.flatComponentTree=af(this.componentTree),this.root=$.root}async passesFeatureGates($){let O=K(h$);for(let Z of $)if(!await O.enabled(Z))return!1;return!0}async onRequestEnd($){return fW(),await this.hooks.onRequestEnd($)}completeStream($,O){let Z=(T)=>{R1.error(T?.message??'Error in "onStreamComplete" event handler',{err:JSON.stringify(T)})};try{Promise.resolve(this.hooks.onStreamComplete($,O)).catch(Z)}catch(T){Z(T)}}modulePreloadLinks($){let{clientEntry:O,modulePreloadManifest:Z,views:T,routeKey:j}=$,f=()=>{let J=new Set(O?.preload??[]);for(let Y of T)for(let X of Z?.[Y]??[])J.add(X);return[...J].map((Y)=>n$("link",{key:`modulepreload:${Y}`,rel:"modulepreload",href:Y}))};if(!Z)return f();let W=this.preloadCache.get(Z);if(!W||W.clientEntry!==O)W={clientEntry:O,byRoute:new Map},this.preloadCache.set(Z,W);let z=W.byRoute.get(j);if(!z)z=f(),W.byRoute.set(j,z);return z}async render($){let{req:O,runInRequestScope:Z,csrfTokenHMAC:T,currentPathName:j,headers:f,i18n:W,params:z,pathname:J,serverQueries:Y,userAgent:X,noStream:C,url:F,user:U,viewData:D,breadcrumbs:G,urlLocaleSegment:B,meta:Q,isOgRequest:S,appId:V,features:x}=$,A=J.replace(`/${B}`,""),L={kind:"view",data:{meta:Q,pageData:{[A]:D},__csrf:T.toString("base64"),prefetchedData:{},i18n:W,auth:{user:U},routeManifest:this.clientRouteManifest,breadcrumbs:G,router:{urlLocaleSegment:B,pathname:j,params:z,currentPath:J,searchParams:F.search,is404:!j?!0:!1,domain:O.domain?GX(O):null},appId:V,features:x,componentTree:[["404",[]],...this.componentTree]},head:{}},I=this.root,E=this.routeManifest[j];return async(P)=>{let{bootstrapModules:Z0=[],loaders:g,getStyles:m,viewImportMap:T0,cssManifest:NT,ogMap:pO,viewModules:z$,clientEntry:T1,modulePreloadManifest:k1,assetBase:j0}=P,r$=T1?[]:Z0,cO=(M0)=>[M0,`window.loaders=${g}`,...T1?[`import(${JSON.stringify(T1.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(S){let M0=null,X$=null;for(let F$ of E??[])if(typeof pO[F$]==="function")X$=F$,M0=pO[F$];if(!M0)return new Response("Not found",{status:404});let K5=Object.values(L.data.pageData)[0];try{await TW(n$(M0,K5[X$]),{onError:()=>{}})}catch(F$){let{fonts:Q5,...V5}=F$.satoriOptions,L5=await Promise.all(Q5.map((hO)=>{return CX(hO.name,hO.weight,hO.style).then((x5)=>({...hO,data:x5}))})),BW=new Headers(f);BW.set("Content-Type","image/png");let[S5,I5]=await Promise.all([YX(),YT("Rendering an OG image")]),M5=await S5(F$.jsx,{...V5,fonts:L5}),N5=await I5(Buffer.from(M5)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(N5),{headers:BW})}return new Response("data")}if(L.data.cssManifest=NT,L.data.modulePreloadManifest=k1??{},j0&&j0!=="/")L.data.assetBase=j0;let J$=this.modulePreloadLinks({clientEntry:T1,modulePreloadManifest:k1,views:E??["404"],routeKey:j??"404"}),t$=await m(E);L.data.prefetchedData=Y.snapshotResolved(),Y.markRenderStart();let U1=new AbortController,iO=setTimeout(()=>U1.abort(),XX),H=BT(X)||C,I0=Bun.env.NODE_ENV!=="production"&&!H&&j&&this.shellReporter.shouldObserve(j)?c4():null,Y$=d4();try{let M0=await TW(n$(JX,{children:[...J$,...t$,n$("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:FX}}),n$(I,{data:L.data,viewImportMap:T0,viewModules:z$,serverQueries:Y,dictionarySink:Y$,key:"root"})]}),{bootstrapScriptContent:cO(`window.__GEMI_DATA__ = ${f$(L.data)}`),bootstrapModules:r$,signal:U1.signal,...H?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(X$){if(Bun.env.NODE_ENV!=="production")console.error(X$)}});if(M0.allReady.catch(()=>{}).finally(()=>clearTimeout(iO)),H)await M0.allReady.catch(()=>{});return new Response(rf(M0,Y,{onShell:H?void 0:()=>Y.markShell(),onChunk:I0?.onChunk,onClose:()=>Z(()=>{if(this.completeStream(O,Y.summarize(U1.signal.aborted)),I0)this.shellReporter.report(j,I0.measure())})},Y$),{status:!j?404:200,headers:f})}catch(M0){if(clearTimeout(iO),Bun.env.NODE_ENV==="production")throw Z(()=>this.completeStream(O,Y.summarize(U1.signal.aborted))),M0;let X$=await TW(n$("div"),{bootstrapScriptContent:cO(`window.error= ${f$(M0.message)}; window.stack_trace=${f$(M0.stack)};window.__GEMI_DATA__ = ${f$(L.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...r$]:r$});return new Response(rf(X$,Y,{onClose:()=>Z(()=>this.completeStream(O,Y.summarize(U1.signal.aborted)))}),{status:!j?404:200,headers:f})}}}async handleViewRequest($,O){let Z=new URL($.url),T=Z.pathname.endsWith(".json"),j=Z.pathname.endsWith(".og"),f=Z.pathname.replace(".json","").replace(".og",""),[,W,...z]=f.split("/"),J=`/${z.join("/")}`,Y=null,X=null,C=K(n);if(!C.supportedLocales.includes(W))J=f;else Y=W,X=W;let U=X===null&&RO(this.flatViewRoutes,J)!==null;if(C.isLocaleAware&&!j&&X===null&&!U){let L=h4(W,C.supportedLocales,C.defaultLocale);if(L){let I=z.length?`/${z.join("/")}`:"";return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${I}${T?".json":""}${Z.search}`}})}}if(C.isLocaleAware&&!j){let L=K(n).detectLocale(new _($,{},"view",J));if(X===null&&L!==C.defaultLocale){let I=Z.pathname==="/"?"":Z.pathname;return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${I}${Z.search}`}})}}J=J.replace("//","/");let D=[],G=[],B=null,Q={},S=null,V=!1,x=[];try{let L=RO(this.flatViewRoutes,J);if(L){if(B=L.routePath,Q=L.params,D=L.route.exec,G=L.route.middleware,x=L.route.features,V=G.includes("no-stream"),T&&this.partialRendering){let I=$.headers.get(nf),E=x4({flatViewRoutes:this.flatViewRoutes,supportedLocales:K(n).supportedLocales,from:I,origin:Z.origin,to:{segments:L.route.segments,params:Q,search:Z.search}});if(E.startIndex>0)D=D.slice(E.startIndex),S={from:I,carriedViews:E.carriedViews}}}}catch(L){throw L}let A=new _($,Q,"view",B);return this.hooks.onRequestStart(A),await N.run(A,async()=>{let L=null,I=N.getStore(),E=u$.getStore(),P=(m)=>u$.run(E,()=>N.runWith(I,m));I.serverQueries=new l$(kO($));let Z0=new Set;if(I.serverQueries.onQueryFail((m)=>{Z0.add(m.error);try{P(()=>Promise.resolve(this.hooks.onRequestFail(g,m.error)).catch(()=>{}))}catch{}}),X){let m=X.replaceAll("/","");i$.setLocale(m)}else i$.setLocale();let g=I.req;fW();try{let m=!1;try{await K(gO).runMiddleware(G)}catch(H){if(!a$(H))throw H;m=!0}if(m||x.length>0&&!await this.passesFeatureGates(x))B=null,D=[],g.routePath="";let T0=K(n),NT=T0.isEnabled,pO=T0.isLocaleAware,z$={};if(pO){let H=null;if(X)H=X.replaceAll("/",""),I.setLocale(H);else H=T0.detectLocale(new _($,g.params)),I.setLocale(H);let I0=NT?T0.getPageTranslations(H,g.routePath):{};z$={supportedLocales:T0.supportedLocales,currentLocale:H,dictionary:{[H]:I0},defaultLocale:T0.defaultLocale}}await l4(z$.currentLocale??"");let T1;try{T1=await Promise.all(D.map((H)=>H(g)))}catch(H){if(!a$(H))throw H;B=null,D=[],g.routePath="",T1=[]}let{cookies:k1,headers:j0}=I;L={data:T1,cookies:k1,headers:j0,user:I.user,prefetchedData:I.serverQueries.snapshotResolved(),currentPathName:B,params:g.params,urlLocaleSegment:Y,meta:I.renderMeta(),appId:K(of).id,features:await K(h$).forClient()};let{params:r$,user:cO}=L,J$={},t$={};for(let H of T1??[]){let[I0,Y$]=Object.entries(H)?.[0]??[];if(!I0||!Y$)continue;t$[`${I0}:${B}`]=Y$.breadcrumb,J$[I0]=Y$}let U1=J$.FILE;if(U1){for(let H of k1)j0.append("Set-Cookie",H.toString());try{await this.onRequestEnd(g)}catch(H){R1.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await vT(U1,j0)}if(T){j0.set("Content-Type","application/x-ndjson; charset=utf-8"),j0.append("Vary",nf),k1.forEach((I0)=>j0.append("Set-Cookie",I0.toString())),await this.hooks.onRequestEnd(g);let H={meta:S&&!I.metadata.touched?null:L.meta,data:{[J]:J$},breadcrumbs:t$,prefetchedData:I.serverQueries.snapshotResolved(),i18n:z$,features:L.features,is404:!B,appId:L.appId,partial:S};return new Response(i4(H,I.serverQueries,void 0,({aborted:I0})=>P(()=>this.completeStream(g,I.serverQueries.summarize(I0)))),{headers:j0})}if(j0.set("Content-Type","text/html; charset=utf-8"),!V)j0.append("Vary","User-Agent");for(let H of k1)j0.append("Set-Cookie",H.toString());let iO=Bun.CSRF.generate(process.env.SECRET);j0.append("Set-Cookie",`csrf_token=${iO}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(g)}catch(H){R1.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await this.render({req:g,runInRequestScope:P,csrfTokenHMAC:Buffer.from(""),currentPathName:B,headers:j0,i18n:z$,params:r$,pathname:Z.pathname,serverQueries:I.serverQueries,userAgent:$.headers.get("user-agent"),noStream:V,url:Z,user:cO,viewData:J$,breadcrumbs:t$,urlLocaleSegment:Y,meta:L.meta,appId:L.appId,features:L.features,isOgRequest:j})}catch(m){if(m.kind===mO)if(T)return BX(m.payload.viewData??m.payload.api);else return jW(m.payload.view);if(!Z0.has(m))this.hooks.onRequestFail(g,m);if(qO(m))return console.error(m),T?d$():jW(OW());if(m instanceof W$&&m.status===403)return T?d$():jW(OW());throw m}},O)}}function JW(){let $=JSON.stringify({error:{message:"Not found"}});return new Response($,{status:404,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}class r4 extends N0{routes={"/api-routes":this.get(()=>{let $=K(QT).flatRoutes,O=[];for(let[Z,T]of Object.entries($))for(let[j,f]of Object.entries(T)){let{exec:W,middleware:z}=f;O.push({path:Z,method:j,middleware:z})}return O}),"/view-routes":this.get(()=>{let $=K(yO).flatViewRoutes,O=[];for(let[Z,{middleware:T,viewPath:j}]of Object.entries($))O.push({path:Z,method:"GET",viewPath:j,middleware:T});return O})}}var KT="access_token";function KX($,O){let Z=$.body.getReader(),T=!1,j=()=>{if(T)return;T=!0;try{O()}catch(W){console.error(W)}},f=new ReadableStream({async pull(W){let z;try{z=await Z.read()}catch(J){j(),W.error(J);return}if(z.done){j();try{W.close()}catch{}return}try{W.enqueue(z.value)}catch{}},async cancel(W){try{await Z.cancel(W)}finally{j()}}},{highWaterMark:0});return new Response(f,{status:$.status,statusText:$.statusText,headers:$.headers})}function u4($){let{status:O=400,data:Z,headers:T}=$,j=new Headers({"Content-Type":"application/json",...T});if(!j.has("Cache-Control"))j.set("Cache-Control","no-store");return new Response(JSON.stringify(Z),{status:O,headers:j})}function s4($,O,Z){let T=[];O?.forEach((W,z)=>T.push([z,W]));let j=[...typeof O?.getSetCookie==="function"?O.getSetCookie():[],...Array.from(Z??[])];if(T.length===0&&j.length===0)return $;let f=(W)=>{for(let[z,J]of T){if(z.toLowerCase()==="set-cookie")continue;if(!W.has(z))W.set(z,J)}for(let z of j)W.append("Set-Cookie",z)};try{return f($.headers),$}catch{let W=new Headers($.headers);return f(W),new Response($.body,{status:$.status,statusText:$.statusText,headers:W})}}class QT{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor($){let O=e2();this.onRequestStart=$.onRequestStart??O.onRequestStart,this.onRequestEnd=$.onRequestEnd??O.onRequestEnd,this.onRequestFail=$.onRequestFail??O.onRequestFail,this.flatRoutes=Pf({"/":$.rootRouter,"/auth":Lf,"/__gemi__/services/i18n":Sf,"/__gemi__/services/logs":Ef,"/__gemi__/services/image":Nf,"/__gemi__/debug":r4})}getRouteHandlerAndParams($){let O=new URL($.url),Z=o4(O.pathname),T={},j;for(let[f]of Object.entries(this.flatRoutes))try{let W=new URLPattern({pathname:f});if(W.test({pathname:Z})){j=f,T=W.exec({pathname:Z})?.pathname.groups;break}}catch(W){console.error(W)}return{params:T,path:j}}async runRouteMiddleware($,O){let T=this.flatRoutes[$][O.rawRequest.method].middleware;try{await K(gO).runMiddleware(T)}catch(j){if(j.kind===mO)return u4(j.payload.api);else{if(a$(j))return JW();if(this.onRequestFail(O,j),console.error(j),qO(j))return d$();throw j}}}async getRouteData($){let O=this.flatRoutes[$],Z=N.getStore(),T=O[Z.req.rawRequest.method].exec??(()=>Promise.resolve({})),j={};try{j=await T()}catch(f){if(f.kind===mO)return u4(f.payload.api);if(a$(f))return JW();if(this.onRequestFail(Z.req,f),console.error(f),qO(f))return d$();throw f}return j}isFrameworkRoute($){return $.startsWith("/__gemi__")}async endRequest($,O,Z){let T=async()=>{try{if(!this.isFrameworkRoute(Z))await this.onRequestEnd(O)}catch(j){R1.error(j?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(j)})}finally{$.destroy()}};if(!$.hasPendingWork()){await T();return}$.whenIdle().then(T).catch((j)=>{console.error(j)})}isOpenEndedBody($,O){return $.method!=="HEAD"&&O.body!==null&&!O.headers.has("Content-Length")}async handleApiRequest($,O){let{params:Z,path:T}=this.getRouteHandlerAndParams($),j=this.flatRoutes[T];if(!j||!j[$.method])return new Response(JSON.stringify({error:{message:"Not found"}}),{status:404});let f=new _($,Z,"api",T);if(!this.isFrameworkRoute(T))this.onRequestStart(f);return await N.run(f,async()=>{let W=N.getStore(),z=!1,J=async()=>{z=!0,await this.endRequest(W,f,T)};try{let Y=K(n);if(Y.isEnabled){let D=Y.detectLocale(f);W.setLocale(D)}W.setRequest(f);let X=await this.runRouteMiddleware(T,f);if(X instanceof Response){let D=s4(X,W.headers,W.cookies);return await J(),D}let C=await this.getRouteData(T),F=W.headers,U=W.cookies;if(C instanceof Response){let D=s4(C,F,U);if(this.isOpenEndedBody($,D)){let G=KX(D,()=>this.endRequest(W,f,T));return z=!0,G}return await J(),D}return F.set("Content-Type","application/json"),U.forEach((D)=>F.append("Set-Cookie",D.toString())),await J(),new Response(JSON.stringify(C),{headers:F})}catch(Y){if(!z)try{await J()}catch(X){console.error(X)}throw Y}},O)}async dispatchAs($,O,Z,T){let j=new URL($.rawRequest.url).origin,f=new URL(`${j}/api${Z}`),W=`/api${Z.split(/[?#]/)[0]}`;if(!Z.startsWith("/")||f.origin!==j||f.pathname!==W||f.hash!==""||f.pathname.startsWith("/api/__gemi__")||f.pathname==="/api/auth"||f.pathname.startsWith("/api/auth/"))throw Error(`dispatchAs: "${Z}" is not an app api path. Pass the route's own path, without "/api", with every param encoded.`);let z=new Headers,J=$.cookies.get(KT);if(J)z.set("Cookie",`${KT}=${J}`);let Y=$.headers.get(KT);if(Y)z.set(KT,Y);let X=$.headers.get("User-Agent");if(X)z.set("User-Agent",X);let C;if(T instanceof FormData)C=T;else if(T!==void 0)z.set("Content-Type","application/json"),C=JSON.stringify(T);let F=new Request(f,{method:O,headers:z,body:C});if(n4(F,nO($)),$.domain)s$(F,$.domain);return N.exit(()=>a4.exit(()=>this.handleApiRequest(F)))}}import{timingSafeEqual as QX}from"crypto";var LT="",FW="*",VX=60000,LX=1e4,YW=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,VT=16,t4=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,XW="x-forwarded-host";function e4($){return $.startsWith(":")}function CW($,O){if($===null)return!1;let Z=Buffer.from($,"utf8"),T=Buffer.from(O,"utf8");return Z.length===T.length&&QX(Z,T)}function SX($){if(!$)return null;if($===!0)return{header:XW,secret:null};return{header:($.hostHeader??XW).toLowerCase(),secret:$.secret?{header:$.secret.header.toLowerCase(),value:$.secret.value}:null}}function IX($){if(!$||$===!0)return;let{hostHeader:O,secret:Z}=$;if(O!==void 0&&(typeof O!=="string"||!t4.test(O)))throw Error(`\`route.domains.trustProxy.hostHeader\` must be a single header name, e.g. "x-forwarded-host". Got ${JSON.stringify(O)}.`);if(!Z)return;if(typeof Z.header!=="string"||!t4.test(Z.header))throw Error(`\`route.domains.trustProxy.secret.header\` must be a header name. Got "${Z.header}".`);if(Z.header.toLowerCase()===(O??XW).toLowerCase())throw Error("`route.domains.trustProxy.secret.header` names the same header as `hostHeader`; the secret needs a header of its own.");if(typeof Z.value!=="string"||Z.value.length<VT)throw Error(`\`route.domains.trustProxy.secret.value\` must be at least ${VT} characters. A guessable one lets any client name its own host.`)}function Z1($){if(!$)return null;try{return new URL(`http://${$.trim()}`).hostname.toLowerCase().replace(/\.$/,"")||null}catch{return null}}function MX($){try{let O=new URL(`http://${$.trim()}`),Z=O.hostname.toLowerCase().replace(/\.$/,"");return Z?O.port?`${Z}:${O.port}`:Z:null}catch{return null}}function NX($){let O=Z1($.root),Z=$.root?.trim().toLowerCase().replace(/\.$/,"");if(!O||O!==Z||!O.split(".").every((f)=>YW.test(f)))throw Error(`\`route.domains.root\` must be a bare hostname, e.g. "example.com" \u2014 no scheme, port or path. Got "${$.root}".`);if($.custom&&($.custom.cacheTtlMs??0)<0)throw Error(`\`route.domains.custom.cacheTtlMs\` is ${$.custom.cacheTtlMs}; it cannot be negative. Use 0 to disable the cache.`);if($.ask&&$.ask.secret.length<VT)throw Error(`\`route.domains.ask.secret\` must be at least ${VT} characters. A guessable one is worse than leaving \`ask\` out.`);IX($.trustProxy);let T=new Set,j=null;for(let f of $.groups??[]){let{subdomain:W}=f;if(T.has(W))throw Error(`\`route.domains\` declares the subdomain "${W}" twice.`);if(T.add(W),e4(W)){if(!/^:[A-Za-z_][A-Za-z0-9_]*$/.test(W))throw Error(`"${W}" is not a valid param subdomain. It must be a single \`:name\` label.`);if(j)throw Error(`\`route.domains\` declares two param subdomains, "${j.subdomain}" and "${W}"; a host could match either.`);j=f;continue}if(f.exists)throw Error(`The subdomain "${W}" is fixed, so \`exists\` has no param to check. It only applies to a \`:param\` subdomain.`);if(!W.split(".").every((z)=>YW.test(z)))throw Error(`"${W}" is not a valid subdomain.`)}if($.custom&&!T.has($.custom.group))throw Error(`\`route.domains.custom.group\` is "${$.custom.group}", but no group declares that subdomain.`);if($.ask&&j&&!j.exists)throw Error(`\`route.domains.ask\` is set, so "${j.subdomain}" needs an \`exists\` to say which tenants are real. Without one every host under the root would be approved for a certificate.`)}class DW{root;hostTrust;fixed=new Map;param=null;custom;cacheTtlMs;cache=new Map;inFlight=new Map;askSecret;proxySecretHeader;constructor($){NX($),this.root=Z1($.root),this.hostTrust=SX($.trustProxy);for(let O of $.groups??[])if(e4(O.subdomain))this.param={...O,name:O.subdomain.slice(1)};else this.fixed.set(O.subdomain.toLowerCase(),O);this.custom=$.custom??null,this.cacheTtlMs=this.custom?.cacheTtlMs??VX,this.askSecret=$.ask?.secret??null,this.proxySecretHeader=this.hostTrust?.secret?.header??null}forwardedHost($){let O=this.hostTrust;if(!O)return null;if(O.secret&&!CW($.headers.get(O.secret.header),O.secret.value))return null;return $.headers.get(O.header)?.split(",")[0]?.trim()||null}hostOf($){return Z1(this.forwardedHost($))??Z1(new URL($.url).host)}publicOrigin($){let O=new URL($.url),Z=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim(),T=Z==="http"||Z==="https"?Z:O.protocol.replace(/:$/,""),j=this.forwardedHost($),f=j&&Z1(j)?MX(j):null;return`${T}://${f??O.host}`}async resolve($){let O=this.hostOf($);if(!O)return null;let Z=await this.match(O,$);if(Z)return Z;if(this.custom?.fallback&&!this.isUnderRoot(O))return{host:O,group:FW,params:{},custom:!0};return null}async allows($,O){let Z=Z1($);return Z?await this.match(Z,O)!==null:!1}isUnderRoot($){return $===this.root||$.endsWith(`.${this.root}`)}async match($,O){if($===this.root)return{host:$,group:LT,params:{},custom:!1};if($.endsWith(`.${this.root}`)){let T=$.slice(0,-(this.root.length+1)),j=this.fixed.get(T);if(j)return{host:$,group:j.subdomain,params:{},custom:!1};if(this.param&&YW.test(T)){let f={[this.param.name]:T};if(this.param.exists&&!await this.param.exists(f,O))return null;return{host:$,group:this.param.subdomain,params:f,custom:!1}}return null}if(!this.custom)return null;let Z=await this.resolveCustom($);return Z?{host:$,group:this.custom.group,params:Z,custom:!0}:null}async resolveCustom($){let O=Date.now(),Z=this.cache.get($);if(Z&&Z.expiresAt>O)return this.cache.delete($),this.cache.set($,Z),Z.value;let T=this.inFlight.get($);if(T)return T;let j=(async()=>await this.custom.resolve($)??null)();this.inFlight.set($,j);let f;try{f=await j}finally{this.inFlight.delete($)}if(this.cacheTtlMs>0){if(this.cache.size>=LX)this.cache.delete(this.cache.keys().next().value);this.cache.delete($),this.cache.set($,{value:f,expiresAt:Date.now()+this.cacheTtlMs})}return f}forget($){if($===void 0)this.cache.clear();else{let O=Z1($);if(O)this.cache.delete(O)}}}var xX="/__gemi__/domains/ask";class s0{static token="router.domains";resolver;acceptsCustomDomains;groups=new Map;constructor($,O){this.groups.set(LT,$);let{domains:Z}=O;if(this.acceptsCustomDomains=Boolean(Z?.custom),!Z){this.resolver=null;return}this.resolver=new DW(Z);let T=(j)=>({api:j.api?new QT({...O.api,...j.api}):$.api,view:j.view?new yO({...O.view,...j.view}):$.view});for(let j of Z.groups??[])this.groups.set(j.subdomain,T(j));if(Z.custom?.fallback)this.groups.set(FW,T(Z.custom.fallback))}async route($){if(!this.resolver)return this.dispatchers(null);if(this.resolver.proxySecretHeader)$5($,this.resolver.proxySecretHeader);let O=await this.resolver.resolve($);if(!O)return null;return s$($,O),this.dispatchers(O)}async ask($){if(!this.resolver?.askSecret||$.method!=="GET")return null;let O=new URL($.url);if(O.pathname!==xX)return null;if(!CW(O.searchParams.get("secret"),this.resolver.askSecret))return null;let Z=O.searchParams.get("domain"),T=Z?await this.resolver.allows(Z,$):!1;return new Response(null,{status:T?200:404})}dispatchers($){return this.groups.get($?.group??LT)}viewDispatchers(){return Array.from(new Set(Array.from(this.groups.values(),($)=>$.view)))}}function O5($){let O=new Date($??0).getTime();return Number.isFinite(O)?O:0}var Z5=600000;function T5($,O){return[aO($,O),aO($,O-1)]}class b{static token="auth";config;provider;constructor($={},O=new lT){this.config=j5(lW($),$),this.provider=O}get userProvider(){return this.provider}accessTokenCookieOptions($,O){return{expires:O,secure:this.publicOrigin($).startsWith("https://"),httpOnly:!0,domain:this.cookieDomain($)}}publicOrigin($){let O=K().bound(s0)?K(s0).resolver:null;return O?O.publicOrigin($.rawRequest):new URL($.rawRequest.url).origin}cookieDomain($){let O=this.config.cookieDomain;if(!O)return;let Z=O==="root"?K(s0).resolver?.root:Z1(O);if(!Z)throw Error('`auth.cookieDomain` is "root", but `route.domains` is not configured.');let T=$.domain?.host??Z1(new URL($.rawRequest.url).host);return T===Z||T?.endsWith(`.${Z}`)?Z:void 0}async getSession($,O){if(!$)return null;if(!pT($))return this.config.migrateLegacySession?this.convertLegacySession($,O,this.config.migrateLegacySession):null;let Z=await this.userProvider.findSession({token:$,userAgent:O});if(!Z?.user)return null;let T=Date.now(),j=O5(Z.expiresAt),f=O5(Z.absoluteExpiresAt);if(j<=T||f<=T)return await this.userProvider.deleteSession({token:$}),null;let z=await this.slideSession(Z,T);return z.user.extension=await this.config.extendSession(z.user),z}async convertLegacySession($,O,Z){let T=N.getStore()?.req;if(!T)return null;let j=Date.now(),f=Math.floor(j/Z5),W=null,z=await this.userProvider.findSession({token:$,userAgent:O});if(z?.user){if(!await Z(z,{token:$,req:T,userAgent:O}))return null;let Y=aO($,f),X=z.user.id;if(await this.userProvider.withLegacySessionLock($,async()=>{if(!await this.userProvider.claimLegacySession({token:$}))return!1;return await this.userProvider.createSessionV2({token:Y,userId:X,userAgent:O,...this.freshLifetime(j)}),!0}))W=Y}if(!W){for(let Y of T5($,f))if((await this.userProvider.findSession({token:Y,userAgent:O}))?.user){W=Y;break}}if(!W)return null;let J=await this.getSession(W,O);if(J)T.ctx().setCookie("access_token",W,this.accessTokenCookieOptions(T,new Date(J.expiresAt)));return J}async revokeSession($,O){if(!$)return await this.userProvider.deleteSession({token:$}),null;if(pT($)||!this.config.migrateLegacySession){let j=await this.userProvider.findSession({token:$,userAgent:O});return await this.userProvider.deleteSession({token:$}),j}let Z=Math.floor(Date.now()/Z5),T=T5($,Z);return this.userProvider.withLegacySessionLock($,async()=>{let j=await this.userProvider.findSession({token:$,userAgent:O});for(let f of T){if(j?.user)break;j=await this.userProvider.findSession({token:f,userAgent:O})}await this.userProvider.deleteSession({token:$});for(let f of T)await this.userProvider.deleteSession({token:f});return j})}requestCarryingCookie($){let O=N.getStore()?.req;return O?.cookies.get("access_token")===$?O:null}async slideSession($,O){let Z=this.config.sessionExpiresInHours*3600000;if(new Date($.expiresAt).getTime()-O>=Z/2)return $;let T=new Date(Math.min(O+Z,new Date($.absoluteExpiresAt).getTime())),j=await this.userProvider.updateSession({token:$.token,expiresAt:T}),f=this.requestCarryingCookie($.token);if(f)f.ctx().setCookie("access_token",$.token,this.accessTokenCookieOptions(f,T));if(!j)return $;return{...$,expiresAt:j.expiresAt??T}}freshLifetime($){return{expiresAt:new Date($+this.config.sessionExpiresInHours*3600000),absoluteExpiresAt:new Date($+this.config.sessionAbsoluteExpiresInHours*3600000)}}async generateMagicLink($){}async upsertSession($){await this.userProvider.findSession({token:"",userAgent:""})}async authenticate($){try{let O=await this.userProvider.findUserByEmailAddress($,!1);if(!O)throw Error(`User not found with email: ${$}`);let Z=await this.createOrUpdateSession({email:$,id:O.id}),T=new _;if(T.ctx().setCookie("access_token",Z.token,this.accessTokenCookieOptions(T,Z.expiresAt)),Z?.user)Z.user.extension=await this.config.extendSession(Z.user);return Z}catch(O){console.log(O)}}async createOrUpdateSessionV2($){let O=await this.createOrUpdateSession($),Z=null;if(O?.user)Z=await this.config.extendSession(O.user),O.user.extension=Z;return O}async createOrUpdateSession($){let O=new _,Z=$.id??(await this.userProvider.findUserByEmailAddress($.email,!1))?.id;if(!Z)throw new q1;let T=Bun.env.NODE_ENV==="development"?"local":O.headers.get("User-Agent"),j=hW(Z),f=await this.userProvider.createSessionV2({token:j,userId:Z,userAgent:T,...this.freshLifetime(Date.now())}),W=await this.userProvider.findSession({token:j,userAgent:T??""});return W?.user?W:f}async createMagicLinkToken($){let O=await this.userProvider.findUserByEmailAddress($,!1);if(O){await this.userProvider.deleteMagicLinkToken($);let Z=await this.config.generateMagicLinkToken($),T=(Number.parseInt(_X(4).toString("hex"),16)%1e6).toString().padStart(6,"0");return await this.userProvider.createMagicLinkToken({email:$,token:Z,pin:T}),{user:O,email:$,pin:T,token:Z}}return{}}}import{AsyncLocalStorage as AX}from"async_hooks";class UW{config;static token="broadcast";publishCb;context=new AX;constructor($){this.config=$}get channels(){return this.config.channels}onPublish($){this.publishCb=$}publish(...$){let[O,Z,T]=$;this.publishCb(O,Z,T)}async handleMessage($,O){let Z=JSON.parse(O);if(Z.type==="subscribe"){let T=Object.entries(this.channels).sort(([j],[f])=>j.length-f.length);for(let[j,f]of T){let W=new URLPattern({pathname:j});if(W.test({pathname:Z.topic})){let z=W.exec({pathname:Z.topic})?.pathname.groups,J=new f;if(await J.subscribe.call(J,z))$.subscribe(Z.topic);break}}}if(Z.type==="broadcast")$.publish(Z.topic,JSON.stringify({topic:Z.topic,data:Z.payload}));if(Z.type==="unsubscribe")$.unsubscribe(Z.topic)}run($,O){let Z=f5($.get("Cookie"));this.context.run({headers:$,cookies:Z},O)}}class ST extends O0{static getFacadeAccessor(){return UW}static channel($,O){let Z=this.getFacadeRoot(),T=Z.channels[$];if(!T)return console.error(`Channel ${$} not found`),{publish:()=>{}};let j=new T;return{publish:(f,W=!1)=>{let z=s($,O);Z.publish(z,JSON.stringify({topic:z,data:j.publish(f)}),W)}}}}class Z$ extends O0{static getFacadeAccessor(){return b}static async user(){let $=N.getStore(),O=ST.getFacadeRoot().context.getStore(),Z="",T="";if($?.req)Z=$.req.cookies.get("access_token"),T=$.req.headers.get("User-Agent");if(O?.cookies)T=O.headers.get("User-Agent"),Z=O.cookies.get("access_token");let j=$?.user;if(!j)j=(await this.getFacadeRoot().getSession(Z,T))?.user,$?.setUser(j);if(j)return j;throw new q1({redirectTo:sO($?.req,this.getFacadeRoot().config.signInPath)})}static intendedUrl($){let O=N.getStore()?.req;return $O(O?.search.get(C$),$??this.getFacadeRoot().config.redirectPath)}static async guard($){let O=await Z$.user();if(!await $(O))throw new qT}static async guardSafe($){let O=await Z$.user();try{return await $(O)}catch(Z){return!1}}static async authenticate($){return await this.getFacadeRoot().authenticate($)}static async createMagicLink($){return await this.getFacadeRoot().createMagicLinkToken($)}}class IT{static ensure($,O={}){let Z=N.getStore();if(Z.req.kind==="api")throw Error("Query.prefetch() cannot be called from an API request");return Z.serverQueries??=new l$(kO(Z.req.rawRequest)),Z.serverQueries.ensure($,O,"prefetch")}static async instant($,...O){let Z=IT.ensure($,O[0]);if(await Z.promise,Z.status==="rejected")throw Z.error;return Z.data}static prefetch($,...O){IT.ensure($,O[0])}static noPrefetch(){let $=N.getStore();if($.req.kind==="api")throw Error("Query.noPrefetch() cannot be called from an API request");$.serverQueries??=new l$(kO($.req.rawRequest)),$.serverQueries.muteDiscoveryHints()}}function W5($,O,Z="/"){let T=new URL($.origin),j=O.host?O.host:O.subdomain?`${O.subdomain}.${$.root}`:$.root,f=new URL(Z.startsWith("/")?Z:`/${Z}`,T),W=EX(j);if(!W)throw Error(`"${j}" is not a hostname, so there is no URL for it. Give a bare host, optionally with a port \u2014 no scheme, path or credentials.`);if(f.hostname=W.hostname,W.port)f.port=W.port;return f.toString()}function EX($){try{let O=new URL(`http://${$.trim()}`);return O.host===$.trim().toLowerCase()&&O.pathname==="/"?{hostname:O.hostname,port:O.port}:null}catch{return null}}class z5{static absolute($,...O){return`${process.env.HOST_NAME}${s(String($),O[0]??{})}`}static relative($,...O){return s(String($),O[0]??{})}static forDomain($,O,...Z){let T=K(s0).resolver;if(!T)throw Error("`Url.forDomain` needs `route.domains` to be configured.");let j=N.getStore()?.req?.rawRequest,f=j?T.publicOrigin(j):process.env.HOST_NAME;if(!f)throw Error("`Url.forDomain` outside a request needs `HOST_NAME` for the protocol.");return W5({root:T.root,origin:f},$,s(String(O),Z[0]??{}))}}class J5{name="Meta";static description($){N.getStore().metadata.description($)}static title($){N.getStore().metadata.title($)}static openGraph($){N.getStore().metadata.openGraph($)}}var PX={set($,O,Z){N.getStore().setCookie($,O,Z)},setIfAbsent($,O,Z){if(N.getStore().req.cookies.has($))return!1;return N.getStore().setCookie($,O,Z),!0},delete($,O){N.getStore().deleteCookie($,O)}};class GW{config;static token="redis";instance=null;constructor($={}){this.config=$}get client(){return this.instance??=new(HX())(this.config.url,this.config.options)}set client($){this.instance=$}}function HX(){let $=globalThis.Bun?.RedisClient;if(typeof $!=="function")throw Error("Redis requires Bun's built-in Redis client, which this runtime does not provide. Run the app under Bun, or bind your own client for the 'redis' token.");return $}class D1 extends O0{static getFacadeAccessor(){return GW}static get client(){return this.getFacadeRoot().client}static get($){return D1.client.get($)}static set($,O){return D1.client.set($,O)}static del(...$){return D1.client.del(...$)}static exists($){return D1.client.exists($)}static incr($){return D1.client.incr($)}static expire($,O){return D1.client.expire($,O)}static ttl($){return D1.client.ttl($)}}class Y5 extends O0{static getFacadeAccessor(){return D$}static consume($,O={}){return this.getFacadeRoot().consume($,O)}}class X5 extends O0{static getFacadeAccessor(){return h$}static enabled($){return this.getFacadeRoot().enabled($)}static all(){return this.getFacadeRoot().forClient()}static explain($){return this.getFacadeRoot().explain($)}static for($){return this.getFacadeRoot().for($)}static list(){return this.getFacadeRoot().list()}static set($,O,Z){return this.getFacadeRoot().set($,O,Z)}static refresh(){return this.getFacadeRoot().refresh()}static invalidate(){return this.getFacadeRoot().invalidate()}}class MT{bound;constructor($){this.bound=$}get name(){return this.bound??ZO()}get sql(){return this.connection().sql}get dialect(){return this.connection().dialect}async query($){return await this.run($,"query")}async execute($){let O=await this.run($,"execute");return Number(O?.count??0)}async transaction($){let O=this.name,Z=this.connection(O);return D5(Z.sql,(T)=>F5(O,()=>$(T)),{slowTransactionThreshold:Z.config.slowTransactionThreshold,connection:O})}async schema(){let $=this.connection(),{introspect:O}=await import("./chunk-evbvpfv6.js");return O(this.handle()??$.sql,$.dialect)}run($,O){let Z=this.connection(),{text:T,values:j}=G5($,U5(Z.dialect),O);return(this.handle()??Z.sql).unsafe(T,j)}handle(){let $=OO();if($===void 0)return;return ZO()===this.name?$:void 0}connection($=this.name){return C5($),K(TO).connection($)}}var o$=new MT;class B5 extends O0{static getFacadeAccessor(){return TO}static connection($){return new MT($)}static get sql(){return o$.sql}static get dialect(){return o$.dialect}static query($){return o$.query($)}static execute($){return o$.execute($)}static transaction($){return o$.transaction($)}static schema(){return o$.schema()}static close(){return this.getFacadeRoot().close()}}export{G1 as ic,e$ as jc,ET as kc,N0 as lc,bT as mc,NW as nc,uO as oc,vT as pc,B1 as qc,w0 as rc,P5 as sc,H5 as tc,yT as uc,pT as vc,hW as wc,K9 as xc,lW as yc,y5 as zc,lT as Ac,UW as Bc,ST as Cc,Z$ as Dc,i$ as Ec,IT as Fc,z5 as Gc,vO as Hc,R1 as Ic,J5 as Jc,PX as Kc,GW as Lc,D1 as Mc,D$ as Nc,Y5 as Oc,w4 as Pc,tf as Qc,v4 as Rc,g4 as Sc,sY as Tc,R4 as Uc,ef as Vc,oY as Wc,rY as Xc,$W as Yc,k4 as Zc,m4 as _c,h$ as $c,X5 as ad,MT as bd,B5 as cd,If as dd,Mf as ed,ZC as fd,r2 as gd,t2 as hd,gO as id,LC as jd,e2 as kd,$4 as ld,sf as md,of as nd,d$ as od,OW as pd,WW as qd,DX as rd,jW as sd,BX as td,yO as ud,gT as vd,kW as wd,nO as xd,JW as yd,u4 as zd,s4 as Ad,QT as Bd,s0 as Cd,b as Dd,HW as Ed,bW as Fd,wW as Gd,qW as Hd,yW as Id,pW as Jd};
|
|
18
|
+
|
|
19
|
+
//# debugId=FF3A2BFEAB1B8C7464756E2164756E21
|