gemi 0.87.0 → 0.88.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.
Files changed (224) hide show
  1. package/dist/ai/index.js +2 -2
  2. package/dist/ai/index.js.map +1 -1
  3. package/dist/app/index.js +1 -1
  4. package/dist/auth/AuthController.d.ts +45 -3
  5. package/dist/auth/AuthController.d.ts.map +1 -1
  6. package/dist/auth/AuthManager.d.ts +42 -1
  7. package/dist/auth/AuthManager.d.ts.map +1 -1
  8. package/dist/auth/UserProvider.d.ts +18 -1
  9. package/dist/auth/UserProvider.d.ts.map +1 -1
  10. package/dist/auth/config.d.ts +109 -0
  11. package/dist/auth/config.d.ts.map +1 -1
  12. package/dist/auth/oneTimeCode.d.ts +99 -0
  13. package/dist/auth/oneTimeCode.d.ts.map +1 -0
  14. package/dist/auth/routes.d.ts +13 -0
  15. package/dist/auth/routes.d.ts.map +1 -1
  16. package/dist/auth/types.d.ts +8 -0
  17. package/dist/auth/types.d.ts.map +1 -1
  18. package/dist/bin/gemi.js +198 -39
  19. package/dist/bin/gemi.js.map +5 -4
  20. package/dist/bun/plugin.js +1 -1
  21. package/dist/bun/preload.js +1 -1
  22. package/dist/{chunk-3epp751c.js → chunk-0808z3mq.js} +2 -2
  23. package/dist/{chunk-3epp751c.js.map → chunk-0808z3mq.js.map} +1 -1
  24. package/dist/{chunk-q9g7g995.js → chunk-0efykzjy.js} +3 -3
  25. package/dist/{chunk-q9g7g995.js.map → chunk-0efykzjy.js.map} +1 -1
  26. package/dist/{chunk-tkhrvd30.js → chunk-16mnpn6c.js} +2 -2
  27. package/dist/{chunk-tkhrvd30.js.map → chunk-16mnpn6c.js.map} +1 -1
  28. package/dist/{chunk-r8ak7k9b.js → chunk-17nh5gfm.js} +2 -2
  29. package/dist/{chunk-r8ak7k9b.js.map → chunk-17nh5gfm.js.map} +1 -1
  30. package/dist/{chunk-m4fg0k5f.js → chunk-3ph0aj0x.js} +2 -2
  31. package/dist/{chunk-m4fg0k5f.js.map → chunk-3ph0aj0x.js.map} +1 -1
  32. package/dist/{chunk-h5mz3zdr.js → chunk-3rb5ht8v.js} +3 -3
  33. package/dist/{chunk-h5mz3zdr.js.map → chunk-3rb5ht8v.js.map} +1 -1
  34. package/dist/chunk-3w65ra1s.js +5 -0
  35. package/dist/{chunk-vme0xdf4.js.map → chunk-3w65ra1s.js.map} +1 -1
  36. package/dist/{chunk-70ha7xye.js → chunk-443dm19c.js} +2 -2
  37. package/dist/{chunk-70ha7xye.js.map → chunk-443dm19c.js.map} +1 -1
  38. package/dist/{chunk-41mz2fs2.js → chunk-49v5xq8q.js} +2 -2
  39. package/dist/{chunk-41mz2fs2.js.map → chunk-49v5xq8q.js.map} +1 -1
  40. package/dist/{chunk-hj93em1r.js → chunk-4v4v5wkh.js} +2 -2
  41. package/dist/{chunk-hj93em1r.js.map → chunk-4v4v5wkh.js.map} +1 -1
  42. package/dist/{chunk-9yd5d1ff.js → chunk-523t3bcz.js} +4 -4
  43. package/dist/{chunk-9yd5d1ff.js.map → chunk-523t3bcz.js.map} +1 -1
  44. package/dist/{chunk-xcqw162y.js → chunk-56p9a7nx.js} +3 -3
  45. package/dist/{chunk-xcqw162y.js.map → chunk-56p9a7nx.js.map} +1 -1
  46. package/dist/{chunk-4f48z676.js → chunk-61rs7kxf.js} +2 -2
  47. package/dist/{chunk-4f48z676.js.map → chunk-61rs7kxf.js.map} +1 -1
  48. package/dist/{chunk-zgy7jtcq.js → chunk-64z2zt41.js} +2 -2
  49. package/dist/{chunk-zgy7jtcq.js.map → chunk-64z2zt41.js.map} +1 -1
  50. package/dist/{chunk-2zsfntsf.js → chunk-6dyt8w27.js} +4 -4
  51. package/dist/{chunk-2zsfntsf.js.map → chunk-6dyt8w27.js.map} +1 -1
  52. package/dist/{chunk-f32t2eny.js → chunk-6rc6yec4.js} +3 -3
  53. package/dist/{chunk-f32t2eny.js.map → chunk-6rc6yec4.js.map} +1 -1
  54. package/dist/{chunk-bjd9wr4t.js → chunk-6s6fj97j.js} +2 -2
  55. package/dist/{chunk-bjd9wr4t.js.map → chunk-6s6fj97j.js.map} +1 -1
  56. package/dist/{chunk-ngqgm026.js → chunk-6tt3ynm7.js} +2 -2
  57. package/dist/{chunk-ngqgm026.js.map → chunk-6tt3ynm7.js.map} +1 -1
  58. package/dist/{chunk-brd6tb1s.js → chunk-6y62ccam.js} +3 -3
  59. package/dist/{chunk-brd6tb1s.js.map → chunk-6y62ccam.js.map} +1 -1
  60. package/dist/{chunk-f6qhsdsn.js → chunk-713fezaz.js} +2 -2
  61. package/dist/{chunk-f6qhsdsn.js.map → chunk-713fezaz.js.map} +1 -1
  62. package/dist/{chunk-27k2zsq8.js → chunk-78gs7xvn.js} +2 -2
  63. package/dist/{chunk-27k2zsq8.js.map → chunk-78gs7xvn.js.map} +1 -1
  64. package/dist/chunk-7awbkbbx.js +17 -0
  65. package/dist/{chunk-z61sdvb0.js.map → chunk-7awbkbbx.js.map} +14 -10
  66. package/dist/{chunk-4mynkrv4.js → chunk-7r78cdyd.js} +2 -2
  67. package/dist/{chunk-4mynkrv4.js.map → chunk-7r78cdyd.js.map} +1 -1
  68. package/dist/{chunk-fsad7g9c.js → chunk-8dpnghvk.js} +2 -2
  69. package/dist/{chunk-fsad7g9c.js.map → chunk-8dpnghvk.js.map} +1 -1
  70. package/dist/{chunk-mxmw42c1.js → chunk-8pesk2wm.js} +2 -2
  71. package/dist/{chunk-mxmw42c1.js.map → chunk-8pesk2wm.js.map} +1 -1
  72. package/dist/{chunk-tx51rqct.js → chunk-8r7xhy1g.js} +2 -2
  73. package/dist/{chunk-tx51rqct.js.map → chunk-8r7xhy1g.js.map} +1 -1
  74. package/dist/{chunk-c8bjqw07.js → chunk-8y08amzz.js} +2 -2
  75. package/dist/{chunk-c8bjqw07.js.map → chunk-8y08amzz.js.map} +1 -1
  76. package/dist/{chunk-ryj4wqcp.js → chunk-9c1zx81w.js} +2 -2
  77. package/dist/{chunk-ryj4wqcp.js.map → chunk-9c1zx81w.js.map} +1 -1
  78. package/dist/{chunk-3k2ykvez.js → chunk-ak3yy4za.js} +2 -2
  79. package/dist/{chunk-3k2ykvez.js.map → chunk-ak3yy4za.js.map} +1 -1
  80. package/dist/{chunk-08qvtx8v.js → chunk-bhzb8e5r.js} +2 -2
  81. package/dist/{chunk-08qvtx8v.js.map → chunk-bhzb8e5r.js.map} +1 -1
  82. package/dist/{chunk-vemwqxx2.js → chunk-bsbn7qtd.js} +2 -2
  83. package/dist/{chunk-vemwqxx2.js.map → chunk-bsbn7qtd.js.map} +1 -1
  84. package/dist/{chunk-grtmy031.js → chunk-d1r618e8.js} +1 -1
  85. package/dist/chunk-d1zt6sfj.js +5 -0
  86. package/dist/{chunk-p4125aj9.js.map → chunk-d1zt6sfj.js.map} +3 -6
  87. package/dist/{chunk-mjrxyvwr.js → chunk-d5h5v4rj.js} +2 -2
  88. package/dist/{chunk-mjrxyvwr.js.map → chunk-d5h5v4rj.js.map} +1 -1
  89. package/dist/{chunk-ma2zdn5s.js → chunk-e3fnjj0h.js} +2 -2
  90. package/dist/{chunk-ma2zdn5s.js.map → chunk-e3fnjj0h.js.map} +1 -1
  91. package/dist/{chunk-yr51wvkr.js → chunk-fkt43zw1.js} +2 -2
  92. package/dist/{chunk-yr51wvkr.js.map → chunk-fkt43zw1.js.map} +1 -1
  93. package/dist/{chunk-x74r8j5k.js → chunk-g2bsmw1m.js} +2 -2
  94. package/dist/{chunk-3bjj31n9.js.map → chunk-g2bsmw1m.js.map} +1 -1
  95. package/dist/{chunk-v36ey99b.js → chunk-gzfat1x1.js} +2 -2
  96. package/dist/{chunk-v36ey99b.js.map → chunk-gzfat1x1.js.map} +1 -1
  97. package/dist/{chunk-97bt619e.js → chunk-hnbj9jx2.js} +3 -3
  98. package/dist/{chunk-97bt619e.js.map → chunk-hnbj9jx2.js.map} +1 -1
  99. package/dist/{chunk-y3trr7xh.js → chunk-j0fgc58k.js} +2 -2
  100. package/dist/{chunk-y3trr7xh.js.map → chunk-j0fgc58k.js.map} +1 -1
  101. package/dist/{chunk-fev2yjmb.js → chunk-jfgjscq6.js} +2 -2
  102. package/dist/{chunk-fev2yjmb.js.map → chunk-jfgjscq6.js.map} +1 -1
  103. package/dist/{chunk-165mrqab.js → chunk-ngq4n2b3.js} +2 -2
  104. package/dist/{chunk-165mrqab.js.map → chunk-ngq4n2b3.js.map} +1 -1
  105. package/dist/{chunk-t70a927z.js → chunk-pqydkns8.js} +2 -2
  106. package/dist/{chunk-t70a927z.js.map → chunk-pqydkns8.js.map} +1 -1
  107. package/dist/{chunk-yd04n99w.js → chunk-pw95y0fx.js} +2 -2
  108. package/dist/{chunk-yd04n99w.js.map → chunk-pw95y0fx.js.map} +1 -1
  109. package/dist/{chunk-04ebkq8a.js → chunk-pwaftx6n.js} +3 -3
  110. package/dist/{chunk-04ebkq8a.js.map → chunk-pwaftx6n.js.map} +1 -1
  111. package/dist/{chunk-x02whwn3.js → chunk-q6ydpt33.js} +2 -2
  112. package/dist/{chunk-x02whwn3.js.map → chunk-q6ydpt33.js.map} +1 -1
  113. package/dist/{chunk-es6gxzyf.js → chunk-q77qf42t.js} +2 -2
  114. package/dist/{chunk-es6gxzyf.js.map → chunk-q77qf42t.js.map} +1 -1
  115. package/dist/{chunk-76ar9z69.js → chunk-r1sj312m.js} +2 -2
  116. package/dist/{chunk-76ar9z69.js.map → chunk-r1sj312m.js.map} +1 -1
  117. package/dist/{chunk-0w95nc15.js → chunk-r78aqvne.js} +2 -2
  118. package/dist/{chunk-0w95nc15.js.map → chunk-r78aqvne.js.map} +1 -1
  119. package/dist/{chunk-mdpm06cg.js → chunk-r9qzgvpx.js} +2 -2
  120. package/dist/{chunk-mdpm06cg.js.map → chunk-r9qzgvpx.js.map} +1 -1
  121. package/dist/{chunk-hp96c8hp.js → chunk-rhe7s1fm.js} +3 -3
  122. package/dist/{chunk-hp96c8hp.js.map → chunk-rhe7s1fm.js.map} +1 -1
  123. package/dist/{chunk-n9n3sqx5.js → chunk-rp0reqjn.js} +2 -2
  124. package/dist/{chunk-n9n3sqx5.js.map → chunk-rp0reqjn.js.map} +1 -1
  125. package/dist/{chunk-7g90me53.js → chunk-rw0t90pf.js} +2 -2
  126. package/dist/{chunk-7g90me53.js.map → chunk-rw0t90pf.js.map} +1 -1
  127. package/dist/{chunk-9zkgvggh.js → chunk-s72y1w84.js} +2 -2
  128. package/dist/{chunk-9zkgvggh.js.map → chunk-s72y1w84.js.map} +1 -1
  129. package/dist/{chunk-3bjj31n9.js → chunk-t93t317r.js} +2 -2
  130. package/dist/{chunk-x74r8j5k.js.map → chunk-t93t317r.js.map} +1 -1
  131. package/dist/{chunk-m0kbpywd.js → chunk-ttckhvew.js} +2 -2
  132. package/dist/{chunk-m0kbpywd.js.map → chunk-ttckhvew.js.map} +1 -1
  133. package/dist/{chunk-gsv1syg3.js → chunk-whjhrz97.js} +2 -2
  134. package/dist/{chunk-gsv1syg3.js.map → chunk-whjhrz97.js.map} +1 -1
  135. package/dist/chunk-x5ajfnrx.js +24 -0
  136. package/dist/{chunk-smtcmc20.js.map → chunk-x5ajfnrx.js.map} +6 -5
  137. package/dist/{chunk-ebbft1yj.js → chunk-x85x83pa.js} +1 -1
  138. package/dist/{chunk-tqzddk5e.js → chunk-xc90ycw2.js} +2 -2
  139. package/dist/{chunk-tqzddk5e.js.map → chunk-xc90ycw2.js.map} +1 -1
  140. package/dist/{chunk-w8cf1kqd.js → chunk-xqyx8kzr.js} +2 -2
  141. package/dist/{chunk-w8cf1kqd.js.map → chunk-xqyx8kzr.js.map} +2 -2
  142. package/dist/{chunk-x2ds4xaj.js → chunk-yafxbmy3.js} +1 -1
  143. package/dist/{chunk-71vjxehx.js → chunk-yc3n6zhr.js} +3 -3
  144. package/dist/{chunk-71vjxehx.js.map → chunk-yc3n6zhr.js.map} +1 -1
  145. package/dist/{chunk-rj81ysxm.js → chunk-zf8bgrnj.js} +2 -2
  146. package/dist/{chunk-rj81ysxm.js.map → chunk-zf8bgrnj.js.map} +1 -1
  147. package/dist/{chunk-0ms02b96.js → chunk-zn5bqe6m.js} +3 -3
  148. package/dist/{chunk-0ms02b96.js.map → chunk-zn5bqe6m.js.map} +1 -1
  149. package/dist/{chunk-7bynhyt1.js → chunk-ztzd90gp.js} +2 -2
  150. package/dist/{chunk-7bynhyt1.js.map → chunk-ztzd90gp.js.map} +1 -1
  151. package/dist/chunks/{ThemeProvider-D1kDfCwY.js → ThemeProvider-z_MW40tl.js} +126 -6
  152. package/dist/chunks/ThemeProvider-z_MW40tl.js.map +1 -0
  153. package/dist/client/ClientRouter.d.ts.map +1 -1
  154. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  155. package/dist/client/ComponentContext.d.ts +8 -1
  156. package/dist/client/ComponentContext.d.ts.map +1 -1
  157. package/dist/client/MutationError.d.ts +4 -4
  158. package/dist/client/auth/useEmailCode.d.ts +36 -0
  159. package/dist/client/auth/useEmailCode.d.ts.map +1 -0
  160. package/dist/client/chunkLoadRecovery.d.ts +96 -0
  161. package/dist/client/chunkLoadRecovery.d.ts.map +1 -0
  162. package/dist/client/index.d.ts +4 -0
  163. package/dist/client/index.d.ts.map +1 -1
  164. package/dist/client/index.js +53 -4
  165. package/dist/client/index.js.map +1 -1
  166. package/dist/client/init.d.ts +9 -0
  167. package/dist/client/init.d.ts.map +1 -1
  168. package/dist/config/index.d.ts +12 -0
  169. package/dist/config/index.d.ts.map +1 -1
  170. package/dist/config/index.js +1 -1
  171. package/dist/config/index.js.map +2 -2
  172. package/dist/console/run.js +2 -2
  173. package/dist/console/run.js.map +1 -1
  174. package/dist/container/index.js +2 -2
  175. package/dist/container/index.js.map +1 -1
  176. package/dist/database/index.js +2 -2
  177. package/dist/database/index.js.map +1 -1
  178. package/dist/email/index.js +2 -2
  179. package/dist/email/index.js.map +1 -1
  180. package/dist/facades/index.js +2 -2
  181. package/dist/facades/index.js.map +1 -1
  182. package/dist/foundation/index.js +2 -2
  183. package/dist/foundation/index.js.map +1 -1
  184. package/dist/http/ApiRouter.d.ts +12 -1
  185. package/dist/http/ApiRouter.d.ts.map +1 -1
  186. package/dist/http/Error.d.ts +2 -2
  187. package/dist/http/index.js +2 -2
  188. package/dist/http/index.js.map +1 -1
  189. package/dist/i18n/dictionaryRuntime.js +2 -2
  190. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  191. package/dist/i18n/index.js +2 -2
  192. package/dist/i18n/index.js.map +1 -1
  193. package/dist/kernel/index.d.ts +2 -0
  194. package/dist/kernel/index.d.ts.map +1 -1
  195. package/dist/kernel/index.js +3 -3
  196. package/dist/kernel/index.js.map +2 -2
  197. package/dist/orm/index.js +3 -3
  198. package/dist/orm/index.js.map +1 -1
  199. package/dist/server/forwardedFor.d.ts +1 -1
  200. package/dist/server/index.js +2 -2
  201. package/dist/server/index.js.map +1 -1
  202. package/dist/server/staticAssetMiss.d.ts +7 -0
  203. package/dist/server/staticAssetMiss.d.ts.map +1 -1
  204. package/dist/services/index.d.ts +1 -1
  205. package/dist/services/index.d.ts.map +1 -1
  206. package/dist/services/index.js +3 -3
  207. package/dist/services/index.js.map +1 -1
  208. package/dist/services/queue/work.js +2 -2
  209. package/dist/services/queue/work.js.map +1 -1
  210. package/dist/services/rate-limiter/drivers/InMemoryRateLimiterDriver.d.ts +10 -1
  211. package/dist/services/rate-limiter/drivers/InMemoryRateLimiterDriver.d.ts.map +1 -1
  212. package/dist/services/router/createFlatApiRoutes.d.ts.map +1 -1
  213. package/dist/support/index.js +2 -2
  214. package/dist/support/index.js.map +1 -1
  215. package/dist/testing/index.js +1 -1
  216. package/package.json +1 -1
  217. package/dist/chunk-p4125aj9.js +0 -5
  218. package/dist/chunk-smtcmc20.js +0 -24
  219. package/dist/chunk-vme0xdf4.js +0 -5
  220. package/dist/chunk-z61sdvb0.js +0 -17
  221. package/dist/chunks/ThemeProvider-D1kDfCwY.js.map +0 -1
  222. /package/dist/{chunk-grtmy031.js.map → chunk-d1r618e8.js.map} +0 -0
  223. /package/dist/{chunk-ebbft1yj.js.map → chunk-x85x83pa.js.map} +0 -0
  224. /package/dist/{chunk-x2ds4xaj.js.map → chunk-yafxbmy3.js.map} +0 -0
@@ -1,17 +0,0 @@
1
- // @bun
2
- import{Kd as a4,Rd as V5}from"./chunk-f32t2eny.js";import{Ie as L5,Yd as r$,be as hO}from"./chunk-165mrqab.js";import{$e as _,Je as c3,Ne as eW,Oe as q4,Pe as v3,Qe as P3,Te as H3,Ue as w3,Ve as a$,We as lW,Xe as f5,Ye as Q4,Ze as j0,af as h3,bf as i3,cf as g3,ef as y1,ff as b0,gf as G3,of as TW,pf as W$,qf as F5}from"./chunk-hp96c8hp.js";import{sf as cO,tf as m1,uf as K1,vf as p4}from"./chunk-w8cf1kqd.js";import{wf as gW,xf as W4,yf as x}from"./chunk-r8ak7k9b.js";import{Af as fO,Bf as zO,Cf as B5,Df as K5,Mf as Q5,zf as $5}from"./chunk-brd6tb1s.js";import{$f as WO}from"./chunk-v36ey99b.js";import{eg as aW,jg as oW}from"./chunk-41mz2fs2.js";import{kg as Y5}from"./chunk-m0kbpywd.js";import{qg as nW,rg as s}from"./chunk-ma2zdn5s.js";import{ug as K}from"./chunk-q9g7g995.js";import{vg as n$}from"./chunk-tx51rqct.js";import{Jg as O5}from"./chunk-4mynkrv4.js";import{Og as Y4}from"./chunk-3bjj31n9.js";import{randomBytes as wC}from"crypto";function nO($){return typeof $==="function"&&$.prototype!==void 0}function j1($){return typeof $==="string"?[$]:$}function aO($,O){let Z=O?"attachment":"inline",T=$.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${Z}; filename="${T}"; filename*=UTF-8''${encodeURIComponent($)}`}function w5($){return"total"in $&&"partial"in $&&"body"in $}function OO($){return new Response(null,{status:416,headers:{"Accept-Ranges":"bytes","Content-Range":w3($),"Content-Length":"0","Cache-Control":"no-store"}})}async function b5($){if($ instanceof Blob)return{body:$,start:0,end:$.size-1,total:$.size,partial:!1,type:$.type,name:$.name,download:!1,status:200,extraHeaders:{}};if(w5($))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 b3($,O){if($ instanceof Response)return $;if(!$)return new Response("Not found",{status:404});let Z=await b5($),{body:T,start:j,end:f,total:z,partial:W}=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(z<=0)return OO(Math.max(z,0));if(!W){if(T instanceof Blob){let X=P3(J,z);if(!X)return OO(z);T=T.slice(X.start,X.end+1),j=X.start,f=X.end,W=!0}}}let Y=Boolean(J)&&W,C=Y?206:Z.status,D=new Headers;if(D.set("Accept-Ranges","bytes"),D.set("Content-Type",Z.type||"application/octet-stream"),Y)D.set("Content-Range",H3(j,f,z)),D.set("Content-Length",String(f-j+1));else if(z>=0)D.set("Content-Length",String(z));if(Z.name)D.set("Content-Disposition",aO(Z.name,Z.download));if(Z.etag)D.set("ETag",Z.etag);if(Z.lastModified)D.set("Last-Modified",Z.lastModified.toUTCString());for(let[X,U]of Object.entries(Z.extraHeaders))D.set(X,U);if((O.method??"GET").toUpperCase()==="HEAD"){if(T&&"cancel"in T&&typeof T.cancel==="function")await T.cancel();return new Response(null,{status:C,headers:D})}return new Response(T,{status:C,headers:D})}function K4($){return nO($)}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(!K4(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(K4(this.handler)){let O=new this.handler;return O[this.methodName].bind(O)()}return this.handler()}middleware($){return this.middlewares=j1($),this}}class L4{url;headers;__internal_brand="ProxyHandler";middlewares=[];constructor($,O){this.url=$;this.headers=O}middleware($){return this.middlewares=j1($),this}run(){let $=new _,O=$.headers.toJSON();for(let Z of Q4($.rawRequest))delete O[Z];return fetch(this.url,{method:$.rawRequest.method,headers:{...O,...this.headers},body:$.rawRequest.body})}}class V4{constructor(...$){return new u(...$)}}class M4 extends u{__internal_brand="StreamHandler";async run($){let O=x.getStore(),Z=O?.req?.rawRequest,T=v3(Z?.headers.get("Range"));if(O)O.rangeRequest=T;try{let j=await super.run($);return await b3(j,{range:T,method:Z?.method})}catch(j){if(j instanceof g3)return OO(j.total);throw j}finally{if(O)O.rangeRequest=null}}}class I4{constructor(...$){return new M4(...$)}}class S4{__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 x0{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 S4($)}agent($){return v5($,this)}file($,O){return new V4("GET",$,O)}stream($,O){return new I4("GET",$,O)}proxy($,O={}){return new L4($,O)}}function v5($,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 x0{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 R3{method;url;meta;__internal_brand="McpRoute";constructor($,O,Z){this.method=$;this.url=O;this.meta=Z}}class x4{static __brand="McpRouter";routes={};fromApiRoute($,O,Z){return new R3($,O,Z)}}function T0($,O){return $.replace(/:([^/]+[*?]?)/g,(Z,T)=>{let j=T.endsWith("?")||T.endsWith("*"),f=j?T.slice(0,-1):T,z=O[f];if(z===void 0){if(j)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${f}`);console.error(`Missing parameter: ${f} in URL: ${$}`)}return String(z)}).replace(/\/\//g,"/").replace(/\/$/,"")}class k3 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 oO{static to($,...O){let[Z={}]=O,{search:T={},params:j={},permanent:f,status:z}={params:{},status:307,permanent:!1,...Z},W=new URLSearchParams(T).toString();throw new k3([T0($,j)||"/",W.toString()].filter(Boolean).join("?"),z??(f?301:307))}static external($,O=307){throw new k3($,O)}}var N4=Symbol.for("gemi.HttpResponse");class ZO{kind;body;status;headers;[N4]=!0;constructor($,O,Z,T){this.kind=$;this.body=O;this.status=Z;this.headers=T}static json($,O={}){let Z=O.status??200;return g5(Z),new ZO("json",$,Z,new Headers(O.headers))}get ok(){return this.status>=200&&this.status<300}toResponse($,O){let Z=$,T=this.serialize(Z);for(let j of O)Z.append("Set-Cookie",j);this.headers.forEach((j,f)=>{if(f.toLowerCase()!=="set-cookie")Z.set(f,j)});for(let j of this.headers.getSetCookie())Z.append("Set-Cookie",j);if(this.status>=400&&!this.headers.has("Cache-Control"))Z.set("Cache-Control","no-store");return new Response(T,{status:this.status,headers:Z})}serialize($){switch(this.kind){case"json":return $.set("Content-Type","application/json"),JSON.stringify(this.body)??null}}}function g5($){if(!Number.isInteger($)||$<200||$>599)throw RangeError(`HttpResponse: status must be an integer from 200 to 599, got ${$}.`);if($===204||$===205||$===304)throw RangeError(`HttpResponse.json: a ${$} response has no body.`)}function F$($){return typeof $==="object"&&$!==null&&$[N4]===!0}class _4{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 oO.to(Z,{permanent:T,status:j}),{}}middleware($){return this.middlewares=j1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}async function q3($,O){if($ instanceof Response)return $;let Z=$ instanceof Blob,T=Z?$:$.file,j=Z?$.name:$.name??$.file?.name,f=(Z?$.type:$.type??$.file?.type)||"",z=Z?!1:$.download??!1,W=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",aO(j,z));return new Response(T instanceof Blob?T.stream():T,{status:W,headers:O})}class A4{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=j1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}function E4($,O){if(F$($))throw Error(`The handler of view "${O}" returned an HttpResponse. HttpResponse is for api routes; a view handler returns its props.`);return $}class P4{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=E4(await this.handler($),this.viewPath);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}middleware($){return this.middlewares=j1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class H4{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=E4(await this.handler($),this.viewPath);return{[this.viewPath]:{...Z,breadcrumb:{label:Z?.breadcrumb??"",href:O}}}}alwaysRun(){return this.alwaysRuns=!0,this}middleware($){return this.middlewares=j1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class B1{middlewares=[];featureGates=[];routes={};view($,O){return new P4($,O)}file($){return new A4($)}redirect($){return new _4($)}layout($,O,Z){return new H4($,O,Z)}}class v0{req;config={};constructor($){this.req=$}run(...$){return{}}static configure($){let O=this;return class extends O{config=$}}}function R5($){return $}function k5(){return{aliases:{},global:[]}}var U$="redirect";function TO($,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 w4($){let O=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();return O?O==="https":new URL($.url).protocol==="https:"}function q5($,O=!0){let Z=new URL($.rawRequest.url),T=Z.pathname.replace(/\.(json|og)$/,""),[,j,...f]=T.split("/");if(K(s).supportedLocales.includes(j))T=`/${f.join("/")}`;return O?`${T}${Z.search}`:T}function m5($,O){let Z=(T)=>T.replace(/\/+$/,"")||"/";return Z($)===Z(O)}function rO($,O){let Z=O||K(w).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=q5($,!T);if(T||!m5(new URL(f,j).pathname,j.pathname))j.searchParams.set(U$,f)}return T?j.href:`${j.pathname}${j.search}`}var jO="access_token";function m3($){return $?.cookies?.get("access_token")||$?.headers?.get("access_token")||null}async function tO($,O){let Z=m3(O);if(!Z)return null;return(await $.getSession(Z,O.headers.get("User-Agent")))?.user??null}class b4 extends v0{async run($){let O=x.getStore(),Z=O.req;if(O.user)return{};let T=await tO(K(w),Z);if(!T)throw new y1({redirectTo:rO(Z,$)});return O.setUser(T),{}}}class v4 extends v0{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 y5={"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 g4 extends v0{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={...y5,...this.config.origins[O]};for(let[T,j]of Object.entries(Z))$.ctx().setHeaders(T,j)}return{}}}class G${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(R4("window",T),R4("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 R4($,O){if(!Number.isFinite(O)||O<=0)throw Error(`Rate limiter ${$} must be greater than zero, got ${O}`)}class y3 extends m1{constructor($){super("Rate limit exceeded");let O={"Content-Type":"application/json",...$?y4($):{}};this.payload={api:{status:429,data:{error:K1("rate_limit","Rate limit exceeded",429)},headers:O},view:{error:{message:"Rate limit exceeded"},status:429,headers:O}}}}class m4 extends v0{async run($,O){let Z=p5();if(!Z)return{};let T=await Z.consume(this.key(),{limit:k4($)??this.config.limit,window:k4(O)??this.config.window});if(this.config.headers!==!1){let j=this.req.ctx?.();if(j)for(let[f,z]of Object.entries(y4(T)))j.setHeaders(f,z)}if(!T.allowed)throw new y3(T);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${eO(this.req)}:${this.req.routePath??"*"}`}}function p5(){try{let $=K();return $.bound(G$)?$.make(G$):null}catch{return null}}function eO($){let O=q4($.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 y4($){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 k4($){if($===void 0||$===null||$==="")return;let O=Number($);if(!Number.isFinite(O)||O<=0)return;return O}class c4 extends v0{async run(){let $=this.req.cookies.get("csrf_token");if(!$)throw new p3;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify($,{secret:process.env.SECRET}))throw new p3;return{}}}class p3 extends m1{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:p4("csrf","Invalid CSRF token",403)}},view:{}}}class h4{policiesList={};constructor(){let $=this.register();for(let O of $){let Z=new O;this.policiesList[O.name]=Z}}register(){return[]}}class i4{all($,O){return!0}}import{createHmac as l4,randomBytes as c5}from"crypto";var l3="v2.";function d3($){return $.startsWith(l3)}function d4(){let $=process.env.SECRET;if(!$)throw Error("Signing in needs a secret to mint session tokens with. Set SECRET in the environment.");return $}function u4($){let O=c5(16).toString("hex"),Z=l4("sha256",d4()).update(`${$}:${O}`).digest("hex");return`${l3}${Z}`}function $Z($,O){let Z=l4("sha256",d4()).update(`legacy-session:${O}:${$}`).digest("hex");return`${l3}${Z}`}import{randomBytes as s3}from"crypto";class u3 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 h5($,O){if(typeof O!=="string"||O==="")return!1;try{return await Bun.password.verify($,O)}catch{return!1}}function N9($){return $}function s4($={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",signInPath:"/auth/sign-in",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,cookieDomain:null,migrateLegacySession:null,signUpRequest:u3,oauthProviders:{},verifyPassword:h5,hashPassword:async(O)=>await Bun.password.hash(O),generateForgotPasswordToken:async()=>s3(32).toString("hex"),generateEmailVerificationToken:()=>{if(!($.verifyEmail??!0))return"";return s3(32).toString("hex")},generateMagicLinkToken:()=>s3(32).toString("hex"),extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{}}}function n3($){if($&&typeof $==="object")delete $.password;return $}function i5(){return new Proxy({},{get:($,O)=>a4(O)})}var n4=new WeakMap;function o4($){if($&&typeof $==="object"){for(let O of Object.values($))o4(O);Object.freeze($)}return $}var l5={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}},d5=o4({token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:l5});class a3{models;constructor($=i5()){this.models=$}run($){return this.models.User.asSystem($)}sessionSelect(){return d5}transaction($){return this.models.User.transaction($)}withLegacySessionLock($,O){let Z=this.models.User.$connection??zO(),T=K(WO).connection(Z),j=()=>this.transaction(async()=>{if(T.dialect==="postgres"){let W=`gemi:legacy-session:${$}`;await fO()`SELECT pg_advisory_xact_lock(hashtextextended(${W}, 0))`}return O()});if(T.dialect!=="sqlite"||fO())return j();let z=(n4.get(T)??Promise.resolve()).then(j,j);return n4.set(T,z.catch(()=>{})),z}async createUser($){let O=await this.run(()=>this.models.User.create({data:$}));return n3(O)}async updateUserPassword($){let O=await this.run(()=>this.models.User.update({where:{id:$.id},data:{password:$.password}}));return n3(O)}async findUserByEmailAddress($,O){return await this.run(()=>this.models.User.findUnique({where:O?{email:$,emailVerifiedAt:{not:null}}:{email:$}}))}async findUserByVerificationToken($){if(typeof $!=="string"||$==="")return null;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($){if(typeof $.token!=="string"||$.token==="")return null;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){if(typeof $!=="string"||typeof O!=="string")return null;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($){let O=(Z)=>typeof Z==="string"&&Z!=="";if(!O($.email))return null;if($.token!==void 0&&!O($.token))return null;if($.token===void 0&&!O($.pin))return null;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?n3(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 EY}from"crypto";function N0($,O,Z,T,j){return q0(O,D6($,O),Z,T,j)}function q0($,O,Z,T,j,f){let z=$T(O,Z,T);if(j&&O!==z)throw RangeError(a8($,O,Z,T,f));return z}function D6($,O){let Z=$[O];if(Z===void 0)throw TypeError(Pj(O));return Z}function z0($){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 JT($){return i1({name:$},1)}function i1($,O){return c0((Z)=>({value:Z,configurable:1,writable:!O}),$)}function F6($){return c0((O)=>({get:O,configurable:1}),$)}function BZ($){return{[Symbol.toStringTag]:{value:$,configurable:1}}}function I$($,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 BO($,O,Z){let T={};for(let j=0;j<O.length;j++){let f=O[j];T[f]=$(f,j,Z)}return T}function u5($,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 YT($,O){let Z={};for(let T in O)$.has(T)||(Z[T]=O[T]);return Z}function CT($){$={...$};let O=Object.keys($);for(let Z of O)$[Z]===void 0&&delete $[Z];return $}function U6($,O){for(let Z of O)if(!(Z in $))return 0;return 1}function G6($,O,Z){for(let T of $)if(O[T]!==Z[T])return 0;return 1}function B6($,O,Z){let T={...Z};for(let j=0;j<O;j++)T[$[j]]=0;return T}function b($,...O){return(...Z)=>$(...O,...Z)}function r4($){return $[0].toUpperCase()+$.substring(1)}function KO($){return $.slice().sort()}function WZ($,O){return String(O).padStart($,"0")}function Q1($,O){return Math.sign($-O)}function $T($,O,Z){return Math.min(Math.max($,O),Z)}function z1($,O){return[Math.floor($/O),YO($,O)]}function YO($,O){return($%O+O)%O}function M1($,O){return[KZ($,O),XT($,O)]}function KZ($,O){return Math.trunc($/O)||0}function XT($,O){return $%O||0}function OZ($){return Math.abs($%1)===0.5}function K6($,O,Z){let T=0,j=0;for(let W=0;W<=O;W++){let J=$[Z[W]],Y=a0[W],C=m/Y,[D,X]=M1(J,C);T+=X*Y,j+=D}let[f,z]=M1(T,m);return[j+f,z]}function QZ($,O,Z){let T={};for(let j=O;j>=0;j--){let f=a0[j];T[Z[j]]=KZ($,f),$=XT($,f)}return T}function Q6($){return $===v?tZ:[]}function L6($){return $===v?AO:[]}function V6($){return $===v?["year","day"]:[]}function M6($){if($!==void 0)return i($)}function I6($){if($!==void 0)return h0($)}function DT($){if($!==void 0)return QO($)}function h0($){return N6(QO($))}function QO($){return x6(q7($))}function FT($){if($==null)throw TypeError("Cannot be null or undefined");return $}function S6($,O){if(O==null)throw RangeError(Pj($));return O}function J1($){if(!z0($))throw TypeError(n8);return $}function LZ($,O,Z=$){if(typeof O!==$)throw TypeError(xO(Z,O));return O}function x6($,O="number"){if(!Number.isInteger($))throw RangeError(J7(O,$));return $||0}function N6($,O="number"){if($<=0)throw RangeError(Y7(O,$));return $}function UT($){if(typeof $=="symbol")throw TypeError(F7);return String($)}function JZ($,O){return z0($)?String($):i($,O)}function VZ($){if(typeof $=="string")return BigInt($);if(typeof $!="bigint")throw TypeError(D7($));return $}function _6($,O="number"){if(typeof $=="bigint")throw TypeError(X7(O));if($=Number($),!Number.isFinite($))throw RangeError(C7(O,$));return $}function U0($,O){return Math.trunc(_6($,O))||0}function A6($,O){return x6(_6($,O),O)}function t4($,O){return N6(U0($,O),O)}function GT($,O){let[Z,T]=M1(O,m),j=$+Z,f=Math.sign(j);return f&&f===-Math.sign(T)&&(j-=f,T+=f*m),[j,T]}function K$($,O,Z=1){return GT($[0]+O[0]*Z,$[1]+O[1]*Z)}function Q$($,O){return GT($[0],$[1]+O)}function g0($,O){return K$(O,$,-1)}function B0($,O){return Q1($[0],O[0])||Q1($[1],O[1])}function E6($,O,Z){return B0($,O)===-1||B0($,Z)===1}function MZ($,O=1){let Z=BigInt(m/O);return[Number($/Z),Number($%Z)*O]}function L$($,O=1){let Z=m/O,[T,j]=M1($,Z);return[T,j*O]}function P6($,O=1){let[Z,T]=$,j=Math.floor(T/O),f=m/O;return BigInt(Z)*BigInt(f)+BigInt(j)}function R0($,O=1,Z){let[T,j]=$,[f,z]=M1(j,O);return T*(m/O)+(f+(Z?z/O:0))}function BT($,O,Z=z1){let[T,j]=$,[f,z]=Z(j,O);return[T*(m/O)+f,z]}function KT($,O){let Z=$.formatToParts(O),T={};for(let j of Z)T[j.type]=j.value;return T}function QT($){return N0($,"isoYear",GO,UO,1),$.isoYear===GO?N0($,"isoMonth",4,12,1):$.isoYear===UO&&N0($,"isoMonth",1,9,1),$}function L1($){return Y1({...$,...p0,isoHour:12}),$}function Y1($){let O=N0($,"isoYear",GO,UO,1),Z=O===GO?1:O===UO?-1:0;return Z&&k0(G0({...$,isoDay:$.isoDay+Z,isoNanosecond:$.isoNanosecond-Z})),$}function k0($){if(!$||E6($,l7,i7))throw RangeError(nZ);return $}function I1($){return K6($,5,u0)[1]}function IZ($){let[O,Z]=z1($,m);return[QZ(Z,5,u0),O]}function H6($){return w6($)[0]}function w6($){return BT($,y0)}function K0($){return S$($.isoYear,$.isoMonth,$.isoDay,$.isoHour,$.isoMinute,$.isoSecond,$.isoMillisecond)}function G0($){let O=K0($);if(O!==void 0){let[Z,T]=M1(O,A0);return[Z,T*o0+($.isoMicrosecond||0)*t1+($.isoNanosecond||0)]}}function LT($,O){let[Z,T]=IZ(I1($)-O);return k0(G0({...$,isoDay:$.isoDay+T,...Z}))}function YZ(...$){return S$(...$)/zz}function S$(...$){let[O,Z]=b6(...$),T=O.valueOf();if(!isNaN(T))return T-Z*A0}function b6($,O=1,Z=1,T=0,j=0,f=0,z=0){let W=$===GO?1:$===UO?-1:0,J=new Date;return J.setUTCHours(T,j,f,z),J.setUTCFullYear($,O-1,Z+W),[J,W]}function x1($,O){let[Z,T]=Q$($,O);T<0&&(T+=m,Z-=1);let[j,f]=z1(T,o0),[z,W]=z1(f,t1);return SZ(Z*A0+j,z,W)}function SZ($,O=0,Z=0){let T=Math.ceil(Math.max(0,Math.abs($)-h7)/A0)*Math.sign($),j=new Date($-T*A0);return I$($3,[j.getUTCFullYear(),j.getUTCMonth()+1,j.getUTCDate()+T,j.getUTCHours(),j.getUTCMinutes(),j.getUTCSeconds(),j.getUTCMilliseconds(),O,Z])}function v6($){return[$.isoYear,$.isoMonth,$.isoDay]}function g6(){return f1}function VT($,O){switch(O){case 2:return MT($)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function R6($){return MT($)?366:365}function MT($){return $%4==0&&($%100!=0||$%400==0)}function k6($){let[O,Z]=b6($.isoYear,$.isoMonth,$.isoDay);return YO(O.getUTCDay()-Z,7)||7}function q6({isoYear:$}){return $<1?["bce",1-$]:["ce",$]}function s5($){let O=K0($);if(O<u7)return q6($);let Z=KT(sj(V$),O),{era:T,eraYear:j}=n2(Z,V$);return[T,j]}function xZ($){return l1($),NZ($,1),$}function l1($){return m6($,1),$}function e4($){return G6(yj,$,m6($))}function m6($,O){let{isoYear:Z}=$,T=N0($,"isoMonth",1,g6(),O);return{isoYear:Z,isoMonth:T,isoDay:N0($,"isoDay",1,VT(Z,T),O)}}function NZ($,O){return I$(u0,[N0($,"isoHour",0,23,O),N0($,"isoMinute",0,59,O),N0($,"isoSecond",0,59,O),N0($,"isoMillisecond",0,999,O),N0($,"isoMicrosecond",0,999,O),N0($,"isoNanosecond",0,999,O)])}function R($){return $===void 0?0:Sz(J1($))}function LO($,O=0){$=i0($);let Z=xz($),T=ZJ($,O);return[Sz($),T,Z]}function IT($){return xz(i0($))}function y6($){return $=i0($),hj($,9,6,1)}function x$($,O,Z,T=9,j=0,f=4){O=i0(O);let z=hj(O,T,j),W=NT(O),J=PO(O,f),Y=EO(O,T,j,1);return z==null?z=Math.max(Z,Y):i6(z,Y),W=_T(W,Y,1),$&&(J=((C)=>C<4?(C+2)%4:C)(J)),[z,Y,W,J]}function _Z($,O=6,Z){let T=NT($=AT($,GZ)),j=PO($,7),f=EO($,O);return f=S6(GZ,f),T=_T(T,f,void 0,Z),[f,T,j]}function ST($){return ij(i0($))}function p6($,O){return xT(i0($),O)}function xT($,O=4){let Z=h6($);return[PO($,4),...c6(EO($,O),Z)]}function c6($,O){return $!=null?[a0[$],$<4?9-3*$:-1]:[O===void 0?1:10**(9-O),O]}function NT($){let O=$[CO];return O===void 0?1:U0(O,CO)}function _T($,O,Z,T){let j=T?m:a0[O+1];if(j){let f=a0[O];if(j%(($=q0(CO,$,1,j/f-(T?0:1),1))*f))throw RangeError(xO(CO,$))}else $=q0(CO,$,1,Z?1e9:1,1);return $}function h6($){let O=$[e3];if(O!==void 0){if(typeof O!="number"){if(UT(O)==="auto")return;throw RangeError(xO(e3,O))}O=q0(e3,Math.floor(O),0,9,1)}return O}function i0($){return $===void 0?{}:J1($)}function AT($,O){return typeof $=="string"?{[O]:$}:J1($)}function n($){if($!==void 0){if(z0($))return Object.assign(Object.create(null),$);throw TypeError(n8)}}function AZ($,O){return $&&Object.assign(Object.create(null),$,{overflow:n7[O]})}function ET($,O,Z=9,T=0,j){let f=O[$];if(f===void 0)return j?T:void 0;if(f=UT(f),f==="auto")return j?T:null;let z=jT[f];if(z===void 0&&(z=p7[f]),z===void 0)throw RangeError(t8($,f,jT));return q0($,z,T,Z,1,_O),z}function d1($,O,Z,T=0){let j=Z[$];if(j===void 0)return T;let f=UT(j),z=O[f];if(z===void 0)throw RangeError(t8($,f,O));return z}function i6($,O){if(O>$)throw RangeError(b7)}function W0($){return{branding:Z3,epochNanoseconds:$}}function C0($,O,Z){return{branding:F1,calendar:Z,timeZone:O,epochNanoseconds:$}}function a($,O=$.calendar){return{branding:$$,calendar:O,...H0(Lz,$)}}function o($,O=$.calendar){return{branding:e1,calendar:O,...H0(pj,$)}}function c1($,O=$.calendar){return{branding:b$,calendar:O,...H0(pj,$)}}function CZ($,O=$.calendar){return{branding:v$,calendar:O,...H0(pj,$)}}function l0($){return{branding:O3,...H0(Qz,$)}}function h($){return{branding:T3,sign:N1($),...H0(kj,$)}}function l6($){return H6($.epochNanoseconds)}function EZ($){return BT($.epochNanoseconds,o0)[0]}function d6($){return P6($.epochNanoseconds,t1)}function u6($){return P6($.epochNanoseconds)}function s6($){return $.epochNanoseconds}function J0($){return typeof $=="string"?$:i($.id)}function N$($,O){return $===O||J0($)===J0(O)}function n6($,O,Z,T,j){let f=h1(T),[z,W]=((B,Q)=>{let M=Q((B=AT(B,WT))[Mz]),L=OJ(B);return L=S6(WT,L),[L,M]})(j,$);if(DO(Math.max(z,f),W))return $6(T,z);if(!W)throw RangeError(aZ);let[J,Y,C]=gZ(O,Z,W),D=tT(C),X=RZ(C),U=eT(C),F=X(Y,J,T),G=U(Y,J,F,z);return DO(z,W)?$6(G,z):((B,Q,M,L,N,A,V)=>{let I=N1(B),[E,P]=PT(L,mj(M,B),M,I,N,A,V),$0=HT(Q,E,P);return B[k[M]]+$0*I})(G,D(F),z,Y,J,D,X)}function $6($,O){return R0(f0($),a0[O],1)}function PT($,O,Z,T,j,f,z){let W=k[Z],J={...O,[W]:O[W]+T},Y=z($,j,O),C=z($,j,J);return[f(Y),f(C)]}function HT($,O,Z){let T=R0(g0(O,Z));if(!T)throw RangeError(NO);return R0(g0(O,$))/T}function a6($,O){let[Z,T,j]=_Z(O,5,1);return W0(HZ($.epochNanoseconds,Z,T,j,1))}function o6($,O,Z){let{epochNanoseconds:T,timeZone:j,calendar:f}=O,[z,W,J]=_Z(Z);if(z===0&&W===1)return O;let Y=$(j);if(z===6)T=((C,D,X,U)=>{let F=Q0(X,D),[G,B]=C(F),Q=X.epochNanoseconds,M=P0(D,G),L=P0(D,B);if(E6(Q,M,L))throw RangeError(NO);return f2(HT(Q,M,L),U)?L:M})(T2,Y,O,J);else{let C=Y.getOffsetNanosecondsFor(T);T=s1(Y,O2(x1(T,C),z,W,J),C,2,0,1)}return C0(T,j,f)}function r6($,O){return a(O2($,..._Z(O)),$.calendar)}function t6($,O){let[Z,T,j]=_Z(O,5);var f;return l0((f=j,wT($,VO(Z,T),f)[0]))}function e6($,O){let Z=$(O.timeZone),T=Q0(O,Z),[j,f]=T2(T),z=R0(g0(P0(Z,j),P0(Z,f)),rZ,1);if(z<=0)throw RangeError(NO);return z}function $2($,O){let{timeZone:Z,calendar:T}=O,j=((f,z,W)=>P0(z,f(Q0(W,z))))(j2,$(Z),O);return C0(j,Z,T)}function O2($,O,Z,T){return Z2($,VO(O,Z),T)}function Z2($,O,Z){let[T,j]=wT($,O,Z);return Y1({...n1($,j),...T})}function wT($,O,Z){return IZ(S1(I1($),O,Z))}function XZ($){return S1($,oZ,7)}function VO($,O){return a0[$]*O}function T2($){let O=j2($);return[O,n1(O,1)]}function j2($){return c7(6,$)}function n5($,O,Z){let T=Math.min(h1($),6);return A$(wZ(f0($,T),O,Z),T)}function PZ($,O,Z,T,j,f,z,W,J,Y){if(T===0&&j===1)return $;let C=DO(T,W)?kZ(W)&&T<6&&Z>=6?o5:a5:r5,[D,X,U]=C($,O,Z,T,j,f,z,W,J,Y);return U&&T!==7&&(D=((F,G,B,Q,M,L,N,A)=>{let V=N1(F);for(let I=Q+1;I<=B;I++){if(I===7&&B!==7)continue;let E=mj(I,F);E[k[I]]+=V;let P=R0(g0(N(A(M,L,E)),G));if(P&&Math.sign(P)!==V)break;F=E}return F})(D,X,Z,Math.max(6,T),z,W,J,Y)),D}function HZ($,O,Z,T,j){if(O===6){let f=((z)=>z[0]+z[1]/m)($);return[S1(f,Z,T),0]}return wZ($,VO(O,Z),T,j)}function wZ($,O,Z,T){let[j,f]=$;T&&f<0&&(f+=m,j-=1);let[z,W]=z1(S1(f,O,Z),m);return GT(j+z,W)}function S1($,O,Z){return f2($/O,Z)*O}function f2($,O){return fJ[O]($)}function a5($,O,Z,T,j,f){let z=N1($),W=f0($),J=HZ(W,T,j,f),Y=g0(W,J),C=Math.sign(J[0]-W[0])===z,D=A$(J,Math.min(Z,6));return[{...$,...D},K$(O,Y),C]}function o5($,O,Z,T,j,f,z,W,J,Y){let C=N1($),D=R0(f0($,5)),X=VO(T,j),U=S1(D,X,f),[F,G]=PT(z,{...$,...qj},6,C,W,J,Y),B=U-R0(g0(F,G)),Q=0;B&&Math.sign(B)!==C?O=Q$(F,U):(Q+=C,U=S1(B,X,f),O=Q$(G,U));let M=mZ(U);return[{...$,...M,days:$.days+Q},O,Boolean(Q)]}function r5($,O,Z,T,j,f,z,W,J,Y){let C=N1($),D=k[T],X=mj(T,$);T===7&&($={...$,weeks:$.weeks+Math.trunc($.days/7)});let U=KZ($[D],j)*j;X[D]=U;let[F,G]=PT(z,X,T,j*C,W,J,Y),B=U+HT(O,F,G)*C*j,Q=S1(B,j,f),M=Math.sign(Q-B)===C;return X[D]=Q,[X,M?G:F,M]}function bT($,O,Z,T){let[j,f,z,W]=((Y)=>{let C=xT(Y=i0(Y));return[Y.timeZone,...C]})(T),J=j!==void 0;return((Y,C,D,X,U,F)=>{D=wZ(D,U,X,1);let G=C.getOffsetNanosecondsFor(D);return yT(x1(D,G),F)+(Y?u1(XZ(G)):"Z")})(J,O(J?$(j):O$),Z.epochNanoseconds,f,z,W)}function vT($,O,Z){let[T,j,f,z,W,J]=((Y)=>{Y=i0(Y);let C=ij(Y),D=h6(Y),X=jJ(Y),U=PO(Y,4),F=EO(Y,4);return[C,TJ(Y),X,U,...c6(F,D)]})(Z);return((Y,C,D,X,U,F,G,B,Q,M)=>{X=wZ(X,Q,B,1);let L=Y(D).getOffsetNanosecondsFor(X);return yT(x1(X,L),M)+u1(XZ(L),G)+((N,A)=>A!==1?"["+(A===2?"!":"")+J0(N)+"]":"")(D,F)+pT(C,U)})($,O.calendar,O.timeZone,O.epochNanoseconds,T,j,f,z,W,J)}function gT($,O){let[Z,T,j,f]=((Y)=>(Y=i0(Y),[ij(Y),...xT(Y)]))(O);return z=$.calendar,W=Z,J=f,yT(Z2($,j,T),J)+pT(z,W);var z,W,J}function RT($,O){return Z=$.calendar,T=$,j=ST(O),DZ(T)+pT(Z,j);var Z,T,j}function kT($,O){return z2($.calendar,W2,$,ST(O))}function qT($,O){return z2($.calendar,t5,$,ST(O))}function mT($,O){let[Z,T,j]=p6(O);return f=j,J2(wT($,T,Z)[0],f);var f}function bZ($,O){let[Z,T,j]=p6(O,3);return T>1&&($={...$,...n5($,T,Z)}),((f,z)=>{let{sign:W}=f,J=W===-1?L0(f):f,{hours:Y,minutes:C}=J,[D,X]=BT(f0(J,3),y0,M1);B2(D);let U=cT(X,z),F=z>=0||!W||U;return(W<0?"-":"")+"P"+O6({Y:p1(J.years),M:p1(J.months),W:p1(J.weeks),D:p1(J.days)})+(Y||C||D||F?"T"+O6({H:p1(Y),M:p1(C),S:p1(D,F)+U}):"")})($,j)}function z2($,O,Z,T){let j=J0($),f=T>1||T===0&&j!==v;return T===1?j===v?O(Z):DZ(Z):f?DZ(Z)+Y2(j,T===2):O(Z)}function O6($){let O=[];for(let Z in $){let T=$[Z];T&&O.push(T,Z)}return O.join("")}function yT($,O){return DZ($)+"T"+J2($,O)}function DZ($){return W2($)+"-"+m0($.isoDay)}function W2($){let{isoYear:O}=$;return(O<0||O>9999?C2(O)+WZ(6,Math.abs(O)):WZ(4,O))+"-"+m0($.isoMonth)}function t5($){return m0($.isoMonth)+"-"+m0($.isoDay)}function J2($,O){let Z=[m0($.isoHour),m0($.isoMinute)];return O!==-1&&Z.push(m0($.isoSecond)+((T,j,f,z)=>cT(T*o0+j*t1+f,z))($.isoMillisecond,$.isoMicrosecond,$.isoNanosecond,O)),Z.join(":")}function u1($,O=0){if(O===1)return"";let[Z,T]=z1(Math.abs($),rZ),[j,f]=z1(T,oZ),[z,W]=z1(f,y0);return C2($)+m0(Z)+":"+m0(j)+(z||W?":"+m0(z)+cT(W):"")}function pT($,O){if(O!==1){let Z=J0($);if(O>1||O===0&&Z!==v)return Y2(Z,O===2)}return""}function Y2($,O){return"["+(O?"!":"")+"u-ca="+$+"]"}function cT($,O){let Z=WZ(9,$);return Z=O===void 0?Z.replace(JJ,""):Z.slice(0,O),Z?"."+Z:""}function C2($){return $<0?"-":"+"}function p1($,O){return $||O?$.toLocaleString("fullwide",{useGrouping:0}):""}function e5($,O){let{epochNanoseconds:Z}=$,T=(O.getOffsetNanosecondsFor?O:O($.timeZone)).getOffsetNanosecondsFor(Z),j=x1(Z,T);return{calendar:$.calendar,...j,offsetNanoseconds:T}}function X2($,O){let Z=Q0(O,$);return{calendar:O.calendar,...H0(Lz,Z),offset:u1(Z.offsetNanoseconds),timeZone:O.timeZone}}function s1($,O,Z,T=0,j=0,f,z){if(Z!==void 0&&T===1&&(T===1||z))return LT(O,Z);let W=$.getPossibleInstantsFor(O);if(Z!==void 0&&T!==3){let J=((Y,C,D,X)=>{let U=G0(C);X&&(D=XZ(D));for(let F of Y){let G=R0(g0(F,U));if(X&&(G=XZ(G)),G===D)return F}})(W,O,Z,f);if(J!==void 0)return J;if(T===0)throw RangeError(_7)}return z?G0(O):P0($,O,j,W)}function P0($,O,Z=0,T=$.getPossibleInstantsFor(O)){if(T.length===1)return T[0];if(Z===1)throw RangeError(A7);if(T.length)return T[Z===3?1:0];let j=G0(O),f=((W,J)=>{let Y=W.getOffsetNanosecondsFor(Q$(J,-m));return iT(W.getOffsetNanosecondsFor(Q$(J,m))-Y)})($,j),z=f*(Z===2?-1:1);return(T=$.getPossibleInstantsFor(x1(j,z)))[Z===2?0:T.length-1]}function hT($){if(Math.abs($)>=m)throw RangeError(x7);return $}function iT($){if($>m)throw RangeError(N7);return $}function lT($,O,Z){return W0(k0(K$(O.epochNanoseconds,((T)=>{if(K2(T))throw RangeError(H7);return f0(T,5)})($?L0(Z):Z))))}function dT($,O,Z,T,j,f=Object.create(null)){let z=O(T.timeZone),W=$(T.calendar);return{...T,...oT(z,W,T,Z?L0(j):j,f)}}function uT($,O,Z,T,j=Object.create(null)){let{calendar:f}=Z;return a(rT($(f),Z,O?L0(T):T,j),f)}function sT($,O,Z,T,j){let{calendar:f}=Z;return o(vZ($(f),Z,O?L0(T):T,j),f)}function nT($,O,Z,T,j=Object.create(null)){let f=Z.calendar,z=$(f),W=XO(z,Z);O&&(T=qZ(T)),T.sign<0&&(W=z.dateAdd(W,{...Y0,months:1}),W=n1(W,-1));let J=z.dateAdd(W,T,j);return c1(XO(z,J),f)}function aT($,O,Z){return l0(D2(O,$?L0(Z):Z)[0])}function oT($,O,Z,T,j){let f=f0(T,5),z=Z.epochNanoseconds;if(K2(T)){let W=Q0(Z,$);z=K$(P0($,{...vZ(O,W,{...T,...qj},j),...H0(u0,W)}),f)}else z=K$(z,f),R(j);return{epochNanoseconds:k0(z)}}function rT($,O,Z,T){let[j,f]=D2(O,Z);return Y1({...vZ($,O,{...Z,...qj,days:Z.days+f},T),...j})}function vZ($,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?L1(n1(O,j)):O}function XO($,O,Z=1){return n1(O,Z-$.day(O))}function D2($,O){let[Z,T]=f0(O,5),[j,f]=IZ(I1($)+T);return[j,Z+f]}function n1($,O){return O?{...$,...SZ(K0($)+O*A0)}:$}function gZ($,O,Z){let T=$(Z.calendar);return kZ(Z)?[Z,T,O(Z.timeZone)]:[{...Z,...p0},T]}function tT($){return $?s6:G0}function RZ($){return $?b(oT,$):rT}function eT($){return $?b(O7,$):Z7}function kZ($){return $&&$.epochNanoseconds}function DO($,O){return $<=6-(kZ(O)?1:0)}function $j($,O,Z,T,j,f,z){let W=$(i0(z).relativeTo),J=Math.max(h1(j),h1(f));if(DO(J,W))return h(_$(((G,B,Q,M)=>{let L=K$(f0(G),f0(B),M?-1:1);if(!Number.isFinite(L[0]))throw RangeError(nZ);return{...Y0,...A$(L,Q)}})(j,f,J,T)));if(!W)throw RangeError(aZ);T&&(f=L0(f));let[Y,C,D]=gZ(O,Z,W),X=RZ(D),U=eT(D),F=X(C,Y,j);return h(U(C,Y,X(C,F,f),J))}function F2($,O,Z,T,j){let f=h1(T),[z,W,J,Y,C]=((V,I,E)=>{V=AT(V,GZ);let P=hj(V),$0=E(V[Mz]),g=NT(V),q=PO(V,7),O0=EO(V);if(P===void 0&&O0===void 0)throw RangeError(w7);return O0==null&&(O0=0),P==null&&(P=Math.max(O0,I)),i6(P,O0),g=_T(g,O0,1),[P,O0,g,q,$0]})(j,f,$),D=Math.max(f,z);if(!kZ(C)&&D<=6)return h(_$(((V,I,E,P,$0)=>{let g=HZ(f0(V),E,P,$0);return{...Y0,...A$(g,I)}})(T,z,W,J,Y)));if(!C)throw RangeError(aZ);let[X,U,F]=gZ(O,Z,C),G=tT(F),B=RZ(F),Q=eT(F),M=B(U,X,T),L=Q(U,X,M,z),N=T.sign,A=N1(L);if(N&&A&&N!==A)throw RangeError(NO);return A&&(L=PZ(L,G(M),z,W,J,Y,U,X,G,B)),h(L)}function U2($){return $.sign===-1?qZ($):$}function qZ($){return h(L0($))}function L0($){let O={};for(let Z of k)O[Z]=-1*$[Z]||0;return O}function G2($){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(P7);Z=j}}return Z}function _$($){for(let O of y7)q0(O,$[O],-J6,J6,1);return B2(R0(f0($),y0)),$}function B2($){if(!Number.isSafeInteger($))throw RangeError(E7)}function f0($,O=6){return K6($,O,k)}function A$($,O=6){let[Z,T]=$,j=QZ(T,O,k);if(j[k[O]]+=Z*(m/a0[O]),!Number.isFinite(j[k[O]]))throw RangeError(nZ);return j}function mZ($,O=5){return QZ($,O,k)}function K2($){return Boolean(N1($,Kz))}function h1($){let O=9;for(;O>0&&!$[k[O]];O--);return O}function $7($,O){return[$,O]}function Z6($){let O=Math.floor($/fZ)*fZ;return[O,O+fZ]}function Q2($){let O=_1($=JZ($));if(!O)throw RangeError(_0($));let Z;if(O.m)Z=0;else{if(!O.offset)throw RangeError(_0($));Z=E$(O.offset)}return O.timeZone&&jj(O.timeZone,1),W0(LT(xZ(O),Z))}function L2($){let O=_1(i($));if(!O)throw RangeError(_0($));if(O.timeZone)return E2(O,O.offset?E$(O.offset):void 0);if(O.m)throw RangeError(_0($));return H2(O)}function V2($,O){let Z=_1(i($));if(!Z||!Z.timeZone)throw RangeError(_0($));let{offset:T}=Z,j=T?E$(T):void 0,[,f,z]=LO(O);return E2(Z,j,f,z)}function E$($){let O=jj($);if(O===void 0)throw RangeError(_0($));return O}function M2($){let O=_1(i($));if(!O||O.m)throw RangeError(_0($));return a(P2(O))}function yZ($){let O=_1(i($));if(!O||O.m)throw RangeError(_0($));return o(O.p?P2(O):H2(O))}function I2($,O){let Z=Zj(i(O));if(Z)return Oj(Z),c1(QT(l1(Z)));let T=yZ(O);return c1(XO($(T.calendar),T))}function Oj($){if($.calendar!==v)throw RangeError(W1($.calendar))}function S2($,O){let Z=Tj(i(O));if(Z)return Oj(Z),CZ(l1(Z));let T=yZ(O),{calendar:j}=T,f=$(j),[z,W,J]=f.h(T),[Y,C]=f.I(z,W),[D,X]=f.N(Y,C,J);return CZ(L1(f.P(D,X,J)),j)}function x2($){let O,Z=((T)=>{let j=FJ.exec(T);return j?(pZ(j[10]),v2(j)):void 0})(i($));if(!Z){if(Z=_1($),!Z)throw RangeError(_0($));if(!Z.p)throw RangeError(_0($));if(Z.m)throw RangeError(W1("Z"));Oj(Z)}if((O=Zj($))&&e4(O))throw RangeError(_0($));if((O=Tj($))&&e4(O))throw RangeError(_0($));return l0(NZ(Z,1))}function N2($){let O=((Z)=>{let T=BJ.exec(Z);return T?((j)=>{function f(C,D,X){let U=0,F=0;if(X&&([U,J]=z1(J,a0[X])),C!==void 0){if(W)throw RangeError(W1(C));F=((G)=>{let B=parseInt(G);if(!Number.isFinite(B))throw RangeError(W1(G));return B})(C),z=1,D&&(J=fj(D)*(a0[X]/y0),W=1)}return U+F}let z=0,W=0,J=0,Y={...I$(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)]),...QZ(J,2,k)};if(!z)throw RangeError(o8(k));return zj(j[1])<0&&(Y=L0(Y)),Y})(T):void 0})(i($));if(!O)throw RangeError(_0($));return h(_$(O))}function _2($){let O=_1($)||Zj($)||Tj($);return O?O.calendar:$}function A2($){let O=_1($);return O&&(O.timeZone||O.m&&O$||O.offset)||$}function E2($,O,Z=0,T=0){let j=cZ($.timeZone),f=j3(j);return C0(s1(f,xZ($),O,Z,T,!f.v,$.m),j,MO($.calendar))}function P2($){return w2(Y1(xZ($)))}function H2($){return w2(L1(l1($)))}function w2($){return{...$,calendar:MO($.calendar)}}function _1($){let O=DJ.exec($);return O?((Z)=>{let T=Z[10],j=(T||"").toUpperCase()==="Z";return{isoYear:b2(Z),isoMonth:parseInt(Z[4]),isoDay:parseInt(Z[5]),...v2(Z.slice(5)),...pZ(Z[16]),p:Boolean(Z[6]),m:j,offset:j?void 0:T}})(O):void 0}function Zj($){let O=CJ.exec($);return O?((Z)=>({isoYear:b2(Z),isoMonth:parseInt(Z[4]),isoDay:1,...pZ(Z[5])}))(O):void 0}function Tj($){let O=XJ.exec($);return O?((Z)=>({isoYear:M$,isoMonth:parseInt(Z[1]),isoDay:parseInt(Z[2]),...pZ(Z[3])}))(O):void 0}function jj($,O){let Z=UJ.exec($);return Z?((T,j)=>{let f=T[4]||T[5];if(j&&f)throw RangeError(W1(f));return hT((B$(T[2])*rZ+B$(T[3])*oZ+B$(T[4])*y0+fj(T[5]||""))*zj(T[1]))})(Z,O):void 0}function b2($){let O=zj($[1]),Z=parseInt($[2]||$[3]);if(O<0&&!Z)throw RangeError(W1(-0));return O*Z}function v2($){let O=B$($[3]);return{...IZ(fj($[4]||""))[0],isoHour:B$($[1]),isoMinute:B$($[2]),isoSecond:O===60?59:O}}function pZ($){let O,Z,T=[];if($.replace(GJ,(j,f,z)=>{let W=Boolean(f),[J,Y]=z.split("=").reverse();if(Y){if(Y==="u-ca")T.push(J),O||(O=W);else if(W||/[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 fj($){return parseInt($.padEnd(9,"0"))}function P$($){return new RegExp(`^${$}$`,"i")}function zj($){return $&&$!=="+"?-1:1}function B$($){return $===void 0?0:parseInt($)}function g2($){return cZ(i($))}function cZ($){let O=Wj($);return typeof O=="number"?u1(O):O?((Z)=>{if(QJ.test(Z))throw RangeError(S7);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,z)=>f.length<=2&&!j||f==="in"||f==="chat"?f.toUpperCase():f.length>2||!z?r4(f).replace(/island|noronha|murdo|rivadavia|urville/,r4):f)).join("/")})($):O$}function T6($){let O=Wj($);return typeof O=="number"?O:O?O.resolvedOptions().timeZone:O$}function Wj($){let O=jj($=$.toUpperCase(),1);return O!==void 0?O:$!==O$?KJ($):void 0}function Jj($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function Yj($,O){return B0($.epochNanoseconds,O.epochNanoseconds)}function R2($,O,Z,T,j,f){let z=$(i0(f).relativeTo),W=Math.max(h1(T),h1(j));if(G6(k,T,j))return 0;if(DO(W,z))return B0(f0(T),f0(j));if(!z)throw RangeError(aZ);let[J,Y,C]=gZ(O,Z,z),D=tT(C),X=RZ(C);return B0(D(X(Y,J,T)),D(X(Y,J,j)))}function Cj($,O){return a1($,O)||hZ($,O)}function a1($,O){return Q1(K0($),K0(O))}function hZ($,O){return Q1(I1($),I1(O))}function k2($,O){return!Jj($,O)}function q2($,O){return!Yj($,O)&&!!iZ($.timeZone,O.timeZone)&&N$($.calendar,O.calendar)}function m2($,O){return!Cj($,O)&&N$($.calendar,O.calendar)}function y2($,O){return!a1($,O)&&N$($.calendar,O.calendar)}function p2($,O){return!a1($,O)&&N$($.calendar,O.calendar)}function c2($,O){return!a1($,O)&&N$($.calendar,O.calendar)}function h2($,O){return!hZ($,O)}function iZ($,O){if($===O)return 1;let Z=J0($),T=J0(O);if(Z===T)return 1;try{return T6(Z)===T6(T)}catch(j){}}function Xj($,O,Z,T){let j=x$($,n(T),3,5),f=lZ(O.epochNanoseconds,Z.epochNanoseconds,...j);return h($?L0(f):f)}function Dj($,O,Z,T,j,f){let z=uZ(T.calendar,j.calendar),W=n(f),[J,Y,C,D]=x$(Z,W,5),X=T.epochNanoseconds,U=j.epochNanoseconds,F=B0(U,X),G;if(F)if(J<6)G=lZ(X,U,J,Y,C,D);else{let B=O(((M,L)=>{if(!iZ(M,L))throw RangeError(Zz);return M})(T.timeZone,j.timeZone)),Q=$(z);G=l2(Q,B,T,j,F,J,W),G=PZ(G,U,J,Y,C,D,Q,T,s6,b(oT,B))}else G=Y0;return h(Z?L0(G):G)}function Fj($,O,Z,T,j){let f=uZ(Z.calendar,T.calendar),z=n(j),[W,J,Y,C]=x$(O,z,6),D=G0(Z),X=G0(T),U=B0(X,D),F;if(U)if(W<=6)F=lZ(D,X,W,J,Y,C);else{let G=$(f);F=d2(G,Z,T,U,W,z),F=PZ(F,X,W,J,Y,C,G,Z,G0,rT)}else F=Y0;return h(O?L0(F):F)}function Uj($,O,Z,T,j){let f=uZ(Z.calendar,T.calendar),z=n(j);return i2(O,()=>$(f),Z,T,...x$(O,z,6,9,6),z)}function Gj($,O,Z,T,j){let f=uZ(Z.calendar,T.calendar),z=n(j),W=x$(O,z,9,9,8),J=$(f);return i2(O,()=>J,XO(J,Z),XO(J,T),...W,z)}function i2($,O,Z,T,j,f,z,W,J){let Y=G0(Z),C=G0(T),D;if(B0(C,Y))if(j===6)D=lZ(Y,C,j,f,z,W);else{let X=O();D=X.dateUntil(Z,T,j,J),f===6&&z===1||(D=PZ(D,C,j,f,z,W,X,Z,G0,vZ))}else D=Y0;return h($?L0(D):D)}function Bj($,O,Z,T){let j=n(T),[f,z,W,J]=x$($,j,5,5),Y=S1(Kj(O,Z),VO(z,W),J),C={...Y0,...mZ(Y,f)};return h($?L0(C):C)}function O7($,O,Z,T,j,f){let z=B0(T.epochNanoseconds,Z.epochNanoseconds);return z?j<6?u2(Z.epochNanoseconds,T.epochNanoseconds,j):l2(O,$,Z,T,z,j,f):Y0}function Z7($,O,Z,T,j){let f=G0(O),z=G0(Z),W=B0(z,f);return W?T<=6?u2(f,z,T):d2($,O,Z,W,T,j):Y0}function l2($,O,Z,T,j,f,z){let[W,J,Y]=((X,U,F,G)=>{function B(){return I={...n1(L,A++*-G),...M},E=P0(X,I),B0(N,E)===-G}let Q=Q0(U,X),M=H0(u0,Q),L=Q0(F,X),N=F.epochNanoseconds,A=0,V=Kj(Q,L),I,E;if(Math.sign(V)===-G&&A++,B()&&(G===-1||B()))throw RangeError(NO);let P=R0(g0(E,N));return[Q,I,P]})(O,Z,T,j);var C,D;return{...f===6?(C=W,D=J,{...Y0,days:s2(C,D)}):$.dateUntil(W,J,f,z),...mZ(Y)}}function d2($,O,Z,T,j,f){let[z,W,J]=((Y,C,D)=>{let X=C,U=Kj(Y,C);return Math.sign(U)===-D&&(X=n1(C,-D),U+=m*D),[Y,X,U]})(O,Z,T);return{...$.dateUntil(z,W,j,f),...mZ(J)}}function lZ($,O,Z,T,j,f){return{...Y0,...A$(HZ(g0($,O),T,j,f),Z)}}function u2($,O,Z){return{...Y0,...A$(g0($,O),Z)}}function s2($,O){return dZ(K0($),K0(O))}function dZ($,O){return Math.trunc((O-$)/A0)}function Kj($,O){return I1(O)-I1($)}function uZ($,O){if(!N$($,O))throw RangeError(bj);return $}function T7($){function O(j){return((f,z)=>({...n2(f,z),F:f.month,day:parseInt(f.day)}))(KT(Z,j),T)}let Z=sj($),T=FZ($);return{id:$,O:j7(O),B:f7(O)}}function j7($){return E0((O)=>{let Z=K0(O);return $(Z)},WeakMap)}function f7($){let O=$(0).year-d7;return E0((Z)=>{let T,j=S$(Z-O),f=[],z=[];do j+=400*A0;while((T=$(j)).year<=Z);do j+=(1-T.day)*A0,T.year===Z&&(f.push(j),z.push(T.F)),j-=A0;while((T=$(j)).year>=Z);return{k:f.reverse(),C:fz(z.reverse())}})}function n2($,O){let Z,T,j=a2($);if($.era){let f=Uz[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=$8(T,f[Z]||0))}return{era:Z,eraYear:T,year:j}}function a2($){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 FO($,O=1,Z=1){return this.B($).k[O-1]+(Z-1)*A0}function ZZ($){let O=f6(this,$),Z=f6(this,$-1),T=O.length;if(T>Z.length){let j=O8(this);if(j<0)return-j;for(let f=0;f<T;f++)if(O[f]!==Z[f])return f+1}}function TZ($){return dZ(FO.call(this,$),FO.call(this,$+1))}function j6($,O){let{k:Z}=this.B($),T=O+1,j=Z;return T>Z.length&&(T=1,j=this.B($+1).k),dZ(Z[O-1],j[T-1])}function jZ($){return this.B($).k.length}function f6($,O){return Object.keys($.B(O).C)}function o2($){return MO(i($))}function MO($){if(($=$.toLowerCase())!==v&&$!==eZ&&FZ($)!==FZ(sj($).resolvedOptions().calendar))throw RangeError(I7($));return $}function FZ($){return $==="islamicc"&&($="islamic"),$.split("-")[0]}function r2($){return this.R($)[0]}function t2($){return this.R($)[1]}function Qj($){let[O]=this.h($);return dZ(this.q(O),K0($))+1}function e2($){let O=VJ.exec($);if(!O)throw RangeError(V7($));return[parseInt(O[1]),Boolean(O[2])]}function UZ($,O,Z){return $+(O||Z&&$>=Z?1:0)}function ZT($,O){return $-(O&&$>=O?1:0)}function $8($,O){return(O+$)*(Math.sign(O)||1)||0}function TT($){return Uz[Z8($)]}function O8($){return k7[Z8($)]}function Z8($){return FZ($.id||v)}function T8($,O,Z,T){let j=A1(Z,T,d0,[],Cz);if(j.timeZone!==void 0){let f=Z.dateFromFields(j),z=o1(j),W=$(j.timeZone);return{epochNanoseconds:s1(O(W),{...f,...z},j.offset!==void 0?E$(j.offset):void 0),timeZone:W}}return{...Z.dateFromFields(j),...p0}}function j8($,O,Z,T,j,f){let z=A1(Z,j,d0,Jz,Cz),W=$(z.timeZone),[J,Y,C]=LO(f),D=Z.dateFromFields(z,AZ(f,J)),X=o1(z,J);return C0(s1(O(W),{...D,...X},z.offset!==void 0?E$(z.offset):void 0,Y,C),W,T)}function f8($,O,Z){let T=A1($,O,d0,[],D1),j=R(Z);return a(Y1({...$.dateFromFields(T,AZ(Z,j)),...o1(T,j)}))}function Lj($,O,Z,T=[]){let j=A1($,O,d0,T);return $.dateFromFields(j,Z)}function Vj($,O,Z,T){let j=A1($,O,Rj,T);return $.yearMonthFromFields(j,Z)}function Mj($,O,Z,T,j=[]){let f=A1($,Z,d0,j);return O&&f.month!==void 0&&f.monthCode===void 0&&f.year===void 0&&(f.year=M$),$.monthDayFromFields(f,T)}function z8($,O){let Z=R(O);return l0(o1(n0($,fT,[],1),Z))}function W8($){let O=n0($,kj);return h(_$({...Y0,...O}))}function A1($,O,Z,T=[],j=[]){return n0(O,[...$.fields(Z),...j].sort(),T)}function n0($,O,Z,T=!Z){let j={},f,z=0;for(let W of O){if(W===f)throw RangeError(U7(W));if(W==="constructor"||W==="__proto__")throw RangeError(Hj(W));let J=$[W];if(J!==void 0)z=1,Y6[W]&&(J=Y6[W](J,W)),j[W]=J;else if(Z){if(Z.includes(W))throw TypeError(Pj(W));j[W]=Fz[W]}f=W}if(T&&!z)throw TypeError(o8(O));return j}function o1($,O){return NZ(xJ({...Fz,...$}),O)}function J8($,O,Z,T,j,f){let z=n(f),{calendar:W,timeZone:J}=Z;return C0(((Y,C,D,X,U)=>{let F=IO(Y,D,X,d0,Yz,Wz),[G,B,Q]=LO(U,2);return s1(C,{...Y.dateFromFields(F,AZ(U,G)),...o1(F,G)},E$(F.offset),B,Q)})($(W),O(J),T,j,z),J,W)}function Y8($,O,Z,T,j){let f=n(j);return a(((z,W,J,Y)=>{let C=IO(z,W,J,d0,D1),D=R(Y);return Y1({...z.dateFromFields(C,AZ(Y,D)),...o1(C,D)})})($(O.calendar),Z,T,f))}function C8($,O,Z,T,j){let f=n(j);return((z,W,J,Y)=>{let C=IO(z,W,J,d0);return z.dateFromFields(C,Y)})($(O.calendar),Z,T,f)}function X8($,O,Z,T,j){let f=n(j);return c1(((z,W,J,Y)=>{let C=IO(z,W,J,Rj);return z.yearMonthFromFields(C,Y)})($(O.calendar),Z,T,f))}function D8($,O,Z,T,j){let f=n(j);return((z,W,J,Y)=>{let C=IO(z,W,J,d0);return z.monthDayFromFields(C,Y)})($(O.calendar),Z,T,f)}function F8($,O,Z){return l0(((T,j,f)=>{let z=R(f);return o1({...H0(fT,T),...n0(j,fT)},z)})($,O,Z))}function U8($,O){return h((Z=$,T=O,_$({...Z,...n0(T,kj)})));var Z,T}function IO($,O,Z,T,j=[],f=[]){let z=[...$.fields(T),...j].sort(),W=n0(O,z,f),J=n0(Z,z);return W=$.mergeFields(W,J),n0(W,z,[])}function Ij($,O){let Z=A1($,O,Dz);return $.monthDayFromFields(Z)}function Sj($,O,Z){let T=A1($,O,Xz);return $.yearMonthFromFields(T,Z)}function G8($,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 o3($,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(B7);if(!f)throw RangeError(G7);let z=f[Z];if(z===void 0)throw RangeError(Q7(Z));let W=$8(T,z);if(j!==void 0&&j!==W)throw RangeError(K7);j=W}else if(j===void 0)throw TypeError(L7(f));return j}function r3($,O,Z,T){let{month:j,monthCode:f}=O;if(f!==void 0){let z=((W,J,Y,C)=>{let D=W.U(Y),[X,U]=e2(J),F=UZ(X,U,D);if(U){let G=O8(W);if(G===void 0)throw RangeError(JO);if(G>0){if(F>G)throw RangeError(JO);if(D===void 0){if(C===1)throw RangeError(JO);F--}}else{if(F!==-G)throw RangeError(JO);if(D===void 0&&C===1)throw RangeError(JO)}}return F})($,f,Z,T);if(j!==void 0&&j!==z)throw RangeError($z);j=z,T=1}else if(j===void 0)throw TypeError(M7);return q0("month",j,1,$.L(Z),T)}function z6($,O,Z,T,j){return N0(O,"day",1,$.j(T,Z),j)}function t3($,O,Z,T){let j=0,f=[];for(let z of Z)O[z]!==void 0?j=1:f.push(z);if(Object.assign($,O),j)for(let z of T||f)delete $[z]}function B8($){return W0(k0(MZ(VZ($))))}function K8($,O,Z,T,j=v){return C0(k0(MZ(VZ(Z))),O(T),$(j))}function Q8($,O,Z,T,j=0,f=0,z=0,W=0,J=0,Y=0,C=v){return a(Y1(xZ(c0(U0,I$($3,[O,Z,T,j,f,z,W,J,Y])))),$(C))}function L8($,O,Z,T,j=v){return o(L1(l1(c0(U0,{isoYear:O,isoMonth:Z,isoDay:T}))),$(j))}function V8($,O,Z,T=v,j=1){let f=U0(O),z=U0(Z),W=$(T);return c1(QT(l1({isoYear:f,isoMonth:z,isoDay:U0(j)})),W)}function M8($,O,Z,T=v,j=M$){let f=U0(O),z=U0(Z),W=$(T);return CZ(L1(l1({isoYear:U0(j),isoMonth:f,isoDay:z})),W)}function I8($=0,O=0,Z=0,T=0,j=0,f=0){return l0(NZ(c0(U0,I$(u0,[$,O,Z,T,j,f])),1))}function S8($=0,O=0,Z=0,T=0,j=0,f=0,z=0,W=0,J=0,Y=0){return h(_$(c0(A6,I$(k,[$,O,Z,T,j,f,z,W,J,Y]))))}function xj($,O,Z=v){return C0($.epochNanoseconds,O,Z)}function x8($){return W0($.epochNanoseconds)}function Nj($,O){return a(Q0(O,$))}function _j($,O){return o(Q0(O,$))}function N8($,O,Z){return Sj($(O.calendar),Z)}function _8($,O,Z){return Ij($(O.calendar),Z)}function Aj($,O){return l0(Q0(O,$))}function A8($,O,Z,T){let j=((f,z,W,J)=>{let Y=IT(J);return P0(f(z),W,Y)})($,Z,O,T);return C0(k0(j),Z,O.calendar)}function E8($,O,Z){let T=$(O.calendar);return c1({...O,...Sj(T,Z)})}function P8($,O,Z){return Ij($(O.calendar),Z)}function H8($,O,Z,T,j){let f=$(j.timeZone),z=j.plainTime,W=z!==void 0?O(z):p0;return C0(P0(Z(f),{...T,...W}),f,T.calendar)}function w8($,O=p0){return a(Y1({...$,...O}))}function b8($,O,Z){return Sj($(O.calendar),Z)}function v8($,O,Z){return Ij($(O.calendar),Z)}function g8($,O,Z,T){return((j,f,z)=>G8(j,f,Xz,J1(z),AO))($(O.calendar),Z,T)}function R8($,O,Z,T){return((j,f,z)=>G8(j,f,Dz,J1(z),tZ))($(O.calendar),Z,T)}function k8($,O,Z,T,j){let f=J1(j),z=O(f.plainDate),W=$(f.timeZone);return C0(P0(Z(W),{...z,...T}),W,z.calendar)}function q8($,O){return a(Y1({...$,...O}))}function m8($){return W0(k0(L$($,y0)))}function y8($){return W0(k0(L$($,o0)))}function p8($){return W0(k0(MZ(VZ($),t1)))}function c8($){return W0(k0(MZ(VZ($))))}function h8($,O,Z=p0){let T=O.timeZone,j=$(T),f={...Q0(O,j),...Z};return C0(s1(j,f,f.offsetNanoseconds,2),T,O.calendar)}function i8($,O,Z){let T=O.timeZone,j=$(T),f={...Q0(O,j),...Z},z=s8(O.calendar,Z.calendar);return C0(s1(j,f,f.offsetNanoseconds,2),T,z)}function l8($,O=p0){return a({...$,...O})}function d8($,O){return a({...$,...O},s8($.calendar,O.calendar))}function sZ($,O){return{...$,calendar:O}}function u8($,O){return{...$,timeZone:O}}function s8($,O){if($===O)return $;let Z=J0($),T=J0(O);if(Z===T||Z===v)return O;if(T===v)return $;throw RangeError(bj)}function z7($,O){return(Z)=>Z===v?$:Z===eZ||Z===V$?Object.assign(Object.create($),{id:Z}):Object.assign(Object.create(O),LJ(Z))}function r1($,O,Z){let T=new Set(Z);return(j)=>(((f,z)=>{for(let W of z)if(W in f)return 1;return 0})(j=YT(T,j),$)||Object.assign(j,O),Z&&(j.timeZone=O$,["full","long"].includes(j.timeStyle)&&(j.timeStyle="medium")),j)}function C1($,O=Ej){let[Z,,,T]=$;return(j,f=pJ,...z)=>{let W=O(T&&T(...z),j,f,Z),J=W.resolvedOptions();return[W,...W7($,J,z)]}}function Ej($,O,Z,T){if(Z=T(Z),$){if(Z.timeZone!==void 0)throw TypeError(v7);Z.timeZone=$}return new E1(O,Z)}function W7($,O,Z){let[,T,j]=$;return Z.map((f)=>(f.calendar&&((z,W,J)=>{if((J||z!==v)&&z!==W)throw RangeError(bj)})(J0(f.calendar),O.calendar,j),T(f,O)))}function H$($){let O=SO();return x1(O,$.getOffsetNanosecondsFor(O))}function SO(){return L$(Date.now(),o0)}function X1(){return X6||(X6=new E1().resolvedOptions().timeZone)}var J7=($,O)=>`Non-integer ${$}: ${O}`,Y7=($,O)=>`Non-positive ${$}: ${O}`,C7=($,O)=>`Non-finite ${$}: ${O}`,X7=($)=>`Cannot convert bigint to ${$}`,D7=($)=>`Invalid bigint: ${$}`,F7="Cannot convert Symbol to string",n8="Invalid object",a8=($,O,Z,T,j)=>j?a8($,j[O],j[Z],j[T]):xO($,O)+`; must be between ${Z}-${T}`,xO=($,O)=>`Invalid ${$}: ${O}`,Pj=($)=>`Missing ${$}`,Hj=($)=>`Invalid field ${$}`,U7=($)=>`Duplicate field ${$}`,o8=($)=>"No valid fields: "+$.join(),r8="Invalid bag",t8=($,O,Z)=>xO($,O)+"; must be "+Object.keys(Z).join(),e8="Cannot use valueOf",wj="Invalid calling context",G7="Forbidden era/eraYear",B7="Mismatching era/eraYear",K7="Mismatching year/eraYear",Q7=($)=>`Invalid era: ${$}`,L7=($)=>"Missing year"+($?"/era/eraYear":""),V7=($)=>`Invalid monthCode: ${$}`,$z="Mismatching month/monthCode",M7="Missing month/monthCode",W6="Cannot guess year",JO="Invalid leap month",Oz="Invalid protocol",NO="Invalid protocol results",bj="Mismatching Calendars",I7=($)=>`Invalid Calendar: ${$}`,Zz="Mismatching TimeZones",S7="Forbidden ICU TimeZone",x7="Out-of-bounds offset",N7="Out-of-bounds TimeZone gap",_7="Invalid TimeZone offset",A7="Ambiguous offset",nZ="Out-of-bounds date",E7="Out-of-bounds duration",P7="Cannot mix duration signs",aZ="Missing relativeTo",H7="Cannot use large units",w7="Required smallestUnit or largestUnit",b7="smallestUnit > largestUnit",_0=($)=>`Cannot parse: ${$}`,W1=($)=>`Invalid substring: ${$}`,Tz=($)=>`Cannot format ${$}`,jz="Mismatching types for formatting",v7="Cannot specify TimeZone",fz=b(BO,($,O)=>O),w$=b(BO,($,O,Z)=>Z),m0=b(WZ,2),jT={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},_O=Object.keys(jT),A0=86400000,zz=1000,t1=1000,o0=1e6,y0=1e9,oZ=60000000000,rZ=3600000000000,m=86400000000000,a0=[1,t1,o0,y0,oZ,rZ,m],D1=_O.slice(0,6),fT=KO(D1),Wz=["offset"],Jz=["timeZone"],Yz=D1.concat(Wz),Cz=Yz.concat(Jz),zT=["era","eraYear"],g7=zT.concat(["year"]),tZ=["year"],vj=["monthCode"],gj=["month"].concat(vj),AO=["day"],Rj=gj.concat(tZ),Xz=vj.concat(tZ),d0=AO.concat(Rj),R7=AO.concat(gj),Dz=AO.concat(vj),Fz=w$(D1,0),v="iso8601",eZ="gregory",V$="japanese",Uz={[eZ]:{bce:-1,ce:0},[V$]:{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}},k7={chinese:13,dangi:13,hebrew:-6},i=b(LZ,"string"),Gz=b(LZ,"boolean"),q7=b(LZ,"number"),Bz=b(LZ,"function"),k=_O.map(($)=>$+"s"),kj=KO(k),m7=k.slice(0,6),Kz=k.slice(6),y7=Kz.slice(1),p7=fz(k),Y0=w$(k,0),qj=w$(m7,0),mj=b(B6,k),u0=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],yj=["isoDay","isoMonth","isoYear"],$3=u0.concat(yj),pj=KO(yj),Qz=KO(u0),Lz=KO($3),p0=w$(Qz,0),c7=b(B6,$3),E1=Intl.DateTimeFormat,Vz="en-GB",cj=1e8,h7=cj*A0,i7=[cj,0],l7=[-cj,0],UO=275760,GO=-271821,d7=1970,M$=1972,f1=12,u7=S$(1868,9,8),s7=E0(s5,WeakMap),GZ="smallestUnit",WT="unit",CO="roundingIncrement",e3="fractionalSecondDigits",Mz="relativeTo",Iz={constrain:0,reject:1},n7=Object.keys(Iz),a7={compatible:0,reject:1,earlier:2,later:3},o7={reject:0,use:1,prefer:2,ignore:3},r7={auto:0,never:1,critical:2,always:3},t7={auto:0,never:1,critical:2},e7={auto:0,never:1},$J={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},EO=b(ET,GZ),hj=b(ET,"largestUnit"),OJ=b(ET,WT),Sz=b(d1,"overflow",Iz),xz=b(d1,"disambiguation",a7),ZJ=b(d1,"offset",o7),ij=b(d1,"calendarName",r7),TJ=b(d1,"timeZoneName",t7),jJ=b(d1,"offset",e7),PO=b(d1,"roundingMode",$J),b$="PlainYearMonth",v$="PlainMonthDay",e1="PlainDate",$$="PlainDateTime",O3="PlainTime",F1="ZonedDateTime",Z3="Instant",T3="Duration",fJ=[Math.floor,($)=>OZ($)?Math.floor($):Math.round($),Math.ceil,($)=>OZ($)?Math.ceil($):Math.round($),Math.trunc,($)=>OZ($)?Math.trunc($)||0:Math.round($),($)=>$<0?Math.floor($):Math.ceil($),($)=>Math.sign($)*Math.round(Math.abs($))||0,($)=>OZ($)?($=Math.trunc($)||0)+$%2:Math.round($)],O$="UTC",fZ=5184000,zJ=YZ(1847),WJ=YZ(new Date().getUTCFullYear()+10),JJ=/0+$/,Q0=E0(e5,WeakMap),J6=4294967295,j3=E0(($)=>{let O=Wj($);return typeof O=="object"?new _z(O):new Nz(O||0)});class Nz{constructor($){this.v=$}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor($){return[LT($,this.v)]}l(){}}class _z{constructor($){this.$=((O)=>{function Z(J){let Y=$T(J,z,W),[C,D]=Z6(Y),X=j(C),U=j(D);return X===U?X:T(f(C,D),X,U,J)}function T(J,Y,C,D){let X,U;for(;(D===void 0||(X=D<J[0]?Y:D>=J[1]?C:void 0)===void 0)&&(U=J[1]-J[0]);){let F=J[0]+Math.floor(U/2);O(F)===C?J[1]=F:J[0]=F+1}return X}let j=E0(O),f=E0($7),z=zJ,W=WJ;return{G(J){let Y=Z(J-86400),C=Z(J+86400),D=J-Y,X=J-C;if(Y===C)return[D];let U=Z(D);return U===Z(X)?[J-U]:Y>C?[D,X]:[]},V:Z,l(J,Y){let C=$T(J,z,W),[D,X]=Z6(C),U=fZ*Y,F=Y<0?()=>X>z||(z=C,0):()=>D<W||(W=C,0);for(;F();){let G=j(D),B=j(X);if(G!==B){let Q=f(D,X);T(Q,G,B);let M=Q[0];if((Q1(M,J)||1)===Y)return M}D+=U,X+=U}}}})(((O)=>(Z)=>{let T=KT(O,Z*zz);return YZ(a2(T),parseInt(T.month),parseInt(T.day),parseInt(T.hour),parseInt(T.minute),parseInt(T.second))-Z})($))}getOffsetNanosecondsFor($){return this.$.V(H6($))*y0}getPossibleInstantsFor($){let[O,Z]=[YZ((T=$).isoYear,T.isoMonth,T.isoDay,T.isoHour,T.isoMinute,T.isoSecond),T.isoMillisecond*o0+T.isoMicrosecond*t1+T.isoNanosecond];var T;return this.$.G(O).map((j)=>k0(Q$(L$(j,y0),Z)))}l($,O){let[Z,T]=w6($),j=this.$.l(Z+(O>0||T?1:0),O);if(j!==void 0)return L$(j,y0)}}var lj="([+\u2212-])",zZ="(?:[.,](\\d{1,9}))?",Az=`(?:(?:${lj}(\\d{6}))|(\\d{4}))-?(\\d{2})`,dj="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+zZ+")?)?",uj=lj+dj,YJ=Az+"-?(\\d{2})(?:[T ]"+dj+"(Z|"+uj+")?)?",Ez="\\[(!?)([^\\]]*)\\]",f3=`((?:${Ez}){0,9})`,CJ=P$(Az+f3),XJ=P$("(?:--)?(\\d{2})-?(\\d{2})"+f3),DJ=P$(YJ+f3),FJ=P$("T?"+dj+"(?:"+uj+")?"+f3),UJ=P$(uj),GJ=new RegExp(Ez,"g"),BJ=P$(`${lj}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${zZ}H)?(?:(\\d+)${zZ}M)?(?:(\\d+)${zZ}S)?)?`),KJ=E0(($)=>new E1(Vz,{timeZone:$,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),QJ=/^(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$/,LJ=E0(T7),sj=E0(($)=>new E1(Vz,{calendar:$,timeZone:O$,era:"short",year:"numeric",month:"short",day:"numeric"})),VJ=/^M(\d{2})(L?)$/,MJ={era:JZ,eraYear:U0,year:U0,month:t4,monthCode:JZ,day:t4},IJ=w$(D1,U0),SJ=w$(k,A6),Y6=Object.assign({},MJ,IJ,SJ,{offset:JZ}),xJ=b(u5,D1,u0),C6={dateAdd($,O,Z){let T=R(Z),j,{years:f,months:z,weeks:W,days:J}=O;if(J+=f0(O,5)[0],f||z)j=((Y,C,D,X,U)=>{let[F,G,B]=Y.h(C);if(D){let[Q,M]=Y.I(F,G);F+=D,G=UZ(Q,M,Y.U(F)),G=q0("month",G,1,Y.L(F),U)}return X&&([F,G]=Y._(F,G,X)),B=q0("day",B,1,Y.j(F,G),U),Y.q(F,G,B)})(this,$,f,z,T);else{if(!W&&!J)return $;j=K0($)}return j+=(7*W+J)*A0,L1(SZ(j))},dateUntil($,O,Z){if(Z<=7){let J=0,Y=s2({...$,...p0},{...O,...p0});return Z===7&&([J,Y]=M1(Y,7)),{...Y0,weeks:J,days:Y}}let T=this.h($),j=this.h(O),[f,z,W]=((J,Y,C,D,X,U,F)=>{let G=X-Y,B=U-C,Q=F-D;if(G||B){let M=Math.sign(G||B),L=J.j(X,U),N=0;if(Math.sign(Q)===-M){let A=L;[X,U]=J._(X,U,-M),G=X-Y,B=U-C,L=J.j(X,U),N=M<0?-A:L}if(Q=F-Math.min(D,L)+N,G){let[A,V]=J.I(Y,C),[I,E]=J.I(X,U);if(B=I-A||Number(E)-Number(V),Math.sign(B)===-M){let P=M<0&&-J.L(X);G=(X-=M)-Y,B=U-UZ(A,V,J.U(X))+(P||J.L(X))}}}return[G,B,Q]})(this,...T,...j);return Z===8&&(z+=this.J(f,T[0]),f=0),{...Y0,years:f,months:z,days:W}},dateFromFields($,O){let Z=R(O),T=o3(this,$),j=r3(this,$,T,Z),f=z6(this,$,j,T,Z);return o(L1(this.P(T,j,f)),this.id||v)},yearMonthFromFields($,O){let Z=R(O),T=o3(this,$),j=r3(this,$,T,Z);return c1(QT(this.P(T,j,1)),this.id||v)},monthDayFromFields($,O){let Z=R(O),T=!this.id,{monthCode:j,year:f,month:z}=$,W,J,Y,C,D;if(j!==void 0){[W,J]=e2(j),D=D6($,"day");let X=this.N(W,J,D);if(!X)throw RangeError(W6);if([Y,C]=X,z!==void 0&&z!==C)throw RangeError($z);T&&(C=q0("month",C,1,f1,1),D=q0("day",D,1,VT(f!==void 0?f:Y,C),Z))}else{Y=f===void 0&&T?M$:o3(this,$),C=r3(this,$,Y,Z),D=z6(this,$,C,Y,Z);let X=this.U(Y);J=C===X,W=ZT(C,X);let U=this.N(W,J,D);if(!U)throw RangeError(W6);[Y,C]=U}return CZ(L1(this.P(Y,C,D)),this.id||v)},fields($){return TT(this)&&$.includes("year")?[...$,...zT]:$},mergeFields($,O){let Z=Object.assign(Object.create(null),$);return t3(Z,O,gj),TT(this)&&(t3(Z,O,g7),this.id===V$&&t3(Z,O,R7,zT)),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:Qj,era($){return this.ee($)[0]},eraYear($){return this.ee($)[1]},monthCode($){let[O,Z]=this.h($),[T,j]=this.I(O,Z);return((f,z)=>"M"+m0(f)+(z?"L":""))(T,j)},dayOfWeek:k6,daysInWeek(){return 7}},NJ={dayOfYear:Qj,h:v6,q:S$},_J=Object.assign({},NJ,{weekOfYear:r2,yearOfWeek:t2,R($){function O(U){return(7-U<T?7:0)-U}function Z(U){let F=R6(X+U),G=U||1,B=O(YO(J+F*G,7));return C=(F+(B-Y)*G)/7}let T=this.id?1:4,j=k6($),f=this.dayOfYear($),z=YO(j-1,7),W=f-1,J=YO(z-W,7),Y=O(J),C,D=Math.floor((W-Y)/7)+1,X=$.isoYear;return D?D>Z(0)&&(D=1,X++):(D=Z(-1),X--),[D,X,C]}}),AJ={dayOfYear:Qj,h:OT,q:FO,weekOfYear:r2,yearOfWeek:t2,R(){return[]}},g$=z7(Object.assign({},C6,_J,{h:v6,ee($){return this.id===eZ?q6($):this.id===V$?s7($):[]},I:($,O)=>[O,0],N($,O){if(!O)return[M$,$]},K:MT,U(){},L:g6,J:($)=>$*f1,j:VT,X:R6,P:($,O,Z)=>({isoYear:$,isoMonth:O,isoDay:Z}),q:S$,_:($,O,Z)=>($+=KZ(Z,f1),(O+=XT(Z,f1))<1?($--,O+=f1):O>f1&&($++,O-=f1),[$,O]),year($){return $.isoYear},month($){return $.isoMonth},day:($)=>$.isoDay}),Object.assign({},C6,AJ,{h:OT,ee($){let O=this.O($);return[O.era,O.eraYear]},I($,O){let Z=ZZ.call(this,$);return[ZT(O,Z),Z===O]},N($,O,Z){let[T,j,f]=OT.call(this,{isoYear:M$,isoMonth:f1,isoDay:31}),z=ZZ.call(this,T),W=j===z;(Q1($,ZT(j,z))||Q1(Number(O),Number(W))||Q1(Z,f))===1&&T--;for(let J=0;J<100;J++){let Y=T-J,C=ZZ.call(this,Y),D=UZ($,O,C);if(O===(D===C)&&Z<=j6.call(this,Y,D))return[Y,D]}},K($){let O=TZ.call(this,$);return O>TZ.call(this,$-1)&&O>TZ.call(this,$+1)},U:ZZ,L:jZ,J($,O){let Z=O+$,T=Math.sign($),j=T<0?-1:0,f=0;for(let z=O;z!==Z;z+=T)f+=jZ.call(this,z+j);return f},j:j6,X:TZ,P($,O,Z){return SZ(FO.call(this,$,O,Z))},q:FO,_($,O,Z){if(Z){if(O+=Z,!Number.isSafeInteger(O))throw RangeError(nZ);if(Z<0)for(;O<1;)O+=jZ.call(this,--$);else{let T;for(;O>(T=jZ.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",R$=["timeZoneName"],Pz={month:V1,day:V1},nj={year:V1,month:V1},aj=Object.assign({},nj,{day:V1}),oj={hour:V1,minute:V1,second:V1},rj=Object.assign({},aj,oj),EJ=Object.assign({},rj,{timeZoneName:"short"}),PJ=Object.keys(nj),HJ=Object.keys(Pz),wJ=Object.keys(aj),bJ=Object.keys(oj),tj=["dateStyle"],vJ=PJ.concat(tj),gJ=HJ.concat(tj),ej=wJ.concat(tj,["weekday"]),HO=bJ.concat(["dayPeriod","timeStyle"]),$f=ej.concat(HO),RJ=$f.concat(R$),kJ=R$.concat(HO),qJ=R$.concat(ej),mJ=R$.concat(["day","weekday"],HO),yJ=R$.concat(["year","weekday"],HO),pJ={},Of=[r1($f,rj),EZ],Hz=[r1(RJ,EJ),EZ,0,($,O)=>{let Z=J0($.timeZone);if(O&&J0(O.timeZone)!==Z)throw RangeError(Zz);return Z}],Zf=[r1($f,rj,R$),K0],Tf=[r1(ej,aj,kJ),K0],jf=[r1(HO,oj,qJ),($)=>I1($)/o0],ff=[r1(vJ,nj,mJ),K0,1],zf=[r1(gJ,Pz,yJ),K0,1],X6;function e0($,O,Z,T,j){function f(...J){if(!(this instanceof f))throw TypeError(wj);gz(this,O(...J))}function z(J,Y){return Object.defineProperties(function(...C){return J.call(this,W(this),...C)},JT(Y))}function W(J){let Y=F0(J);if(!Y||Y.branding!==$)throw TypeError(wj);return Y}return Object.defineProperties(f.prototype,{...F6(c0(z,Z)),...i1(c0(z,T)),...BZ("Temporal."+$)}),Object.defineProperties(f,{...i1(j),...JT($)}),[f,(J)=>{let Y=Object.create(f.prototype);return gz(Y,J),Y},W]}function qz($){return $=$.concat("id").sort(),(O)=>{if(!U6(O,$))throw TypeError(Oz);return O}}function y$($){if(F0($)||$.calendar!==void 0||$.timeZone!==void 0)throw TypeError(r8);return $}function z3($,O){let Z={};for(let T in $)Z[T]=({o:j},f)=>{let z=F0(f)||{},{branding:W}=z,J=W===e1||O.includes(W)?z:M0(f);return j[T](J)};return Z}function Yf($){let O={};for(let Z in $)O[Z]=(T)=>{let{calendar:j}=T;return(f=j,typeof f=="string"?g$(f):(z=f,Object.assign(Object.create(ZY),{i:z})))[Z](T);var f,z};return O}function v1(){throw TypeError(e8)}function bO({calendar:$}){return typeof $=="string"?new Qf($):$}function wz($,O){if(O=n(O),z0($)){let T=F0($);if(T&&T.branding===v$)return R(O),T;let j=pz($);return Mj(F3(j||v),!j,$,O)}let Z=S2(g$,$);return R(O),Z}function mz($,O,Z){return T=O.call($,V0(W0(Z))),hT(QO(T));var T}function W3($,O=lz){let Z=Object.keys(O).sort(),T={};for(let j of Z)T[j]=b(O[j],$,Bz($[j]));return T}function y($,O){return typeof $=="string"?j3($):W3($,O)}function t($){return y($,Jf)}function r0($){if(z0($)){let O=F0($);if(O)switch(O.branding){case Z3:return O;case F1:return W0(O.epochNanoseconds)}}return Q2($)}function bz($,O,Z){let T=O.l(r0(Z).epochNanoseconds,$);return T?V0(W0(T)):null}function c($){return z0($)?(F0($)||{}).timeZone||JY($):((O)=>cZ(A2(i(O))))($)}function P1($,O){if(z0($)){let Z=F0($)||{};switch(Z.branding){case O3:return R(O),Z;case $$:return R(O),l0(Z);case F1:return R(O),Aj(t,Z)}return z8($,O)}return R(O),x2($)}function Cf($){return $===void 0?void 0:P1($)}function k$($,O){if(O=n(O),z0($)){let T=F0($);return T&&T.branding===b$?(R(O),T):Vj(X3(vO($)),$,O)}let Z=I2(g$,$);return R(O),Z}function H1($,O){if(O=n(O),z0($)){let T=F0($)||{};switch(T.branding){case $$:return R(O),T;case e1:return R(O),a({...T,...p0});case F1:return R(O),Nj(t,T)}return f8(D3(vO($)),$,O)}let Z=M2($);return R(O),Z}function M0($,O){if(O=n(O),z0($)){let T=F0($)||{};switch(T.branding){case e1:return R(O),T;case $$:return R(O),o(T);case F1:return R(O),_j(t,T)}return Lj(D3(vO($)),$,O)}let Z=yZ($);return R(O),Z}function yz($,O,Z){return h0(O.call($,d(o(Z,$))))}function $1($){return(O)=>typeof O=="string"?g$(O):((Z,T)=>{let j=Object.keys(T).sort(),f={};for(let z of j)f[z]=b(T[z],Z,Z[z]);return f})(O,$)}function l($){if(z0($)){let O=F0($);return O&&O.branding===T3?O:W8($)}return N2($)}function wO($){if($!==void 0){if(z0($)){let O=F0($)||{};switch(O.branding){case F1:case e1:return O;case $$:return o(O)}let Z=vO($);return{...T8(c,y,D3(Z),$),calendar:Z}}return L2($)}}function vO($){return pz($)||v}function pz($){let{calendar:O}=$;if(O!==void 0)return D0(O)}function D0($){return z0($)?(F0($)||{}).calendar||SY($):((O)=>MO(_2(i(O))))($)}function q$($,O){if(O=n(O),z0($)){let Z=F0($);if(Z&&Z.branding===F1)return LO(O),Z;let T=vO($);return j8(c,y,D3(T),T,$,O)}return V2($,O)}function vz($){return c0((O)=>(Z)=>O(Wf(Z)),$)}function Wf($){return Q0($,t)}function cJ(){let $=E1.prototype,O=Object.getOwnPropertyDescriptors($),Z=Object.getOwnPropertyDescriptors(E1),T=function(j,f={}){if(!(this instanceof T))return new T(j,f);Lf.set(this,((z,W={})=>{let J=new E1(z,W),Y=J.resolvedOptions(),C=Y.locale,D=H0(Object.keys(W),Y),X=E0(lJ),U=(...F)=>{let G,B=F.map((Q,M)=>{let L=F0(Q),N=(L||{}).branding;if(M&&G&&G!==N)throw TypeError(jz);return G=N,L});return G?X(G)(C,D,...B):[J,...F]};return U.u=J,U})(j,f))};for(let j in O){let f=O[j],z=j.startsWith("format")&&hJ(j);typeof f.value=="function"?f.value=j==="constructor"?T:z||iJ(j):z&&(f.get=function(){return z.bind(this)})}return Z.prototype.value=Object.create($,O),Object.defineProperties(T,Z),T}function hJ($){return function(...O){let Z=Lf.get(this),[T,...j]=Z(...O);return T[$](...j)}}function iJ($){return function(...O){return Lf.get(this).u[$](...O)}}function lJ($){let O=dJ[$];if(!O)throw TypeError(Tz($));return C1(O,E0(Ej))}var dJ={Instant:Of,PlainDateTime:Zf,PlainDate:Tf,PlainTime:jf,PlainYearMonth:ff,PlainMonthDay:zf},uJ=C1(Of),sJ=C1(Hz),nJ=C1(Zf),aJ=C1(Tf),oJ=C1(jf),rJ=C1(ff),tJ=C1(zf),Xf={era:M6,eraYear:DT,year:QO,month:h0,daysInMonth:h0,daysInYear:h0,inLeapYear:Gz,monthsInYear:h0},Y3={monthCode:i},Df={day:h0},cz={dayOfWeek:h0,dayOfYear:h0,weekOfYear:I6,yearOfWeek:DT,daysInWeek:h0},hz=Object.assign({},Xf,Y3,Df,cz),J3=new WeakMap,F0=J3.get.bind(J3),gz=J3.set.bind(J3),eJ={...z3(Xf,[b$]),...z3(cz,[]),...z3(Y3,[b$,v$]),...z3(Df,[v$])},Ff=Yf(hz),$Y=Yf({...Xf,...Y3}),OY=Yf({...Y3,...Df}),gO={calendarId:($)=>J0($.calendar)},ZY=c0(($,O)=>function(Z){let{i:T}=this;return $(T[O](d(o(Z,T))))},hz),TY=BO(($)=>(O)=>O[$],k.concat("sign")),Uf=BO(($,O)=>(Z)=>Z[u0[O]],D1),iz={epochSeconds:l6,epochMilliseconds:EZ,epochMicroseconds:d6,epochNanoseconds:u6},RO=b(YT,new Set(["branding"])),[jY,m$,fY]=e0(v$,b(M8,D0),{...gO,...OY},{getISOFields:RO,getCalendar:bO,with($,O,Z){return m$(D8(VY,$,this,y$(O),Z))},equals:($,O)=>c2($,wz(O)),toPlainDate($,O){return d(R8(kO,$,this,O))},toLocaleString($,O,Z){let[T,j]=tJ(O,Z,$);return T.format(j)},toString:qT,toJSON:($)=>qT($),valueOf:v1},{from:($,O)=>m$(wz($,O))}),lz={getOffsetNanosecondsFor:mz,getPossibleInstantsFor($,O,Z){let T=[...O.call($,X0(a(Z,v)))].map((f)=>WY(f).epochNanoseconds),j=T.length;return j>1&&(T.sort(B0),iT(R0(g0(T[0],T[j-1])))),T}},Jf={getOffsetNanosecondsFor:mz},[zY,V0,WY]=e0(Z3,B8,iz,{add:($,O)=>V0(lT(0,$,l(O))),subtract:($,O)=>V0(lT(1,$,l(O))),until:($,O,Z)=>p(Xj(0,$,r0(O),Z)),since:($,O,Z)=>p(Xj(1,$,r0(O),Z)),round:($,O)=>V0(a6($,O)),equals:($,O)=>k2($,r0(O)),toZonedDateTime($,O){let Z=J1(O);return r(xj($,c(Z.timeZone),D0(Z.calendar)))},toZonedDateTimeISO:($,O)=>r(xj($,c(O))),toLocaleString($,O,Z){let[T,j]=uJ(O,Z,$);return T.format(j)},toString:($,O)=>bT(c,t,$,O),toJSON:($)=>bT(c,t,$),valueOf:v1},{from:($)=>V0(r0($)),fromEpochSeconds:($)=>V0(m8($)),fromEpochMilliseconds:($)=>V0(y8($)),fromEpochMicroseconds:($)=>V0(p8($)),fromEpochNanoseconds:($)=>V0(c8($)),compare:($,O)=>Jj(r0($),r0(O))}),[C3,g9]=e0("TimeZone",($)=>{let O=g2($);return{branding:"TimeZone",id:O,o:j3(O)}},{id:($)=>$.id},{getPossibleInstantsFor:({o:$},O)=>$.getPossibleInstantsFor(H1(O)).map((Z)=>V0(W0(Z))),getOffsetNanosecondsFor:({o:$},O)=>$.getOffsetNanosecondsFor(r0(O).epochNanoseconds),getOffsetStringFor($,O){let Z=r0(O).epochNanoseconds,T=W3(this,Jf).getOffsetNanosecondsFor(Z);return u1(T)},getPlainDateTimeFor($,O,Z=v){let T=r0(O).epochNanoseconds,j=W3(this,Jf).getOffsetNanosecondsFor(T);return X0(a(x1(T,j),D0(Z)))},getInstantFor($,O,Z){let T=H1(O),j=IT(Z),f=W3(this);return V0(W0(P0(f,T,j)))},getNextTransition:({o:$},O)=>bz(1,$,O),getPreviousTransition:({o:$},O)=>bz(-1,$,O),equals($,O){return!!iZ(this,c(O))},toString:($)=>$.id,toJSON:($)=>$.id},{from($){let O=c($);return typeof O=="string"?new C3(O):O}}),JY=qz(Object.keys(lz)),[YY,w1]=e0(O3,I8,Uf,{getISOFields:RO,with($,O,Z){return w1(F8(this,y$(O),Z))},add:($,O)=>w1(aT(0,$,l(O))),subtract:($,O)=>w1(aT(1,$,l(O))),until:($,O,Z)=>p(Bj(0,$,P1(O),Z)),since:($,O,Z)=>p(Bj(1,$,P1(O),Z)),round:($,O)=>w1(t6($,O)),equals:($,O)=>h2($,P1(O)),toZonedDateTime:($,O)=>r(k8(c,M0,y,$,O)),toPlainDateTime:($,O)=>X0(q8($,M0(O))),toLocaleString($,O,Z){let[T,j]=oJ(O,Z,$);return T.format(j)},toString:mT,toJSON:($)=>mT($),valueOf:v1},{from:($,O)=>w1(P1($,O)),compare:($,O)=>hZ(P1($),P1(O))}),[CY,b1,XY]=e0(b$,b(V8,D0),{...gO,...$Y},{getISOFields:RO,getCalendar:bO,with($,O,Z){return b1(X8(LY,$,this,y$(O),Z))},add:($,O,Z)=>b1(nT(Rz,0,$,l(O),Z)),subtract:($,O,Z)=>b1(nT(Rz,1,$,l(O),Z)),until:($,O,Z)=>p(Gj(kz,0,$,k$(O),Z)),since:($,O,Z)=>p(Gj(kz,1,$,k$(O),Z)),equals:($,O)=>p2($,k$(O)),toPlainDate($,O){return d(g8(kO,$,this,O))},toLocaleString($,O,Z){let[T,j]=rJ(O,Z,$);return T.format(j)},toString:kT,toJSON:($)=>kT($),valueOf:v1},{from:($,O)=>b1(k$($,O)),compare:($,O)=>a1(k$($),k$(O))}),[DY,X0]=e0($$,b(Q8,D0),{...gO,...Ff,...Uf},{getISOFields:RO,getCalendar:bO,with($,O,Z){return X0(Y8(kO,$,this,y$(O),Z))},withCalendar:($,O)=>X0(sZ($,D0(O))),withPlainDate:($,O)=>X0(d8($,M0(O))),withPlainTime:($,O)=>X0(l8($,Cf(O))),add:($,O,Z)=>X0(uT(Z$,0,$,l(O),Z)),subtract:($,O,Z)=>X0(uT(Z$,1,$,l(O),Z)),until:($,O,Z)=>p(Fj(t0,0,$,H1(O),Z)),since:($,O,Z)=>p(Fj(t0,1,$,H1(O),Z)),round:($,O)=>X0(r6($,O)),equals:($,O)=>m2($,H1(O)),toZonedDateTime:($,O,Z)=>r(A8(y,$,c(O),Z)),toPlainDate:($)=>d(o($)),toPlainTime:($)=>w1(l0($)),toPlainYearMonth($){return b1(E8(X3,$,this))},toPlainMonthDay($){return m$(P8(F3,$,this))},toLocaleString($,O,Z){let[T,j]=nJ(O,Z,$);return T.format(j)},toString:gT,toJSON:($)=>gT($),valueOf:v1},{from:($,O)=>X0(H1($,O)),compare:($,O)=>Cj(H1($),H1(O))}),[FY,d,dz]=e0(e1,b(L8,D0),{...gO,...Ff},{getISOFields:RO,getCalendar:bO,with($,O,Z){return d(C8(kO,$,this,y$(O),Z))},withCalendar:($,O)=>d(sZ($,D0(O))),add:($,O,Z)=>d(sT(Z$,0,$,l(O),Z)),subtract:($,O,Z)=>d(sT(Z$,1,$,l(O),Z)),until:($,O,Z)=>p(Uj(t0,0,$,M0(O),Z)),since:($,O,Z)=>p(Uj(t0,1,$,M0(O),Z)),equals:($,O)=>y2($,M0(O)),toZonedDateTime($,O){let Z=!z0(O)||O instanceof C3?{timeZone:O}:O;return r(H8(c,P1,y,$,Z))},toPlainDateTime:($,O)=>X0(w8($,Cf(O))),toPlainYearMonth($){return b1(b8(X3,$,this))},toPlainMonthDay($){return m$(v8(F3,$,this))},toLocaleString($,O,Z){let[T,j]=aJ(O,Z,$);return T.format(j)},toString:RT,toJSON:($)=>RT($),valueOf:v1},{from:($,O)=>d(M0($,O)),compare:($,O)=>a1(M0($),M0(O))}),Gf={fields($,O,Z){return[...O.call($,Z)]}},uz=Object.assign({dateFromFields($,O,Z,T){return dz(O.call($,Object.assign(Object.create(null),Z),T))}},Gf),sz=Object.assign({yearMonthFromFields($,O,Z,T){return XY(O.call($,Object.assign(Object.create(null),Z),T))}},Gf),nz=Object.assign({monthDayFromFields($,O,Z,T){return fY(O.call($,Object.assign(Object.create(null),Z),T))}},Gf),Bf={mergeFields($,O,Z,T){return J1(O.call($,Object.assign(Object.create(null),Z),Object.assign(Object.create(null),T)))}},UY=Object.assign({},uz,Bf),GY=Object.assign({},sz,Bf),BY=Object.assign({},nz,Bf),Kf={dateAdd($,O,Z,T,j){return dz(O.call($,d(o(Z,$)),p(h(T)),j))}},az=Object.assign({},Kf,{dateUntil($,O,Z,T,j,f){return IY(O.call($,d(o(Z,$)),d(o(T,$)),Object.assign(Object.create(null),f,{largestUnit:_O[j]})))}}),KY=Object.assign({},Kf,{day:yz}),QY=Object.assign({},az,{day:yz}),X3=$1(sz),D3=$1(uz),F3=$1(nz),LY=$1(GY),kO=$1(UY),VY=$1(BY),Z$=$1(Kf),t0=$1(az),Rz=$1(KY),kz=$1(QY),[MY,p,IY]=e0(T3,S8,{...TY,blank:G2},{with:($,O)=>p(U8($,O)),negated:($)=>p(qZ($)),abs:($)=>p(U2($)),add:($,O,Z)=>p($j(wO,t0,y,0,$,l(O),Z)),subtract:($,O,Z)=>p($j(wO,t0,y,1,$,l(O),Z)),round:($,O)=>p(F2(wO,t0,y,$,O)),total:($,O)=>n6(wO,t0,y,$,O),toLocaleString($,O,Z){return Intl.DurationFormat?new Intl.DurationFormat(O,Z).format(this):bZ($)},toString:bZ,toJSON:($)=>bZ($),valueOf:v1},{from:($)=>p(l($)),compare:($,O,Z)=>R2(wO,Z$,y,l($),l(O),Z)}),oz={toString:($)=>$.id,toJSON:($)=>$.id,...eJ,dateAdd:({id:$,o:O},Z,T,j)=>d(o(O.dateAdd(M0(Z),l(T),j),$)),dateUntil:({o:$},O,Z,T)=>p(h($.dateUntil(M0(O),M0(Z),y6(T)))),dateFromFields:({id:$,o:O},Z,T)=>d(Lj(O,Z,T,V6($))),yearMonthFromFields:({id:$,o:O},Z,T)=>b1(Vj(O,Z,T,Q6($))),monthDayFromFields:({id:$,o:O},Z,T)=>m$(Mj(O,0,Z,T,L6($))),fields({o:$},O){let Z=new Set(d0),T=[];for(let j of O){if(i(j),!Z.has(j))throw RangeError(Hj(j));Z.delete(j),T.push(j)}return $.fields(T)},mergeFields:({o:$},O,Z)=>$.mergeFields(CT(FT(O)),CT(FT(Z)))},[Qf]=e0("Calendar",($)=>{let O=o2($);return{branding:"Calendar",id:O,o:g$(O)}},{id:($)=>$.id},oz,{from($){let O=D0($);return typeof O=="string"?new Qf(O):O}}),SY=qz(Object.keys(oz).slice(4)),[xY,r]=e0(F1,b(K8,D0,c),{...iz,...gO,...vz(Ff),...vz(Uf),offset:($)=>u1(Wf($).offsetNanoseconds),offsetNanoseconds:($)=>Wf($).offsetNanoseconds,timeZoneId:($)=>J0($.timeZone),hoursInDay:($)=>e6(y,$)},{getISOFields:($)=>X2(t,$),getCalendar:bO,getTimeZone:({timeZone:$})=>typeof $=="string"?new C3($):$,with($,O,Z){return r(J8(kO,y,$,this,y$(O),Z))},withCalendar:($,O)=>r(sZ($,D0(O))),withTimeZone:($,O)=>r(u8($,c(O))),withPlainDate:($,O)=>r(i8(y,$,M0(O))),withPlainTime:($,O)=>r(h8(y,$,Cf(O))),add:($,O,Z)=>r(dT(Z$,y,0,$,l(O),Z)),subtract:($,O,Z)=>r(dT(Z$,y,1,$,l(O),Z)),until:($,O,Z)=>p(h(Dj(t0,y,0,$,q$(O),Z))),since:($,O,Z)=>p(h(Dj(t0,y,1,$,q$(O),Z))),round:($,O)=>r(o6(y,$,O)),startOfDay:($)=>r($2(y,$)),equals:($,O)=>q2($,q$(O)),toInstant:($)=>V0(x8($)),toPlainDateTime:($)=>X0(Nj(t,$)),toPlainDate:($)=>d(_j(t,$)),toPlainTime:($)=>w1(Aj(t,$)),toPlainYearMonth($){return b1(N8(X3,$,this))},toPlainMonthDay($){return m$(_8(F3,$,this))},toLocaleString($,O,Z={}){let[T,j]=sJ(O,Z,$);return T.format(j)},toString:($,O)=>vT(t,$,O),toJSON:($)=>vT(t,$),valueOf:v1},{from:($,O)=>r(q$($,O)),compare:($,O)=>Yj(q$($),q$(O))}),NY=Object.defineProperties({},{...BZ("Temporal.Now"),...i1({timeZoneId:()=>X1(),instant:()=>V0(W0(SO())),zonedDateTime:($,O=X1())=>r(C0(SO(),c(O),D0($))),zonedDateTimeISO:($=X1())=>r(C0(SO(),c($),v)),plainDateTime:($,O=X1())=>X0(a(H$(t(c(O))),D0($))),plainDateTimeISO:($=X1())=>X0(a(H$(t(c($))),v)),plainDate:($,O=X1())=>d(o(H$(t(c(O))),D0($))),plainDateISO:($=X1())=>d(o(H$(t(c($))),v)),plainTimeISO:($=X1())=>w1(l0(H$(t(c($)))))})}),p$=Object.defineProperties({},{...BZ("Temporal"),...i1({PlainYearMonth:CY,PlainMonthDay:jY,PlainDate:FY,PlainTime:YY,PlainDateTime:DY,ZonedDateTime:xY,Instant:zY,Calendar:Qf,TimeZone:C3,Duration:MY,Now:NY})}),_Y=cJ(),Lf=new WeakMap,AY=Object.defineProperties(Object.create(Intl),i1({DateTimeFormat:_Y}));var Vf=new WeakMap;function PY($){let O=Vf.get($);if(!O)O=$(EY(32).toString("hex")),Vf.set($,O),O.catch(()=>Vf.delete($));return O}async function Mf($,O,Z){if(typeof Z==="string"&&Z!=="")return await $.verifyPassword(O,Z);try{await $.verifyPassword(O,await PY($.hashPassword))}catch{}return!1}var HY=/^\d{6}$/;function U3($){return typeof $==="string"&&$!==""?$:null}function qO($){let O=U3($)?.toLowerCase().trim();return O?O:null}async function rz($){let O=await $.input(),{email:Z,pin:T}=O.toJSON(),j=qO(Z),f=typeof T==="string"&&HY.test(T)?T:null;if(!j||!f)throw new j0({pin:["Invalid pin"]});return{email:j,pin:f}}var If="intended_url";class Sf extends _{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class tz extends _{schema={email:{required:"Email is required",email:"Invalid email"}}}class ez extends _{schema={password:{required:"Password is required",password:"Invalid password"}}}class e extends c3{async me(){let $=await T$.user();if(!$)throw new h3;return $}async verifyEmail($=new _){let O=await $.input(),{userProvider:Z}=K(w),T=U3(O.get("token"));if(!T)return{email:null};let j=await Z.findUserByVerificationToken(T);if(!j)return{email:null};return await Z.verifyUser(j.email),{email:j.email}}async signInWithMagicLink($=new _){let O=K(w),{userProvider:Z}=O,T=U3($.search.get("token")),j=null;try{j=qO(decodeURIComponent($.search.get("email")??""))}catch{}if(!T||!j)return{error:"Invalid token"};let f=null;try{f=await Z.findUserMagicLinkToken({email:j,token:T})}catch(W){return console.error(W),{error:"Invalid token"}}if(!f)return{error:"Invalid token"};await Z.verifyUser(j),await Z.deleteMagicLinkToken(j);let z=await O.createOrUpdateSession({email:j});return $.ctx().setCookie("access_token",z.token,K(w).accessTokenCookieOptions($,z.expiresAt)),await O.config.onSignIn(z,$.search.toJSON()),{session:z}}async signInWithPinV2($=new _){let O=K(w),{userProvider:Z}=O,{email:T,pin:j}=await rz($);if(!await Z.findUserMagicLinkToken({email:T,pin:j}))throw new j0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(T),await Z.verifyUser(T);let z=await O.createOrUpdateSessionV2({email:T});return $.ctx().setCookie("access_token",z.token,K(w).accessTokenCookieOptions($,z.expiresAt)),await O.config.onSignIn(z,$.search.toJSON()),z}async signInWithPin($=new _){let O=K(w),{userProvider:Z}=O,{email:T,pin:j}=await rz($);if(!await Z.findUserMagicLinkToken({email:T,pin:j}))throw new j0({pin:["Invalid pin"]});await Z.deleteMagicLinkToken(T),await Z.verifyUser(T);let z=await O.createOrUpdateSession({email:T});return $.ctx().setCookie("access_token",z.token,K(w).accessTokenCookieOptions($,z.expiresAt)),await O.config.onSignIn(z,$.search.toJSON()),{session:z}}async signInV2($=new Sf){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(w),z=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),W=typeof T==="string"&&await Mf(f.config,T,z?.password);if(!z||!W)throw new j0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSessionV2({email:z.email,id:z.id});$.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(z,$.search.toJSON());let{password:Y,...C}=z;return C}async signIn($=new Sf){let O=await $.input(),{email:Z,password:T}=O.toJSON(),j=Z.toLowerCase().trim(),f=K(w),z=await f.userProvider.findUserByEmailAddress(j,f.config.verifyEmail),W=typeof T==="string"&&await Mf(f.config,T,z?.password);if(!z||!W)throw new j0({invalid_credentials:["Invalid credentials"]});let J=await f.createOrUpdateSession({email:z.email,id:z.id});$.ctx().setCookie("access_token",J.token,K(w).accessTokenCookieOptions($,J.expiresAt)),await f.config.onSignIn(z,$.search.toJSON());let{password:Y,...C}=z;return C}async signUp(){let $=K(w),{userProvider:O,config:Z}=$,T=new Z.signUpRequest,j=await T.input(),{email:f,password:z,name:W,invitationId:J}=j.toJSON(),Y=qO(f);if(!Y)throw new j0({email:["Invalid email"]});if(z!=null&&typeof z!=="string")throw new j0({password:["Invalid password"]});if(J!=null&&typeof J!=="string")throw new j0({invitationId:["Invalid invitation"]});if(await O.findUserByEmailAddress(Y,!1))throw new j0({email:["Email address already exists"]});let D=await Z.hashPassword(z),X=K(s).detectLocale(T),U;if(J)U=await O.findInvitation(J,Y);let F,G="";if(U)F=await O.transaction(async()=>{await O.deleteInvitationById(J);let B=await O.createUser({email:Y,name:W,password:D,emailVerifiedAt:new Date,locale:X});return await O.createAccount({organizationId:U.organizationId,userId:B.id,organizationRole:U.role}),await Z.onUserCreated(B),B});else G=await Z.generateEmailVerificationToken(Y),F=await O.transaction(async()=>{let B=await O.createUser({email:Y,name:W,password:D,verificationToken:G,locale:X});return await Z.onUserCreated(B),B});return await Z.onSignUp(F,G,T.search.toJSON()),F}async signOut($=new _){let O=m3($),Z=K(w),{config:T}=Z,j=await Z.revokeSession(O,$.headers.get("User-Agent"));if($.ctx().setCookie("access_token","",K(w).accessTokenCookieOptions($,new Date(0))),K(w).cookieDomain($))$.ctx().setCookie("access_token","",{...K(w).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 tz){let O=await $.input(),Z=qO(O.get("email"));if(!Z)return{};let{userProvider:T,config:j}=K(w),f=await T.findUserByEmailAddress(Z,j.verifyEmail);if(!f)return{};let z=await j.generateForgotPasswordToken(f);return await T.createPasswordResetToken({user:f,token:z}),await j.onForgotPassword(f,z),{}}async resetPassword($=new ez){let{userProvider:O,config:Z}=K(w),T=await $.input(),{password:j,token:f}=T.toJSON(),z=U3(f),W=z?await O.findPasswordResetToken({token:z}):null;if(!W)throw new j0({token:["Invalid token"]});if(p$.Instant.from(W.createdAt.toISOString()).add({hours:24}).until(p$.Now.instant()).sign>=0)throw new j0({token:["Token expired"]});await O.deletePasswordResetToken({token:z});let Y=await O.findUserByEmailAddress(W.user.email,Z.verifyEmail);if(!Y)throw new j0({email:["User not found"]});let C=await Z.hashPassword(j);return await O.updateUserPassword({id:Y.id,password:C}),await O.deleteAllUserSessions(Y.id),await Z.onResetPassword(Y),{}}async changePassword($=new _){let{userProvider:O,config:Z}=K(w),T=await T$.user(),j=await $.input(),{oldPassword:f,newPassword:z}=j.toJSON();if(typeof z!=="string")throw new j0({newPassword:["Invalid password"]});let W=await O.findUserByEmailAddress(T.email,Z.verifyEmail);if(!(typeof f==="string"&&await Mf(Z,f,W?.password)))throw new j0({oldPassword:["Incorrect password"]});let Y=await Z.hashPassword(z);return await O.updateUserPassword({id:T.id,password:Y}),await O.deleteAllUserSessions(T.id),{}}async oauthRedirect($=new _){let{provider:O}=$.params,Z=K(w).config.oauthProviders[O];if(!Z)throw Error(`Invalid provider: ${O}`);let T=TO($.search.get(U$),"");if(T)$.ctx().setCookie(If,encodeURIComponent(T),{httpOnly:!0,sameSite:"Lax",secure:w4($.rawRequest),maxAge:600});return{destination:await Z.getRedirectUrl($)}}async oauthCallback($=new _){let{provider:O}=$.params,Z=K(w),{userProvider:T,config:j}=Z,f=j.oauthProviders[O],{email:z,name:W,username:J,providerId:Y}=await f.onCallback($),C=Y?await T.findUserBySocialAccount(O,Y):null,D="signin";if(!C){if(!z)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let G=K(s).detectLocale($);try{let B=await this.linkOAuthAccount({provider:O,providerId:Y,email:z,name:W,username:J,locale:G});if(B)C=B.user,D=B.action}catch(B){let Q=Y?await T.findUserBySocialAccount(O,Y):null;if(!Q)throw B;C=Q}if(!C)return{session:null}}let X=await Z.createOrUpdateSessionV2({email:C.email,id:C.id});if($.ctx().setCookie("access_token",X.token,K(w).accessTokenCookieOptions($,X.expiresAt)),D==="signup")await j.onSignUp(C,"",$.search.toJSON());else await j.onSignIn(C,$.search.toJSON());let U=$.cookies.get(If),F=j.redirectPath;if(U){try{F=TO(decodeURIComponent(U),F)}catch{}$.ctx().setCookie(If,"",{maxAge:-1})}return{session:X,redirectTo:F}}async linkOAuthAccount($){let{provider:O,providerId:Z,email:T,name:j,username:f,locale:z}=$,{userProvider:W,config:J}=K(w),Y=(X)=>({provider:O,userId:X,email:T,username:f,providerId:Z,expiresAt:new Date,accessToken:"",refreshToken:""}),C=await W.findUserByEmailAddress(T,!1);if(C){if(!Z)return{user:C,action:"signin"};let X=await W.findSocialAccounts(C.id,O);if(X.some((F)=>F.providerId===Z))return{user:C,action:"signin"};if(X.some((F)=>F.providerId))return console.error(`Authentication error: user ${C.id} is already linked to a different ${O} account`),null;let U=X[0];if(U){if(!await W.claimSocialAccount(U,Z))throw Error(`${O} account link changed concurrently`)}else await W.createSocialAccount(Y(C.id));return{user:C,action:"signin"}}return{user:await W.transaction(async()=>{let X=await W.createUser({email:T,name:j,locale:z,emailVerifiedAt:new Date});if(Z)await W.createSocialAccount(Y(X.id));return await J.onUserCreated(X),X}),action:"signup"}}async createMagicLinkToken($=new _){let O=await $.input(),Z=qO(O.get("email"));if(!Z)return{email:null};let T=K(w),{user:j,pin:f,token:z}=await T.createMagicLinkToken(Z);if(j)return await T.config.onMagicLinkCreated(j,{email:Z,pin:f,token:z}),{email:Z};return{email:null}}}class $W extends B1{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[e,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[e,"oauthCallback"])}}class xf extends B1{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[e,"signInWithMagicLink"]),"/oauth":$W}}class Nf extends x0{middlewares=["cache:private"];routes={"/sign-in":this.post(e,"signIn"),"/sign-in-v2":this.post(e,"signInV2"),"/sign-up":this.post(e,"signUp"),"/sign-out":this.post(e,"signOut"),"/forgot-password":this.post(e,"forgotPassword"),"/reset-password":this.post(e,"resetPassword"),"/change-password":this.post(e,"changePassword"),"/verify-email":this.post(e,"verifyEmail"),"/me":this.get(e,"me").middleware(["auth"]),"/magic-link":this.post(e,"createMagicLinkToken"),"/sign-in-with-pin":this.post(e,"signInWithPin"),"/sign-in-with-pin-v2":this.post(e,"signInWithPinV2")}}class _f extends x0{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let O=new _().params.locale;return await K(s).onLocaleChange(O),{locale:O}}),"/translations/:locale/:scope*":this.get(async()=>{let $=new _,O=`/${$.params.scope??""}`,Z=$.params.locale,T=K(s),j=Z??T.detectLocale($),f=T.getPageTranslations(j,O);return $.ctx().setCookie("i18n-locale",j,{expires:new Date(Date.now()+31536000000)}),{[j]:f}})}}class Af{}class Ef extends Af{async resize($,O){let{height:Z,width:T,quality:j,fit:f}=O;return await(await G3("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 XD($){return $}function OW(){return{driver:new Ef}}class Pf extends x0{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",z=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 C=Buffer.from(await Y.arrayBuffer()),D=await K(ZW).resize(C,{height:j,width:T,fit:f,quality:z});Y.headers.delete("Content-Type"),Y.headers.delete("Content-Length");let X=new Headers(Y.headers);return X.set("Content-Type","image/webp"),X.set("Content-Length",`${D.byteLength}`),new Response(new Uint8Array(D),{headers:X})})}}class ZW{static token="image";driver;constructor($={}){this.driver=$.driver??OW().driver}resize($,O){return this.driver.resize($,O)}}class Hf extends x0{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(K(TW).currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function wY($){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 mO{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(wY($).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(nO(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 ND($){return $}function jW(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function fW(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function bY($){return"run"in $}function vY($){return Object.hasOwn($,"get")||Object.hasOwn($,"post")||Object.hasOwn($,"put")||Object.hasOwn($,"delete")}function gY($){return Object.hasOwn($,"first")&&Object.hasOwn($,"second")}function RY($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function kY($){if("__internal_brand"in $)return $.__internal_brand==="ProxyHandler";return!1}function qY($){if("__internal_brand"in $)return $.__internal_brand==="StreamHandler";return!1}function wf($,O="",Z=[]){let T={};function j(f,z,W,J,Y){let C=f==="/"?"":f,D=O==="/"?"":O,X=(`${D}${C}`===""?"/":`${D}${C}`).replaceAll("//","/");if(!T[X])T[X]={};T[X][z.toUpperCase()]={exec:W,middleware:[...Z,...J],...Y?{source:Y}:{}},T[X].OPTIONS={exec:()=>{let F=new _().ctx().headers;return new Response(null,{headers:F,status:204})},middleware:[]}}for(let[f,z]of Object.entries($)){if(kY(z)){let W=z;for(let J of["GET","POST","PUT","DELETE"])j(f,J,W.run.bind(W),W.middlewares);continue}if(bY(z)){let W=z,J=W.method,Y=W.middlewares,C=W.run.bind(W);if(j(f,J,C,Y,W.source),qY(z))j(f,"HEAD",C,Y,W.source)}if(vY(z))for(let[W,J]of Object.entries(z)){let Y=J.middlewares,C=J.run.bind(J);j(f,W,C,Y,J.source)}if(RY(z)){let W=new z,J=wf(W.routes,`${O}${f}`,W.middlewares);for(let[Y,C]of Object.entries(J))T[Y.replaceAll("//","/")]=C}if(gY(z)){let{first:W,second:J}=z;for(let[Y,C]of Object.entries(W)){let D=C.middlewares,X=C.run.bind(C),[U,...F]=f.split("/").reverse();if(!U.startsWith(":"))throw Error("Resource route must end with a dynamic segment");j(F.reverse().join("/"),Y,X,D,C.source)}for(let[Y,C]of Object.entries(J)){let D=C.middlewares,X=C.run.bind(C);j(f,Y,X,D,C.source)}}}return Object.fromEntries(Object.entries(T).sort(([f],[z])=>{let W=f.split("/").length+f.split(":").length,J=z.split("/").length+z.split(":").length;return W-J}))}function B3($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function bf($,O){if($==="/")return O;if(O==="/")return $;return`${$}${O}`}function vf($){let O=B3($);return O.length>1?O.replace(/\/$/,""):O}function zW($,O){return O.map((Z)=>({...Z,path:vf(bf($,Z.path))}))}function K3($){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,z=K3(f.routes);for(let[W,{exec:J,middleware:Y,segments:C,features:D}]of Object.entries(z)){let X=bf(Z,W),U=(F)=>j.run.call(j,F,Z);O[B3(X)]={exec:[U,...J],middleware:[...j.middlewares,...Y],features:[...j.featureGates,...D],viewPath:j.viewPath,segments:[{path:vf(Z),viewPath:j.viewPath,...j.alwaysRuns?{alwaysRun:!0}:{}},...zW(Z,C)]}}}else{let f=(z)=>j.run.call(j,z,Z);O[B3(Z)]={exec:[f],middleware:j.middlewares,features:j.featureGates,viewPath:j.viewPath,segments:[{path:vf(Z),viewPath:j.viewPath}]}}}else{let j=new T,f=K3(j.routes);for(let[z,{exec:W,middleware:J,viewPath:Y,segments:C,features:D}]of Object.entries(f)){let X=bf(Z,z);O[B3(X)]={exec:W,middleware:[...j.middlewares,...J],features:[...j.featureGates,...D],viewPath:Y,segments:zW(Z,C)}}}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 mY=Object.defineProperty,S=($,O)=>mY($,"name",{value:O,configurable:!0}),i$=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"}};S(i$,"Part");var yY=/[$_\p{ID_Start}]/u,pY=/[$_\u200C\u200D\p{ID_Continue}]/u,Rf=".*";function WW($,O){return(O?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test($)}S(WW,"isASCII");function mf($,O=!1){let Z=[],T=0;for(;T<$.length;){let j=$[T],f=S(function(z){if(!O)throw TypeError(z);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 z="",W=T+1;for(;W<$.length;){let J=$.substr(W,1);if(W===T+1&&yY.test(J)||W!==T+1&&pY.test(J)){z+=$[W++];continue}break}if(!z){f(`Missing parameter name at ${T}`);continue}Z.push({type:"NAME",index:T,value:z}),T=W;continue}if(j==="("){let z=1,W="",J=T+1,Y=!1;if($[J]==="?"){f(`Pattern cannot start with "?" at ${J}`);continue}for(;J<$.length;){if(!WW($[J],!1)){f(`Invalid character '${$[J]}' at ${J}.`),Y=!0;break}if($[J]==="\\"){W+=$[J++]+$[J++];continue}if($[J]===")"){if(z--,z===0){J++;break}}else if($[J]==="("&&(z++,$[J+1]!=="?")){f(`Capturing groups are not allowed at ${J}`),Y=!0;break}W+=$[J++]}if(Y)continue;if(z){f(`Unbalanced pattern at ${T}`);continue}if(!W){f(`Missing pattern at ${T}`);continue}Z.push({type:"REGEX",index:T,value:W}),T=J;continue}Z.push({type:"CHAR",index:T,value:$[T++]})}return Z.push({type:"END",index:T,value:""}),Z}S(mf,"lexer");function yf($,O={}){let Z=mf($);O.delimiter??="/#?",O.prefixes??="./";let T=`[^${w0(O.delimiter)}]+?`,j=[],f=0,z=0,W="",J=new Set,Y=S((L)=>{if(z<Z.length&&Z[z].type===L)return Z[z++].value},"tryConsume"),C=S(()=>Y("OTHER_MODIFIER")??Y("ASTERISK"),"tryConsumeModifier"),D=S((L)=>{let N=Y(L);if(N!==void 0)return N;let{type:A,index:V}=Z[z];throw TypeError(`Unexpected ${A} at ${V}, expected ${L}`)},"mustConsume"),X=S(()=>{let L="",N;for(;N=Y("CHAR")??Y("ESCAPED_CHAR");)L+=N;return L},"consumeText"),U=S((L)=>L,"DefaultEncodePart"),F=O.encodePart||U,G="",B=S((L)=>{G+=L},"appendToPendingFixedValue"),Q=S(()=>{G.length&&(j.push(new i$(3,"","",F(G),"",3)),G="")},"maybeAddPartFromPendingFixedValue"),M=S((L,N,A,V,I)=>{let E=3;switch(I){case"?":E=1;break;case"*":E=0;break;case"+":E=2;break}if(!N&&!A&&E===3){B(L);return}if(Q(),!N&&!A){if(!L)return;j.push(new i$(3,"","",F(L),"",E));return}let P;A?A==="*"?P=Rf:P=A:P=T;let $0=2;P===T?($0=1,P=""):P===Rf&&($0=0,P="");let g;if(N?g=N:A&&(g=f++),J.has(g))throw TypeError(`Duplicate name '${g}'.`);J.add(g),j.push(new i$($0,g,F(L),P,F(V),E))},"addPart");for(;z<Z.length;){let L=Y("CHAR"),N=Y("NAME"),A=Y("REGEX");if(!N&&!A&&(A=Y("ASTERISK")),N||A){let I=L??"";O.prefixes.indexOf(I)===-1&&(B(I),I=""),Q();let E=C();M(I,N,A,"",E);continue}let V=L??Y("ESCAPED_CHAR");if(V){B(V);continue}if(Y("OPEN")){let I=X(),E=Y("NAME"),P=Y("REGEX");!E&&!P&&(P=Y("ASTERISK"));let $0=X();D("CLOSE");let g=C();M(I,E,P,$0,g);continue}Q(),D("END")}return j}S(yf,"parse");function w0($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(w0,"escapeString");function kf($){return $&&$.ignoreCase?"ui":"u"}S(kf,"flags");function JW($,O,Z){return pf(yf($,Z),O,Z)}S(JW,"stringToRegexp");function j$($){switch($){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}S(j$,"modifierToString");function pf($,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 W of $){if(W.type===3){W.modifier===3?T+=w0(W.value):T+=`(?:${w0(W.value)})${j$(W.modifier)}`;continue}O&&O.push(W.name);let J=`[^${w0(Z.delimiter)}]+?`,Y=W.value;if(W.type===1?Y=J:W.type===0&&(Y=Rf),!W.prefix.length&&!W.suffix.length){W.modifier===3||W.modifier===1?T+=`(${Y})${j$(W.modifier)}`:T+=`((?:${Y})${j$(W.modifier)})`;continue}if(W.modifier===3||W.modifier===1){T+=`(?:${w0(W.prefix)}(${Y})${w0(W.suffix)})`,T+=j$(W.modifier);continue}T+=`(?:${w0(W.prefix)}`,T+=`((?:${Y})(?:`,T+=w0(W.suffix),T+=w0(W.prefix),T+=`(?:${Y}))*)${w0(W.suffix)})`,W.modifier===0&&(T+="?")}let j=`[${w0(Z.endsWith)}]|$`,f=`[${w0(Z.delimiter)}]`;if(Z.end)return Z.strict||(T+=`${f}?`),Z.endsWith.length?T+=`(?=${j})`:T+="$",new RegExp(T,kf(Z));Z.strict||(T+=`(?:${f}(?=${j}))?`);let z=!1;if($.length){let W=$[$.length-1];W.type===3&&W.modifier===3&&(z=Z.delimiter.indexOf(W)>-1)}return z||(T+=`(?=${f}|${j})`),new RegExp(T,kf(Z))}S(pf,"partsToRegexp");var R1={delimiter:"",prefixes:"",sensitive:!0,strict:!0},cY={delimiter:".",prefixes:"",sensitive:!0,strict:!0},hY={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function YW($,O){return $.length?$[0]==="/"?!0:!O||$.length<2?!1:($[0]=="\\"||$[0]=="{")&&$[1]=="/":!1}S(YW,"isAbsolutePathname");function cf($,O){return $.startsWith(O)?$.substring(O.length,$.length):$}S(cf,"maybeStripPrefix");function CW($,O){return $.endsWith(O)?$.substr(0,$.length-O.length):$}S(CW,"maybeStripSuffix");function hf($){return!$||$.length<2?!1:$[0]==="["||($[0]==="\\"||$[0]==="{")&&$[1]==="["}S(hf,"treatAsIPv6Hostname");var XW=["ftp","file","http","https","ws","wss"];function lf($){if(!$)return!0;for(let O of XW)if($.test(O))return!0;return!1}S(lf,"isSpecialScheme");function DW($,O){if($=cf($,"#"),O||$==="")return $;let Z=new URL("https://example.com");return Z.hash=$,Z.hash?Z.hash.substring(1,Z.hash.length):""}S(DW,"canonicalizeHash");function FW($,O){if($=cf($,"?"),O||$==="")return $;let Z=new URL("https://example.com");return Z.search=$,Z.search?Z.search.substring(1,Z.search.length):""}S(FW,"canonicalizeSearch");function UW($,O){return O||$===""?$:hf($)?sf($):uf($)}S(UW,"canonicalizeHostname");function GW($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.password=$,Z.password}S(GW,"canonicalizePassword");function BW($,O){if(O||$==="")return $;let Z=new URL("https://example.com");return Z.username=$,Z.username}S(BW,"canonicalizeUsername");function KW($,O,Z){if(Z||$==="")return $;if(O&&!XW.includes(O))return new URL(`${O}:${$}`).pathname;let T=$[0]=="/";return $=new URL(T?$:"/-"+$,"https://example.com").pathname,T||($=$.substring(2,$.length)),$}S(KW,"canonicalizePathname");function QW($,O,Z){return df(O)===$&&($=""),Z||$===""?$:nf($)}S(QW,"canonicalizePort");function LW($,O){return $=CW($,":"),O||$===""?$:Q3($)}S(LW,"canonicalizeProtocol");function df($){switch($){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}S(df,"defaultPortForProtocol");function Q3($){if($==="")return $;if(/^[-+.A-Za-z0-9]*$/.test($))return $.toLowerCase();throw TypeError(`Invalid protocol '${$}'.`)}S(Q3,"protocolEncodeCallback");function VW($){if($==="")return $;let O=new URL("https://example.com");return O.username=$,O.username}S(VW,"usernameEncodeCallback");function MW($){if($==="")return $;let O=new URL("https://example.com");return O.password=$,O.password}S(MW,"passwordEncodeCallback");function uf($){if($==="")return $;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test($))throw TypeError(`Invalid hostname '${$}'`);let O=new URL("https://example.com");return O.hostname=$,O.hostname}S(uf,"hostnameEncodeCallback");function sf($){if($==="")return $;if(/[^0-9a-fA-F[\]:]/g.test($))throw TypeError(`Invalid IPv6 hostname '${$}'`);return $.toLowerCase()}S(sf,"ipv6HostnameEncodeCallback");function nf($){if($===""||/^[0-9]*$/.test($)&&parseInt($)<=65535)return $;throw TypeError(`Invalid port '${$}'.`)}S(nf,"portEncodeCallback");function IW($){if($==="")return $;let O=new URL("https://example.com");return O.pathname=$[0]!=="/"?"/-"+$:$,$[0]!=="/"?O.pathname.substring(2,O.pathname.length):O.pathname}S(IW,"standardURLPathnameEncodeCallback");function SW($){return $===""?$:new URL(`data:${$}`).pathname}S(SW,"pathURLPathnameEncodeCallback");function xW($){if($==="")return $;let O=new URL("https://example.com");return O.search=$,O.search.substring(1,O.search.length)}S(xW,"searchEncodeCallback");function NW($){if($==="")return $;let O=new URL("https://example.com");return O.hash=$,O.hash.substring(1,O.hash.length)}S(NW,"hashEncodeCallback");var _W=class{#f;#T=[];#O={};#$=0;#j=1;#Y=0;#W=0;#F=0;#U=0;#G=!1;constructor($){this.#f=$}get result(){return this.#O}parse(){for(this.#T=mf(this.#f,!0);this.#$<this.#T.length;this.#$+=this.#j){if(this.#j=1,this.#T[this.#$].type==="END"){if(this.#W===0){this.#L(),this.#C()?this.#Z(9,1):this.#X()?this.#Z(8,1):this.#Z(7,0);continue}else if(this.#W===2){this.#D(5);continue}this.#Z(10,0);break}if(this.#F>0)if(this.#_())this.#F-=1;else continue;if(this.#N()){this.#F+=1;continue}switch(this.#W){case 0:this.#V()&&this.#D(1);break;case 1:if(this.#V()){this.#P();let $=7,O=1;this.#I()?($=2,O=3):this.#G&&($=2),this.#Z($,O)}break;case 2:this.#K()?this.#D(3):(this.#Q()||this.#X()||this.#C())&&this.#D(5);break;case 3:this.#S()?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.#x()&&!this.#U?this.#Z(6,1):this.#Q()?this.#Z(7,0):this.#X()?this.#Z(8,1):this.#C()&&this.#Z(9,1);break;case 6:this.#Q()?this.#Z(7,0):this.#X()?this.#Z(8,1):this.#C()&&this.#Z(9,1);break;case 7:this.#X()?this.#Z(8,1):this.#C()&&this.#Z(9,1);break;case 8:this.#C()&&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.#W){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.#W!==0&&$!==10&&([1,2,3,4].includes(this.#W)&&[6,7,8,9].includes($)&&(this.#O.hostname??=""),[1,2,3,4,5,6].includes(this.#W)&&[8,9].includes($)&&(this.#O.pathname??=this.#G?"/":""),[1,2,3,4,5,6,7].includes(this.#W)&&$===9&&(this.#O.search??="")),this.#M($,O)}#M($,O){this.#W=$,this.#Y=this.#$+O,this.#$+=O,this.#j=0}#L(){this.#$=this.#Y,this.#j=0}#D($){this.#L(),this.#W=$}#B($){return $<0&&($=this.#T.length-$),$<this.#T.length?this.#T[$]:this.#T[this.#T.length-1]}#z($,O){let Z=this.#B($);return Z.value===O&&(Z.type==="CHAR"||Z.type==="ESCAPED_CHAR"||Z.type==="INVALID_CHAR")}#V(){return this.#z(this.#$,":")}#I(){return this.#z(this.#$+1,"/")&&this.#z(this.#$+2,"/")}#K(){return this.#z(this.#$,"@")}#S(){return this.#z(this.#$,":")}#x(){return this.#z(this.#$,":")}#Q(){return this.#z(this.#$,"/")}#X(){if(this.#z(this.#$,"?"))return!0;if(this.#T[this.#$].value!=="?")return!1;let $=this.#B(this.#$-1);return $.type!=="NAME"&&$.type!=="REGEX"&&$.type!=="CLOSE"&&$.type!=="ASTERISK"}#C(){return this.#z(this.#$,"#")}#N(){return this.#T[this.#$].type=="OPEN"}#_(){return this.#T[this.#$].type=="CLOSE"}#A(){return this.#z(this.#$,"[")}#E(){return this.#z(this.#$,"]")}#J(){let $=this.#T[this.#$],O=this.#B(this.#Y).index;return this.#f.substring(O,$.index)}#P(){let $={};Object.assign($,R1),$.encodePart=Q3;let O=JW(this.#J(),void 0,$);this.#G=lf(O)}};S(_W,"Parser");var gf=["protocol","username","password","hostname","port","pathname","search","hash"],g1="*";function qf($,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}}S(qf,"extractValues");function O1($,O){return O?h$($):$}S(O1,"processBaseURLString");function c$($,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=LW(O.protocol,Z)),typeof O.username=="string"&&($.username=BW(O.username,Z)),typeof O.password=="string"&&($.password=GW(O.password,Z)),typeof O.hostname=="string"&&($.hostname=UW(O.hostname,Z)),typeof O.port=="string"&&($.port=QW(O.port,$.protocol,Z)),typeof O.pathname=="string"){if($.pathname=O.pathname,T&&!YW($.pathname,Z)){let j=T.pathname.lastIndexOf("/");j>=0&&($.pathname=O1(T.pathname.substring(0,j+1),Z)+$.pathname)}$.pathname=KW($.pathname,$.protocol,Z)}return typeof O.search=="string"&&($.search=FW(O.search,Z)),typeof O.hash=="string"&&($.hash=DW(O.hash,Z)),$}S(c$,"applyInit");function h$($){return $.replace(/([+*?:{}()\\])/g,"\\$1")}S(h$,"escapePatternString");function AW($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(AW,"escapeRegexpString");function EW($,O){O.delimiter??="/#?",O.prefixes??="./",O.sensitive??=!1,O.strict??=!1,O.end??=!0,O.start??=!0,O.endsWith="";let Z=".*",T=`[^${AW(O.delimiter)}]+?`,j=/[$_\u200C\u200D\p{ID_Continue}]/u,f="";for(let z=0;z<$.length;++z){let W=$[z];if(W.type===3){if(W.modifier===3){f+=h$(W.value);continue}f+=`{${h$(W.value)}}${j$(W.modifier)}`;continue}let J=W.hasCustomName(),Y=!!W.suffix.length||!!W.prefix.length&&(W.prefix.length!==1||!O.prefixes.includes(W.prefix)),C=z>0?$[z-1]:null,D=z<$.length-1?$[z+1]:null;if(!Y&&J&&W.type===1&&W.modifier===3&&D&&!D.prefix.length&&!D.suffix.length)if(D.type===3){let X=D.value.length>0?D.value[0]:"";Y=j.test(X)}else Y=!D.hasCustomName();if(!Y&&!W.prefix.length&&C&&C.type===3){let X=C.value[C.value.length-1];Y=O.prefixes.includes(X)}Y&&(f+="{"),f+=h$(W.prefix),J&&(f+=`:${W.name}`),W.type===2?f+=`(${W.value})`:W.type===1?J||(f+=`(${T})`):W.type===0&&(!J&&(!C||C.type===3||C.modifier!==3||Y||W.prefix!=="")?f+="*":f+=`(${Z})`),W.type===1&&J&&W.suffix.length&&j.test(W.suffix[0])&&(f+="\\"),f+=h$(W.suffix),Y&&(f+="}"),W.modifier!==3&&(f+=j$(W.modifier))}return f}S(EW,"partsToPattern");var af=class{#f;#T={};#O={};#$={};#j={};#Y=!1;constructor($={},O,Z){try{let T;if(typeof O=="string"?T=O:Z=O,typeof $=="string"){let W=new _W($);if(W.parse(),$=W.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:g1,protocol:g1,username:g1,password:g1,hostname:g1,port:g1,search:g1,hash:g1};this.#f=c$(f,$,!0),df(this.#f.protocol)===this.#f.port&&(this.#f.port="");let z;for(z of gf){if(!(z in this.#f))continue;let W={},J=this.#f[z];switch(this.#O[z]=[],z){case"protocol":Object.assign(W,R1),W.encodePart=Q3;break;case"username":Object.assign(W,R1),W.encodePart=VW;break;case"password":Object.assign(W,R1),W.encodePart=MW;break;case"hostname":Object.assign(W,cY),hf(J)?W.encodePart=sf:W.encodePart=uf;break;case"port":Object.assign(W,R1),W.encodePart=nf;break;case"pathname":lf(this.#T.protocol)?(Object.assign(W,hY,j),W.encodePart=IW):(Object.assign(W,R1,j),W.encodePart=SW);break;case"search":Object.assign(W,R1,j),W.encodePart=xW;break;case"hash":Object.assign(W,R1,j),W.encodePart=NW;break}try{this.#j[z]=yf(J,W),this.#T[z]=pf(this.#j[z],this.#O[z],W),this.#$[z]=EW(this.#j[z],W),this.#Y=this.#Y||this.#j[z].some((Y)=>Y.type===2)}catch{throw TypeError(`invalid ${z} pattern '${this.#f[z]}'.`)}}}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=c$(Z,$,!1):Z=c$(Z,qf($,O),!1)}catch{return!1}let T;for(T of gf)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=c$(Z,$,!1):Z=c$(Z,qf($,O),!1)}catch{return null}let T={};O?T.inputs=[$,O]:T.inputs=[$];let j;for(j of gf){let f=this.#T[j].exec(Z[j]);if(!f)return null;let z={};for(let[W,J]of this.#O[j].entries())if(typeof J=="string"||typeof J=="number"){let Y=f[W+1];z[J]=Y}T[j]={input:Z[j]??"",groups:z}}return T}static compareComponent($,O,Z){let T=S((W,J)=>{for(let Y of["type","modifier","prefix","value","suffix"]){if(W[Y]<J[Y])return-1;if(W[Y]===J[Y])continue;return 1}return 0},"comparePart"),j=new i$(3,"","","","",3),f=new i$(0,"","","","",3),z=S((W,J)=>{let Y=0;for(;Y<Math.min(W.length,J.length);++Y){let C=T(W[Y],J[Y]);if(C)return C}return W.length===J.length?0:T(W[Y]??j,J[Y]??j)},"comparePartList");return!O.#$[$]&&!Z.#$[$]?0:O.#$[$]&&!Z.#$[$]?z(O.#j[$],[f]):!O.#$[$]&&Z.#$[$]?z([f],Z.#j[$]):z(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}};S(af,"URLPattern");function yO($,O){for(let[Z,T]of Object.entries($)){let j=new af({pathname:Z});if(j.test({pathname:O}))return{routePath:Z,params:j.exec({pathname:O})?.pathname.groups??{},route:T}}return null}var f$={startIndex:0,carriedViews:[]};function PW($,O){let Z=T0($.path,O);return Z.includes("*")?null:Z}function iY($,O){if(!$)return f$;if($.search!==O.search)return f$;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 z=PW(j,$.params),W=PW(f,O.params);if(z===null||W===null||z!==W)break;T++}if(T===0)return f$;return{startIndex:T,carriedViews:O.segments.slice(0,T).map(({viewPath:j})=>j)}}function lY($,O){let[,Z,...T]=$.split("/");if(!O.includes(Z))return $;let j=`/${T.join("/")}`;return j==="/"?"/":j.replace(/\/$/,"")}function HW($){let{flatViewRoutes:O,supportedLocales:Z,from:T,origin:j,to:f}=$;if(!T)return f$;let z;try{z=new URL(T,j)}catch{return f$}if(z.origin!==j)return f$;let W=yO(O,lY(z.pathname,Z));if(!W)return f$;return iY({segments:W.route.segments,params:W.params,search:z.search},f)}var of="x-gemi-from";import{createElement as o$,Fragment as FC}from"react";function dY($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function L3($){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,z=L3(f.routes);for(let[W,J]of Object.entries(z)){let Y=Z==="/"?W:`${Z}${W}`,C=W==="/"&&Z!=="/"?Z:Y;O[C]=[j,...J]}if(O[Z].length===1)delete O[Z]}else O[Z]=[j]}else{let j=new T,f=L3(j.routes);for(let[z,W]of Object.entries(f)){let J=Z==="/"?z:`${Z}${z}`,Y=z==="/"&&Z!=="/"?Z:J;O[Y]=W}}return Object.fromEntries(Object.entries(O).map(([Z,T])=>[dY(Z),T]))}function V3($){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,z=V3(f.routes);O.push([j,z])}else O.push([j,[]])}else{let j=new T,f=V3(j.routes);O.push(...f)}return O}function rf($){let O=[];for(let[Z,T]of $)O.push(Z,...rf(T).flat());return Array.from(new Set(O))}class l$ extends b0{static getFacadeAccessor(){return s}static getSupportedLocales(){return this.getFacadeRoot().supportedLocales}static getDefaultLocale(){return this.getFacadeRoot().defaultLocale}static locale(){let $=this.getFacadeRoot(),O=x.getStore();if(O)return O.locale??$.detectLocale(O.req);return $.defaultLocale}static setLocale($=l$.locale()){let O=this.getFacadeRoot(),Z=$;if(!O.supportedLocales.includes($))Z=O.defaultLocale;let T=x.getStore();return T.setCookie("i18n-locale",Z,{expires:new Date(Date.now()+31536000000),secure:!1,httpOnly:!1}),T.setLocale(Z),Z}}class tf{id;static token="kernel.id";constructor($=crypto.randomUUID()){this.id=$}}var uY=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),sY=new Set(["svg","math"]);function wW($){return $===32||$===9||$===10||$===12||$===13}function bW($){return $>=65&&$<=90||$>=97&&$<=122}function M3($){return $>=65&&$<=90?$+32:$}function vW(){let $="data",O="",Z=!1,T="",j=0,f=0,z=!1,W=0,J=0,Y=()=>$==="data"&&W===0&&J===0,C=()=>{if(!Z&&uY.has(O)){$="rawText",T=`</${O}`,j=0,O="";return}if($="data",O==="template")if(Z)W=Math.max(0,W-1);else W+=1;else if(sY.has(O)){if(Z)J=Math.max(0,J-1);else if(!z)J+=1}O=""},D=(X)=>{switch($){case"data":if(X===60)$="tagOpen";return;case"tagOpen":if(X===33)$="bang",f=0;else if(X===47)$="endTagOpen";else if(bW(X))$="tagName",Z=!1,z=!1,O=String.fromCharCode(M3(X));else if(X===63)$="bogus";else if(X===60)$="tagOpen";else $="data";return;case"endTagOpen":if(bW(X))$="tagName",Z=!0,z=!1,O=String.fromCharCode(M3(X));else if(X===62)$="data";else $="bogus";return;case"tagName":if(wW(X)||X===47)$="inTag",z=X===47;else if(X===62)C();else O+=String.fromCharCode(M3(X));return;case"inTag":if(X===62){C();return}if(z=X===47,X===34)$="attrDouble";else if(X===39)$="attrSingle";return;case"attrDouble":if(X===34)$="inTag";z=!1;return;case"attrSingle":if(X===39)$="inTag";z=!1;return;case"bang":if(X===45){if(f+=1,f===2)$="comment",f=0}else if(X===62)$="data";else $="bogus";return;case"bogus":if(X===62)$="data";return;case"comment":if(X===45)f=f<2?f+1:2;else if(X===62&&f>=2)$="data",f=0;else f=0;return;case"rawText":{if(j<T.length){if(M3(X)===T.charCodeAt(j))j+=1;else j=X===60?1:0;return}if(X===62)$="data",O="";else if(wW(X)||X===47)$="inTag",O="";else j=X===60?1:0;return}}};return{scanToInsertionPoint(X){for(let U=0;U<X.length;U++){if(Y())return U;D(X[U])}return X.length},write(X){for(let U=0;U<X.length;U++)D(X[U])},isSafe:Y}}function z$($){let O=JSON.stringify($);if(O===void 0)return"undefined";return O.replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function nY($){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${z$([$.path,$.variantKey,$.data])})</script>`}function aY($){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${z$([$.id,$.locale,$.strings])})</script>`}function ef($,O,Z={},T){let j=new TextEncoder,f=[],z=!1,W=!1,J=()=>{if(W)return;W=!0,Z.onClose?.()};O.onSettle((F)=>{if(F.status!=="resolved")return;f.push(nY(F))}),T?.onUse((F)=>{f.push(aY(F))});let Y=$.getReader(),C=vW(),D=(F,G)=>{F.enqueue(G),Z.onChunk?.(G)},X=(F)=>{while(f.length>0){let G=j.encode(f.shift());C.write(G),D(F,G)}},U=(F,G)=>{if(f.length===0){C.write(G),D(F,G);return}let B=C.scanToInsertionPoint(G);if(B>0)D(F,G.subarray(0,B));if(C.isSafe())X(F);let Q=G.subarray(B);if(Q.length>0)C.write(Q),D(F,Q)};return new ReadableStream({async pull(F){let G;try{G=await Y.read()}catch(M){throw J(),M}let{done:B,value:Q}=G;if(B){X(F),F.close(),J();return}if(!z){if(z=!0,C.write(Q),D(F,Q),Z.onShell?.(),C.isSafe())X(F);return}U(F,Q)},cancel(F){return J(),Y.cancel(F)}})}var oY=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function I3($){if(!$)return!1;return oY.test($)}async function RW($,O=()=>{}){let Z=x.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 rY($,O),request:{path:j,routePath:T?.routePath??null,locale:Z?.locale??null},anonymousId:gW(),isBot:I3(T?.rawRequest?.headers?.get("user-agent")??null),now:new Date}}function kW($){return{user:$.user??null,attributes:$.attributes??{},request:{path:null,routePath:null,locale:null},anonymousId:$.subjectId??null,isBot:!1,now:new Date}}async function rY($,O){if(!$.context)return{};try{let Z=x.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 qW($,O){return`${$}:${O}`}function $4($){let O=new Bun.CryptoHasher("sha1").update($).digest("hex"),Z=Number.parseInt(O.slice(0,8),16);return Math.floor(Z/4294967296*1e4)}function mW($,O){if(O>=100)return!0;if(O<=0)return!1;return $<Math.round(O*100)}function yW($,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(z){return T.warn?.(`The \`when\` for feature "${$}" threw; treating it as off. ${z instanceof Error?z.message:String(z)}`),{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=eY($,O,Z,T.buckets);return mW(j,O.rollout)?{value:!0,reason:"rollout"}:{value:!1,reason:"excluded"}}function tY($){let O=$.user?.publicId??$.user?.id;if(O!==void 0&&O!==null)return String(O);return $.anonymousId??""}function eY($,O,Z,T){let j=qW(O.salt??$,tY(Z));if(!T)return $4(j);let f=T.get(j);if(f!==void 0)return f;let z=$4(j);return T.set(j,z),z}class pW 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 O4{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 pW(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=$C(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 $C($){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 OC{}class ZC 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 Z4 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 cW 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 hW{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 d${config;log;static token="features";store;declared;warnedAboutSize=!1;warnedAboutActor=!1;constructor($,O=()=>{}){this.config=$;this.log=O;this.declared=$.features??{},this.store=new O4($.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{x.getStore()?.featureEvaluations?.clear()}}async set($,O,Z={}){if(typeof $!=="string"||!Object.hasOwn(this.declared,$))throw new cW(String($));if(typeof O!=="boolean")throw TypeError(`Features.set("${$}", \u2026) takes a boolean, not ${O===null?"null":typeof O}.`);let T=TC(Z.actor),j=this.config.source;if(typeof j.write!=="function")throw new Z4(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 hW(this,kW($))}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:z,unavailable:W}=await this.switchFor($),J=yW($,f,O,{active:z,unavailable:W,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 $=x.getStore();if($?.featureContext)return $.featureContext;let O=await RW(this.config,this.log);if($)$.featureContext=O;return O}memoFor($){let O=x.getStore();if(!O||O.featureContext!==$)return null;return O.featureEvaluations??=new Map,O.featureEvaluations}requestBuckets(){let $=x.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 TC($){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 iW($){return Object.fromEntries(Object.entries($).filter(([,O])=>{return O!==null&&O!==void 0}))}var jC=50;class u${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(iW(O.search??{}));j.delete("json"),j.sort();let f=T0($,T),z=j.toString(),W=this.keyFor(f,z),J=this.entries.get(W);if(J)return J;let Y;if(Z==="render"&&this.renderStartedAt!==null){let U=Math.round(performance.now()-this.renderStartedAt);if(U>jC)Y=U}let C,D=new Promise((U)=>{C=U}),X={path:f,patternPath:$,variantKey:z,lateBy:Y,status:"pending",promise:D,source:Z,startedAt:this.elapsed()};return this.entries.set(W,X),this.fetcher($,T,j).then((U)=>{X.status="resolved",X.data=U},(U)=>{X.status="rejected",X.error=U}).then(()=>{if(X.settledAt=this.elapsed(),this.maybeLogLateDiscovery(X),X.status==="rejected"&&this.failListener)this.failListener(X);if(this.settleListener)this.settleListener(X);else this.settledBacklog.push(X);C()}),X}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 k1 extends Error{path;variantKey;status;body;retryAfter;constructor($,O,Z,T,j){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.retryAfter=j;this.name="QueryError"}}function s$(){let $=JSON.stringify({error:K1("permission","Forbidden",403)});return new Response($,{status:403,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}function T4(){return{status:403,error:{message:"Forbidden"}}}function pO($){let O=n$.getStore();return(Z,T,j)=>{let f=new URL($.url).origin,z=[T0(Z,T),j.toString()].filter((C)=>C.length>0).join("?"),W=new Request(`${f}/${z}`,{headers:$.headers,signal:$.signal}),J=lW($);if(J)a$(W,J);let Y=new _(W,T);return n$.run(O,()=>x.run(Y,async()=>{try{let C=await K(s0).dispatchers(J).api.getRouteData(Z);if(F$(C)){if(!C.ok)throw new k1(T0(Z,T),j.toString(),C.status,C.body);return C.body}if(C instanceof Response){let D=await C.json().catch(()=>null);if(!C.ok)throw new k1(T0(Z,T),j.toString(),C.status,D);return D}return C}catch(C){if(C instanceof k1)throw C;let D=new k1(T0(Z,T),j.toString(),500,{message:C instanceof Error?C.message:String(C)});throw D.cause=C,D}}))}}var fC=new Set(["script","style","template","title"]),zC=/\shidden([\s=/]|$)/i,WC=/"[^"]*"|'[^']*'/g;function JC($){let O=0,Z=0,T=0,j=0;while(j<$.length){let f=$.indexOf("<",j),z=f===-1?$.length:f;if(z>j){let D=$.slice(j,z).replace(/\s+/g,"").length;if(T>0)Z+=D;else O+=D}if(f===-1)break;if($.startsWith("<!--",f)){let D=$.indexOf("-->",f+4);j=D===-1?$.length:D+3;continue}let W=$.indexOf(">",f);if(W===-1)break;let J=$.slice(f+1,W);j=W+1;let Y=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(J)?.[1]?.toLowerCase();if(!Y)continue;let C=J.startsWith("/");if(!C&&fC.has(Y)&&!J.endsWith("/")){let D=$.indexOf(`</${Y}`,j);j=D===-1?$.length:D;continue}if(Y!=="div")continue;if(C){if(T>0)T-=1}else if(T>0)T+=1;else if(zC.test(J.replace(WC,'""')))T=1}return{shellChars:O,deferredChars:Z}}var YC=1000,CC=64;function XC($){return $>=1000?`${($/1000).toFixed(1)} kB`:`${$} chars`}function DC($,O){if(O.deferredChars<YC)return null;if(O.shellChars>=CC)return null;return`[gemi] GET ${$} streams ${XC(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 dW($=console.warn){let O=new Set;return{shouldObserve(Z){return!O.has(Z)},report(Z,T){if(O.has(Z))return;let j=DC(Z,T);if(!j)return;O.add(Z),$(j)}}}function uW(){let $=new TextDecoder,O="";return{onChunk(Z){O+=$.decode(Z,{stream:!0})},measure(){return O+=$.decode(),JC(O)}}}function sW($,O,Z=1e4,T){let j=new TextEncoder,f=()=>{};return new ReadableStream({start(z){let W=!1,J=(C)=>{if(W)return;W=!0,clearTimeout(Y);try{z.close()}catch{}T?.({aborted:C})};f=J,z.enqueue(j.encode(`${JSON.stringify($)}
3
- `)),O.onSettle((C)=>{if(W||C.status!=="resolved")return;z.enqueue(j.encode(`${JSON.stringify([C.path,C.variantKey,C.data])}
4
- `))});let Y=setTimeout(()=>J(!0),Z);O.allSettled().then(()=>J(!1),()=>J(!1))},cancel(){f(!1)}})}var UC=async()=>(await import("./chunk-97bt619e.js")).default,j4,f4=async(...$)=>{return j4??=import("react-dom/server.browser").catch((O)=>{throw j4=void 0,O}),(await j4).renderToReadableStream(...$)},GC=1e4,BC=`
5
- !function(){try{var d=document.documentElement,c=d.classList;
6
- c.remove('light','dark');
7
- var e=localStorage.getItem('theme');
8
- if('system'===e||(!e&&'system'===defaultTheme)){
9
- var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);
10
- if(m.media!==t||m.matches){d.style.colorScheme='dark';c.add('dark')}
11
- else{d.style.colorScheme='light';c.add('light')}
12
- }else if(e){
13
- c.add(e||'')
14
- }}catch(e){}}()
15
- `;async function KC($,O,Z){let T=`${Z==="italic"?"italic,":""}wght@${Z==="italic"?"1,":""}${O}`,z=(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(z).then((W)=>W.arrayBuffer())}var J4="/assets";function QC($){return $===J4||$.startsWith(`${J4}/`)}function LC($){let O=$.filter(QC);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 "${J4}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}function VC($){let O=K(s0).resolver;return{...$.domain,root:O.root,origin:O.publicOrigin($.rawRequest)}}function z4($){let{status:O=400,error:Z}=$;return new Response(Z?.message,{...$,status:O})}function MC($){let{status:O=400,data:Z,directive:T,headers:j}=$;return new Response(JSON.stringify({data:Z,directive:T}),{headers:j,status:O})}class iO{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=dW();preloadCache=new WeakMap;hooks;partialRendering;constructor($){let O=fW();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":xf};this.flatViewRoutes=K3(Z),LC(Object.keys(this.flatViewRoutes)),this.routeManifest=L3(Z),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,T])=>T.at(-1)!=="FILE")),this.componentTree=V3(Z),this.flatComponentTree=rf(this.componentTree),this.root=$.root}async passesFeatureGates($){let O=K(d$);for(let Z of $)if(!await O.enabled(Z))return!1;return!0}async onRequestEnd($){return W4(),await this.hooks.onRequestEnd($)}completeStream($,O){let Z=(T)=>{W$.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 C of Z?.[Y]??[])J.add(C);return[...J].map((Y)=>o$("link",{key:`modulepreload:${Y}`,rel:"modulepreload",href:Y}))};if(!Z)return f();let z=this.preloadCache.get(Z);if(!z||z.clientEntry!==O)z={clientEntry:O,byRoute:new Map},this.preloadCache.set(Z,z);let W=z.byRoute.get(j);if(!W)W=f(),z.byRoute.set(j,W);return W}async render($){let{req:O,runInRequestScope:Z,csrfTokenHMAC:T,currentPathName:j,headers:f,i18n:z,params:W,pathname:J,serverQueries:Y,userAgent:C,noStream:D,url:X,user:U,viewData:F,breadcrumbs:G,urlLocaleSegment:B,meta:Q,isOgRequest:M,appId:L,features:N}=$,A=J.replace(`/${B}`,""),V={kind:"view",data:{meta:Q,pageData:{[A]:F},__csrf:T.toString("base64"),prefetchedData:{},i18n:z,auth:{user:U},routeManifest:this.clientRouteManifest,breadcrumbs:G,router:{urlLocaleSegment:B,pathname:j,params:W,currentPath:J,searchParams:X.search,is404:!j?!0:!1,domain:O.domain?VC(O):null},appId:L,features:N,componentTree:[["404",[]],...this.componentTree]},head:{}},I=this.root,E=this.routeManifest[j];return async(P)=>{let{bootstrapModules:$0=[],loaders:g,getStyles:q,viewImportMap:O0,cssManifest:E3,ogMap:lO,viewModules:J$,clientEntry:T1,modulePreloadManifest:q1,assetBase:Z0}=P,e$=T1?[]:$0,dO=(S0)=>[S0,`window.loaders=${g}`,...T1?[`import(${JSON.stringify(T1.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(M){let S0=null,X$=null;for(let D$ of E??[])if(typeof lO[D$]==="function")X$=D$,S0=lO[D$];if(!S0)return new Response("Not found",{status:404});let I5=Object.values(V.data.pageData)[0];try{await f4(o$(S0,I5[X$]),{onError:()=>{}})}catch(D$){let{fonts:S5,...x5}=D$.satoriOptions,N5=await Promise.all(S5.map((sO)=>{return KC(sO.name,sO.weight,sO.style).then((H5)=>({...sO,data:H5}))})),B4=new Headers(f);B4.set("Content-Type","image/png");let[_5,A5]=await Promise.all([UC(),G3("Rendering an OG image")]),E5=await _5(D$.jsx,{...x5,fonts:N5}),P5=await A5(Buffer.from(E5)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(P5),{headers:B4})}return new Response("data")}if(V.data.cssManifest=E3,V.data.modulePreloadManifest=q1??{},Z0&&Z0!=="/")V.data.assetBase=Z0;let Y$=this.modulePreloadLinks({clientEntry:T1,modulePreloadManifest:q1,views:E??["404"],routeKey:j??"404"}),$O=await q(E);V.data.prefetchedData=Y.snapshotResolved(),Y.markRenderStart();let G1=new AbortController,uO=setTimeout(()=>G1.abort(),GC),H=I3(C)||D,I0=Bun.env.NODE_ENV!=="production"&&!H&&j&&this.shellReporter.shouldObserve(j)?uW():null,C$=oW();try{let S0=await f4(o$(FC,{children:[...Y$,...$O,o$("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:BC}}),o$(I,{data:V.data,viewImportMap:O0,viewModules:J$,serverQueries:Y,dictionarySink:C$,key:"root"})]}),{bootstrapScriptContent:dO(`window.__GEMI_DATA__ = ${z$(V.data)}`),bootstrapModules:e$,signal:G1.signal,...H?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(X$){if(Bun.env.NODE_ENV!=="production")console.error(X$)}});if(S0.allReady.catch(()=>{}).finally(()=>clearTimeout(uO)),H)await S0.allReady.catch(()=>{});return new Response(ef(S0,Y,{onShell:H?void 0:()=>Y.markShell(),onChunk:I0?.onChunk,onClose:()=>Z(()=>{if(this.completeStream(O,Y.summarize(G1.signal.aborted)),I0)this.shellReporter.report(j,I0.measure())})},C$),{status:!j?404:200,headers:f})}catch(S0){if(clearTimeout(uO),Bun.env.NODE_ENV==="production")throw Z(()=>this.completeStream(O,Y.summarize(G1.signal.aborted))),S0;let X$=await f4(o$("div"),{bootstrapScriptContent:dO(`window.error= ${z$(S0.message)}; window.stack_trace=${z$(S0.stack)};window.__GEMI_DATA__ = ${z$(V.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...e$]:e$});return new Response(ef(X$,Y,{onClose:()=>Z(()=>this.completeStream(O,Y.summarize(G1.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",""),[,z,...W]=f.split("/"),J=`/${W.join("/")}`,Y=null,C=null,D=K(s);if(!D.supportedLocales.includes(z))J=f;else Y=z,C=z;let U=C===null&&yO(this.flatViewRoutes,J)!==null;if(D.isLocaleAware&&!j&&C===null&&!U){let V=nW(z,D.supportedLocales,D.defaultLocale);if(V){let I=W.length?`/${W.join("/")}`:"";return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${V}${I}${T?".json":""}${Z.search}`}})}}if(D.isLocaleAware&&!j){let V=K(s).detectLocale(new _($,{},"view",J));if(C===null&&V!==D.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:`/${V}${I}${Z.search}`}})}}J=J.replace("//","/");let F=[],G=[],B=null,Q={},M=null,L=!1,N=[];try{let V=yO(this.flatViewRoutes,J);if(V){if(B=V.routePath,Q=V.params,F=V.route.exec,G=V.route.middleware,N=V.route.features,L=G.includes("no-stream"),T&&this.partialRendering){let I=$.headers.get(of),E=HW({flatViewRoutes:this.flatViewRoutes,supportedLocales:K(s).supportedLocales,from:I,origin:Z.origin,to:{segments:V.route.segments,params:Q,search:Z.search}});if(E.startIndex>0)F=F.slice(E.startIndex),M={from:I,carriedViews:E.carriedViews}}}}catch(V){throw V}let A=new _($,Q,"view",B);return this.hooks.onRequestStart(A),await x.run(A,async()=>{let V=null,I=x.getStore(),E=n$.getStore(),P=(q)=>n$.run(E,()=>x.runWith(I,q));I.serverQueries=new u$(pO($));let $0=new Set;if(I.serverQueries.onQueryFail((q)=>{$0.add(q.error);try{P(()=>Promise.resolve(this.hooks.onRequestFail(g,q.error)).catch(()=>{}))}catch{}}),C){let q=C.replaceAll("/","");l$.setLocale(q)}else l$.setLocale();let g=I.req;W4();try{let q=!1;try{await K(mO).runMiddleware(G)}catch(H){if(!r$(H))throw H;q=!0}if(q||N.length>0&&!await this.passesFeatureGates(N))B=null,F=[],g.routePath="";let O0=K(s),E3=O0.isEnabled,lO=O0.isLocaleAware,J$={};if(lO){let H=null;if(C)H=C.replaceAll("/",""),I.setLocale(H);else H=O0.detectLocale(new _($,g.params)),I.setLocale(H);let I0=E3?O0.getPageTranslations(H,g.routePath):{};J$={supportedLocales:O0.supportedLocales,currentLocale:H,dictionary:{[H]:I0},defaultLocale:O0.defaultLocale}}await aW(J$.currentLocale??"");let T1;try{T1=await Promise.all(F.map((H)=>H(g)))}catch(H){if(!r$(H))throw H;B=null,F=[],g.routePath="",T1=[]}let{cookies:q1,headers:Z0}=I;V={data:T1,cookies:q1,headers:Z0,user:I.user,prefetchedData:I.serverQueries.snapshotResolved(),currentPathName:B,params:g.params,urlLocaleSegment:Y,meta:I.renderMeta(),appId:K(tf).id,features:await K(d$).forClient()};let{params:e$,user:dO}=V,Y$={},$O={};for(let H of T1??[]){let[I0,C$]=Object.entries(H)?.[0]??[];if(!I0||!C$)continue;$O[`${I0}:${B}`]=C$.breadcrumb,Y$[I0]=C$}let G1=Y$.FILE;if(G1){for(let H of q1)Z0.append("Set-Cookie",H.toString());try{await this.onRequestEnd(g)}catch(H){W$.error(H?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(H)})}return await q3(G1,Z0)}if(T){Z0.set("Content-Type","application/x-ndjson; charset=utf-8"),Z0.append("Vary",of),q1.forEach((I0)=>Z0.append("Set-Cookie",I0.toString())),await this.hooks.onRequestEnd(g);let H={meta:M&&!I.metadata.touched?null:V.meta,data:{[J]:Y$},breadcrumbs:$O,prefetchedData:I.serverQueries.snapshotResolved(),i18n:J$,features:V.features,is404:!B,appId:V.appId,partial:M};return new Response(sW(H,I.serverQueries,void 0,({aborted:I0})=>P(()=>this.completeStream(g,I.serverQueries.summarize(I0)))),{headers:Z0})}if(Z0.set("Content-Type","text/html; charset=utf-8"),!L)Z0.append("Vary","User-Agent");for(let H of q1)Z0.append("Set-Cookie",H.toString());let uO=Bun.CSRF.generate(process.env.SECRET);Z0.append("Set-Cookie",`csrf_token=${uO}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(g)}catch(H){W$.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:Z0,i18n:J$,params:e$,pathname:Z.pathname,serverQueries:I.serverQueries,userAgent:$.headers.get("user-agent"),noStream:L,url:Z,user:dO,viewData:Y$,breadcrumbs:$O,urlLocaleSegment:Y,meta:V.meta,appId:V.appId,features:V.features,isOgRequest:j})}catch(q){if(q.kind===cO)if(T)return MC(q.payload.viewData??q.payload.api);else return z4(q.payload.view);if(!$0.has(q))this.hooks.onRequestFail(g,q);if(hO(q))return console.error(q),T?s$():z4(T4());if(q instanceof k1&&q.status===403)return T?s$():z4(T4());throw q}},O)}}function C4(){let $=JSON.stringify({error:K1("not_found","Not found",404)});return new Response($,{status:404,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}class Z5 extends x0{routes={"/api-routes":this.get(()=>{let $=K(S3).flatRoutes,O=[];for(let[Z,T]of Object.entries($))for(let[j,f]of Object.entries(T)){let{exec:z,middleware:W}=f;O.push({path:Z,method:j,middleware:W})}return O}),"/view-routes":this.get(()=>{let $=K(iO).flatViewRoutes,O=[];for(let[Z,{middleware:T,viewPath:j}]of Object.entries($))O.push({path:Z,method:"GET",viewPath:j,middleware:T});return O})}}function IC($,O){let Z=$.body.getReader(),T=!1,j=()=>{if(T)return;T=!0;try{O()}catch(z){console.error(z)}},f=new ReadableStream({async pull(z){let W;try{W=await Z.read()}catch(J){j(),z.error(J);return}if(W.done){j();try{z.close()}catch{}return}try{z.enqueue(W.value)}catch{}},async cancel(z){try{await Z.cancel(z)}finally{j()}}},{highWaterMark:0});return new Response(f,{status:$.status,statusText:$.statusText,headers:$.headers})}function rW($){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 tW($,O,Z){let T=[];O?.forEach((z,W)=>T.push([W,z]));let j=[...typeof O?.getSetCookie==="function"?O.getSetCookie():[],...Array.from(Z??[])];if(T.length===0&&j.length===0)return $;let f=(z)=>{for(let[W,J]of T){if(W.toLowerCase()==="set-cookie")continue;if(!z.has(W))z.set(W,J)}for(let W of j)z.append("Set-Cookie",W)};try{return f($.headers),$}catch{let z=new Headers($.headers);return f(z),new Response($.body,{status:$.status,statusText:$.statusText,headers:z})}}class S3{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor($){let O=jW();this.onRequestStart=$.onRequestStart??O.onRequestStart,this.onRequestEnd=$.onRequestEnd??O.onRequestEnd,this.onRequestFail=$.onRequestFail??O.onRequestFail,this.flatRoutes=wf({"/":$.rootRouter,"/auth":Nf,"/__gemi__/services/i18n":_f,"/__gemi__/services/logs":Hf,"/__gemi__/services/image":Pf,"/__gemi__/debug":Z5})}getRouteHandlerAndParams($){let O=new URL($.url),Z=O5(O.pathname),T={},j;for(let[f]of Object.entries(this.flatRoutes))try{let z=new URLPattern({pathname:f});if(z.test({pathname:Z})){j=f,T=z.exec({pathname:Z})?.pathname.groups;break}}catch(z){console.error(z)}return{params:T,path:j}}async runRouteMiddleware($,O){let T=this.flatRoutes[$][O.rawRequest.method].middleware;try{await K(mO).runMiddleware(T)}catch(j){if(j.kind===cO)return rW(j.payload.api);else{if(r$(j))return C4();if(this.onRequestFail(O,j),console.error(j),hO(j))return s$();throw j}}}async getRouteData($){let O=this.flatRoutes[$],Z=x.getStore(),T=O[Z.req.rawRequest.method].exec??(()=>Promise.resolve({})),j={};try{j=await T()}catch(f){if(f.kind===cO)return rW(f.payload.api);if(r$(f))return C4();if(this.onRequestFail(Z.req,f),console.error(f),hO(f))return s$();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){W$.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:K1("not_found","Not found",404)}),{status:404});let f=new _($,Z,"api",T);if(!this.isFrameworkRoute(T))this.onRequestStart(f);return await x.run(f,async()=>{let z=x.getStore(),W=!1,J=async()=>{W=!0,await this.endRequest(z,f,T)};try{let Y=K(s);if(Y.isEnabled){let G=Y.detectLocale(f);z.setLocale(G)}z.setRequest(f);let C=await this.runRouteMiddleware(T,f);if(C instanceof Response){let G=tW(C,z.headers,z.cookies);return await J(),G}let D=await this.getRouteData(T),X=z.headers,U=z.cookies;if(D instanceof Response){let G=tW(D,X,U);if(this.isOpenEndedBody($,G)){let B=IC(G,()=>this.endRequest(z,f,T));return W=!0,B}return await J(),G}let F=(F$(D)?D:ZO.json(D)).toResponse(X,U);return await J(),F}catch(Y){if(!W)try{await J()}catch(C){console.error(C)}throw Y}},O)}async dispatchAs($,O,Z,T){let j=new URL($.rawRequest.url).origin,f=new URL(`${j}/api${Z}`),z=`/api${Z.split(/[?#]/)[0]}`;if(!Z.startsWith("/")||f.origin!==j||f.pathname!==z||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 W=new Headers,J=$.cookies.get(jO);if(J)W.set("Cookie",`${jO}=${J}`);let Y=$.headers.get(jO);if(Y)W.set(jO,Y);let C=$.headers.get("User-Agent");if(C)W.set("User-Agent",C);let D;if(T instanceof FormData)D=T;else if(T!==void 0)W.set("Content-Type","application/json"),D=JSON.stringify(T);let X=new Request(f,{method:O,headers:W,body:D});if(eW(X,eO($)),$.domain)a$(X,$.domain);return x.exit(()=>$5.exit(()=>this.handleApiRequest(X)))}}import{timingSafeEqual as SC}from"crypto";var N3="",F4="*",xC=60000,NC=1e4,X4=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,x3=16,T5=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,D4="x-forwarded-host";function j5($){return $.startsWith(":")}function U4($,O){if($===null)return!1;let Z=Buffer.from($,"utf8"),T=Buffer.from(O,"utf8");return Z.length===T.length&&SC(Z,T)}function _C($){if(!$)return null;if($===!0)return{header:D4,secret:null};return{header:($.hostHeader??D4).toLowerCase(),secret:$.secret?{header:$.secret.header.toLowerCase(),value:$.secret.value}:null}}function AC($){if(!$||$===!0)return;let{hostHeader:O,secret:Z}=$;if(O!==void 0&&(typeof O!=="string"||!T5.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"||!T5.test(Z.header))throw Error(`\`route.domains.trustProxy.secret.header\` must be a header name. Got "${Z.header}".`);if(Z.header.toLowerCase()===(O??D4).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<x3)throw Error(`\`route.domains.trustProxy.secret.value\` must be at least ${x3} 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 EC($){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 PC($){let O=Z1($.root),Z=$.root?.trim().toLowerCase().replace(/\.$/,"");if(!O||O!==Z||!O.split(".").every((f)=>X4.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<x3)throw Error(`\`route.domains.ask.secret\` must be at least ${x3} characters. A guessable one is worse than leaving \`ask\` out.`);AC($.trustProxy);let T=new Set,j=null;for(let f of $.groups??[]){let{subdomain:z}=f;if(T.has(z))throw Error(`\`route.domains\` declares the subdomain "${z}" twice.`);if(T.add(z),j5(z)){if(!/^:[A-Za-z_][A-Za-z0-9_]*$/.test(z))throw Error(`"${z}" 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 "${z}"; a host could match either.`);j=f;continue}if(f.exists)throw Error(`The subdomain "${z}" is fixed, so \`exists\` has no param to check. It only applies to a \`:param\` subdomain.`);if(!z.split(".").every((W)=>X4.test(W)))throw Error(`"${z}" 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 G4{root;hostTrust;fixed=new Map;param=null;custom;cacheTtlMs;cache=new Map;inFlight=new Map;askSecret;proxySecretHeader;constructor($){PC($),this.root=Z1($.root),this.hostTrust=_C($.trustProxy);for(let O of $.groups??[])if(j5(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??xC,this.askSecret=$.ask?.secret??null,this.proxySecretHeader=this.hostTrust?.secret?.header??null}forwardedHost($){let O=this.hostTrust;if(!O)return null;if(O.secret&&!U4($.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)?EC(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:F4,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:N3,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&&X4.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>=NC)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 HC="/__gemi__/domains/ask";class s0{static token="router.domains";resolver;acceptsCustomDomains;groups=new Map;constructor($,O){this.groups.set(N3,$);let{domains:Z}=O;if(this.acceptsCustomDomains=Boolean(Z?.custom),!Z){this.resolver=null;return}this.resolver=new G4(Z);let T=(j)=>({api:j.api?new S3({...O.api,...j.api}):$.api,view:j.view?new iO({...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(F4,T(Z.custom.fallback))}async route($){if(!this.resolver)return this.dispatchers(null);if(this.resolver.proxySecretHeader)f5($,this.resolver.proxySecretHeader);let O=await this.resolver.resolve($);if(!O)return null;return a$($,O),this.dispatchers(O)}async ask($){if(!this.resolver?.askSecret||$.method!=="GET")return null;let O=new URL($.url);if(O.pathname!==HC)return null;if(!U4(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??N3)}viewDispatchers(){return Array.from(new Set(Array.from(this.groups.values(),($)=>$.view)))}}function z5($){let O=new Date($??0).getTime();return Number.isFinite(O)?O:0}var W5=600000;function J5($,O){return[$Z($,O),$Z($,O-1)]}class w{static token="auth";config;provider;constructor($={},O=new a3){this.config=Y5(s4($),$),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(!d3($))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=z5(Z.expiresAt),f=z5(Z.absoluteExpiresAt);if(j<=T||f<=T)return await this.userProvider.deleteSession({token:$}),null;let W=await this.slideSession(Z,T);return W.user.extension=await this.config.extendSession(W.user),W}async convertLegacySession($,O,Z){let T=x.getStore()?.req;if(!T)return null;let j=Date.now(),f=Math.floor(j/W5),z=null,W=await this.userProvider.findSession({token:$,userAgent:O});if(W?.user){if(!await Z(W,{token:$,req:T,userAgent:O}))return null;let Y=$Z($,f),C=W.user.id;if(await this.userProvider.withLegacySessionLock($,async()=>{if(!await this.userProvider.claimLegacySession({token:$}))return!1;return await this.userProvider.createSessionV2({token:Y,userId:C,userAgent:O,...this.freshLifetime(j)}),!0}))z=Y}if(!z){for(let Y of J5($,f))if((await this.userProvider.findSession({token:Y,userAgent:O}))?.user){z=Y;break}}if(!z)return null;let J=await this.getSession(z,O);if(J)T.ctx().setCookie("access_token",z,this.accessTokenCookieOptions(T,new Date(J.expiresAt)));return J}async revokeSession($,O){if(!$)return await this.userProvider.deleteSession({token:$}),null;if(d3($)||!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()/W5),T=J5($,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=x.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 y1;let T=Bun.env.NODE_ENV==="development"?"local":O.headers.get("User-Agent"),j=u4(Z),f=await this.userProvider.createSessionV2({token:j,userId:Z,userAgent:T,...this.freshLifetime(Date.now())}),z=await this.userProvider.findSession({token:j,userAgent:T??""});return z?.user?z: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(wC(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{}}}class T$ extends b0{static getFacadeAccessor(){return w}static async user(){let $=x.getStore(),O=$?.user;if(!O){if(O=await tO(this.getFacadeRoot(),$?.req),O)$?.setUser(O)}if(O)return O;throw new y1({redirectTo:rO($?.req,this.getFacadeRoot().config.signInPath)})}static intendedUrl($){let O=x.getStore()?.req;return TO(O?.search.get(U$),$??this.getFacadeRoot().config.redirectPath)}static async guard($){let O=await T$.user();if(!await $(O))throw new i3}static async guardSafe($){let O=await T$.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 _3{static ensure($,O={}){let Z=x.getStore();if(Z.req.kind==="api")throw Error("Query.prefetch() cannot be called from an API request");return Z.serverQueries??=new u$(pO(Z.req.rawRequest)),Z.serverQueries.ensure($,O,"prefetch")}static async instant($,...O){let Z=_3.ensure($,O[0]);if(await Z.promise,Z.status==="rejected")throw Z.error;return Z.data}static prefetch($,...O){_3.ensure($,O[0])}static noPrefetch(){let $=x.getStore();if($.req.kind==="api")throw Error("Query.noPrefetch() cannot be called from an API request");$.serverQueries??=new u$(pO($.req.rawRequest)),$.serverQueries.muteDiscoveryHints()}}function C5($,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),z=bC(j);if(!z)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=z.hostname,z.port)f.port=z.port;return f.toString()}function bC($){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 X5{static absolute($,...O){return`${process.env.HOST_NAME}${T0(String($),O[0]??{})}`}static relative($,...O){return T0(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=x.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 C5({root:T.root,origin:f},$,T0(String(O),Z[0]??{}))}}class D5{name="Meta";static description($){x.getStore().metadata.description($)}static title($){x.getStore().metadata.title($)}static openGraph($){x.getStore().metadata.openGraph($)}}var vC={set($,O,Z){x.getStore().setCookie($,O,Z)},setIfAbsent($,O,Z){if(x.getStore().req.cookies.has($))return!1;return x.getStore().setCookie($,O,Z),!0},delete($,O){x.getStore().deleteCookie($,O)}};class U1 extends b0{static getFacadeAccessor(){return F5}static get client(){return this.getFacadeRoot().client}static get($){return U1.client.get($)}static set($,O){return U1.client.set($,O)}static del(...$){return U1.client.del(...$)}static exists($){return U1.client.exists($)}static incr($){return U1.client.incr($)}static expire($,O){return U1.client.expire($,O)}static ttl($){return U1.client.ttl($)}}class U5 extends b0{static getFacadeAccessor(){return G$}static consume($,O={}){return this.getFacadeRoot().consume($,O)}}class G5 extends b0{static getFacadeAccessor(){return d$}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 A3{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 Q5(Z.sql,(T)=>B5(O,()=>$(T)),{slowTransactionThreshold:Z.config.slowTransactionThreshold,connection:O})}async schema(){let $=this.connection(),{introspect:O}=await import("./chunk-x2ds4xaj.js");return O(this.handle()??$.sql,$.dialect)}run($,O){let Z=this.connection(),{text:T,values:j}=V5($,L5(Z.dialect),O);return(this.handle()??Z.sql).unsafe(T,j)}handle(){let $=fO();if($===void 0)return;return zO()===this.name?$:void 0}connection($=this.name){return K5($),K(WO).connection($)}}var t$=new A3;class M5 extends b0{static getFacadeAccessor(){return WO}static connection($){return new A3($)}static get sql(){return t$.sql}static get dialect(){return t$.dialect}static query($){return t$.query($)}static execute($){return t$.execute($)}static transaction($){return t$.transaction($)}static schema(){return t$.schema()}static close(){return this.getFacadeRoot().close()}}export{j1 as lc,OO as mc,b3 as nc,x0 as oc,R3 as pc,x4 as qc,oO as rc,ZO as sc,q3 as tc,B1 as uc,v0 as vc,R5 as wc,k5 as xc,l3 as yc,d3 as zc,u4 as Ac,N9 as Bc,s4 as Cc,d5 as Dc,a3 as Ec,T$ as Fc,l$ as Gc,_3 as Hc,X5 as Ic,D5 as Jc,vC as Kc,U1 as Lc,G$ as Mc,U5 as Nc,qW as Oc,$4 as Pc,mW as Qc,yW as Rc,tY as Sc,pW as Tc,O4 as Uc,OC as Vc,ZC as Wc,Z4 as Xc,cW as Yc,hW as Zc,d$ as _c,G5 as $c,A3 as ad,M5 as bd,Af as cd,Ef as dd,XD as ed,OW as fd,ZW as gd,mO as hd,ND as id,jW as jd,fW as kd,tf as ld,s$ as md,T4 as nd,J4 as od,QC as pd,z4 as qd,MC as rd,iO as sd,y3 as td,m4 as ud,eO as vd,C4 as wd,rW as xd,tW as yd,S3 as zd,s0 as Ad,w as Bd,b4 as Cd,v4 as Dd,g4 as Ed,c4 as Fd,h4 as Gd,i4 as Hd};
16
-
17
- //# debugId=38208DC0A5750D8064756E2164756E21