gemi 0.179.0 → 0.180.0

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.
Files changed (55) hide show
  1. package/dist/ai/index.js +1 -1
  2. package/dist/auth/AuthManager.d.ts +5 -4
  3. package/dist/auth/AuthManager.d.ts.map +1 -1
  4. package/dist/auth/UserProvider.d.ts +1 -1
  5. package/dist/auth/UserProvider.d.ts.map +1 -1
  6. package/dist/{chunk-q30ryk1a.js → chunk-6x3315an.js} +1 -1
  7. package/dist/chunk-gtfwk0ss.js +15 -0
  8. package/dist/{chunk-c0qq5t8a.js.map → chunk-gtfwk0ss.js.map} +5 -4
  9. package/dist/{chunk-f5mhc5eh.js → chunk-najr8410.js} +2 -2
  10. package/dist/{chunk-f5mhc5eh.js.map → chunk-najr8410.js.map} +1 -1
  11. package/dist/{chunk-xf8f9tbf.js → chunk-pqnva7v8.js} +1 -1
  12. package/dist/{chunk-66xyz4m3.js → chunk-qry4bf38.js} +4 -4
  13. package/dist/{chunk-66xyz4m3.js.map → chunk-qry4bf38.js.map} +4 -4
  14. package/dist/{chunk-ssmq5r41.js → chunk-y2rzqpgd.js} +1 -1
  15. package/dist/{chunk-51yv7x03.js → chunk-zd67c5rp.js} +1 -1
  16. package/dist/chunks/{RealtimeClient-DpAJYcF5.js → RealtimeClient-CHNbqDr7.js} +2 -2
  17. package/dist/chunks/{RealtimeClient-DpAJYcF5.js.map → RealtimeClient-CHNbqDr7.js.map} +1 -1
  18. package/dist/chunks/{ThemeProvider-DAbL-cqC.js → ThemeProvider-Bkc6A9Nn.js} +240 -9
  19. package/dist/chunks/ThemeProvider-Bkc6A9Nn.js.map +1 -0
  20. package/dist/chunks/{fetchFileRequest-yAKa_pKx.js → fetchFileRequest-BGEW4Wd7.js} +2 -2
  21. package/dist/chunks/{fetchFileRequest-yAKa_pKx.js.map → fetchFileRequest-BGEW4Wd7.js.map} +1 -1
  22. package/dist/chunks/{live-BvhWo-yY.js → live-l4vtaqXd.js} +3 -3
  23. package/dist/chunks/{live-BvhWo-yY.js.map → live-l4vtaqXd.js.map} +1 -1
  24. package/dist/chunks/{mutationExtras-_hbHxr6-.js → mutationExtras-C7UPW9XP.js} +2 -2
  25. package/dist/chunks/{mutationExtras-_hbHxr6-.js.map → mutationExtras-C7UPW9XP.js.map} +1 -1
  26. package/dist/client/ClientRouter.d.ts.map +1 -1
  27. package/dist/client/QueryResource.d.ts.map +1 -1
  28. package/dist/client/authenticationErrors.d.ts +116 -0
  29. package/dist/client/authenticationErrors.d.ts.map +1 -0
  30. package/dist/client/index.d.ts +1 -0
  31. package/dist/client/index.d.ts.map +1 -1
  32. package/dist/client/index.js +41 -53
  33. package/dist/client/index.js.map +1 -1
  34. package/dist/client/init.d.ts +15 -0
  35. package/dist/client/init.d.ts.map +1 -1
  36. package/dist/client/retryPolicy.d.ts +14 -3
  37. package/dist/client/retryPolicy.d.ts.map +1 -1
  38. package/dist/client/useMutation.d.ts.map +1 -1
  39. package/dist/facades/index.js +1 -1
  40. package/dist/http/errors.d.ts.map +1 -1
  41. package/dist/http/index.js +1 -1
  42. package/dist/http/signInHeader.d.ts +14 -0
  43. package/dist/http/signInHeader.d.ts.map +1 -0
  44. package/dist/i18n/index.js +1 -1
  45. package/dist/kernel/index.js +1 -1
  46. package/dist/server/index.js +1 -1
  47. package/dist/services/index.js +1 -1
  48. package/dist/testing/index.js +2 -2
  49. package/package.json +1 -1
  50. package/dist/chunk-c0qq5t8a.js +0 -15
  51. package/dist/chunks/ThemeProvider-DAbL-cqC.js.map +0 -1
  52. /package/dist/{chunk-q30ryk1a.js.map → chunk-6x3315an.js.map} +0 -0
  53. /package/dist/{chunk-xf8f9tbf.js.map → chunk-pqnva7v8.js.map} +0 -0
  54. /package/dist/{chunk-ssmq5r41.js.map → chunk-y2rzqpgd.js.map} +0 -0
  55. /package/dist/{chunk-51yv7x03.js.map → chunk-zd67c5rp.js.map} +0 -0
@@ -8,6 +8,6 @@
8
8
  "/**\n * Bun's default, and what both servers use when `SERVER_IDLE_TIMEOUT` is unset.\n */\nexport const DEFAULT_SERVER_IDLE_TIMEOUT = 10;\n\n/**\n * The `idleTimeout` (seconds) both `gemi dev` and `gemi start` pass to\n * `Bun.serve`, from `SERVER_IDLE_TIMEOUT` (#787).\n *\n * One reader for both servers, so a long-poll that works under `gemi start`\n * also works under `gemi dev`. Before this, only `httpProd` read the variable\n * and the dev server always ran at Bun's 10 seconds.\n *\n * It is the time a connection may stay silent, a response that has not started\n * included, before Bun closes it; `0` disables it. It does not apply to an\n * upgraded websocket (the HMR relay included), which has its own\n * `websocket.idleTimeout`.\n *\n * Unset or blank means the default. Anything that is not a whole number from 0\n * to 255 (Bun's own limits) fails the boot with the variable's name, instead\n * of Bun's \"expects idleTimeout to be an integer\", which does not say where the\n * value came from.\n */\nexport function serverIdleTimeout(raw: string | undefined = process.env.SERVER_IDLE_TIMEOUT): number {\n if (raw === undefined || raw.trim() === \"\") return DEFAULT_SERVER_IDLE_TIMEOUT;\n\n const seconds = Number(raw.trim());\n if (!Number.isInteger(seconds) || seconds < 0 || seconds > 255) {\n throw new Error(\n `SERVER_IDLE_TIMEOUT must be a whole number of seconds from 0 to 255 ` +\n `(0 disables the timeout), got ${JSON.stringify(raw)}.`,\n );\n }\n return seconds;\n}\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "0A808D783070E0E064756E2164756E21",
11
+ "debugId": "B241BB0477A0EF9B64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{X as y,Y as IJ,Z as NJ,_ as FJ}from"./chunk-f5mhc5eh.js";import{pa as T,ta as M,ua as MJ}from"./chunk-bwg7genv.js";import"./chunk-s0z61m9j.js";import{Ag as B,Ig as CJ,Jg as LJ,Kg as _J,le as ZJ,zg as UJ}from"./chunk-66xyz4m3.js";import"./chunk-9522w4e4.js";import"./chunk-z8mq4g46.js";import{Ph as e,Qh as JJ,Th as $J}from"./chunk-c0qq5t8a.js";import{Wi as xJ}from"./chunk-jwvwve00.js";import"./chunk-8zwm5n7d.js";import"./chunk-47cjayhh.js";import"./chunk-s0m717j8.js";import"./chunk-mby1wdny.js";import"./chunk-s208599z.js";import"./chunk-8v95cjc5.js";import"./chunk-q3g4xs1z.js";import"./chunk-nwg70wza.js";import"./chunk-6t9zjhm6.js";import"./chunk-dp5ha6qy.js";import"./chunk-93s13x3v.js";import"./chunk-r36kq8x1.js";import"./chunk-9mcweetq.js";import{ml as WJ}from"./chunk-zpshgset.js";import"./chunk-zm4fdsq5.js";import{Al as KJ}from"./chunk-4hj0q8fs.js";import{Cl as S}from"./chunk-e7hb47yy.js";import"./chunk-pw6ssy3a.js";import{createHash as V2}from"crypto";import{join as g,resolve as TJ,sep as AJ}from"path";import{Duplex as gJ}from"stream";import{constants as P,createBrotliCompress as fJ,createGzip as mJ}from"zlib";var uJ=["br","gzip"],hJ=1024,cJ=5,pJ=19,dJ=6;function lJ(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 oJ(J){if(J===null||J===void 0)return null;let $=new Map;for(let Z of J.split(",")){let[X,...j]=Z.split(";"),W=X.trim().toLowerCase();if(W==="")continue;let G=1;for(let Y of j){let O=Y.indexOf("=");if(O===-1)continue;if(Y.slice(0,O).trim().toLowerCase()==="q"){G=lJ(Y.slice(O+1));break}}$.set(W,G)}return $}function w(J,$=uJ){let Z=oJ(J);if(!Z)return null;let X=Z.get("*"),j=null,W=0;for(let G of $){let Y=Z.get(G)??X??0;if(Y>W)j=G,W=Y}return j}function nJ(J,$){if(!J)return!1;return J.split(",").some((Z)=>Z.trim().toLowerCase().split("=")[0].trim()===$)}function iJ(J,$){if(J==="HEAD")return!1;if($.status<200||$.status===204||$.status===206||$.status===304)return!1;if($.headers.has("Content-Range"))return!1;let Z=$.headers.get("Content-Type");if(!Z||!/^\s*text\/html\s*(;|$)/i.test(Z))return!1;if(!$.body)return!1;let X=$.headers.get("Content-Encoding");if(X&&X.trim().toLowerCase()!=="identity")return!1;if(nJ($.headers.get("Cache-Control"),"no-transform"))return!1;let j=$.headers.get("Content-Length");if(j!==null&&Number(j)<hJ)return!1;return!0}function aJ(J){let $=J==="br"?fJ({params:{[P.BROTLI_PARAM_QUALITY]:cJ,[P.BROTLI_PARAM_LGWIN]:pJ},flush:P.BROTLI_OPERATION_FLUSH}):mJ({level:dJ,flush:P.Z_SYNC_FLUSH});return gJ.toWeb($)}function tJ(J){let $=J.get("Vary");if(!$){J.set("Vary","Accept-Encoding");return}let Z=$.split(",").map((X)=>X.trim().toLowerCase());if(Z.includes("*")||Z.includes("accept-encoding"))return;J.append("Vary","Accept-Encoding")}function a(J,$){if(!iJ(J.method,$))return $;let Z=new Headers($.headers);tJ(Z);let X=w(J.headers.get("Accept-Encoding"));if(!X)return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z});let j;try{j=aJ(X)}catch{return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}return Z.set("Content-Encoding",X),Z.delete("Content-Length"),new Response($.body.pipeThrough(j),{status:$.status,statusText:$.statusText,headers:Z})}import{readdir as X2,stat as XJ}from"fs/promises";import{join as Q2}from"path";import{mkdir as I2,readFile as rJ,stat as N2,writeFile as F2}from"fs/promises";import{dirname as A2,join as sJ}from"path";import{promisify as t}from"util";import{brotliCompress as eJ,constants as R2,gzip as J2}from"zlib";var $2=".vite/static-assets.json";var r={br:".br",gzip:".gz"},Z2=["br","gzip"],B2=t(eJ),S2=t(J2);async function s(J){let $;try{$=await rJ(sJ(J,$2),"utf8")}catch{return null}let Z;try{Z=JSON.parse($)?.files}catch{return null}if(!Z||typeof Z!=="object")return null;let X={files:{}};for(let[j,W]of Object.entries(Z)){if(!Array.isArray(W))continue;X.files[j]=Z2.filter((G)=>W.includes(G))}return X}function k(J){let $=J.toString(),Z=new Bun.CryptoHasher("sha1");return Z.update($),Z.digest("hex")}async function QJ(J){let $=new Set;async function Z(X,j){let W;try{W=await X2(X,{withFileTypes:!0})}catch{return}for(let G of W){if(G.name.startsWith("."))continue;if(j&&G.name==="assets")continue;let Y=Q2(X,G.name),O=G.isDirectory(),V=G.isFile();if(G.isSymbolicLink())try{let K=await XJ(Y);O=K.isDirectory(),V=K.isFile()}catch{continue}if(V)$.add(Y);else if(O&&!G.isSymbolicLink())await Z(Y,!1)}}return await Z(J,!0),$}var j2="public, max-age=31536000, must-revalidate",W2="public, max-age=31536000, immutable";async function G2(J,$,Z){if(Z.length===0||J.headers.has("Range"))return null;let X=w(J.headers.get("Accept-Encoding"),Z);if(!X)return null;let j=$+r[X];try{let W=await XJ(j);return W.isFile()?{encoding:X,path:j,size:W.size}:null}catch{return null}}async function jJ(J,$,Z={}){let X=Bun.file($),j=Z.encodings??[],W={"Content-Type":X.type||"application/octet-stream","Cache-Control":Z.immutable?W2:j2,"Accept-Ranges":"bytes"};if(j.length>0)W.Vary="Accept-Encoding";let G=await G2(J,$,j);if(G){let V=Bun.file(G.path);return new Response(V.stream(),{headers:{...W,"Content-Encoding":G.encoding,"Content-Length":String(G.size),ETag:`${k(V.lastModified)}-${G.encoding}`}})}let Y=X.size;W.ETag=k(X.lastModified);let O=e(J.headers.get("Range"));if(O){let V=JJ(O,Y);if(!V)return ZJ(Y);return new Response(X.slice(V.start,V.end+1).stream(),{status:206,headers:{...W,"Content-Range":$J(V.start,V.end,Y),"Content-Length":String(V.length)}})}return new Response(X.stream(),{headers:{...W,"Content-Length":String(Y)}})}import{stat as U2}from"fs/promises";var R="app/client.tsx";function GJ(J,$=T){let Z=J[R]?.file;if(!Z)return;return{module:M(Z,$),preload:_(J,R,$)}}function _(J,$,Z=T){let X=[],j=new Set,W=(G)=>{if(j.has(G))return;j.add(G);let Y=J[G];if(!Y?.file)return;X.push(M(Y.file,Z));for(let O of Y.imports??[])W(O)};return W($),X}function H2(J,$,Z=T){let X=new Set(_(J,$,Z)),j=[],W=new Set,G=(O)=>{if(W.has(O))return;W.add(O);let V=J[O];if(!V)return;for(let K of V.dynamicImports??[])if(!/(^|\/)node_modules\//.test(K)&&!j.includes(K))j.push(K);for(let K of V.imports??[])G(K)};G($);let Y=[];for(let O of j)for(let V of _(J,O,Z))if(!X.has(V))X.add(V),Y.push(V);return Y}function HJ(J,$){let Z=[],X=new Set,j=new Set,W=(G)=>{if(j.has(G))return;j.add(G);let Y=J[G];if(!Y)return;for(let O of Y.imports??[])W(O);for(let O of Y.css??[])if(!X.has(O))X.add(O),Z.push(O)};return W($),Z}function YJ(J,$=T){let Z=new Map;return(X)=>{if(!Z.has(X)){let j=`${X}${WJ}`,W=J[j]?.file;Z.set(X,W?{src:M(W,$),preload:_(J,j,$),dynamicPreload:H2(J,j,$)}:void 0)}return Z.get(X)}}var OJ="x-gemi-build";function VJ(J,$=30000){let Z=JSON.stringify("gemi:chunk-reload"),X=JSON.stringify(`Failed to fetch dynamically imported module: ${J}`);return`var r=!1;try{var s=window.sessionStorage,u=window.location.href,m=JSON.parse(s.getItem(${Z})||"{}");if(!m||typeof m!=="object")m={};var d=Date.now()-m[u];if(navigator.onLine!==!1&&!(d>=0&&d<${$})){m[u]=Date.now();s.setItem(${Z},JSON.stringify(m));r=!0}}catch(e){}if(r)window.location.reload();else throw new Error(${X});export {}`}var Y2=new RegExp(`^${UJ}/.+\\.m?js$`);function v(J){return Y2.test(J)}function zJ(J){if(v(J))return new Response(VJ(J),{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store"}});if(B(J))return new Response("Not found",{status:404});return}var O2=`<!DOCTYPE html>
2
+ import{X as y,Y as IJ,Z as NJ,_ as FJ}from"./chunk-najr8410.js";import{pa as T,ta as M,ua as MJ}from"./chunk-bwg7genv.js";import"./chunk-s0z61m9j.js";import{Ag as B,Ig as CJ,Jg as LJ,Kg as _J,le as ZJ,zg as UJ}from"./chunk-qry4bf38.js";import"./chunk-9522w4e4.js";import"./chunk-z8mq4g46.js";import{Ph as e,Qh as JJ,Th as $J}from"./chunk-gtfwk0ss.js";import{Wi as xJ}from"./chunk-jwvwve00.js";import"./chunk-8zwm5n7d.js";import"./chunk-47cjayhh.js";import"./chunk-s0m717j8.js";import"./chunk-mby1wdny.js";import"./chunk-s208599z.js";import"./chunk-8v95cjc5.js";import"./chunk-q3g4xs1z.js";import"./chunk-nwg70wza.js";import"./chunk-6t9zjhm6.js";import"./chunk-dp5ha6qy.js";import"./chunk-93s13x3v.js";import"./chunk-r36kq8x1.js";import"./chunk-9mcweetq.js";import{ml as WJ}from"./chunk-zpshgset.js";import"./chunk-zm4fdsq5.js";import{Al as KJ}from"./chunk-4hj0q8fs.js";import{Cl as S}from"./chunk-e7hb47yy.js";import"./chunk-pw6ssy3a.js";import{createHash as V2}from"crypto";import{join as g,resolve as TJ,sep as AJ}from"path";import{Duplex as gJ}from"stream";import{constants as P,createBrotliCompress as fJ,createGzip as mJ}from"zlib";var uJ=["br","gzip"],hJ=1024,cJ=5,pJ=19,dJ=6;function lJ(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 oJ(J){if(J===null||J===void 0)return null;let $=new Map;for(let Z of J.split(",")){let[X,...j]=Z.split(";"),W=X.trim().toLowerCase();if(W==="")continue;let G=1;for(let Y of j){let O=Y.indexOf("=");if(O===-1)continue;if(Y.slice(0,O).trim().toLowerCase()==="q"){G=lJ(Y.slice(O+1));break}}$.set(W,G)}return $}function w(J,$=uJ){let Z=oJ(J);if(!Z)return null;let X=Z.get("*"),j=null,W=0;for(let G of $){let Y=Z.get(G)??X??0;if(Y>W)j=G,W=Y}return j}function nJ(J,$){if(!J)return!1;return J.split(",").some((Z)=>Z.trim().toLowerCase().split("=")[0].trim()===$)}function iJ(J,$){if(J==="HEAD")return!1;if($.status<200||$.status===204||$.status===206||$.status===304)return!1;if($.headers.has("Content-Range"))return!1;let Z=$.headers.get("Content-Type");if(!Z||!/^\s*text\/html\s*(;|$)/i.test(Z))return!1;if(!$.body)return!1;let X=$.headers.get("Content-Encoding");if(X&&X.trim().toLowerCase()!=="identity")return!1;if(nJ($.headers.get("Cache-Control"),"no-transform"))return!1;let j=$.headers.get("Content-Length");if(j!==null&&Number(j)<hJ)return!1;return!0}function aJ(J){let $=J==="br"?fJ({params:{[P.BROTLI_PARAM_QUALITY]:cJ,[P.BROTLI_PARAM_LGWIN]:pJ},flush:P.BROTLI_OPERATION_FLUSH}):mJ({level:dJ,flush:P.Z_SYNC_FLUSH});return gJ.toWeb($)}function tJ(J){let $=J.get("Vary");if(!$){J.set("Vary","Accept-Encoding");return}let Z=$.split(",").map((X)=>X.trim().toLowerCase());if(Z.includes("*")||Z.includes("accept-encoding"))return;J.append("Vary","Accept-Encoding")}function a(J,$){if(!iJ(J.method,$))return $;let Z=new Headers($.headers);tJ(Z);let X=w(J.headers.get("Accept-Encoding"));if(!X)return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z});let j;try{j=aJ(X)}catch{return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}return Z.set("Content-Encoding",X),Z.delete("Content-Length"),new Response($.body.pipeThrough(j),{status:$.status,statusText:$.statusText,headers:Z})}import{readdir as X2,stat as XJ}from"fs/promises";import{join as Q2}from"path";import{mkdir as I2,readFile as rJ,stat as N2,writeFile as F2}from"fs/promises";import{dirname as A2,join as sJ}from"path";import{promisify as t}from"util";import{brotliCompress as eJ,constants as R2,gzip as J2}from"zlib";var $2=".vite/static-assets.json";var r={br:".br",gzip:".gz"},Z2=["br","gzip"],B2=t(eJ),S2=t(J2);async function s(J){let $;try{$=await rJ(sJ(J,$2),"utf8")}catch{return null}let Z;try{Z=JSON.parse($)?.files}catch{return null}if(!Z||typeof Z!=="object")return null;let X={files:{}};for(let[j,W]of Object.entries(Z)){if(!Array.isArray(W))continue;X.files[j]=Z2.filter((G)=>W.includes(G))}return X}function k(J){let $=J.toString(),Z=new Bun.CryptoHasher("sha1");return Z.update($),Z.digest("hex")}async function QJ(J){let $=new Set;async function Z(X,j){let W;try{W=await X2(X,{withFileTypes:!0})}catch{return}for(let G of W){if(G.name.startsWith("."))continue;if(j&&G.name==="assets")continue;let Y=Q2(X,G.name),O=G.isDirectory(),V=G.isFile();if(G.isSymbolicLink())try{let K=await XJ(Y);O=K.isDirectory(),V=K.isFile()}catch{continue}if(V)$.add(Y);else if(O&&!G.isSymbolicLink())await Z(Y,!1)}}return await Z(J,!0),$}var j2="public, max-age=31536000, must-revalidate",W2="public, max-age=31536000, immutable";async function G2(J,$,Z){if(Z.length===0||J.headers.has("Range"))return null;let X=w(J.headers.get("Accept-Encoding"),Z);if(!X)return null;let j=$+r[X];try{let W=await XJ(j);return W.isFile()?{encoding:X,path:j,size:W.size}:null}catch{return null}}async function jJ(J,$,Z={}){let X=Bun.file($),j=Z.encodings??[],W={"Content-Type":X.type||"application/octet-stream","Cache-Control":Z.immutable?W2:j2,"Accept-Ranges":"bytes"};if(j.length>0)W.Vary="Accept-Encoding";let G=await G2(J,$,j);if(G){let V=Bun.file(G.path);return new Response(V.stream(),{headers:{...W,"Content-Encoding":G.encoding,"Content-Length":String(G.size),ETag:`${k(V.lastModified)}-${G.encoding}`}})}let Y=X.size;W.ETag=k(X.lastModified);let O=e(J.headers.get("Range"));if(O){let V=JJ(O,Y);if(!V)return ZJ(Y);return new Response(X.slice(V.start,V.end+1).stream(),{status:206,headers:{...W,"Content-Range":$J(V.start,V.end,Y),"Content-Length":String(V.length)}})}return new Response(X.stream(),{headers:{...W,"Content-Length":String(Y)}})}import{stat as U2}from"fs/promises";var R="app/client.tsx";function GJ(J,$=T){let Z=J[R]?.file;if(!Z)return;return{module:M(Z,$),preload:_(J,R,$)}}function _(J,$,Z=T){let X=[],j=new Set,W=(G)=>{if(j.has(G))return;j.add(G);let Y=J[G];if(!Y?.file)return;X.push(M(Y.file,Z));for(let O of Y.imports??[])W(O)};return W($),X}function H2(J,$,Z=T){let X=new Set(_(J,$,Z)),j=[],W=new Set,G=(O)=>{if(W.has(O))return;W.add(O);let V=J[O];if(!V)return;for(let K of V.dynamicImports??[])if(!/(^|\/)node_modules\//.test(K)&&!j.includes(K))j.push(K);for(let K of V.imports??[])G(K)};G($);let Y=[];for(let O of j)for(let V of _(J,O,Z))if(!X.has(V))X.add(V),Y.push(V);return Y}function HJ(J,$){let Z=[],X=new Set,j=new Set,W=(G)=>{if(j.has(G))return;j.add(G);let Y=J[G];if(!Y)return;for(let O of Y.imports??[])W(O);for(let O of Y.css??[])if(!X.has(O))X.add(O),Z.push(O)};return W($),Z}function YJ(J,$=T){let Z=new Map;return(X)=>{if(!Z.has(X)){let j=`${X}${WJ}`,W=J[j]?.file;Z.set(X,W?{src:M(W,$),preload:_(J,j,$),dynamicPreload:H2(J,j,$)}:void 0)}return Z.get(X)}}var OJ="x-gemi-build";function VJ(J,$=30000){let Z=JSON.stringify("gemi:chunk-reload"),X=JSON.stringify(`Failed to fetch dynamically imported module: ${J}`);return`var r=!1;try{var s=window.sessionStorage,u=window.location.href,m=JSON.parse(s.getItem(${Z})||"{}");if(!m||typeof m!=="object")m={};var d=Date.now()-m[u];if(navigator.onLine!==!1&&!(d>=0&&d<${$})){m[u]=Date.now();s.setItem(${Z},JSON.stringify(m));r=!0}}catch(e){}if(r)window.location.reload();else throw new Error(${X});export {}`}var Y2=new RegExp(`^${UJ}/.+\\.m?js$`);function v(J){return Y2.test(J)}function zJ(J){if(v(J))return new Response(VJ(J),{headers:{"Content-Type":"application/javascript","Cache-Control":"no-store"}});if(B(J))return new Response("Not found",{status:404});return}var O2=`<!DOCTYPE html>
3
3
  <html lang="en">
4
4
  <head>
5
5
  <meta charset="UTF-8" />