gemi 0.86.1 → 0.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/ai/Agent.d.ts +44 -2
  2. package/dist/ai/Agent.d.ts.map +1 -1
  3. package/dist/ai/AgentController.d.ts +5 -0
  4. package/dist/ai/AgentController.d.ts.map +1 -1
  5. package/dist/ai/Schema.d.ts +102 -0
  6. package/dist/ai/Schema.d.ts.map +1 -1
  7. package/dist/ai/index.d.ts +3 -3
  8. package/dist/ai/index.d.ts.map +1 -1
  9. package/dist/ai/index.js +12 -12
  10. package/dist/ai/index.js.map +5 -5
  11. package/dist/ai/signing.d.ts +34 -1
  12. package/dist/ai/signing.d.ts.map +1 -1
  13. package/dist/app/index.js +1 -1
  14. package/dist/auth/AuthController.d.ts +45 -3
  15. package/dist/auth/AuthController.d.ts.map +1 -1
  16. package/dist/auth/AuthManager.d.ts +42 -1
  17. package/dist/auth/AuthManager.d.ts.map +1 -1
  18. package/dist/auth/UserProvider.d.ts +18 -1
  19. package/dist/auth/UserProvider.d.ts.map +1 -1
  20. package/dist/auth/config.d.ts +109 -0
  21. package/dist/auth/config.d.ts.map +1 -1
  22. package/dist/auth/oneTimeCode.d.ts +99 -0
  23. package/dist/auth/oneTimeCode.d.ts.map +1 -0
  24. package/dist/auth/routes.d.ts +13 -0
  25. package/dist/auth/routes.d.ts.map +1 -1
  26. package/dist/auth/types.d.ts +8 -0
  27. package/dist/auth/types.d.ts.map +1 -1
  28. package/dist/bin/gemi.js +198 -39
  29. package/dist/bin/gemi.js.map +5 -4
  30. package/dist/bun/plugin.js +1 -1
  31. package/dist/bun/preload.js +1 -1
  32. package/dist/{chunk-swhyp0yw.js → chunk-0808z3mq.js} +2 -2
  33. package/dist/{chunk-swhyp0yw.js.map → chunk-0808z3mq.js.map} +1 -1
  34. package/dist/{chunk-d3jkypc7.js → chunk-0efykzjy.js} +3 -3
  35. package/dist/{chunk-d3jkypc7.js.map → chunk-0efykzjy.js.map} +1 -1
  36. package/dist/{chunk-zs90w6ke.js → chunk-16mnpn6c.js} +2 -2
  37. package/dist/{chunk-zs90w6ke.js.map → chunk-16mnpn6c.js.map} +1 -1
  38. package/dist/{chunk-1jcp8m8h.js → chunk-17nh5gfm.js} +2 -2
  39. package/dist/{chunk-1jcp8m8h.js.map → chunk-17nh5gfm.js.map} +1 -1
  40. package/dist/{chunk-mszy6cfw.js → chunk-3ph0aj0x.js} +2 -2
  41. package/dist/{chunk-mszy6cfw.js.map → chunk-3ph0aj0x.js.map} +1 -1
  42. package/dist/{chunk-qje4kdff.js → chunk-3rb5ht8v.js} +3 -3
  43. package/dist/{chunk-qje4kdff.js.map → chunk-3rb5ht8v.js.map} +1 -1
  44. package/dist/chunk-3w65ra1s.js +5 -0
  45. package/dist/{chunk-1yzdxv2a.js.map → chunk-3w65ra1s.js.map} +1 -1
  46. package/dist/{chunk-v8nf45gt.js → chunk-443dm19c.js} +2 -2
  47. package/dist/{chunk-v8nf45gt.js.map → chunk-443dm19c.js.map} +1 -1
  48. package/dist/{chunk-4ysar3ev.js → chunk-49v5xq8q.js} +2 -2
  49. package/dist/{chunk-4ysar3ev.js.map → chunk-49v5xq8q.js.map} +1 -1
  50. package/dist/chunk-4v4v5wkh.js +7 -0
  51. package/dist/chunk-4v4v5wkh.js.map +11 -0
  52. package/dist/{chunk-2yw23zhn.js → chunk-523t3bcz.js} +4 -4
  53. package/dist/{chunk-2yw23zhn.js.map → chunk-523t3bcz.js.map} +1 -1
  54. package/dist/{chunk-1yq1e6sb.js → chunk-56p9a7nx.js} +3 -3
  55. package/dist/{chunk-1yq1e6sb.js.map → chunk-56p9a7nx.js.map} +1 -1
  56. package/dist/{chunk-fbwe0agk.js → chunk-61rs7kxf.js} +2 -2
  57. package/dist/{chunk-fbwe0agk.js.map → chunk-61rs7kxf.js.map} +1 -1
  58. package/dist/{chunk-cbycz5z3.js → chunk-64z2zt41.js} +2 -2
  59. package/dist/{chunk-cbycz5z3.js.map → chunk-64z2zt41.js.map} +1 -1
  60. package/dist/{chunk-saqfc6vp.js → chunk-6dyt8w27.js} +4 -4
  61. package/dist/{chunk-saqfc6vp.js.map → chunk-6dyt8w27.js.map} +1 -1
  62. package/dist/{chunk-ha705bcz.js → chunk-6rc6yec4.js} +3 -3
  63. package/dist/{chunk-ha705bcz.js.map → chunk-6rc6yec4.js.map} +1 -1
  64. package/dist/{chunk-09sr33ff.js → chunk-6s6fj97j.js} +2 -2
  65. package/dist/{chunk-09sr33ff.js.map → chunk-6s6fj97j.js.map} +1 -1
  66. package/dist/{chunk-7nj2t2gm.js → chunk-6tt3ynm7.js} +2 -2
  67. package/dist/{chunk-7nj2t2gm.js.map → chunk-6tt3ynm7.js.map} +1 -1
  68. package/dist/{chunk-trdwxm5x.js → chunk-6y62ccam.js} +3 -3
  69. package/dist/{chunk-trdwxm5x.js.map → chunk-6y62ccam.js.map} +1 -1
  70. package/dist/{chunk-81v4c4b1.js → chunk-713fezaz.js} +2 -2
  71. package/dist/{chunk-81v4c4b1.js.map → chunk-713fezaz.js.map} +1 -1
  72. package/dist/{chunk-xckeyg3v.js → chunk-78gs7xvn.js} +2 -2
  73. package/dist/{chunk-xckeyg3v.js.map → chunk-78gs7xvn.js.map} +1 -1
  74. package/dist/{chunk-ndat0nf0.js → chunk-7r78cdyd.js} +2 -2
  75. package/dist/{chunk-ndat0nf0.js.map → chunk-7r78cdyd.js.map} +1 -1
  76. package/dist/chunk-86p57tjw.js +5 -0
  77. package/dist/{chunk-hmh79ezn.js.map → chunk-86p57tjw.js.map} +3 -6
  78. package/dist/{chunk-ct7wxm98.js → chunk-8dpnghvk.js} +2 -2
  79. package/dist/{chunk-ct7wxm98.js.map → chunk-8dpnghvk.js.map} +1 -1
  80. package/dist/{chunk-zf4r4kat.js → chunk-8pesk2wm.js} +2 -2
  81. package/dist/{chunk-zf4r4kat.js.map → chunk-8pesk2wm.js.map} +1 -1
  82. package/dist/{chunk-8gexb1gt.js → chunk-8r7xhy1g.js} +2 -2
  83. package/dist/{chunk-8gexb1gt.js.map → chunk-8r7xhy1g.js.map} +1 -1
  84. package/dist/{chunk-gx0x772p.js → chunk-8y08amzz.js} +2 -2
  85. package/dist/{chunk-gx0x772p.js.map → chunk-8y08amzz.js.map} +1 -1
  86. package/dist/{chunk-y7qnx8vm.js → chunk-9c1zx81w.js} +2 -2
  87. package/dist/{chunk-y7qnx8vm.js.map → chunk-9c1zx81w.js.map} +1 -1
  88. package/dist/{chunk-7c33ngqs.js → chunk-ak3yy4za.js} +2 -2
  89. package/dist/{chunk-7c33ngqs.js.map → chunk-ak3yy4za.js.map} +1 -1
  90. package/dist/{chunk-z6cgama8.js → chunk-aqtf14yz.js} +2 -2
  91. package/dist/{chunk-z6cgama8.js.map → chunk-aqtf14yz.js.map} +1 -1
  92. package/dist/{chunk-z4k18gnp.js → chunk-bsbn7qtd.js} +2 -2
  93. package/dist/{chunk-z4k18gnp.js.map → chunk-bsbn7qtd.js.map} +1 -1
  94. package/dist/{chunk-2gdhcswa.js → chunk-d1r618e8.js} +1 -1
  95. package/dist/{chunk-v4ngf77f.js → chunk-d5h5v4rj.js} +2 -2
  96. package/dist/{chunk-v4ngf77f.js.map → chunk-d5h5v4rj.js.map} +1 -1
  97. package/dist/{chunk-7n5775qx.js → chunk-e3fnjj0h.js} +2 -2
  98. package/dist/{chunk-7n5775qx.js.map → chunk-e3fnjj0h.js.map} +1 -1
  99. package/dist/chunk-efzvxta5.js +24 -0
  100. package/dist/{chunk-gs8x0k68.js.map → chunk-efzvxta5.js.map} +6 -5
  101. package/dist/{chunk-sjckrbr2.js → chunk-fkt43zw1.js} +2 -2
  102. package/dist/{chunk-sjckrbr2.js.map → chunk-fkt43zw1.js.map} +1 -1
  103. package/dist/{chunk-p7r3ecpk.js → chunk-g2bsmw1m.js} +2 -2
  104. package/dist/{chunk-9tsw1bmt.js.map → chunk-g2bsmw1m.js.map} +1 -1
  105. package/dist/{chunk-1w5a11cd.js → chunk-gzfat1x1.js} +2 -2
  106. package/dist/{chunk-1w5a11cd.js.map → chunk-gzfat1x1.js.map} +1 -1
  107. package/dist/{chunk-wwzg4dmy.js → chunk-hnbj9jx2.js} +3 -3
  108. package/dist/{chunk-wwzg4dmy.js.map → chunk-hnbj9jx2.js.map} +1 -1
  109. package/dist/{chunk-dadygfkf.js → chunk-j0fgc58k.js} +2 -2
  110. package/dist/{chunk-dadygfkf.js.map → chunk-j0fgc58k.js.map} +1 -1
  111. package/dist/{chunk-6nnq3rjj.js → chunk-j3y6pdqp.js} +2 -2
  112. package/dist/{chunk-6nnq3rjj.js.map → chunk-j3y6pdqp.js.map} +1 -1
  113. package/dist/{chunk-v2hvnxsf.js → chunk-jfgjscq6.js} +2 -2
  114. package/dist/{chunk-v2hvnxsf.js.map → chunk-jfgjscq6.js.map} +1 -1
  115. package/dist/{chunk-k5j65f2c.js → chunk-ngq4n2b3.js} +2 -2
  116. package/dist/{chunk-k5j65f2c.js.map → chunk-ngq4n2b3.js.map} +1 -1
  117. package/dist/{chunk-kmsrzbx1.js → chunk-pqydkns8.js} +2 -2
  118. package/dist/{chunk-kmsrzbx1.js.map → chunk-pqydkns8.js.map} +1 -1
  119. package/dist/{chunk-pzwyg474.js → chunk-pw95y0fx.js} +2 -2
  120. package/dist/{chunk-pzwyg474.js.map → chunk-pw95y0fx.js.map} +1 -1
  121. package/dist/{chunk-9tv5j3b2.js → chunk-pwaftx6n.js} +3 -3
  122. package/dist/{chunk-9tv5j3b2.js.map → chunk-pwaftx6n.js.map} +1 -1
  123. package/dist/{chunk-p0m3qgs5.js → chunk-q6ydpt33.js} +2 -2
  124. package/dist/{chunk-p0m3qgs5.js.map → chunk-q6ydpt33.js.map} +1 -1
  125. package/dist/{chunk-81k26w39.js → chunk-r1sj312m.js} +2 -2
  126. package/dist/{chunk-81k26w39.js.map → chunk-r1sj312m.js.map} +1 -1
  127. package/dist/{chunk-55x9kkdt.js → chunk-r78aqvne.js} +2 -2
  128. package/dist/{chunk-55x9kkdt.js.map → chunk-r78aqvne.js.map} +1 -1
  129. package/dist/{chunk-1b5s4w5f.js → chunk-r9qzgvpx.js} +2 -2
  130. package/dist/{chunk-1b5s4w5f.js.map → chunk-r9qzgvpx.js.map} +1 -1
  131. package/dist/{chunk-174jkg6d.js → chunk-rhe7s1fm.js} +3 -3
  132. package/dist/{chunk-174jkg6d.js.map → chunk-rhe7s1fm.js.map} +1 -1
  133. package/dist/{chunk-vwp1g8wh.js → chunk-rp0reqjn.js} +2 -2
  134. package/dist/{chunk-vwp1g8wh.js.map → chunk-rp0reqjn.js.map} +1 -1
  135. package/dist/{chunk-cfykfnqx.js → chunk-rw0t90pf.js} +2 -2
  136. package/dist/{chunk-cfykfnqx.js.map → chunk-rw0t90pf.js.map} +1 -1
  137. package/dist/{chunk-mk8m3ffx.js → chunk-s72y1w84.js} +2 -2
  138. package/dist/{chunk-mk8m3ffx.js.map → chunk-s72y1w84.js.map} +1 -1
  139. package/dist/{chunk-9tsw1bmt.js → chunk-t93t317r.js} +2 -2
  140. package/dist/{chunk-p7r3ecpk.js.map → chunk-t93t317r.js.map} +1 -1
  141. package/dist/{chunk-dwqh79e5.js → chunk-ttckhvew.js} +2 -2
  142. package/dist/{chunk-dwqh79e5.js.map → chunk-ttckhvew.js.map} +1 -1
  143. package/dist/{chunk-rdnm6rem.js → chunk-whjhrz97.js} +2 -2
  144. package/dist/{chunk-rdnm6rem.js.map → chunk-whjhrz97.js.map} +1 -1
  145. package/dist/{chunk-sejnmn1q.js → chunk-x85x83pa.js} +1 -1
  146. package/dist/{chunk-s046a984.js → chunk-xc90ycw2.js} +2 -2
  147. package/dist/{chunk-s046a984.js.map → chunk-xc90ycw2.js.map} +1 -1
  148. package/dist/{chunk-jhe0t7yj.js → chunk-xqyx8kzr.js} +2 -2
  149. package/dist/{chunk-jhe0t7yj.js.map → chunk-xqyx8kzr.js.map} +2 -2
  150. package/dist/{chunk-c3gzpjba.js → chunk-yafxbmy3.js} +1 -1
  151. package/dist/{chunk-pmmrhak1.js → chunk-yc3n6zhr.js} +3 -3
  152. package/dist/{chunk-pmmrhak1.js.map → chunk-yc3n6zhr.js.map} +1 -1
  153. package/dist/chunk-ymgehegb.js +17 -0
  154. package/dist/{chunk-tag4fdmj.js.map → chunk-ymgehegb.js.map} +12 -8
  155. package/dist/{chunk-m7y8d3k7.js → chunk-zf8bgrnj.js} +2 -2
  156. package/dist/{chunk-m7y8d3k7.js.map → chunk-zf8bgrnj.js.map} +1 -1
  157. package/dist/{chunk-fc2je244.js → chunk-zn5bqe6m.js} +3 -3
  158. package/dist/{chunk-fc2je244.js.map → chunk-zn5bqe6m.js.map} +1 -1
  159. package/dist/{chunk-4zj05vry.js → chunk-ztzd90gp.js} +2 -2
  160. package/dist/{chunk-4zj05vry.js.map → chunk-ztzd90gp.js.map} +1 -1
  161. package/dist/chunks/{ThemeProvider-D1kDfCwY.js → ThemeProvider-z_MW40tl.js} +126 -6
  162. package/dist/chunks/ThemeProvider-z_MW40tl.js.map +1 -0
  163. package/dist/client/ClientRouter.d.ts.map +1 -1
  164. package/dist/client/ClientRouterContext.d.ts.map +1 -1
  165. package/dist/client/ComponentContext.d.ts +8 -1
  166. package/dist/client/ComponentContext.d.ts.map +1 -1
  167. package/dist/client/MutationError.d.ts +4 -4
  168. package/dist/client/auth/useEmailCode.d.ts +36 -0
  169. package/dist/client/auth/useEmailCode.d.ts.map +1 -0
  170. package/dist/client/chunkLoadRecovery.d.ts +96 -0
  171. package/dist/client/chunkLoadRecovery.d.ts.map +1 -0
  172. package/dist/client/index.d.ts +4 -0
  173. package/dist/client/index.d.ts.map +1 -1
  174. package/dist/client/index.js +53 -4
  175. package/dist/client/index.js.map +1 -1
  176. package/dist/client/init.d.ts +9 -0
  177. package/dist/client/init.d.ts.map +1 -1
  178. package/dist/config/index.d.ts +12 -0
  179. package/dist/config/index.d.ts.map +1 -1
  180. package/dist/config/index.js +1 -1
  181. package/dist/config/index.js.map +2 -2
  182. package/dist/console/run.js +2 -2
  183. package/dist/console/run.js.map +1 -1
  184. package/dist/container/index.js +2 -2
  185. package/dist/container/index.js.map +1 -1
  186. package/dist/database/index.js +2 -2
  187. package/dist/database/index.js.map +1 -1
  188. package/dist/email/index.js +2 -2
  189. package/dist/email/index.js.map +1 -1
  190. package/dist/facades/index.js +2 -2
  191. package/dist/facades/index.js.map +1 -1
  192. package/dist/foundation/index.js +2 -2
  193. package/dist/foundation/index.js.map +1 -1
  194. package/dist/http/Error.d.ts +2 -2
  195. package/dist/http/index.js +2 -2
  196. package/dist/http/index.js.map +1 -1
  197. package/dist/i18n/dictionaryRuntime.js +2 -2
  198. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  199. package/dist/i18n/index.js +2 -2
  200. package/dist/i18n/index.js.map +1 -1
  201. package/dist/kernel/index.d.ts +2 -0
  202. package/dist/kernel/index.d.ts.map +1 -1
  203. package/dist/kernel/index.js +3 -3
  204. package/dist/kernel/index.js.map +2 -2
  205. package/dist/orm/index.js +3 -3
  206. package/dist/orm/index.js.map +1 -1
  207. package/dist/server/forwardedFor.d.ts +1 -1
  208. package/dist/server/index.js +2 -2
  209. package/dist/server/index.js.map +1 -1
  210. package/dist/server/staticAssetMiss.d.ts +7 -0
  211. package/dist/server/staticAssetMiss.d.ts.map +1 -1
  212. package/dist/services/index.d.ts +1 -1
  213. package/dist/services/index.d.ts.map +1 -1
  214. package/dist/services/index.js +3 -3
  215. package/dist/services/index.js.map +1 -1
  216. package/dist/services/queue/work.js +2 -2
  217. package/dist/services/queue/work.js.map +1 -1
  218. package/dist/services/rate-limiter/drivers/InMemoryRateLimiterDriver.d.ts +10 -1
  219. package/dist/services/rate-limiter/drivers/InMemoryRateLimiterDriver.d.ts.map +1 -1
  220. package/dist/support/index.js +2 -2
  221. package/dist/support/index.js.map +1 -1
  222. package/dist/testing/index.js +1 -1
  223. package/package.json +1 -1
  224. package/dist/chunk-1yzdxv2a.js +0 -5
  225. package/dist/chunk-gs8x0k68.js +0 -24
  226. package/dist/chunk-hmh79ezn.js +0 -5
  227. package/dist/chunk-tag4fdmj.js +0 -17
  228. package/dist/chunk-w312e9nx.js +0 -5
  229. package/dist/chunk-w312e9nx.js.map +0 -11
  230. package/dist/chunks/ThemeProvider-D1kDfCwY.js.map +0 -1
  231. /package/dist/{chunk-2gdhcswa.js.map → chunk-d1r618e8.js.map} +0 -0
  232. /package/dist/{chunk-sejnmn1q.js.map → chunk-x85x83pa.js.map} +0 -0
  233. /package/dist/{chunk-c3gzpjba.js.map → chunk-yafxbmy3.js.map} +0 -0
@@ -0,0 +1,17 @@
1
+ // @bun
2
+ import{Md as Q8,Td as hJ}from"./chunk-6rc6yec4.js";import{Ke as pJ,_d as $Z,de as sZ}from"./chunk-ngq4n2b3.js";import{$e as y,Le as s3,Pe as IJ,Qe as a4,Re as p3,Se as k3,Ve as g3,We as y3,Xe as t$,Ye as UJ,Ze as PJ,_e as A4,bf as _,cf as n3,df as a3,ef as h3,gf as p1,hf as v0,if as I3,qf as _7,rf as X$,sf as RJ}from"./chunk-rhe7s1fm.js";import{uf as uZ,vf as n0,wf as V1,xf as t4}from"./chunk-xqyx8kzr.js";import{Af as N,yf as OJ,zf as V4}from"./chunk-17nh5gfm.js";import{Bf as MJ,Cf as DZ,Df as UZ,Ef as gJ,Ff as yJ,Of as mJ}from"./chunk-6y62ccam.js";import{bg as GZ}from"./chunk-gzfat1x1.js";import{gg as CJ,lg as fJ}from"./chunk-49v5xq8q.js";import{mg as AJ}from"./chunk-ttckhvew.js";import{sg as QJ,tg as i}from"./chunk-e3fnjj0h.js";import{wg as C}from"./chunk-0efykzjy.js";import{xg as r$}from"./chunk-8r7xhy1g.js";import{Lg as SJ}from"./chunk-7r78cdyd.js";import{Qg as I4}from"./chunk-t93t317r.js";function eZ($){return typeof $==="function"&&$.prototype!==void 0}function J1($){return typeof $==="string"?[$]:$}function $O($,Z){let O=Z?"attachment":"inline",j=$.replace(/["\\]/g,"").replace(/[^\x20-\x7e]/g,"_");return`${O}; filename="${j}"; filename*=UTF-8''${encodeURIComponent($)}`}function tJ($){return"total"in $&&"partial"in $&&"body"in $}function TZ($){return new Response(null,{status:416,headers:{"Accept-Ranges":"bytes","Content-Range":y3($),"Content-Length":"0","Cache-Control":"no-store"}})}async function eJ($){if($ instanceof Blob)return{body:$,start:0,end:$.size-1,total:$.size,partial:!1,type:$.type,name:$.name,download:!1,status:200,extraHeaders:{}};if(tJ($))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 Z=$.file,O=Z instanceof Blob?Z:null,j=$.total??O?.size??-1;return{body:Z,start:$.start??0,end:$.end??j-1,total:j,partial:$.partial??!1,type:$.type??O?.type??"",name:$.name??Z?.name,download:$.download??!1,etag:$.etag,lastModified:$.lastModified,status:$.status??200,extraHeaders:$.headers??{}}}async function m3($,Z){if($ instanceof Response)return $;if(!$)return new Response("Not found",{status:404});let O=await eJ($),{body:j,start:T,end:z,total:J,partial:W}=O;if(j instanceof Blob&&"exists"in j&&typeof j.exists==="function"){if(!await j.exists())return new Response("Not found",{status:404})}let{range:Y}=Z;if(Y){if(J<=0)return TZ(Math.max(J,0));if(!W){if(j instanceof Blob){let D=k3(Y,J);if(!D)return TZ(J);j=j.slice(D.start,D.end+1),T=D.start,z=D.end,W=!0}}}let X=Boolean(Y)&&W,F=X?206:O.status,U=new Headers;if(U.set("Accept-Ranges","bytes"),U.set("Content-Type",O.type||"application/octet-stream"),X)U.set("Content-Range",g3(T,z,J)),U.set("Content-Length",String(z-T+1));else if(J>=0)U.set("Content-Length",String(J));if(O.name)U.set("Content-Disposition",$O(O.name,O.download));if(O.etag)U.set("ETag",O.etag);if(O.lastModified)U.set("Last-Modified",O.lastModified.toUTCString());for(let[D,B]of Object.entries(O.extraHeaders))U.set(D,B);if((Z.method??"GET").toUpperCase()==="HEAD"){if(j&&"cancel"in j&&typeof j.cancel==="function")await j.cancel();return new Response(null,{status:F,headers:U})}return new Response(j,{status:F,headers:U})}function H4($){return eZ($)}class a{method;handler;methodName;__internal_brand="RouteHandler";middlewares=[];constructor($,Z,O){this.method=$;this.handler=Z;this.methodName=O;this.handler=Z,this.methodName=O,this.method=$}get source(){if(!H4(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(H4(this.handler)){let Z=new this.handler;return Z[this.methodName].bind(Z)()}return this.handler()}middleware($){return this.middlewares=J1($),this}}class b4{url;headers;__internal_brand="ProxyHandler";middlewares=[];constructor($,Z){this.url=$;this.headers=Z}middleware($){return this.middlewares=J1($),this}run(){let $=new _,Z=$.headers.toJSON();for(let O of A4($.rawRequest))delete Z[O];return fetch(this.url,{method:$.rawRequest.method,headers:{...Z,...this.headers},body:$.rawRequest.body})}}class v4{constructor(...$){return new a(...$)}}class w4 extends a{__internal_brand="StreamHandler";async run($){let Z=N.getStore(),O=Z?.req?.rawRequest,j=p3(O?.headers.get("Range"));if(Z)Z.rangeRequest=j;try{let T=await super.run($);return await m3(T,{range:j,method:O?.method})}catch(T){if(T instanceof h3)return TZ(T.total);throw T}finally{if(Z)Z.rangeRequest=null}}}class R4{constructor(...$){return new w4(...$)}}class q4{__internal_brand="ResourceRoutes";first;second;constructor($){this.first={get:new a("GET",$,"list"),post:new a("POST",$,"store")},this.second={get:new a("GET",$,"show"),put:new a("PUT",$,"update"),delete:new a("DELETE",$,"delete")}}middleware($){if($.list)this.first.get.middleware($.list);if($.store)this.first.post.middleware($.store);if($.show)this.second.get.middleware($.show);if($.update)this.second.put.middleware($.update);if($.delete)this.second.delete.middleware($.delete);return this}}class N0{static __brand="ApiRouter";routes={};middlewares=[];middleware($){}get($,Z){return new a("GET",$,Z)}post($,Z){return new a("POST",$,Z)}put($,Z){return new a("PUT",$,Z)}patch($,Z){return new a("PATCH",$,Z)}delete($,Z){return new a("DELETE",$,Z)}resource($){return new q4($)}agent($){return $W($,this)}file($,Z){return new v4("GET",$,Z)}stream($,Z){return new R4("GET",$,Z)}proxy($,Z={}){return new b4($,Z)}}function $W($,Z){let O={stream:new a("POST",$,"stream"),attach:new a("POST",$,"attach"),stop:new a("POST",$,"stop"),upload:new a("POST",$,"upload")};return class extends N0{static __internal_brand="AgentRoute";static controller=$;static handlers=O;constructor(){super();this.middlewares=[...Z?.middlewares??[]]}routes={"/":O.stream,"/attach":O.attach,"/stop":O.stop,"/files":O.upload};static middleware(T){if(T.stream)O.stream.middleware(T.stream);if(T.attach)O.attach.middleware(T.attach);if(T.stop)O.stop.middleware(T.stop);if(T.upload)O.upload.middleware(T.upload);return this}}}class c3{method;url;meta;__internal_brand="McpRoute";constructor($,Z,O){this.method=$;this.url=Z;this.meta=O}}class k4{static __brand="McpRouter";routes={};fromApiRoute($,Z,O){return new c3($,Z,O)}}function T0($,Z){return $.replace(/:([^/]+[*?]?)/g,(O,j)=>{let T=j.endsWith("?")||j.endsWith("*"),z=T?j.slice(0,-1):j,J=Z[z];if(J===void 0){if(T)return"";if(import.meta.env.DEV)throw Error(`Missing parameter: ${z}`);console.error(`Missing parameter: ${z} in URL: ${$}`)}return String(J)}).replace(/\/\//g,"/").replace(/\/$/,"")}class l3 extends n0{constructor($,Z=307){super("Redirect error");this.name="RedirectError",this.payload={api:{status:200,data:{},directive:{kind:"Redirect",path:$}},view:{status:Z,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:$}}}}}class ZO{static to($,...Z){let[O={}]=Z,{search:j={},params:T={},permanent:z,status:J}={params:{},status:307,permanent:!1,...O},W=new URLSearchParams(j).toString();throw new l3([T0($,T)||"/",W.toString()].filter(Boolean).join("?"),J??(z?301:307))}static external($,Z=307){throw new l3($,Z)}}var g4=Symbol.for("gemi.HttpResponse");class zZ{kind;body;status;headers;[g4]=!0;constructor($,Z,O,j){this.kind=$;this.body=Z;this.status=O;this.headers=j}static json($,Z={}){let O=Z.status??200;return ZW(O),new zZ("json",$,O,new Headers(Z.headers))}get ok(){return this.status>=200&&this.status<300}toResponse($,Z){let O=$,j=this.serialize(O);for(let T of Z)O.append("Set-Cookie",T);this.headers.forEach((T,z)=>{if(z.toLowerCase()!=="set-cookie")O.set(z,T)});for(let T of this.headers.getSetCookie())O.append("Set-Cookie",T);if(this.status>=400&&!this.headers.has("Cache-Control"))O.set("Cache-Control","no-store");return new Response(j,{status:this.status,headers:O})}serialize($){switch(this.kind){case"json":return $.set("Content-Type","application/json"),JSON.stringify(this.body)??null}}}function ZW($){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 K$($){return typeof $==="object"&&$!==null&&$[g4]===!0}class y4{kind="redirect";viewPath="REDIRECT";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>({});else if(typeof $==="function")this.handler=$;else{let[Z,O]=$;this.handler=(j)=>{return new Z()[O](j)}}}async run($,Z){let{destination:O,permanent:j=!1,status:T=307}=await this.handler($);if(!O)throw Error(`Redirect destination is required see ${Z}`);return ZO.to(O,{permanent:j,status:T}),{}}middleware($){return this.middlewares=J1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}async function d3($,Z){if($ instanceof Response)return $;let O=$ instanceof Blob,j=O?$:$.file,T=O?$.name:$.name??$.file?.name,z=(O?$.type:$.type??$.file?.type)||"",J=O?!1:$.download??!1,W=O?200:$.status??200;if(!O)for(let[Y,X]of Object.entries($.headers??{}))Z.set(Y,X);if(j instanceof Blob&&"exists"in j&&typeof j.exists==="function"){if(!await j.exists())return new Response("Not found",{status:404})}if(Z.set("Content-Type",z||"application/octet-stream"),j instanceof Blob)Z.set("Content-Length",String(j.size));if(T)Z.set("Content-Disposition",$O(T,J));return new Response(j instanceof Blob?j.stream():j,{status:W,headers:Z})}class m4{kind="file";viewPath="FILE";middlewares=[];featureGates=[];handler;constructor($){if(!$)this.handler=()=>null;else if(typeof $==="function")this.handler=$;else{let[Z,O]=$;this.handler=(j)=>{return new Z()[O](j)}}}async run($,Z){let O=await this.handler($);if(!O)throw Error(`File route handler must return a file see ${Z}`);return{FILE:O}}middleware($){return this.middlewares=J1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}function p4($,Z){if(K$($))throw Error(`The handler of view "${Z}" returned an HttpResponse. HttpResponse is for api routes; a view handler returns its props.`);return $}class h4{viewPath;middlewares=[];featureGates=[];handler;constructor($,Z){this.viewPath=$;if(!Z)this.handler=()=>({});else if(typeof Z==="function")this.handler=Z;else{let[O,j]=Z;this.handler=(T)=>{return new O()[j](T)}}}async run($,Z){let O=p4(await this.handler($),this.viewPath);return{[this.viewPath]:{...O,breadcrumb:{label:O?.breadcrumb??"",href:Z}}}}middleware($){return this.middlewares=J1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class c4{viewPath;children;middlewares=[];featureGates=[];alwaysRuns=!1;handler=()=>({});constructor($,Z,O){this.viewPath=$;if(typeof Z==="function")this.handler=Z,this.children=class extends f1{routes=O??{}};else if(Array.isArray(Z)){let[j,T]=Z;this.handler=(z)=>{return new j()[T](z)},this.children=class extends f1{routes=O??{}}}else this.children=class extends f1{routes=Z},this.handler=()=>({})}async run($,Z){let O=p4(await this.handler($),this.viewPath);return{[this.viewPath]:{...O,breadcrumb:{label:O?.breadcrumb??"",href:Z}}}}alwaysRun(){return this.alwaysRuns=!0,this}middleware($){return this.middlewares=J1($),this}feature($){return this.featureGates=[...this.featureGates,$],this}}class f1{middlewares=[];featureGates=[];routes={};view($,Z){return new h4($,Z)}file($){return new m4($)}redirect($){return new y4($)}layout($,Z,O){return new c4($,Z,O)}}class w0{req;config={};constructor($){this.req=$}run(...$){return{}}static configure($){let Z=this;return class extends Z{config=$}}}function OW($){return $}function jW(){return{aliases:{},global:[]}}var Q$="redirect";function JZ($,Z="/"){if(typeof $!=="string"||!$.startsWith("/"))return Z;if(/[\u0000-\u001f\u007f\\]/.test($)||$.startsWith("//"))return Z;try{let O=new URL($,"http://gemi.invalid");if(O.origin!=="http://gemi.invalid")return Z;let j=`${O.search}${O.hash}`.replaceAll("/","%2F"),T=`${O.pathname}${j}`.replaceAll(":","%3A");return T.startsWith("//")?Z:T}catch{return Z}}function l4($){let Z=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();return Z?Z==="https":new URL($.url).protocol==="https:"}function TW($,Z=!0){let O=new URL($.rawRequest.url),j=O.pathname.replace(/\.(json|og)$/,""),[,T,...z]=j.split("/");if(C(i).supportedLocales.includes(T))j=`/${z.join("/")}`;return Z?`${j}${O.search}`:j}function zW($,Z){let O=(j)=>j.replace(/\/+$/,"")||"/";return O($)===O(Z)}function OO($,Z){let O=Z||C(H).config.signInPath,j=/^[a-z][a-z\d+.-]*:/i.test(O);if(j?!/^https?:\/\//i.test(O):!O.startsWith("/"))throw Error(`\`auth.signInPath\` must be a path like "/auth/sign-in", or an http(s) URL for sign-in hosted elsewhere. Got "${O}". A route's own \`"auth:<path>"\` cannot carry a URL, because the alias parser splits it on the colon.`);let T=new URL(O,"http://gemi.invalid");if($?.kind==="view"){let z=TW($,!j);if(j||!zW(new URL(z,T).pathname,T.pathname))T.searchParams.set(Q$,z)}return j?T.href:`${T.pathname}${T.search}`}var WZ="access_token";function i3($){return $?.cookies?.get("access_token")||$?.headers?.get("access_token")||null}async function jO($,Z){let O=i3(Z);if(!O)return null;return(await $.getSession(O,Z.headers.get("User-Agent")))?.user??null}class d4 extends w0{async run($){let Z=N.getStore(),O=Z.req;if(Z.user)return{};let j=await jO(C(H),O);if(!j)throw new p1({redirectTo:OO(O,$)});return Z.setUser(j),{}}}class i4 extends w0{async run(...$){let[Z="public",O="864000",...j]=$,T=`${Z}, max-age=${O}${j.length>0?", ":""}${j.join(", ")}`;if($.length===0)T="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="public")T="public, max-age=864000, stale-while-revalidate=300, stale-if-error=600";if($.length===1&&$[0]==="private")T="private, max-age=0, stale-while-revalidate=300, stale-if-error=600";if(this.req.rawRequest.method==="GET")this.req.ctx().setHeaders("Cache-Control",T);return{}}}var JW={"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 u4 extends w0{config={origins:{"":{"Access-Control-Allow-Methods":"GET, HEAD, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With","Access-Control-Allow-Credentials":"true"}}};run(){let $=this.req,Z=$.rawRequest.headers.get("Origin");if(this.config.origins[Z]){$.ctx().setHeaders("Access-Control-Allow-Origin",Z);let O={...JW,...this.config.origins[Z]};for(let[j,T]of Object.entries(O))$.ctx().setHeaders(j,T)}return{}}}class a0{config;static token="ratelimiter";constructor($){this.config=$}get driver(){return this.config.driver}async consume($,Z={}){let O=Z.limit??this.config.limit,j=Z.window??this.config.window,T=Z.cost??1;if(s4("window",j),s4("limit",O),!Number.isFinite(T)||T<0)throw Error(`Rate limiter cost must be zero or greater, got ${T}`);return await this.config.driver.consume({key:$,limit:O,window:j*1000,cost:T})}}function s4($,Z){if(!Number.isFinite(Z)||Z<=0)throw Error(`Rate limiter ${$} must be greater than zero, got ${Z}`)}class YZ extends n0{constructor($){super("Rate limit exceeded");let Z={"Content-Type":"application/json",...$?r4($):{}};this.payload={api:{status:429,data:{error:V1("rate_limit","Rate limit exceeded",429)},headers:Z},view:{error:{message:"Rate limit exceeded"},status:429,headers:Z}}}}class o4 extends w0{async run($,Z){let O=WW();if(!O)return{};let j=await O.consume(this.key(),{limit:n4($)??this.config.limit,window:n4(Z)??this.config.window});if(this.config.headers!==!1){let T=this.req.ctx?.();if(T)for(let[z,J]of Object.entries(r4(j)))T.setHeaders(z,J)}if(!j.allowed)throw new YZ(j);return{}}key(){if(this.config.key)return this.config.key(this.req);return`${C$(this.req)}:${this.req.routePath??"*"}`}}function WW(){try{let $=C();return $.bound(a0)?$.make(a0):null}catch{return null}}function C$($){let Z=a4($.rawRequest);if(Z!==void 0)return Z;let O=$.headers.get("x-forwarded-for");if(O){let[j]=O.split(",");if(j?.trim())return j.trim()}return $.headers.get("x-real-ip")?.trim()||"unknown"}function r4($){let Z={"X-RateLimit-Limit":String($.limit),"X-RateLimit-Remaining":String($.remaining),"X-RateLimit-Reset":String(Math.ceil($.resetAt/1000))};if(!$.allowed)Z["Retry-After"]=String(Math.max(1,Math.ceil($.retryAfter/1000)));return Z}function n4($){if($===void 0||$===null||$==="")return;let Z=Number($);if(!Number.isFinite(Z)||Z<=0)return;return Z}class e4 extends w0{async run(){let $=this.req.cookies.get("csrf_token");if(!$)throw new u3;if(!["POST","PUT","PATCH","DELETE"].includes(this.req.rawRequest.method))return{};if(!Bun.CSRF.verify($,{secret:process.env.SECRET}))throw new u3;return{}}}class u3 extends n0{constructor(){super("Invalid CSRF token");this.name="InvalidCSRFTokenError"}payload={api:{status:403,data:{error:t4("csrf","Invalid CSRF token",403)}},view:{}}}class $8{policiesList={};constructor(){let $=this.register();for(let Z of $){let O=new Z;this.policiesList[Z.name]=O}}register(){return[]}}class Z8{all($,Z){return!0}}import{createHmac as O8,randomBytes as YW}from"crypto";var o3="v2.";function r3($){return $.startsWith(o3)}function TO(){let $=process.env.SECRET;if(!$)throw Error("Signing in needs a secret to mint session tokens with. Set SECRET in the environment.");return $}function j8($){let Z=YW(16).toString("hex"),O=O8("sha256",TO()).update(`${$}:${Z}`).digest("hex");return`${o3}${O}`}function zO($,Z){let O=O8("sha256",TO()).update(`legacy-session:${Z}:${$}`).digest("hex");return`${o3}${O}`}import{createHash as DW,createHmac as UW,randomInt as GW,timingSafeEqual as J8}from"crypto";function T8($,Z){return Math.floor($/Z)*Z}function XW($,Z){if(Z<=0)return 0;return Math.min(1,Math.max(0,(Z-$)/Z))}function t3($,Z,O,j){return Z*XW(O,j)+$}function FW($){let{current:Z,previous:O,elapsed:j,window:T,limit:z,cost:J}=$,W=z-J;if(W<0)return T;let Y=Math.max(0,T-j);if(O>0){let F=T*(1-(W-Z)/O);if(F<=T)return Math.max(0,Math.ceil(F-j))}if(Z<=W)return Y;if(Z<=0)return Y;let X=T*(1-W/Z);return Y+Math.max(0,Math.ceil(X))}function z8($){let{allowed:Z,current:O,previous:j,now:T,elapsed:z,window:J,limit:W,cost:Y}=$;if(Z){let F=t3(O,j,z,J);return{allowed:!0,limit:W,remaining:Math.max(0,Math.floor(W-F)),resetAt:T-z+J,retryAfter:0}}let X=FW({current:O,previous:j,elapsed:z,window:J,limit:W,cost:Y});return{allowed:!1,limit:W,remaining:0,resetAt:T+X,retryAfter:X}}class e3{}class $j extends e3{buckets=new Map;maxKeys;constructor($={}){super();this.maxKeys=Math.max(1,$.maxKeys??1e5)}consume($){let{key:Z,limit:O,window:j}=$,T=$.cost??1,z=Date.now(),J=T8(z,j),W=z-J,Y=this.roll(Z,j,J);Y.limit=O;let F=t3(Y.current,Y.previous,W,j)+T<=O;if(F)Y.current+=T;if(this.buckets.delete(Z),this.buckets.set(Z,Y),this.buckets.size>this.maxKeys)this.evict(z);return z8({allowed:F,current:Y.current,previous:Y.previous,now:z,elapsed:W,window:j,limit:O,cost:T})}clear(){this.buckets.clear()}get size(){return this.buckets.size}roll($,Z,O){let j=this.buckets.get($);if(!j||j.window!==Z)return{window:Z,limit:0,windowStart:O,current:0,previous:0};if(j.windowStart===O)return j;if(j.windowStart+Z===O)return j.previous=j.current,j.current=0,j.windowStart=O,j;return j.previous=0,j.current=0,j.windowStart=O,j}evict($){for(let[j,T]of this.buckets)if($-T.windowStart>=T.window*2)this.buckets.delete(j);let Z=this.maxKeys-Math.floor(this.maxKeys/10);if(this.buckets.size<=Z)return;let O=[...this.buckets].map(([j,T],z)=>({key:j,order:z,spent:T.limit>0?(T.current+T.previous)/T.limit:0}));O.sort((j,T)=>j.spent-T.spent||j.order-T.order);for(let{key:j}of O){if(this.buckets.size<=Z)break;this.buckets.delete(j)}}}var X8="h1.";function JO($,Z,O){let j=UW("sha256",TO()).update(`gemi:one-time:${$}:${Z}:${O}`).digest("hex");return`${X8}${j}`}function XZ($,Z,O,j){let T=typeof j==="string"?j:"",z=typeof O==="string"?O:"",J=z.startsWith(X8),W=JO($,Z,T),Y=Buffer.from(J?W:T),X=Buffer.from(z);if(Y.length!==X.length||T===""||z==="")return J8(Y,Y),!1;return J8(Y,X)}function F8($){let Z="";for(let O=0;O<$;O++)Z+=String(GW(0,10));return Z}var D8=320;function FZ($){if(typeof $!=="string")return null;let Z=$.trim();if(Z===""||Z.length>D8)return null;return Z.toLowerCase()}function Zj($){if(typeof $!=="string")return null;let Z=$.trim();if(Z.length>D8)return null;let O=Z.toLowerCase();if(O.length<3||O.length>254||!/^[^\s@]+@[^\s@]+$/.test(O))return null;return O}var W8=null;function U8(){try{let $=C();if(typeof $?.bound==="function"&&$.bound(a0))return $.make(a0)}catch{}return W8??=new a0({driver:new $j,limit:1000,window:60}),W8}function Y8($){return $.length<=64?$:`sha256:${DW("sha256").update($).digest("hex")}`}async function f$($,Z,O,j){let T=U8(),z=[[`auth:code-${$}:ip:${Y8(C$(O))}`,j.perIp]];if(Z!==null)z.push([`auth:code-${$}:email:${Y8(Z)}`,j.perEmail]);for(let[J,W]of z){if(!W)continue;let[Y,X]=W,F=await T.consume(J,{limit:Y,window:X});if(!F.allowed)throw new YZ(F)}}async function G8($,Z,O,j=10){let T=Math.max(86400,Math.ceil(j*60*(O+1)));return(await U8().consume(`auth:code-attempt:${$}:${Z}`,{limit:O,window:T})).allowed}import{randomBytes as jj}from"crypto";class Oj 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"}}}function WO($,Z,O,j=1/0){if(!Number.isInteger(Z)||Z<O||Z>j){let T=j===1/0?`an integer of at least ${O}`:`an integer from ${O} to ${j}`;throw Error(`auth.emailCode.${$} must be ${T}, got ${Z}`)}}function Tj($={}){let Z=$.length??6,O=$.expiresInMinutes??10,j=$.linkExpiresInMinutes??10080,T=$.maxAttempts??5;return WO("length",Z,4,12),WO("expiresInMinutes",O,1),WO("linkExpiresInMinutes",j,1),WO("maxAttempts",T,1),{enabled:$.enabled??!1,createUser:$.createUser??!1,length:Z,expiresInMinutes:O,linkExpiresInMinutes:j,maxAttempts:T,requestLimit:{perEmail:$.requestLimit?.perEmail??[5,900],perIp:$.requestLimit?.perIp??[20,900]},verifyLimit:{perEmail:$.verifyLimit?.perEmail??[10,900],perIp:$.verifyLimit?.perIp??[50,900]},uniformMagicLinkResponse:$.uniformMagicLinkResponse??!1,send:$.send??(({email:z,code:J})=>{if(Bun.env.NODE_ENV!=="production")console.info(`[gemi] email code for ${z}: ${J} (set auth.emailCode.send to deliver it)`)})}}async function BW($,Z){if(typeof Z!=="string"||Z==="")return!1;try{return await Bun.password.verify($,Z)}catch{return!1}}function YU($){return $}function B8($={}){return{basePath:"/auth",verifyEmail:!0,redirectPath:"/dashboard",signInPath:"/auth/sign-in",sessionExpiresInHours:24,sessionAbsoluteExpiresInHours:672,cookieDomain:null,migrateLegacySession:null,signUpRequest:Oj,oauthProviders:{},verifyPassword:BW,hashPassword:async(Z)=>await Bun.password.hash(Z),generateForgotPasswordToken:async()=>jj(32).toString("hex"),generateEmailVerificationToken:()=>{if(!($.verifyEmail??!0))return"";return jj(32).toString("hex")},generateMagicLinkToken:()=>jj(32).toString("hex"),extendSession:()=>({}),onUserCreated:async()=>{},onSignUp:()=>{},onSignIn:()=>{},onSignOut:()=>{},onForgotPassword:()=>{},onResetPassword:()=>{},onMagicLinkCreated:()=>{},emailCode:Tj($.emailCode),generateCode:()=>{return},onAuthenticated:()=>{}}}function zj($){if($&&typeof $==="object")delete $.password;return $}function KW(){return new Proxy({},{get:($,Z)=>Q8(Z)})}var K8=new WeakMap;function C8($){if($&&typeof $==="object"){for(let Z of Object.values($))C8(Z);Object.freeze($)}return $}var QW={select:{id:!0,publicId:!0,email:!0,name:!0,locale:!0,globalRole:!0,accounts:{select:{id:!0,publicId:!0,organizationRole:!0,organization:!0}}}},CW=C8({token:!0,expiresAt:!0,absoluteExpiresAt:!0,updatedAt:!0,location:!0,userAgent:!0,user:QW});class Jj{models;constructor($=KW()){this.models=$}run($){return this.models.User.asSystem($)}sessionSelect(){return CW}transaction($){return this.models.User.transaction($)}withLegacySessionLock($,Z){let O=this.models.User.$connection??UZ(),j=C(GZ).connection(O),T=()=>this.transaction(async()=>{if(j.dialect==="postgres"){let W=`gemi:legacy-session:${$}`;await DZ()`SELECT pg_advisory_xact_lock(hashtextextended(${W}, 0))`}return Z()});if(j.dialect!=="sqlite"||DZ())return T();let J=(K8.get(j)??Promise.resolve()).then(T,T);return K8.set(j,J.catch(()=>{})),J}async createUser($){let Z=await this.run(()=>this.models.User.create({data:$}));return zj(Z)}async updateUserPassword($){let Z=await this.run(()=>this.models.User.update({where:{id:$.id},data:{password:$.password}}));return zj(Z)}async findUserByEmailAddress($,Z){return await this.run(()=>this.models.User.findUnique({where:Z?{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(Z){return console.error("findSession failed:",Z),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:Z}=await this.run(()=>this.models.Session.deleteMany({where:{token:$.token}}));return Z>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($,Z){if(typeof $!=="string"||typeof Z!=="string")return null;return await this.run(()=>this.models.OrganizationInvitation.findFirst({where:{publicId:$,email:Z}}))}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 Z=(O)=>typeof O==="string"&&O!=="";if(!Z($.email))return null;if($.token!==void 0&&!Z($.token))return null;if($.token===void 0&&!Z($.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 findMagicLinkTokenByEmail($){return await this.run(()=>this.models.MagicLinkToken.findFirst({where:{email:$},orderBy:{id:"desc"}}))}async claimMagicLinkToken($){let{count:Z}=await this.run(()=>this.models.MagicLinkToken.deleteMany({where:{id:$}}));return Z===1}async deleteMagicLinkToken($){await this.run(()=>this.models.MagicLinkToken.deleteMany({where:{email:$}}))}async createSocialAccount($){return await this.run(()=>this.models.SocialAccount.create({data:$}))}async findUserBySocialAccount($,Z){if(!Z)return null;let O=await this.run(()=>this.models.SocialAccount.findFirst({where:{provider:$,providerId:Z},include:{user:!0}}));return O?zj(O.user):null}async findSocialAccounts($,Z){return await this.run(()=>this.models.SocialAccount.findMany({where:{userId:$,provider:Z},orderBy:{id:"asc"}}))}async claimSocialAccount($,Z){let{count:O}=await this.run(()=>this.models.SocialAccount.updateMany({where:{id:$.id,providerId:$.providerId},data:{providerId:Z}}));return O===1}}import{randomBytes as $X}from"crypto";function _0($,Z,O,j,T){return g0(Z,w8($,Z),O,j,T)}function g0($,Z,O,j,T,z){let J=Dj(Z,O,j);if(T&&Z!==J)throw RangeError(Q2($,Z,O,j,z));return J}function w8($,Z){let O=$[Z];if(O===void 0)throw TypeError(pT(Z));return O}function J0($){return $!==null&&/object|function/.test(typeof $)}function E0($,Z=Map){let O=new Z;return(j,...T)=>{if(O.has(j))return O.get(j);let z=$(j,...T);return O.set(j,z),z}}function Vj($){return d1({name:$},1)}function d1($,Z){return h0((O)=>({value:O,configurable:1,writable:!Z}),$)}function R8($){return h0((Z)=>({get:Z,configurable:1}),$)}function SO($){return{[Symbol.toStringTag]:{value:$,configurable:1}}}function _$($,Z){let O={},j=$.length;for(let T of Z)O[$[--j]]=T;return O}function h0($,Z,O){let j={};for(let T in Z)j[T]=$(Z[T],T,O);return j}function MZ($,Z,O){let j={};for(let T=0;T<Z.length;T++){let z=Z[T];j[z]=$(z,T,O)}return j}function fW($,Z,O){let j={};for(let T=0;T<$.length;T++)j[Z[T]]=O[$[T]];return j}function A0($,Z){let O={};for(let j of $)O[j]=Z[j];return O}function Lj($,Z){let O={};for(let j in Z)$.has(j)||(O[j]=Z[j]);return O}function Ij($){$={...$};let Z=Object.keys($);for(let O of Z)$[O]===void 0&&delete $[O];return $}function q8($,Z){for(let O of Z)if(!(O in $))return 0;return 1}function k8($,Z,O){for(let j of $)if(Z[j]!==O[j])return 0;return 1}function g8($,Z,O){let j={...O};for(let T=0;T<Z;T++)j[$[T]]=0;return j}function v($,...Z){return(...O)=>$(...Z,...O)}function f8($){return $[0].toUpperCase()+$.substring(1)}function SZ($){return $.slice().sort()}function BO($,Z){return String(Z).padStart($,"0")}function L1($,Z){return Math.sign($-Z)}function Dj($,Z,O){return Math.min(Math.max($,Z),O)}function Y1($,Z){return[Math.floor($/Z),KZ($,Z)]}function KZ($,Z){return($%Z+Z)%Z}function S1($,Z){return[NO($,Z),Mj($,Z)]}function NO($,Z){return Math.trunc($/Z)||0}function Mj($,Z){return $%Z||0}function YO($){return Math.abs($%1)===0.5}function y8($,Z,O){let j=0,T=0;for(let W=0;W<=Z;W++){let Y=$[O[W]],X=r0[W],F=m/X,[U,D]=S1(Y,F);j+=D*X,T+=U}let[z,J]=S1(j,m);return[T+z,J]}function _O($,Z,O){let j={};for(let T=Z;T>=0;T--){let z=r0[T];j[O[T]]=NO($,z),$=Mj($,z)}return j}function m8($){return $===w?z3:[]}function p8($){return $===w?wZ:[]}function h8($){return $===w?["year","day"]:[]}function c8($){if($!==void 0)return u($)}function l8($){if($!==void 0)return c0($)}function Sj($){if($!==void 0)return NZ($)}function c0($){return u8(NZ($))}function NZ($){return i8(XY($))}function Nj($){if($==null)throw TypeError("Cannot be null or undefined");return $}function d8($,Z){if(Z==null)throw RangeError(pT($));return Z}function F1($){if(!J0($))throw TypeError(K2);return $}function xO($,Z,O=$){if(typeof Z!==$)throw TypeError(AZ(O,Z));return Z}function i8($,Z="number"){if(!Number.isInteger($))throw RangeError(RW(Z,$));return $||0}function u8($,Z="number"){if($<=0)throw RangeError(qW(Z,$));return $}function _j($){if(typeof $=="symbol")throw TypeError(mW);return String($)}function KO($,Z){return J0($)?String($):u($,Z)}function PO($){if(typeof $=="string")return BigInt($);if(typeof $!="bigint")throw TypeError(yW($));return $}function s8($,Z="number"){if(typeof $=="bigint")throw TypeError(gW(Z));if($=Number($),!Number.isFinite($))throw RangeError(kW(Z,$));return $}function B0($,Z){return Math.trunc(s8($,Z))||0}function n8($,Z){return i8(s8($,Z),Z)}function V8($,Z){return u8(B0($,Z),Z)}function xj($,Z){let[O,j]=S1(Z,m),T=$+O,z=Math.sign(T);return z&&z===-Math.sign(j)&&(T-=z,j+=z*m),[T,j]}function L$($,Z,O=1){return xj($[0]+Z[0]*O,$[1]+Z[1]*O)}function I$($,Z){return xj($[0],$[1]+Z)}function R0($,Z){return L$(Z,$,-1)}function Q0($,Z){return L1($[0],Z[0])||L1($[1],Z[1])}function a8($,Z,O){return Q0($,Z)===-1||Q0($,O)===1}function EO($,Z=1){let O=BigInt(m/Z);return[Number($/O),Number($%O)*Z]}function M$($,Z=1){let O=m/Z,[j,T]=S1($,O);return[j,T*Z]}function o8($,Z=1){let[O,j]=$,T=Math.floor(j/Z),z=m/Z;return BigInt(O)*BigInt(z)+BigInt(T)}function q0($,Z=1,O){let[j,T]=$,[z,J]=S1(T,Z);return j*(m/Z)+(z+(O?J/Z:0))}function Pj($,Z,O=Y1){let[j,T]=$,[z,J]=O(T,Z);return[j*(m/Z)+z,J]}function Ej($,Z){let O=$.formatToParts(Z),j={};for(let T of O)j[T.type]=T.value;return j}function Hj($){return _0($,"isoYear",IZ,LZ,1),$.isoYear===IZ?_0($,"isoMonth",4,12,1):$.isoYear===LZ&&_0($,"isoMonth",1,9,1),$}function I1($){return D1({...$,...p0,isoHour:12}),$}function D1($){let Z=_0($,"isoYear",IZ,LZ,1),O=Z===IZ?1:Z===LZ?-1:0;return O&&k0(K0({...$,isoDay:$.isoDay+O,isoNanosecond:$.isoNanosecond-O})),$}function k0($){if(!$||a8($,QY,KY))throw RangeError(Z3);return $}function N1($){return y8($,5,u0)[1]}function HO($){let[Z,O]=Y1($,m);return[_O(O,5,u0),Z]}function r8($){return t8($)[0]}function t8($){return Pj($,m0)}function C0($){return x$($.isoYear,$.isoMonth,$.isoDay,$.isoHour,$.isoMinute,$.isoSecond,$.isoMillisecond)}function K0($){let Z=C0($);if(Z!==void 0){let[O,j]=S1(Z,P0);return[O,j*t0+($.isoMicrosecond||0)*e1+($.isoNanosecond||0)]}}function Aj($,Z){let[O,j]=HO(N1($)-Z);return k0(K0({...$,isoDay:$.isoDay+j,...O}))}function QO(...$){return x$(...$)/P2}function x$(...$){let[Z,O]=e8(...$),j=Z.valueOf();if(!isNaN(j))return j-O*P0}function e8($,Z=1,O=1,j=0,T=0,z=0,J=0){let W=$===IZ?1:$===LZ?-1:0,Y=new Date;return Y.setUTCHours(j,T,z,J),Y.setUTCFullYear($,Z-1,O+W),[Y,W]}function x1($,Z){let[O,j]=I$($,Z);j<0&&(j+=m,O-=1);let[T,z]=Y1(j,t0),[J,W]=Y1(z,e1);return AO(O*P0+T,J,W)}function AO($,Z=0,O=0){let j=Math.ceil(Math.max(0,Math.abs($)-BY)/P0)*Math.sign($),T=new Date($-j*P0);return _$(W3,[T.getUTCFullYear(),T.getUTCMonth()+1,T.getUTCDate()+j,T.getUTCHours(),T.getUTCMinutes(),T.getUTCSeconds(),T.getUTCMilliseconds(),Z,O])}function $5($){return[$.isoYear,$.isoMonth,$.isoDay]}function Z5(){return W1}function bj($,Z){switch(Z){case 2:return vj($)?29:28;case 4:case 6:case 9:case 11:return 30}return 31}function O5($){return vj($)?366:365}function vj($){return $%4==0&&($%100!=0||$%400==0)}function j5($){let[Z,O]=e8($.isoYear,$.isoMonth,$.isoDay);return KZ(Z.getUTCDay()-O,7)||7}function T5({isoYear:$}){return $<1?["bce",1-$]:["ce",$]}function VW($){let Z=C0($);if(Z<fY)return T5($);let O=Ej(T6(S$),Z),{era:j,eraYear:T}=Kz(O,S$);return[j,T]}function bO($){return i1($),vO($,1),$}function i1($){return z5($,1),$}function L8($){return k8(oT,$,z5($))}function z5($,Z){let{isoYear:O}=$,j=_0($,"isoMonth",1,Z5(),Z);return{isoYear:O,isoMonth:j,isoDay:_0($,"isoDay",1,bj(O,j),Z)}}function vO($,Z){return _$(u0,[_0($,"isoHour",0,23,Z),_0($,"isoMinute",0,59,Z),_0($,"isoSecond",0,59,Z),_0($,"isoMillisecond",0,999,Z),_0($,"isoMicrosecond",0,999,Z),_0($,"isoNanosecond",0,999,Z)])}function q($){return $===void 0?0:d2(F1($))}function _Z($,Z=0){$=l0($);let O=i2($),j=EY($,Z);return[d2($),j,O]}function wj($){return i2(l0($))}function J5($){return $=l0($),eT($,9,6,1)}function P$($,Z,O,j=9,T=0,z=4){Z=l0(Z);let J=eT(Z,j,T),W=kj(Z),Y=qZ(Z,z),X=RZ(Z,j,T,1);return J==null?J=Math.max(O,X):F5(J,X),W=gj(W,X,1),$&&(Y=((F)=>F<4?(F+2)%4:F)(Y)),[J,X,W,Y]}function wO($,Z=6,O){let j=kj($=yj($,MO)),T=qZ($,7),z=RZ($,Z);return z=d8(MO,z),j=gj(j,z,void 0,O),[z,j,T]}function Rj($){return $6(l0($))}function W5($,Z){return qj(l0($),Z)}function qj($,Z=4){let O=X5($);return[qZ($,4),...Y5(RZ($,Z),O)]}function Y5($,Z){return $!=null?[r0[$],$<4?9-3*$:-1]:[Z===void 0?1:10**(9-Z),Z]}function kj($){let Z=$[QZ];return Z===void 0?1:B0(Z,QZ)}function gj($,Z,O,j){let T=j?m:r0[Z+1];if(T){let z=r0[Z];if(T%(($=g0(QZ,$,1,T/z-(j?0:1),1))*z))throw RangeError(AZ(QZ,$))}else $=g0(QZ,$,1,O?1e9:1,1);return $}function X5($){let Z=$[Fj];if(Z!==void 0){if(typeof Z!="number"){if(_j(Z)==="auto")return;throw RangeError(AZ(Fj,Z))}Z=g0(Fj,Math.floor(Z),0,9,1)}return Z}function l0($){return $===void 0?{}:F1($)}function yj($,Z){return typeof $=="string"?{[Z]:$}:F1($)}function o($){if($!==void 0){if(J0($))return Object.assign(Object.create(null),$);throw TypeError(K2)}}function RO($,Z){return $&&Object.assign(Object.create(null),$,{overflow:LY[Z]})}function mj($,Z,O=9,j=0,T){let z=Z[$];if(z===void 0)return T?j:void 0;if(z=_j(z),z==="auto")return T?j:null;let J=Kj[z];if(J===void 0&&(J=UY[z]),J===void 0)throw RangeError(V2($,z,Kj));return g0($,J,j,O,1,vZ),J}function u1($,Z,O,j=0){let T=O[$];if(T===void 0)return j;let z=_j(T),J=Z[z];if(J===void 0)throw RangeError(V2($,z,Z));return J}function F5($,Z){if(Z>$)throw RangeError(TY)}function W0($){return{branding:X3,epochNanoseconds:$}}function F0($,Z,O){return{branding:K1,calendar:O,timeZone:Z,epochNanoseconds:$}}function r($,Z=$.calendar){return{branding:Z$,calendar:Z,...A0(p2,$)}}function t($,Z=$.calendar){return{branding:$$,calendar:Z,...A0(rT,$)}}function c1($,Z=$.calendar){return{branding:q$,calendar:Z,...A0(rT,$)}}function CO($,Z=$.calendar){return{branding:k$,calendar:Z,...A0(rT,$)}}function d0($){return{branding:Y3,...A0(m2,$)}}function l($){return{branding:F3,sign:P1($),...A0(sT,$)}}function D5($){return r8($.epochNanoseconds)}function qO($){return Pj($.epochNanoseconds,t0)[0]}function U5($){return o8($.epochNanoseconds,e1)}function G5($){return o8($.epochNanoseconds)}function B5($){return $.epochNanoseconds}function Y0($){return typeof $=="string"?$:u($.id)}function E$($,Z){return $===Z||Y0($)===Y0(Z)}function K5($,Z,O,j,T){let z=l1(j),[J,W]=((Q,f)=>{let I=f((Q=yj(Q,fj))[c2]),V=PY(Q);return V=d8(fj,V),[V,I]})(T,$);if(fZ(Math.max(J,z),W))return I8(j,J);if(!W)throw RangeError(O3);let[Y,X,F]=hO(Z,O,W),U=XT(F),D=cO(F),B=FT(F),G=D(X,Y,j),K=B(X,Y,G,J);return fZ(J,W)?I8(K,J):((Q,f,I,V,x,P,L)=>{let M=P1(Q),[E,A]=pj(V,aT(I,Q),I,M,x,P,L),Z0=hj(f,E,A);return Q[k[I]]+Z0*M})(K,U(G),J,X,Y,U,D)}function I8($,Z){return q0(z0($),r0[Z],1)}function pj($,Z,O,j,T,z,J){let W=k[O],Y={...Z,[W]:Z[W]+j},X=J($,T,Z),F=J($,T,Y);return[z(X),z(F)]}function hj($,Z,O){let j=q0(R0(Z,O));if(!j)throw RangeError(bZ);return q0(R0(Z,$))/j}function Q5($,Z){let[O,j,T]=wO(Z,5,1);return W0(gO($.epochNanoseconds,O,j,T,1))}function C5($,Z,O){let{epochNanoseconds:j,timeZone:T,calendar:z}=Z,[J,W,Y]=wO(O);if(J===0&&W===1)return Z;let X=$(T);if(J===6)j=((F,U,D,B)=>{let G=f0(D,U),[K,Q]=F(G),f=D.epochNanoseconds,I=H0(U,K),V=H0(U,Q);if(a8(f,I,V))throw RangeError(bZ);return x5(hj(f,I,V),B)?V:I})(N5,X,Z,Y);else{let F=X.getOffsetNanosecondsFor(j);j=n1(X,M5(x1(j,F),J,W,Y),F,2,0,1)}return F0(j,T,z)}function f5($,Z){return r(M5($,...wO(Z)),$.calendar)}function V5($,Z){let[O,j,T]=wO(Z,5);var z;return d0((z=T,cj($,xZ(O,j),z)[0]))}function L5($,Z){let O=$(Z.timeZone),j=f0(Z,O),[T,z]=N5(j),J=q0(R0(H0(O,T),H0(O,z)),T3,1);if(J<=0)throw RangeError(bZ);return J}function I5($,Z){let{timeZone:O,calendar:j}=Z,T=((z,J,W)=>H0(J,z(f0(W,J))))(_5,$(O),Z);return F0(T,O,j)}function M5($,Z,O,j){return S5($,xZ(Z,O),j)}function S5($,Z,O){let[j,T]=cj($,Z,O);return D1({...a1($,T),...j})}function cj($,Z,O){return HO(_1(N1($),Z,O))}function fO($){return _1($,j3,7)}function xZ($,Z){return r0[$]*Z}function N5($){let Z=_5($);return[Z,a1(Z,1)]}function _5($){return GY(6,$)}function LW($,Z,O){let j=Math.min(l1($),6);return A$(yO(z0($,j),Z,O),j)}function kO($,Z,O,j,T,z,J,W,Y,X){if(j===0&&T===1)return $;let F=fZ(j,W)?lO(W)&&j<6&&O>=6?MW:IW:SW,[U,D,B]=F($,Z,O,j,T,z,J,W,Y,X);return B&&j!==7&&(U=((G,K,Q,f,I,V,x,P)=>{let L=P1(G);for(let M=f+1;M<=Q;M++){if(M===7&&Q!==7)continue;let E=aT(M,G);E[k[M]]+=L;let A=q0(R0(x(P(I,V,E)),K));if(A&&Math.sign(A)!==L)break;G=E}return G})(U,D,O,Math.max(6,j),J,W,Y,X)),U}function gO($,Z,O,j,T){if(Z===6){let z=((J)=>J[0]+J[1]/m)($);return[_1(z,O,j),0]}return yO($,xZ(Z,O),j,T)}function yO($,Z,O,j){let[T,z]=$;j&&z<0&&(z+=m,T-=1);let[J,W]=Y1(_1(z,Z,O),m);return xj(T+J,W)}function _1($,Z,O){return x5($/Z,O)*Z}function x5($,Z){return bY[Z]($)}function IW($,Z,O,j,T,z){let J=P1($),W=z0($),Y=gO(W,j,T,z),X=R0(W,Y),F=Math.sign(Y[0]-W[0])===J,U=A$(Y,Math.min(O,6));return[{...$,...U},L$(Z,X),F]}function MW($,Z,O,j,T,z,J,W,Y,X){let F=P1($),U=q0(z0($,5)),D=xZ(j,T),B=_1(U,D,z),[G,K]=pj(J,{...$,...nT},6,F,W,Y,X),Q=B-q0(R0(G,K)),f=0;Q&&Math.sign(Q)!==F?Z=I$(G,B):(f+=F,B=_1(Q,D,z),Z=I$(K,B));let I=iO(B);return[{...$,...I,days:$.days+f},Z,Boolean(f)]}function SW($,Z,O,j,T,z,J,W,Y,X){let F=P1($),U=k[j],D=aT(j,$);j===7&&($={...$,weeks:$.weeks+Math.trunc($.days/7)});let B=NO($[U],T)*T;D[U]=B;let[G,K]=pj(J,D,j,T*F,W,Y,X),Q=B+hj(Z,G,K)*F*T,f=_1(Q,T,z),I=Math.sign(f-Q)===F;return D[U]=f,[D,I?K:G,I]}function lj($,Z,O,j){let[T,z,J,W]=((X)=>{let F=qj(X=l0(X));return[X.timeZone,...F]})(j),Y=T!==void 0;return((X,F,U,D,B,G)=>{U=yO(U,B,D,1);let K=F.getOffsetNanosecondsFor(U);return oj(x1(U,K),G)+(X?s1(fO(K)):"Z")})(Y,Z(Y?$(T):O$),O.epochNanoseconds,z,J,W)}function dj($,Z,O){let[j,T,z,J,W,Y]=((X)=>{X=l0(X);let F=$6(X),U=X5(X),D=AY(X),B=qZ(X,4),G=RZ(X,4);return[F,HY(X),D,B,...Y5(G,U)]})(O);return((X,F,U,D,B,G,K,Q,f,I)=>{D=yO(D,f,Q,1);let V=X(U).getOffsetNanosecondsFor(D);return oj(x1(D,V),I)+s1(fO(V),K)+((x,P)=>P!==1?"["+(P===2?"!":"")+Y0(x)+"]":"")(U,G)+rj(F,B)})($,Z.calendar,Z.timeZone,Z.epochNanoseconds,j,T,z,J,W,Y)}function ij($,Z){let[O,j,T,z]=((X)=>(X=l0(X),[$6(X),...qj(X)]))(Z);return J=$.calendar,W=O,Y=z,oj(S5($,T,j),Y)+rj(J,W);var J,W,Y}function uj($,Z){return O=$.calendar,j=$,T=Rj(Z),VO(j)+rj(O,T);var O,j,T}function sj($,Z){return P5($.calendar,E5,$,Rj(Z))}function nj($,Z){return P5($.calendar,NW,$,Rj(Z))}function aj($,Z){let[O,j,T]=W5(Z);return z=T,H5(cj($,j,O)[0],z);var z}function mO($,Z){let[O,j,T]=W5(Z,3);return j>1&&($={...$,...LW($,j,O)}),((z,J)=>{let{sign:W}=z,Y=W===-1?V0(z):z,{hours:X,minutes:F}=Y,[U,D]=Pj(z0(Y,3),m0,S1);g5(U);let B=tj(D,J),G=J>=0||!W||B;return(W<0?"-":"")+"P"+M8({Y:h1(Y.years),M:h1(Y.months),W:h1(Y.weeks),D:h1(Y.days)})+(X||F||U||G?"T"+M8({H:h1(X),M:h1(F),S:h1(U,G)+B}):"")})($,T)}function P5($,Z,O,j){let T=Y0($),z=j>1||j===0&&T!==w;return j===1?T===w?Z(O):VO(O):z?VO(O)+A5(T,j===2):Z(O)}function M8($){let Z=[];for(let O in $){let j=$[O];j&&Z.push(j,O)}return Z.join("")}function oj($,Z){return VO($)+"T"+H5($,Z)}function VO($){return E5($)+"-"+y0($.isoDay)}function E5($){let{isoYear:Z}=$;return(Z<0||Z>9999?b5(Z)+BO(6,Math.abs(Z)):BO(4,Z))+"-"+y0($.isoMonth)}function NW($){return y0($.isoMonth)+"-"+y0($.isoDay)}function H5($,Z){let O=[y0($.isoHour),y0($.isoMinute)];return Z!==-1&&O.push(y0($.isoSecond)+((j,T,z,J)=>tj(j*t0+T*e1+z,J))($.isoMillisecond,$.isoMicrosecond,$.isoNanosecond,Z)),O.join(":")}function s1($,Z=0){if(Z===1)return"";let[O,j]=Y1(Math.abs($),T3),[T,z]=Y1(j,j3),[J,W]=Y1(z,m0);return b5($)+y0(O)+":"+y0(T)+(J||W?":"+y0(J)+tj(W):"")}function rj($,Z){if(Z!==1){let O=Y0($);if(Z>1||Z===0&&O!==w)return A5(O,Z===2)}return""}function A5($,Z){return"["+(Z?"!":"")+"u-ca="+$+"]"}function tj($,Z){let O=BO(9,$);return O=Z===void 0?O.replace(RY,""):O.slice(0,Z),O?"."+O:""}function b5($){return $<0?"-":"+"}function h1($,Z){return $||Z?$.toLocaleString("fullwide",{useGrouping:0}):""}function _W($,Z){let{epochNanoseconds:O}=$,j=(Z.getOffsetNanosecondsFor?Z:Z($.timeZone)).getOffsetNanosecondsFor(O),T=x1(O,j);return{calendar:$.calendar,...T,offsetNanoseconds:j}}function v5($,Z){let O=f0(Z,$);return{calendar:Z.calendar,...A0(p2,O),offset:s1(O.offsetNanoseconds),timeZone:Z.timeZone}}function n1($,Z,O,j=0,T=0,z,J){if(O!==void 0&&j===1&&(j===1||J))return Aj(Z,O);let W=$.getPossibleInstantsFor(Z);if(O!==void 0&&j!==3){let Y=((X,F,U,D)=>{let B=K0(F);D&&(U=fO(U));for(let G of X){let K=q0(R0(G,B));if(D&&(K=fO(K)),K===U)return G}})(W,Z,O,z);if(Y!==void 0)return Y;if(j===0)throw RangeError(tW)}return J?K0(Z):H0($,Z,T,W)}function H0($,Z,O=0,j=$.getPossibleInstantsFor(Z)){if(j.length===1)return j[0];if(O===1)throw RangeError(eW);if(j.length)return j[O===3?1:0];let T=K0(Z),z=((W,Y)=>{let X=W.getOffsetNanosecondsFor(I$(Y,-m));return $T(W.getOffsetNanosecondsFor(I$(Y,m))-X)})($,T),J=z*(O===2?-1:1);return(j=$.getPossibleInstantsFor(x1(T,J)))[O===2?0:j.length-1]}function ej($){if(Math.abs($)>=m)throw RangeError(oW);return $}function $T($){if($>m)throw RangeError(rW);return $}function ZT($,Z,O){return W0(k0(L$(Z.epochNanoseconds,((j)=>{if(y5(j))throw RangeError(OY);return z0(j,5)})($?V0(O):O))))}function OT($,Z,O,j,T,z=Object.create(null)){let J=Z(j.timeZone),W=$(j.calendar);return{...j,...WT(J,W,j,O?V0(T):T,z)}}function jT($,Z,O,j,T=Object.create(null)){let{calendar:z}=O;return r(YT($(z),O,Z?V0(j):j,T),z)}function TT($,Z,O,j,T){let{calendar:z}=O;return t(pO($(z),O,Z?V0(j):j,T),z)}function zT($,Z,O,j,T=Object.create(null)){let z=O.calendar,J=$(z),W=CZ(J,O);Z&&(j=dO(j)),j.sign<0&&(W=J.dateAdd(W,{...X0,months:1}),W=a1(W,-1));let Y=J.dateAdd(W,j,T);return c1(CZ(J,Y),z)}function JT($,Z,O){return d0(w5(Z,$?V0(O):O)[0])}function WT($,Z,O,j,T){let z=z0(j,5),J=O.epochNanoseconds;if(y5(j)){let W=f0(O,$);J=L$(H0($,{...pO(Z,W,{...j,...nT},T),...A0(u0,W)}),z)}else J=L$(J,z),q(T);return{epochNanoseconds:k0(J)}}function YT($,Z,O,j){let[T,z]=w5(Z,O);return D1({...pO($,Z,{...O,...nT,days:O.days+z},j),...T})}function pO($,Z,O,j){if(O.years||O.months||O.weeks)return $.dateAdd(Z,O,j);q(j);let T=O.days+z0(O,5)[0];return T?I1(a1(Z,T)):Z}function CZ($,Z,O=1){return a1(Z,O-$.day(Z))}function w5($,Z){let[O,j]=z0(Z,5),[T,z]=HO(N1($)+j);return[T,O+z]}function a1($,Z){return Z?{...$,...AO(C0($)+Z*P0)}:$}function hO($,Z,O){let j=$(O.calendar);return lO(O)?[O,j,Z(O.timeZone)]:[{...O,...p0},j]}function XT($){return $?B5:K0}function cO($){return $?v(WT,$):YT}function FT($){return $?v(PW,$):EW}function lO($){return $&&$.epochNanoseconds}function fZ($,Z){return $<=6-(lO(Z)?1:0)}function DT($,Z,O,j,T,z,J){let W=$(l0(J).relativeTo),Y=Math.max(l1(T),l1(z));if(fZ(Y,W))return l(H$(((K,Q,f,I)=>{let V=L$(z0(K),z0(Q),I?-1:1);if(!Number.isFinite(V[0]))throw RangeError(Z3);return{...X0,...A$(V,f)}})(T,z,Y,j)));if(!W)throw RangeError(O3);j&&(z=V0(z));let[X,F,U]=hO(Z,O,W),D=cO(U),B=FT(U),G=D(F,X,T);return l(B(F,X,D(F,G,z),Y))}function R5($,Z,O,j,T){let z=l1(j),[J,W,Y,X,F]=((L,M,E)=>{L=yj(L,MO);let A=eT(L),Z0=E(L[c2]),R=kj(L),g=qZ(L,7),O0=RZ(L);if(A===void 0&&O0===void 0)throw RangeError(jY);return O0==null&&(O0=0),A==null&&(A=Math.max(O0,M)),F5(A,O0),R=gj(R,O0,1),[A,O0,R,g,Z0]})(T,z,$),U=Math.max(z,J);if(!lO(F)&&U<=6)return l(H$(((L,M,E,A,Z0)=>{let R=gO(z0(L),E,A,Z0);return{...X0,...A$(R,M)}})(j,J,W,Y,X)));if(!F)throw RangeError(O3);let[D,B,G]=hO(Z,O,F),K=XT(G),Q=cO(G),f=FT(G),I=Q(B,D,j),V=f(B,D,I,J),x=j.sign,P=P1(V);if(x&&P&&x!==P)throw RangeError(bZ);return P&&(V=kO(V,K(I),J,W,Y,X,B,D,K,Q)),l(V)}function q5($){return $.sign===-1?dO($):$}function dO($){return l(V0($))}function V0($){let Z={};for(let O of k)Z[O]=-1*$[O]||0;return Z}function k5($){return!$.sign}function P1($,Z=k){let O=0;for(let j of Z){let T=Math.sign($[j]);if(T){if(O&&O!==T)throw RangeError(ZY);O=T}}return O}function H$($){for(let Z of DY)g0(Z,$[Z],-H8,H8,1);return g5(q0(z0($),m0)),$}function g5($){if(!Number.isSafeInteger($))throw RangeError($Y)}function z0($,Z=6){return y8($,Z,k)}function A$($,Z=6){let[O,j]=$,T=_O(j,Z,k);if(T[k[Z]]+=O*(m/r0[Z]),!Number.isFinite(T[k[Z]]))throw RangeError(Z3);return T}function iO($,Z=5){return _O($,Z,k)}function y5($){return Boolean(P1($,y2))}function l1($){let Z=9;for(;Z>0&&!$[k[Z]];Z--);return Z}function xW($,Z){return[$,Z]}function S8($){let Z=Math.floor($/UO)*UO;return[Z,Z+UO]}function m5($){let Z=E1($=KO($));if(!Z)throw RangeError(x0($));let O;if(Z.m)O=0;else{if(!Z.offset)throw RangeError(x0($));O=b$(Z.offset)}return Z.timeZone&&KT(Z.timeZone,1),W0(Aj(bO(Z),O))}function p5($){let Z=E1(u($));if(!Z)throw RangeError(x0($));if(Z.timeZone)return a5(Z,Z.offset?b$(Z.offset):void 0);if(Z.m)throw RangeError(x0($));return r5(Z)}function h5($,Z){let O=E1(u($));if(!O||!O.timeZone)throw RangeError(x0($));let{offset:j}=O,T=j?b$(j):void 0,[,z,J]=_Z(Z);return a5(O,T,z,J)}function b$($){let Z=KT($);if(Z===void 0)throw RangeError(x0($));return Z}function c5($){let Z=E1(u($));if(!Z||Z.m)throw RangeError(x0($));return r(o5(Z))}function uO($){let Z=E1(u($));if(!Z||Z.m)throw RangeError(x0($));return t(Z.p?o5(Z):r5(Z))}function l5($,Z){let O=GT(u(Z));if(O)return UT(O),c1(Hj(i1(O)));let j=uO(Z);return c1(CZ($(j.calendar),j))}function UT($){if($.calendar!==w)throw RangeError(X1($.calendar))}function d5($,Z){let O=BT(u(Z));if(O)return UT(O),CO(i1(O));let j=uO(Z),{calendar:T}=j,z=$(T),[J,W,Y]=z.h(j),[X,F]=z.I(J,W),[U,D]=z.N(X,F,Y);return CO(I1(z.P(U,D,Y)),T)}function i5($){let Z,O=((j)=>{let T=mY.exec(j);return T?(sO(T[10]),$z(T)):void 0})(u($));if(!O){if(O=E1($),!O)throw RangeError(x0($));if(!O.p)throw RangeError(x0($));if(O.m)throw RangeError(X1("Z"));UT(O)}if((Z=GT($))&&L8(Z))throw RangeError(x0($));if((Z=BT($))&&L8(Z))throw RangeError(x0($));return d0(vO(O,1))}function u5($){let Z=((O)=>{let j=cY.exec(O);return j?((T)=>{function z(F,U,D){let B=0,G=0;if(D&&([B,Y]=Y1(Y,r0[D])),F!==void 0){if(W)throw RangeError(X1(F));G=((K)=>{let Q=parseInt(K);if(!Number.isFinite(Q))throw RangeError(X1(K));return Q})(F),J=1,U&&(Y=QT(U)*(r0[D]/m0),W=1)}return B+G}let J=0,W=0,Y=0,X={..._$(k,[z(T[2]),z(T[3]),z(T[4]),z(T[5]),z(T[6],T[7],5),z(T[8],T[9],4),z(T[10],T[11],3)]),..._O(Y,2,k)};if(!J)throw RangeError(C2(k));return CT(T[1])<0&&(X=V0(X)),X})(j):void 0})(u($));if(!Z)throw RangeError(x0($));return l(H$(Z))}function s5($){let Z=E1($)||GT($)||BT($);return Z?Z.calendar:$}function n5($){let Z=E1($);return Z&&(Z.timeZone||Z.m&&O$||Z.offset)||$}function a5($,Z,O=0,j=0){let T=nO($.timeZone),z=D3(T);return F0(n1(z,bO($),Z,O,j,!z.v,$.m),T,PZ($.calendar))}function o5($){return t5(D1(bO($)))}function r5($){return t5(I1(i1($)))}function t5($){return{...$,calendar:PZ($.calendar)}}function E1($){let Z=yY.exec($);return Z?((O)=>{let j=O[10],T=(j||"").toUpperCase()==="Z";return{isoYear:e5(O),isoMonth:parseInt(O[4]),isoDay:parseInt(O[5]),...$z(O.slice(5)),...sO(O[16]),p:Boolean(O[6]),m:T,offset:T?void 0:j}})(Z):void 0}function GT($){let Z=kY.exec($);return Z?((O)=>({isoYear:e5(O),isoMonth:parseInt(O[4]),isoDay:1,...sO(O[5])}))(Z):void 0}function BT($){let Z=gY.exec($);return Z?((O)=>({isoYear:N$,isoMonth:parseInt(O[1]),isoDay:parseInt(O[2]),...sO(O[3])}))(Z):void 0}function KT($,Z){let O=pY.exec($);return O?((j,T)=>{let z=j[4]||j[5];if(T&&z)throw RangeError(X1(z));return ej((V$(j[2])*T3+V$(j[3])*j3+V$(j[4])*m0+QT(j[5]||""))*CT(j[1]))})(O,Z):void 0}function e5($){let Z=CT($[1]),O=parseInt($[2]||$[3]);if(Z<0&&!O)throw RangeError(X1(-0));return Z*O}function $z($){let Z=V$($[3]);return{...HO(QT($[4]||""))[0],isoHour:V$($[1]),isoMinute:V$($[2]),isoSecond:Z===60?59:Z}}function sO($){let Z,O,j=[];if($.replace(hY,(T,z,J)=>{let W=Boolean(z),[Y,X]=J.split("=").reverse();if(X){if(X==="u-ca")j.push(Y),Z||(Z=W);else if(W||/[A-Z]/.test(X))throw RangeError(X1(T))}else{if(O)throw RangeError(X1(T));O=Y}return""}),j.length>1&&Z)throw RangeError(X1($));return{timeZone:O,calendar:j[0]||w}}function QT($){return parseInt($.padEnd(9,"0"))}function v$($){return new RegExp(`^${$}$`,"i")}function CT($){return $&&$!=="+"?-1:1}function V$($){return $===void 0?0:parseInt($)}function Zz($){return nO(u($))}function nO($){let Z=fT($);return typeof Z=="number"?s1(Z):Z?((O)=>{if(dY.test(O))throw RangeError(aW);return O.toLowerCase().split("/").map((j,T)=>(j.length<=3||/\d/.test(j))&&!/etc|yap/.test(j)?j.toUpperCase():j.replace(/baja|dumont|[a-z]+/g,(z,J)=>z.length<=2&&!T||z==="in"||z==="chat"?z.toUpperCase():z.length>2||!J?f8(z).replace(/island|noronha|murdo|rivadavia|urville/,f8):z)).join("/")})($):O$}function N8($){let Z=fT($);return typeof Z=="number"?Z:Z?Z.resolvedOptions().timeZone:O$}function fT($){let Z=KT($=$.toUpperCase(),1);return Z!==void 0?Z:$!==O$?lY($):void 0}function VT($,Z){return Q0($.epochNanoseconds,Z.epochNanoseconds)}function LT($,Z){return Q0($.epochNanoseconds,Z.epochNanoseconds)}function Oz($,Z,O,j,T,z){let J=$(l0(z).relativeTo),W=Math.max(l1(j),l1(T));if(k8(k,j,T))return 0;if(fZ(W,J))return Q0(z0(j),z0(T));if(!J)throw RangeError(O3);let[Y,X,F]=hO(Z,O,J),U=XT(F),D=cO(F);return Q0(U(D(X,Y,j)),U(D(X,Y,T)))}function IT($,Z){return o1($,Z)||aO($,Z)}function o1($,Z){return L1(C0($),C0(Z))}function aO($,Z){return L1(N1($),N1(Z))}function jz($,Z){return!VT($,Z)}function Tz($,Z){return!LT($,Z)&&!!oO($.timeZone,Z.timeZone)&&E$($.calendar,Z.calendar)}function zz($,Z){return!IT($,Z)&&E$($.calendar,Z.calendar)}function Jz($,Z){return!o1($,Z)&&E$($.calendar,Z.calendar)}function Wz($,Z){return!o1($,Z)&&E$($.calendar,Z.calendar)}function Yz($,Z){return!o1($,Z)&&E$($.calendar,Z.calendar)}function Xz($,Z){return!aO($,Z)}function oO($,Z){if($===Z)return 1;let O=Y0($),j=Y0(Z);if(O===j)return 1;try{return N8(O)===N8(j)}catch(T){}}function MT($,Z,O,j){let T=P$($,o(j),3,5),z=rO(Z.epochNanoseconds,O.epochNanoseconds,...T);return l($?V0(z):z)}function ST($,Z,O,j,T,z){let J=eO(j.calendar,T.calendar),W=o(z),[Y,X,F,U]=P$(O,W,5),D=j.epochNanoseconds,B=T.epochNanoseconds,G=Q0(B,D),K;if(G)if(Y<6)K=rO(D,B,Y,X,F,U);else{let Q=Z(((I,V)=>{if(!oO(I,V))throw RangeError(S2);return I})(j.timeZone,T.timeZone)),f=$(J);K=Dz(f,Q,j,T,G,Y,W),K=kO(K,B,Y,X,F,U,f,j,B5,v(WT,Q))}else K=X0;return l(O?V0(K):K)}function NT($,Z,O,j,T){let z=eO(O.calendar,j.calendar),J=o(T),[W,Y,X,F]=P$(Z,J,6),U=K0(O),D=K0(j),B=Q0(D,U),G;if(B)if(W<=6)G=rO(U,D,W,Y,X,F);else{let K=$(z);G=Uz(K,O,j,B,W,J),G=kO(G,D,W,Y,X,F,K,O,K0,YT)}else G=X0;return l(Z?V0(G):G)}function _T($,Z,O,j,T){let z=eO(O.calendar,j.calendar),J=o(T);return Fz(Z,()=>$(z),O,j,...P$(Z,J,6,9,6),J)}function xT($,Z,O,j,T){let z=eO(O.calendar,j.calendar),J=o(T),W=P$(Z,J,9,9,8),Y=$(z);return Fz(Z,()=>Y,CZ(Y,O),CZ(Y,j),...W,J)}function Fz($,Z,O,j,T,z,J,W,Y){let X=K0(O),F=K0(j),U;if(Q0(F,X))if(T===6)U=rO(X,F,T,z,J,W);else{let D=Z();U=D.dateUntil(O,j,T,Y),z===6&&J===1||(U=kO(U,F,T,z,J,W,D,O,K0,pO))}else U=X0;return l($?V0(U):U)}function PT($,Z,O,j){let T=o(j),[z,J,W,Y]=P$($,T,5,5),X=_1(ET(Z,O),xZ(J,W),Y),F={...X0,...iO(X,z)};return l($?V0(F):F)}function PW($,Z,O,j,T,z){let J=Q0(j.epochNanoseconds,O.epochNanoseconds);return J?T<6?Gz(O.epochNanoseconds,j.epochNanoseconds,T):Dz(Z,$,O,j,J,T,z):X0}function EW($,Z,O,j,T){let z=K0(Z),J=K0(O),W=Q0(J,z);return W?j<=6?Gz(z,J,j):Uz($,Z,O,W,j,T):X0}function Dz($,Z,O,j,T,z,J){let[W,Y,X]=((D,B,G,K)=>{function Q(){return M={...a1(V,P++*-K),...I},E=H0(D,M),Q0(x,E)===-K}let f=f0(B,D),I=A0(u0,f),V=f0(G,D),x=G.epochNanoseconds,P=0,L=ET(f,V),M,E;if(Math.sign(L)===-K&&P++,Q()&&(K===-1||Q()))throw RangeError(bZ);let A=q0(R0(E,x));return[f,M,A]})(Z,O,j,T);var F,U;return{...z===6?(F=W,U=Y,{...X0,days:Bz(F,U)}):$.dateUntil(W,Y,z,J),...iO(X)}}function Uz($,Z,O,j,T,z){let[J,W,Y]=((X,F,U)=>{let D=F,B=ET(X,F);return Math.sign(B)===-U&&(D=a1(F,-U),B+=m*U),[X,D,B]})(Z,O,j);return{...$.dateUntil(J,W,T,z),...iO(Y)}}function rO($,Z,O,j,T,z){return{...X0,...A$(gO(R0($,Z),j,T,z),O)}}function Gz($,Z,O){return{...X0,...A$(R0($,Z),O)}}function Bz($,Z){return tO(C0($),C0(Z))}function tO($,Z){return Math.trunc((Z-$)/P0)}function ET($,Z){return N1(Z)-N1($)}function eO($,Z){if(!E$($,Z))throw RangeError(lT);return $}function HW($){function Z(T){return((z,J)=>({...Kz(z,J),F:z.month,day:parseInt(z.day)}))(Ej(O,T),j)}let O=T6($),j=LO($);return{id:$,O:AW(Z),B:bW(Z)}}function AW($){return E0((Z)=>{let O=C0(Z);return $(O)},WeakMap)}function bW($){let Z=$(0).year-CY;return E0((O)=>{let j,T=x$(O-Z),z=[],J=[];do T+=400*P0;while((j=$(T)).year<=O);do T+=(1-j.day)*P0,j.year===O&&(z.push(T),J.push(j.F)),T-=P0;while((j=$(T)).year>=O);return{k:z.reverse(),C:x2(J.reverse())}})}function Kz($,Z){let O,j,T=Qz($);if($.era){let z=q2[Z];z!==void 0&&(O=Z==="islamic"?"ah":$.era.normalize("NFD").toLowerCase().replace(/[^a-z0-9]/g,""),O==="bc"||O==="b"?O="bce":O!=="ad"&&O!=="a"||(O="ce"),j=T,T=Iz(j,z[O]||0))}return{era:O,eraYear:j,year:T}}function Qz($){return parseInt($.relatedYear||$.year)}function Uj($){let{year:Z,F:O,day:j}=this.O($),{C:T}=this.B(Z);return[Z,T[O]+1,j]}function VZ($,Z=1,O=1){return this.B($).k[Z-1]+(O-1)*P0}function XO($){let Z=x8(this,$),O=x8(this,$-1),j=Z.length;if(j>O.length){let T=Mz(this);if(T<0)return-T;for(let z=0;z<j;z++)if(Z[z]!==O[z])return z+1}}function FO($){return tO(VZ.call(this,$),VZ.call(this,$+1))}function _8($,Z){let{k:O}=this.B($),j=Z+1,T=O;return j>O.length&&(j=1,T=this.B($+1).k),tO(O[Z-1],T[j-1])}function DO($){return this.B($).k.length}function x8($,Z){return Object.keys($.B(Z).C)}function Cz($){return PZ(u($))}function PZ($){if(($=$.toLowerCase())!==w&&$!==J3&&LO($)!==LO(T6($).resolvedOptions().calendar))throw RangeError(nW($));return $}function LO($){return $==="islamicc"&&($="islamic"),$.split("-")[0]}function fz($){return this.R($)[0]}function Vz($){return this.R($)[1]}function HT($){let[Z]=this.h($);return tO(this.q(Z),C0($))+1}function Lz($){let Z=uY.exec($);if(!Z)throw RangeError(uW($));return[parseInt(Z[1]),Boolean(Z[2])]}function IO($,Z,O){return $+(Z||O&&$>=O?1:0)}function Gj($,Z){return $-(Z&&$>=Z?1:0)}function Iz($,Z){return(Z+$)*(Math.sign(Z)||1)||0}function Bj($){return q2[Sz($)]}function Mz($){return YY[Sz($)]}function Sz($){return LO($.id||w)}function Nz($,Z,O,j){let T=H1(O,j,i0,[],b2);if(T.timeZone!==void 0){let z=O.dateFromFields(T),J=r1(T),W=$(T.timeZone);return{epochNanoseconds:n1(Z(W),{...z,...J},T.offset!==void 0?b$(T.offset):void 0),timeZone:W}}return{...O.dateFromFields(T),...p0}}function _z($,Z,O,j,T,z){let J=H1(O,T,i0,H2,b2),W=$(J.timeZone),[Y,X,F]=_Z(z),U=O.dateFromFields(J,RO(z,Y)),D=r1(J,Y);return F0(n1(Z(W),{...U,...D},J.offset!==void 0?b$(J.offset):void 0,X,F),W,j)}function xz($,Z,O){let j=H1($,Z,i0,[],B1),T=q(O);return r(D1({...$.dateFromFields(j,RO(O,T)),...r1(j,T)}))}function AT($,Z,O,j=[]){let T=H1($,Z,i0,j);return $.dateFromFields(T,O)}function bT($,Z,O,j){let T=H1($,Z,uT,j);return $.yearMonthFromFields(T,O)}function vT($,Z,O,j,T=[]){let z=H1($,O,i0,T);return Z&&z.month!==void 0&&z.monthCode===void 0&&z.year===void 0&&(z.year=N$),$.monthDayFromFields(z,j)}function Pz($,Z){let O=q(Z);return d0(r1(o0($,Qj,[],1),O))}function Ez($){let Z=o0($,sT);return l(H$({...X0,...Z}))}function H1($,Z,O,j=[],T=[]){return o0(Z,[...$.fields(O),...T].sort(),j)}function o0($,Z,O,j=!O){let T={},z,J=0;for(let W of Z){if(W===z)throw RangeError(pW(W));if(W==="constructor"||W==="__proto__")throw RangeError(hT(W));let Y=$[W];if(Y!==void 0)J=1,A8[W]&&(Y=A8[W](Y,W)),T[W]=Y;else if(O){if(O.includes(W))throw TypeError(pT(W));T[W]=R2[W]}z=W}if(j&&!J)throw TypeError(C2(Z));return T}function r1($,Z){return vO(oY({...R2,...$}),Z)}function Hz($,Z,O,j,T,z){let J=o(z),{calendar:W,timeZone:Y}=O;return F0(((X,F,U,D,B)=>{let G=EZ(X,U,D,i0,A2,E2),[K,Q,f]=_Z(B,2);return n1(F,{...X.dateFromFields(G,RO(B,K)),...r1(G,K)},b$(G.offset),Q,f)})($(W),Z(Y),j,T,J),Y,W)}function Az($,Z,O,j,T){let z=o(T);return r(((J,W,Y,X)=>{let F=EZ(J,W,Y,i0,B1),U=q(X);return D1({...J.dateFromFields(F,RO(X,U)),...r1(F,U)})})($(Z.calendar),O,j,z))}function bz($,Z,O,j,T){let z=o(T);return((J,W,Y,X)=>{let F=EZ(J,W,Y,i0);return J.dateFromFields(F,X)})($(Z.calendar),O,j,z)}function vz($,Z,O,j,T){let z=o(T);return c1(((J,W,Y,X)=>{let F=EZ(J,W,Y,uT);return J.yearMonthFromFields(F,X)})($(Z.calendar),O,j,z))}function wz($,Z,O,j,T){let z=o(T);return((J,W,Y,X)=>{let F=EZ(J,W,Y,i0);return J.monthDayFromFields(F,X)})($(Z.calendar),O,j,z)}function Rz($,Z,O){return d0(((j,T,z)=>{let J=q(z);return r1({...A0(Qj,j),...o0(T,Qj)},J)})($,Z,O))}function qz($,Z){return l((O=$,j=Z,H$({...O,...o0(j,sT)})));var O,j}function EZ($,Z,O,j,T=[],z=[]){let J=[...$.fields(j),...T].sort(),W=o0(Z,J,z),Y=o0(O,J);return W=$.mergeFields(W,Y),o0(W,J,[])}function wT($,Z){let O=H1($,Z,w2);return $.monthDayFromFields(O)}function RT($,Z,O){let j=H1($,Z,v2);return $.yearMonthFromFields(j,O)}function kz($,Z,O,j,T){Z=A0(O=$.fields(O),Z),j=o0(j,T=$.fields(T),[]);let z=$.mergeFields(Z,j);return z=o0(z,[...O,...T].sort(),[]),$.dateFromFields(z)}function Wj($,Z){let{era:O,eraYear:j,year:T}=Z,z=Bj($);if(O!==void 0||j!==void 0){if(O===void 0||j===void 0)throw TypeError(cW);if(!z)throw RangeError(hW);let J=z[O];if(J===void 0)throw RangeError(dW(O));let W=Iz(j,J);if(T!==void 0&&T!==W)throw RangeError(lW);T=W}else if(T===void 0)throw TypeError(iW(z));return T}function Yj($,Z,O,j){let{month:T,monthCode:z}=Z;if(z!==void 0){let J=((W,Y,X,F)=>{let U=W.U(X),[D,B]=Lz(Y),G=IO(D,B,U);if(B){let K=Mz(W);if(K===void 0)throw RangeError(BZ);if(K>0){if(G>K)throw RangeError(BZ);if(U===void 0){if(F===1)throw RangeError(BZ);G--}}else{if(G!==-K)throw RangeError(BZ);if(U===void 0&&F===1)throw RangeError(BZ)}}return G})($,z,O,j);if(T!==void 0&&T!==J)throw RangeError(I2);T=J,j=1}else if(T===void 0)throw TypeError(sW);return g0("month",T,1,$.L(O),j)}function P8($,Z,O,j,T){return _0(Z,"day",1,$.j(j,O),T)}function Xj($,Z,O,j){let T=0,z=[];for(let J of O)Z[J]!==void 0?T=1:z.push(J);if(Object.assign($,Z),T)for(let J of j||z)delete $[J]}function gz($){return W0(k0(EO(PO($))))}function yz($,Z,O,j,T=w){return F0(k0(EO(PO(O))),Z(j),$(T))}function mz($,Z,O,j,T=0,z=0,J=0,W=0,Y=0,X=0,F=w){return r(D1(bO(h0(B0,_$(W3,[Z,O,j,T,z,J,W,Y,X])))),$(F))}function pz($,Z,O,j,T=w){return t(I1(i1(h0(B0,{isoYear:Z,isoMonth:O,isoDay:j}))),$(T))}function hz($,Z,O,j=w,T=1){let z=B0(Z),J=B0(O),W=$(j);return c1(Hj(i1({isoYear:z,isoMonth:J,isoDay:B0(T)})),W)}function cz($,Z,O,j=w,T=N$){let z=B0(Z),J=B0(O),W=$(j);return CO(I1(i1({isoYear:B0(T),isoMonth:z,isoDay:J})),W)}function lz($=0,Z=0,O=0,j=0,T=0,z=0){return d0(vO(h0(B0,_$(u0,[$,Z,O,j,T,z])),1))}function dz($=0,Z=0,O=0,j=0,T=0,z=0,J=0,W=0,Y=0,X=0){return l(H$(h0(n8,_$(k,[$,Z,O,j,T,z,J,W,Y,X]))))}function qT($,Z,O=w){return F0($.epochNanoseconds,Z,O)}function iz($){return W0($.epochNanoseconds)}function kT($,Z){return r(f0(Z,$))}function gT($,Z){return t(f0(Z,$))}function uz($,Z,O){return RT($(Z.calendar),O)}function sz($,Z,O){return wT($(Z.calendar),O)}function yT($,Z){return d0(f0(Z,$))}function nz($,Z,O,j){let T=((z,J,W,Y)=>{let X=wj(Y);return H0(z(J),W,X)})($,O,Z,j);return F0(k0(T),O,Z.calendar)}function az($,Z,O){let j=$(Z.calendar);return c1({...Z,...RT(j,O)})}function oz($,Z,O){return wT($(Z.calendar),O)}function rz($,Z,O,j,T){let z=$(T.timeZone),J=T.plainTime,W=J!==void 0?Z(J):p0;return F0(H0(O(z),{...j,...W}),z,j.calendar)}function tz($,Z=p0){return r(D1({...$,...Z}))}function ez($,Z,O){return RT($(Z.calendar),O)}function $2($,Z,O){return wT($(Z.calendar),O)}function Z2($,Z,O,j){return((T,z,J)=>kz(T,z,v2,F1(J),wZ))($(Z.calendar),O,j)}function O2($,Z,O,j){return((T,z,J)=>kz(T,z,w2,F1(J),z3))($(Z.calendar),O,j)}function j2($,Z,O,j,T){let z=F1(T),J=Z(z.plainDate),W=$(z.timeZone);return F0(H0(O(W),{...J,...j}),W,J.calendar)}function T2($,Z){return r(D1({...$,...Z}))}function z2($){return W0(k0(M$($,m0)))}function J2($){return W0(k0(M$($,t0)))}function W2($){return W0(k0(EO(PO($),e1)))}function Y2($){return W0(k0(EO(PO($))))}function X2($,Z,O=p0){let j=Z.timeZone,T=$(j),z={...f0(Z,T),...O};return F0(n1(T,z,z.offsetNanoseconds,2),j,Z.calendar)}function F2($,Z,O){let j=Z.timeZone,T=$(j),z={...f0(Z,T),...O},J=B2(Z.calendar,O.calendar);return F0(n1(T,z,z.offsetNanoseconds,2),j,J)}function D2($,Z=p0){return r({...$,...Z})}function U2($,Z){return r({...$,...Z},B2($.calendar,Z.calendar))}function $3($,Z){return{...$,calendar:Z}}function G2($,Z){return{...$,timeZone:Z}}function B2($,Z){if($===Z)return $;let O=Y0($),j=Y0(Z);if(O===j||O===w)return Z;if(j===w)return $;throw RangeError(lT)}function vW($,Z){return(O)=>O===w?$:O===J3||O===S$?Object.assign(Object.create($),{id:O}):Object.assign(Object.create(Z),iY(O))}function t1($,Z,O){let j=new Set(O);return(T)=>(((z,J)=>{for(let W of J)if(W in z)return 1;return 0})(T=Lj(j,T),$)||Object.assign(T,Z),O&&(T.timeZone=O$,["full","long"].includes(T.timeStyle)&&(T.timeStyle="medium")),T)}function U1($,Z=mT){let[O,,,j]=$;return(T,z=U9,...J)=>{let W=Z(j&&j(...J),T,z,O),Y=W.resolvedOptions();return[W,...wW($,Y,J)]}}function mT($,Z,O,j){if(O=j(O),$){if(O.timeZone!==void 0)throw TypeError(zY);O.timeZone=$}return new A1(Z,O)}function wW($,Z,O){let[,j,T]=$;return O.map((z)=>(z.calendar&&((J,W,Y)=>{if((Y||J!==w)&&J!==W)throw RangeError(lT)})(Y0(z.calendar),Z.calendar,T),j(z,Z)))}function w$($){let Z=HZ();return x1(Z,$.getOffsetNanosecondsFor(Z))}function HZ(){return M$(Date.now(),t0)}function G1(){return v8||(v8=new A1().resolvedOptions().timeZone)}var RW=($,Z)=>`Non-integer ${$}: ${Z}`,qW=($,Z)=>`Non-positive ${$}: ${Z}`,kW=($,Z)=>`Non-finite ${$}: ${Z}`,gW=($)=>`Cannot convert bigint to ${$}`,yW=($)=>`Invalid bigint: ${$}`,mW="Cannot convert Symbol to string",K2="Invalid object",Q2=($,Z,O,j,T)=>T?Q2($,T[Z],T[O],T[j]):AZ($,Z)+`; must be between ${O}-${j}`,AZ=($,Z)=>`Invalid ${$}: ${Z}`,pT=($)=>`Missing ${$}`,hT=($)=>`Invalid field ${$}`,pW=($)=>`Duplicate field ${$}`,C2=($)=>"No valid fields: "+$.join(),f2="Invalid bag",V2=($,Z,O)=>AZ($,Z)+"; must be "+Object.keys(O).join(),L2="Cannot use valueOf",cT="Invalid calling context",hW="Forbidden era/eraYear",cW="Mismatching era/eraYear",lW="Mismatching year/eraYear",dW=($)=>`Invalid era: ${$}`,iW=($)=>"Missing year"+($?"/era/eraYear":""),uW=($)=>`Invalid monthCode: ${$}`,I2="Mismatching month/monthCode",sW="Missing month/monthCode",E8="Cannot guess year",BZ="Invalid leap month",M2="Invalid protocol",bZ="Invalid protocol results",lT="Mismatching Calendars",nW=($)=>`Invalid Calendar: ${$}`,S2="Mismatching TimeZones",aW="Forbidden ICU TimeZone",oW="Out-of-bounds offset",rW="Out-of-bounds TimeZone gap",tW="Invalid TimeZone offset",eW="Ambiguous offset",Z3="Out-of-bounds date",$Y="Out-of-bounds duration",ZY="Cannot mix duration signs",O3="Missing relativeTo",OY="Cannot use large units",jY="Required smallestUnit or largestUnit",TY="smallestUnit > largestUnit",x0=($)=>`Cannot parse: ${$}`,X1=($)=>`Invalid substring: ${$}`,N2=($)=>`Cannot format ${$}`,_2="Mismatching types for formatting",zY="Cannot specify TimeZone",x2=v(MZ,($,Z)=>Z),R$=v(MZ,($,Z,O)=>O),y0=v(BO,2),Kj={nanosecond:0,microsecond:1,millisecond:2,second:3,minute:4,hour:5,day:6,week:7,month:8,year:9},vZ=Object.keys(Kj),P0=86400000,P2=1000,e1=1000,t0=1e6,m0=1e9,j3=60000000000,T3=3600000000000,m=86400000000000,r0=[1,e1,t0,m0,j3,T3,m],B1=vZ.slice(0,6),Qj=SZ(B1),E2=["offset"],H2=["timeZone"],A2=B1.concat(E2),b2=A2.concat(H2),Cj=["era","eraYear"],JY=Cj.concat(["year"]),z3=["year"],dT=["monthCode"],iT=["month"].concat(dT),wZ=["day"],uT=iT.concat(z3),v2=dT.concat(z3),i0=wZ.concat(uT),WY=wZ.concat(iT),w2=wZ.concat(dT),R2=R$(B1,0),w="iso8601",J3="gregory",S$="japanese",q2={[J3]:{bce:-1,ce:0},[S$]:{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}},YY={chinese:13,dangi:13,hebrew:-6},u=v(xO,"string"),k2=v(xO,"boolean"),XY=v(xO,"number"),g2=v(xO,"function"),k=vZ.map(($)=>$+"s"),sT=SZ(k),FY=k.slice(0,6),y2=k.slice(6),DY=y2.slice(1),UY=x2(k),X0=R$(k,0),nT=R$(FY,0),aT=v(g8,k),u0=["isoNanosecond","isoMicrosecond","isoMillisecond","isoSecond","isoMinute","isoHour"],oT=["isoDay","isoMonth","isoYear"],W3=u0.concat(oT),rT=SZ(oT),m2=SZ(u0),p2=SZ(W3),p0=R$(m2,0),GY=v(g8,W3),A1=Intl.DateTimeFormat,h2="en-GB",tT=1e8,BY=tT*P0,KY=[tT,0],QY=[-tT,0],LZ=275760,IZ=-271821,CY=1970,N$=1972,W1=12,fY=x$(1868,9,8),VY=E0(VW,WeakMap),MO="smallestUnit",fj="unit",QZ="roundingIncrement",Fj="fractionalSecondDigits",c2="relativeTo",l2={constrain:0,reject:1},LY=Object.keys(l2),IY={compatible:0,reject:1,earlier:2,later:3},MY={reject:0,use:1,prefer:2,ignore:3},SY={auto:0,never:1,critical:2,always:3},NY={auto:0,never:1,critical:2},_Y={auto:0,never:1},xY={floor:0,halfFloor:1,ceil:2,halfCeil:3,trunc:4,halfTrunc:5,expand:6,halfExpand:7,halfEven:8},RZ=v(mj,MO),eT=v(mj,"largestUnit"),PY=v(mj,fj),d2=v(u1,"overflow",l2),i2=v(u1,"disambiguation",IY),EY=v(u1,"offset",MY),$6=v(u1,"calendarName",SY),HY=v(u1,"timeZoneName",NY),AY=v(u1,"offset",_Y),qZ=v(u1,"roundingMode",xY),q$="PlainYearMonth",k$="PlainMonthDay",$$="PlainDate",Z$="PlainDateTime",Y3="PlainTime",K1="ZonedDateTime",X3="Instant",F3="Duration",bY=[Math.floor,($)=>YO($)?Math.floor($):Math.round($),Math.ceil,($)=>YO($)?Math.ceil($):Math.round($),Math.trunc,($)=>YO($)?Math.trunc($)||0:Math.round($),($)=>$<0?Math.floor($):Math.ceil($),($)=>Math.sign($)*Math.round(Math.abs($))||0,($)=>YO($)?($=Math.trunc($)||0)+$%2:Math.round($)],O$="UTC",UO=5184000,vY=QO(1847),wY=QO(new Date().getUTCFullYear()+10),RY=/0+$/,f0=E0(_W,WeakMap),H8=4294967295,D3=E0(($)=>{let Z=fT($);return typeof Z=="object"?new s2(Z):new u2(Z||0)});class u2{constructor($){this.v=$}getOffsetNanosecondsFor(){return this.v}getPossibleInstantsFor($){return[Aj($,this.v)]}l(){}}class s2{constructor($){this.$=((Z)=>{function O(Y){let X=Dj(Y,J,W),[F,U]=S8(X),D=T(F),B=T(U);return D===B?D:j(z(F,U),D,B,Y)}function j(Y,X,F,U){let D,B;for(;(U===void 0||(D=U<Y[0]?X:U>=Y[1]?F:void 0)===void 0)&&(B=Y[1]-Y[0]);){let G=Y[0]+Math.floor(B/2);Z(G)===F?Y[1]=G:Y[0]=G+1}return D}let T=E0(Z),z=E0(xW),J=vY,W=wY;return{G(Y){let X=O(Y-86400),F=O(Y+86400),U=Y-X,D=Y-F;if(X===F)return[U];let B=O(U);return B===O(D)?[Y-B]:X>F?[U,D]:[]},V:O,l(Y,X){let F=Dj(Y,J,W),[U,D]=S8(F),B=UO*X,G=X<0?()=>D>J||(J=F,0):()=>U<W||(W=F,0);for(;G();){let K=T(U),Q=T(D);if(K!==Q){let f=z(U,D);j(f,K,Q);let I=f[0];if((L1(I,Y)||1)===X)return I}U+=B,D+=B}}}})(((Z)=>(O)=>{let j=Ej(Z,O*P2);return QO(Qz(j),parseInt(j.month),parseInt(j.day),parseInt(j.hour),parseInt(j.minute),parseInt(j.second))-O})($))}getOffsetNanosecondsFor($){return this.$.V(r8($))*m0}getPossibleInstantsFor($){let[Z,O]=[QO((j=$).isoYear,j.isoMonth,j.isoDay,j.isoHour,j.isoMinute,j.isoSecond),j.isoMillisecond*t0+j.isoMicrosecond*e1+j.isoNanosecond];var j;return this.$.G(Z).map((T)=>k0(I$(M$(T,m0),O)))}l($,Z){let[O,j]=t8($),T=this.$.l(O+(Z>0||j?1:0),Z);if(T!==void 0)return M$(T,m0)}}var Z6="([+\u2212-])",GO="(?:[.,](\\d{1,9}))?",n2=`(?:(?:${Z6}(\\d{6}))|(\\d{4}))-?(\\d{2})`,O6="(\\d{2})(?::?(\\d{2})(?::?(\\d{2})"+GO+")?)?",j6=Z6+O6,qY=n2+"-?(\\d{2})(?:[T ]"+O6+"(Z|"+j6+")?)?",a2="\\[(!?)([^\\]]*)\\]",U3=`((?:${a2}){0,9})`,kY=v$(n2+U3),gY=v$("(?:--)?(\\d{2})-?(\\d{2})"+U3),yY=v$(qY+U3),mY=v$("T?"+O6+"(?:"+j6+")?"+U3),pY=v$(j6),hY=new RegExp(a2,"g"),cY=v$(`${Z6}?P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(?:T(?:(\\d+)${GO}H)?(?:(\\d+)${GO}M)?(?:(\\d+)${GO}S)?)?`),lY=E0(($)=>new A1(h2,{timeZone:$,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})),dY=/^(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$/,iY=E0(HW),T6=E0(($)=>new A1(h2,{calendar:$,timeZone:O$,era:"short",year:"numeric",month:"short",day:"numeric"})),uY=/^M(\d{2})(L?)$/,sY={era:KO,eraYear:B0,year:B0,month:V8,monthCode:KO,day:V8},nY=R$(B1,B0),aY=R$(k,n8),A8=Object.assign({},sY,nY,aY,{offset:KO}),oY=v(fW,B1,u0),b8={dateAdd($,Z,O){let j=q(O),T,{years:z,months:J,weeks:W,days:Y}=Z;if(Y+=z0(Z,5)[0],z||J)T=((X,F,U,D,B)=>{let[G,K,Q]=X.h(F);if(U){let[f,I]=X.I(G,K);G+=U,K=IO(f,I,X.U(G)),K=g0("month",K,1,X.L(G),B)}return D&&([G,K]=X._(G,K,D)),Q=g0("day",Q,1,X.j(G,K),B),X.q(G,K,Q)})(this,$,z,J,j);else{if(!W&&!Y)return $;T=C0($)}return T+=(7*W+Y)*P0,I1(AO(T))},dateUntil($,Z,O){if(O<=7){let Y=0,X=Bz({...$,...p0},{...Z,...p0});return O===7&&([Y,X]=S1(X,7)),{...X0,weeks:Y,days:X}}let j=this.h($),T=this.h(Z),[z,J,W]=((Y,X,F,U,D,B,G)=>{let K=D-X,Q=B-F,f=G-U;if(K||Q){let I=Math.sign(K||Q),V=Y.j(D,B),x=0;if(Math.sign(f)===-I){let P=V;[D,B]=Y._(D,B,-I),K=D-X,Q=B-F,V=Y.j(D,B),x=I<0?-P:V}if(f=G-Math.min(U,V)+x,K){let[P,L]=Y.I(X,F),[M,E]=Y.I(D,B);if(Q=M-P||Number(E)-Number(L),Math.sign(Q)===-I){let A=I<0&&-Y.L(D);K=(D-=I)-X,Q=B-IO(P,L,Y.U(D))+(A||Y.L(D))}}}return[K,Q,f]})(this,...j,...T);return O===8&&(J+=this.J(z,j[0]),z=0),{...X0,years:z,months:J,days:W}},dateFromFields($,Z){let O=q(Z),j=Wj(this,$),T=Yj(this,$,j,O),z=P8(this,$,T,j,O);return t(I1(this.P(j,T,z)),this.id||w)},yearMonthFromFields($,Z){let O=q(Z),j=Wj(this,$),T=Yj(this,$,j,O);return c1(Hj(this.P(j,T,1)),this.id||w)},monthDayFromFields($,Z){let O=q(Z),j=!this.id,{monthCode:T,year:z,month:J}=$,W,Y,X,F,U;if(T!==void 0){[W,Y]=Lz(T),U=w8($,"day");let D=this.N(W,Y,U);if(!D)throw RangeError(E8);if([X,F]=D,J!==void 0&&J!==F)throw RangeError(I2);j&&(F=g0("month",F,1,W1,1),U=g0("day",U,1,bj(z!==void 0?z:X,F),O))}else{X=z===void 0&&j?N$:Wj(this,$),F=Yj(this,$,X,O),U=P8(this,$,F,X,O);let D=this.U(X);Y=F===D,W=Gj(F,D);let B=this.N(W,Y,U);if(!B)throw RangeError(E8);[X,F]=B}return CO(I1(this.P(X,F,U)),this.id||w)},fields($){return Bj(this)&&$.includes("year")?[...$,...Cj]:$},mergeFields($,Z){let O=Object.assign(Object.create(null),$);return Xj(O,Z,iT),Bj(this)&&(Xj(O,Z,JY),this.id===S$&&Xj(O,Z,WY,Cj)),O},inLeapYear($){let[Z]=this.h($);return this.K(Z)},monthsInYear($){let[Z]=this.h($);return this.L(Z)},daysInMonth($){let[Z,O]=this.h($);return this.j(Z,O)},daysInYear($){let[Z]=this.h($);return this.X(Z)},dayOfYear:HT,era($){return this.ee($)[0]},eraYear($){return this.ee($)[1]},monthCode($){let[Z,O]=this.h($),[j,T]=this.I(Z,O);return((z,J)=>"M"+y0(z)+(J?"L":""))(j,T)},dayOfWeek:j5,daysInWeek(){return 7}},rY={dayOfYear:HT,h:$5,q:x$},tY=Object.assign({},rY,{weekOfYear:fz,yearOfWeek:Vz,R($){function Z(B){return(7-B<j?7:0)-B}function O(B){let G=O5(D+B),K=B||1,Q=Z(KZ(Y+G*K,7));return F=(G+(Q-X)*K)/7}let j=this.id?1:4,T=j5($),z=this.dayOfYear($),J=KZ(T-1,7),W=z-1,Y=KZ(J-W,7),X=Z(Y),F,U=Math.floor((W-X)/7)+1,D=$.isoYear;return U?U>O(0)&&(U=1,D++):(U=O(-1),D--),[U,D,F]}}),eY={dayOfYear:HT,h:Uj,q:VZ,weekOfYear:fz,yearOfWeek:Vz,R(){return[]}},g$=vW(Object.assign({},b8,tY,{h:$5,ee($){return this.id===J3?T5($):this.id===S$?VY($):[]},I:($,Z)=>[Z,0],N($,Z){if(!Z)return[N$,$]},K:vj,U(){},L:Z5,J:($)=>$*W1,j:bj,X:O5,P:($,Z,O)=>({isoYear:$,isoMonth:Z,isoDay:O}),q:x$,_:($,Z,O)=>($+=NO(O,W1),(Z+=Mj(O,W1))<1?($--,Z+=W1):Z>W1&&($++,Z-=W1),[$,Z]),year($){return $.isoYear},month($){return $.isoMonth},day:($)=>$.isoDay}),Object.assign({},b8,eY,{h:Uj,ee($){let Z=this.O($);return[Z.era,Z.eraYear]},I($,Z){let O=XO.call(this,$);return[Gj(Z,O),O===Z]},N($,Z,O){let[j,T,z]=Uj.call(this,{isoYear:N$,isoMonth:W1,isoDay:31}),J=XO.call(this,j),W=T===J;(L1($,Gj(T,J))||L1(Number(Z),Number(W))||L1(O,z))===1&&j--;for(let Y=0;Y<100;Y++){let X=j-Y,F=XO.call(this,X),U=IO($,Z,F);if(Z===(U===F)&&O<=_8.call(this,X,U))return[X,U]}},K($){let Z=FO.call(this,$);return Z>FO.call(this,$-1)&&Z>FO.call(this,$+1)},U:XO,L:DO,J($,Z){let O=Z+$,j=Math.sign($),T=j<0?-1:0,z=0;for(let J=Z;J!==O;J+=j)z+=DO.call(this,J+T);return z},j:_8,X:FO,P($,Z,O){return AO(VZ.call(this,$,Z,O))},q:VZ,_($,Z,O){if(O){if(Z+=O,!Number.isSafeInteger(Z))throw RangeError(Z3);if(O<0)for(;Z<1;)Z+=DO.call(this,--$);else{let j;for(;Z>(j=DO.call(this,$));)Z-=j,$++}}return[$,Z]},year($){return this.O($).year},month($){let{year:Z,F:O}=this.O($),{C:j}=this.B(Z);return j[O]+1},day($){return this.O($).day}})),M1="numeric",y$=["timeZoneName"],o2={month:M1,day:M1},z6={year:M1,month:M1},J6=Object.assign({},z6,{day:M1}),W6={hour:M1,minute:M1,second:M1},Y6=Object.assign({},J6,W6),$9=Object.assign({},Y6,{timeZoneName:"short"}),Z9=Object.keys(z6),O9=Object.keys(o2),j9=Object.keys(J6),T9=Object.keys(W6),X6=["dateStyle"],z9=Z9.concat(X6),J9=O9.concat(X6),F6=j9.concat(X6,["weekday"]),kZ=T9.concat(["dayPeriod","timeStyle"]),D6=F6.concat(kZ),W9=D6.concat(y$),Y9=y$.concat(kZ),X9=y$.concat(F6),F9=y$.concat(["day","weekday"],kZ),D9=y$.concat(["year","weekday"],kZ),U9={},U6=[t1(D6,Y6),qO],r2=[t1(W9,$9),qO,0,($,Z)=>{let O=Y0($.timeZone);if(Z&&Y0(Z.timeZone)!==O)throw RangeError(S2);return O}],G6=[t1(D6,Y6,y$),C0],B6=[t1(F6,J6,Y9),C0],K6=[t1(kZ,W6,X9),($)=>N1($)/t0],Q6=[t1(z9,z6,F9),C0,1],C6=[t1(J9,o2,D9),C0,1],v8;function Z1($,Z,O,j,T){function z(...Y){if(!(this instanceof z))throw TypeError(cT);Z7(this,Z(...Y))}function J(Y,X){return Object.defineProperties(function(...F){return Y.call(this,W(this),...F)},Vj(X))}function W(Y){let X=G0(Y);if(!X||X.branding!==$)throw TypeError(cT);return X}return Object.defineProperties(z.prototype,{...R8(h0(J,O)),...d1(h0(J,j)),...SO("Temporal."+$)}),Object.defineProperties(z,{...d1(T),...Vj($)}),[z,(Y)=>{let X=Object.create(z.prototype);return Z7(X,Y),X},W]}function T7($){return $=$.concat("id").sort(),(Z)=>{if(!q8(Z,$))throw TypeError(M2);return Z}}function c$($){if(G0($)||$.calendar!==void 0||$.timeZone!==void 0)throw TypeError(f2);return $}function G3($,Z){let O={};for(let j in $)O[j]=({o:T},z)=>{let J=G0(z)||{},{branding:W}=J,Y=W===$$||Z.includes(W)?J:I0(z);return T[j](Y)};return O}function L6($){let Z={};for(let O in $)Z[O]=(j)=>{let{calendar:T}=j;return(z=T,typeof z=="string"?g$(z):(J=z,Object.assign(Object.create(E9),{i:J})))[O](j);var z,J};return Z}function q1(){throw TypeError(L2)}function yZ({calendar:$}){return typeof $=="string"?new H6($):$}function t2($,Z){if(Z=o(Z),J0($)){let j=G0($);if(j&&j.branding===k$)return q(Z),j;let T=W7($);return vT(L3(T||w),!T,$,Z)}let O=d5(g$,$);return q(Z),O}function z7($,Z,O){return j=Z.call($,L0(W0(O))),ej(NZ(j));var j}function B3($,Z=D7){let O=Object.keys(Z).sort(),j={};for(let T of O)j[T]=v(Z[T],$,g2($[T]));return j}function p($,Z){return typeof $=="string"?D3($):B3($,Z)}function $0($){return p($,V6)}function e0($){if(J0($)){let Z=G0($);if(Z)switch(Z.branding){case X3:return Z;case K1:return W0(Z.epochNanoseconds)}}return m5($)}function e2($,Z,O){let j=Z.l(e0(O).epochNanoseconds,$);return j?L0(W0(j)):null}function c($){return J0($)?(G0($)||{}).timeZone||R9($):((Z)=>nO(n5(u(Z))))($)}function b1($,Z){if(J0($)){let O=G0($)||{};switch(O.branding){case Y3:return q(Z),O;case Z$:return q(Z),d0(O);case K1:return q(Z),yT($0,O)}return Pz($,Z)}return q(Z),i5($)}function I6($){return $===void 0?void 0:b1($)}function m$($,Z){if(Z=o(Z),J0($)){let j=G0($);return j&&j.branding===q$?(q(Z),j):bT(f3(mZ($)),$,Z)}let O=l5(g$,$);return q(Z),O}function v1($,Z){if(Z=o(Z),J0($)){let j=G0($)||{};switch(j.branding){case Z$:return q(Z),j;case $$:return q(Z),r({...j,...p0});case K1:return q(Z),kT($0,j)}return xz(V3(mZ($)),$,Z)}let O=c5($);return q(Z),O}function I0($,Z){if(Z=o(Z),J0($)){let j=G0($)||{};switch(j.branding){case $$:return q(Z),j;case Z$:return q(Z),t(j);case K1:return q(Z),gT($0,j)}return AT(V3(mZ($)),$,Z)}let O=uO($);return q(Z),O}function J7($,Z,O){return c0(Z.call($,n(t(O,$))))}function O1($){return(Z)=>typeof Z=="string"?g$(Z):((O,j)=>{let T=Object.keys(j).sort(),z={};for(let J of T)z[J]=v(j[J],O,O[J]);return z})(Z,$)}function s($){if(J0($)){let Z=G0($);return Z&&Z.branding===F3?Z:Ez($)}return u5($)}function gZ($){if($!==void 0){if(J0($)){let Z=G0($)||{};switch(Z.branding){case K1:case $$:return Z;case Z$:return t(Z)}let O=mZ($);return{...Nz(c,p,V3(O),$),calendar:O}}return p5($)}}function mZ($){return W7($)||w}function W7($){let{calendar:Z}=$;if(Z!==void 0)return U0(Z)}function U0($){return J0($)?(G0($)||{}).calendar||a9($):((Z)=>PZ(s5(u(Z))))($)}function p$($,Z){if(Z=o(Z),J0($)){let O=G0($);if(O&&O.branding===K1)return _Z(Z),O;let j=mZ($);return _z(c,p,V3(j),j,$,Z)}return h5($,Z)}function $7($){return h0((Z)=>(O)=>Z(f6(O)),$)}function f6($){return f0($,$0)}function G9(){let $=A1.prototype,Z=Object.getOwnPropertyDescriptors($),O=Object.getOwnPropertyDescriptors(A1),j=function(T,z={}){if(!(this instanceof j))return new j(T,z);A6.set(this,((J,W={})=>{let Y=new A1(J,W),X=Y.resolvedOptions(),F=X.locale,U=A0(Object.keys(W),X),D=E0(Q9),B=(...G)=>{let K,Q=G.map((f,I)=>{let V=G0(f),x=(V||{}).branding;if(I&&K&&K!==x)throw TypeError(_2);return K=x,V});return K?D(K)(F,U,...Q):[Y,...G]};return B.u=Y,B})(T,z))};for(let T in Z){let z=Z[T],J=T.startsWith("format")&&B9(T);typeof z.value=="function"?z.value=T==="constructor"?j:J||K9(T):J&&(z.get=function(){return J.bind(this)})}return O.prototype.value=Object.create($,Z),Object.defineProperties(j,O),j}function B9($){return function(...Z){let O=A6.get(this),[j,...T]=O(...Z);return j[$](...T)}}function K9($){return function(...Z){return A6.get(this).u[$](...Z)}}function Q9($){let Z=C9[$];if(!Z)throw TypeError(N2($));return U1(Z,E0(mT))}var C9={Instant:U6,PlainDateTime:G6,PlainDate:B6,PlainTime:K6,PlainYearMonth:Q6,PlainMonthDay:C6},f9=U1(U6),V9=U1(r2),L9=U1(G6),I9=U1(B6),M9=U1(K6),S9=U1(Q6),N9=U1(C6),M6={era:c8,eraYear:Sj,year:NZ,month:c0,daysInMonth:c0,daysInYear:c0,inLeapYear:k2,monthsInYear:c0},Q3={monthCode:u},S6={day:c0},Y7={dayOfWeek:c0,dayOfYear:c0,weekOfYear:l8,yearOfWeek:Sj,daysInWeek:c0},X7=Object.assign({},M6,Q3,S6,Y7),K3=new WeakMap,G0=K3.get.bind(K3),Z7=K3.set.bind(K3),_9={...G3(M6,[q$]),...G3(Y7,[]),...G3(Q3,[q$,k$]),...G3(S6,[k$])},N6=L6(X7),x9=L6({...M6,...Q3}),P9=L6({...Q3,...S6}),pZ={calendarId:($)=>Y0($.calendar)},E9=h0(($,Z)=>function(O){let{i:j}=this;return $(j[Z](n(t(O,j))))},X7),H9=MZ(($)=>(Z)=>Z[$],k.concat("sign")),_6=MZ(($,Z)=>(O)=>O[u0[Z]],B1),F7={epochSeconds:D5,epochMilliseconds:qO,epochMicroseconds:U5,epochNanoseconds:G5},hZ=v(Lj,new Set(["branding"])),[A9,h$,b9]=Z1(k$,v(cz,U0),{...pZ,...P9},{getISOFields:hZ,getCalendar:yZ,with($,Z,O){return h$(wz(u9,$,this,c$(Z),O))},equals:($,Z)=>Yz($,t2(Z)),toPlainDate($,Z){return n(O2(cZ,$,this,Z))},toLocaleString($,Z,O){let[j,T]=N9(Z,O,$);return j.format(T)},toString:nj,toJSON:($)=>nj($),valueOf:q1},{from:($,Z)=>h$(t2($,Z))}),D7={getOffsetNanosecondsFor:z7,getPossibleInstantsFor($,Z,O){let j=[...Z.call($,D0(r(O,w)))].map((z)=>w9(z).epochNanoseconds),T=j.length;return T>1&&(j.sort(Q0),$T(q0(R0(j[0],j[T-1])))),j}},V6={getOffsetNanosecondsFor:z7},[v9,L0,w9]=Z1(X3,gz,F7,{add:($,Z)=>L0(ZT(0,$,s(Z))),subtract:($,Z)=>L0(ZT(1,$,s(Z))),until:($,Z,O)=>h(MT(0,$,e0(Z),O)),since:($,Z,O)=>h(MT(1,$,e0(Z),O)),round:($,Z)=>L0(Q5($,Z)),equals:($,Z)=>jz($,e0(Z)),toZonedDateTime($,Z){let O=F1(Z);return e(qT($,c(O.timeZone),U0(O.calendar)))},toZonedDateTimeISO:($,Z)=>e(qT($,c(Z))),toLocaleString($,Z,O){let[j,T]=f9(Z,O,$);return j.format(T)},toString:($,Z)=>lj(c,$0,$,Z),toJSON:($)=>lj(c,$0,$),valueOf:q1},{from:($)=>L0(e0($)),fromEpochSeconds:($)=>L0(z2($)),fromEpochMilliseconds:($)=>L0(J2($)),fromEpochMicroseconds:($)=>L0(W2($)),fromEpochNanoseconds:($)=>L0(Y2($)),compare:($,Z)=>VT(e0($),e0(Z))}),[C3,CU]=Z1("TimeZone",($)=>{let Z=Zz($);return{branding:"TimeZone",id:Z,o:D3(Z)}},{id:($)=>$.id},{getPossibleInstantsFor:({o:$},Z)=>$.getPossibleInstantsFor(v1(Z)).map((O)=>L0(W0(O))),getOffsetNanosecondsFor:({o:$},Z)=>$.getOffsetNanosecondsFor(e0(Z).epochNanoseconds),getOffsetStringFor($,Z){let O=e0(Z).epochNanoseconds,j=B3(this,V6).getOffsetNanosecondsFor(O);return s1(j)},getPlainDateTimeFor($,Z,O=w){let j=e0(Z).epochNanoseconds,T=B3(this,V6).getOffsetNanosecondsFor(j);return D0(r(x1(j,T),U0(O)))},getInstantFor($,Z,O){let j=v1(Z),T=wj(O),z=B3(this);return L0(W0(H0(z,j,T)))},getNextTransition:({o:$},Z)=>e2(1,$,Z),getPreviousTransition:({o:$},Z)=>e2(-1,$,Z),equals($,Z){return!!oO(this,c(Z))},toString:($)=>$.id,toJSON:($)=>$.id},{from($){let Z=c($);return typeof Z=="string"?new C3(Z):Z}}),R9=T7(Object.keys(D7)),[q9,w1]=Z1(Y3,lz,_6,{getISOFields:hZ,with($,Z,O){return w1(Rz(this,c$(Z),O))},add:($,Z)=>w1(JT(0,$,s(Z))),subtract:($,Z)=>w1(JT(1,$,s(Z))),until:($,Z,O)=>h(PT(0,$,b1(Z),O)),since:($,Z,O)=>h(PT(1,$,b1(Z),O)),round:($,Z)=>w1(V5($,Z)),equals:($,Z)=>Xz($,b1(Z)),toZonedDateTime:($,Z)=>e(j2(c,I0,p,$,Z)),toPlainDateTime:($,Z)=>D0(T2($,I0(Z))),toLocaleString($,Z,O){let[j,T]=M9(Z,O,$);return j.format(T)},toString:aj,toJSON:($)=>aj($),valueOf:q1},{from:($,Z)=>w1(b1($,Z)),compare:($,Z)=>aO(b1($),b1(Z))}),[k9,R1,g9]=Z1(q$,v(hz,U0),{...pZ,...x9},{getISOFields:hZ,getCalendar:yZ,with($,Z,O){return R1(vz(i9,$,this,c$(Z),O))},add:($,Z,O)=>R1(zT(O7,0,$,s(Z),O)),subtract:($,Z,O)=>R1(zT(O7,1,$,s(Z),O)),until:($,Z,O)=>h(xT(j7,0,$,m$(Z),O)),since:($,Z,O)=>h(xT(j7,1,$,m$(Z),O)),equals:($,Z)=>Wz($,m$(Z)),toPlainDate($,Z){return n(Z2(cZ,$,this,Z))},toLocaleString($,Z,O){let[j,T]=S9(Z,O,$);return j.format(T)},toString:sj,toJSON:($)=>sj($),valueOf:q1},{from:($,Z)=>R1(m$($,Z)),compare:($,Z)=>o1(m$($),m$(Z))}),[y9,D0]=Z1(Z$,v(mz,U0),{...pZ,...N6,..._6},{getISOFields:hZ,getCalendar:yZ,with($,Z,O){return D0(Az(cZ,$,this,c$(Z),O))},withCalendar:($,Z)=>D0($3($,U0(Z))),withPlainDate:($,Z)=>D0(U2($,I0(Z))),withPlainTime:($,Z)=>D0(D2($,I6(Z))),add:($,Z,O)=>D0(jT(j$,0,$,s(Z),O)),subtract:($,Z,O)=>D0(jT(j$,1,$,s(Z),O)),until:($,Z,O)=>h(NT($1,0,$,v1(Z),O)),since:($,Z,O)=>h(NT($1,1,$,v1(Z),O)),round:($,Z)=>D0(f5($,Z)),equals:($,Z)=>zz($,v1(Z)),toZonedDateTime:($,Z,O)=>e(nz(p,$,c(Z),O)),toPlainDate:($)=>n(t($)),toPlainTime:($)=>w1(d0($)),toPlainYearMonth($){return R1(az(f3,$,this))},toPlainMonthDay($){return h$(oz(L3,$,this))},toLocaleString($,Z,O){let[j,T]=L9(Z,O,$);return j.format(T)},toString:ij,toJSON:($)=>ij($),valueOf:q1},{from:($,Z)=>D0(v1($,Z)),compare:($,Z)=>IT(v1($),v1(Z))}),[m9,n,U7]=Z1($$,v(pz,U0),{...pZ,...N6},{getISOFields:hZ,getCalendar:yZ,with($,Z,O){return n(bz(cZ,$,this,c$(Z),O))},withCalendar:($,Z)=>n($3($,U0(Z))),add:($,Z,O)=>n(TT(j$,0,$,s(Z),O)),subtract:($,Z,O)=>n(TT(j$,1,$,s(Z),O)),until:($,Z,O)=>h(_T($1,0,$,I0(Z),O)),since:($,Z,O)=>h(_T($1,1,$,I0(Z),O)),equals:($,Z)=>Jz($,I0(Z)),toZonedDateTime($,Z){let O=!J0(Z)||Z instanceof C3?{timeZone:Z}:Z;return e(rz(c,b1,p,$,O))},toPlainDateTime:($,Z)=>D0(tz($,I6(Z))),toPlainYearMonth($){return R1(ez(f3,$,this))},toPlainMonthDay($){return h$($2(L3,$,this))},toLocaleString($,Z,O){let[j,T]=I9(Z,O,$);return j.format(T)},toString:uj,toJSON:($)=>uj($),valueOf:q1},{from:($,Z)=>n(I0($,Z)),compare:($,Z)=>o1(I0($),I0(Z))}),x6={fields($,Z,O){return[...Z.call($,O)]}},G7=Object.assign({dateFromFields($,Z,O,j){return U7(Z.call($,Object.assign(Object.create(null),O),j))}},x6),B7=Object.assign({yearMonthFromFields($,Z,O,j){return g9(Z.call($,Object.assign(Object.create(null),O),j))}},x6),K7=Object.assign({monthDayFromFields($,Z,O,j){return b9(Z.call($,Object.assign(Object.create(null),O),j))}},x6),P6={mergeFields($,Z,O,j){return F1(Z.call($,Object.assign(Object.create(null),O),Object.assign(Object.create(null),j)))}},p9=Object.assign({},G7,P6),h9=Object.assign({},B7,P6),c9=Object.assign({},K7,P6),E6={dateAdd($,Z,O,j,T){return U7(Z.call($,n(t(O,$)),h(l(j)),T))}},Q7=Object.assign({},E6,{dateUntil($,Z,O,j,T,z){return n9(Z.call($,n(t(O,$)),n(t(j,$)),Object.assign(Object.create(null),z,{largestUnit:vZ[T]})))}}),l9=Object.assign({},E6,{day:J7}),d9=Object.assign({},Q7,{day:J7}),f3=O1(B7),V3=O1(G7),L3=O1(K7),i9=O1(h9),cZ=O1(p9),u9=O1(c9),j$=O1(E6),$1=O1(Q7),O7=O1(l9),j7=O1(d9),[s9,h,n9]=Z1(F3,dz,{...H9,blank:k5},{with:($,Z)=>h(qz($,Z)),negated:($)=>h(dO($)),abs:($)=>h(q5($)),add:($,Z,O)=>h(DT(gZ,$1,p,0,$,s(Z),O)),subtract:($,Z,O)=>h(DT(gZ,$1,p,1,$,s(Z),O)),round:($,Z)=>h(R5(gZ,$1,p,$,Z)),total:($,Z)=>K5(gZ,$1,p,$,Z),toLocaleString($,Z,O){return Intl.DurationFormat?new Intl.DurationFormat(Z,O).format(this):mO($)},toString:mO,toJSON:($)=>mO($),valueOf:q1},{from:($)=>h(s($)),compare:($,Z,O)=>Oz(gZ,j$,p,s($),s(Z),O)}),C7={toString:($)=>$.id,toJSON:($)=>$.id,..._9,dateAdd:({id:$,o:Z},O,j,T)=>n(t(Z.dateAdd(I0(O),s(j),T),$)),dateUntil:({o:$},Z,O,j)=>h(l($.dateUntil(I0(Z),I0(O),J5(j)))),dateFromFields:({id:$,o:Z},O,j)=>n(AT(Z,O,j,h8($))),yearMonthFromFields:({id:$,o:Z},O,j)=>R1(bT(Z,O,j,m8($))),monthDayFromFields:({id:$,o:Z},O,j)=>h$(vT(Z,0,O,j,p8($))),fields({o:$},Z){let O=new Set(i0),j=[];for(let T of Z){if(u(T),!O.has(T))throw RangeError(hT(T));O.delete(T),j.push(T)}return $.fields(j)},mergeFields:({o:$},Z,O)=>$.mergeFields(Ij(Nj(Z)),Ij(Nj(O)))},[H6]=Z1("Calendar",($)=>{let Z=Cz($);return{branding:"Calendar",id:Z,o:g$(Z)}},{id:($)=>$.id},C7,{from($){let Z=U0($);return typeof Z=="string"?new H6(Z):Z}}),a9=T7(Object.keys(C7).slice(4)),[o9,e]=Z1(K1,v(yz,U0,c),{...F7,...pZ,...$7(N6),...$7(_6),offset:($)=>s1(f6($).offsetNanoseconds),offsetNanoseconds:($)=>f6($).offsetNanoseconds,timeZoneId:($)=>Y0($.timeZone),hoursInDay:($)=>L5(p,$)},{getISOFields:($)=>v5($0,$),getCalendar:yZ,getTimeZone:({timeZone:$})=>typeof $=="string"?new C3($):$,with($,Z,O){return e(Hz(cZ,p,$,this,c$(Z),O))},withCalendar:($,Z)=>e($3($,U0(Z))),withTimeZone:($,Z)=>e(G2($,c(Z))),withPlainDate:($,Z)=>e(F2(p,$,I0(Z))),withPlainTime:($,Z)=>e(X2(p,$,I6(Z))),add:($,Z,O)=>e(OT(j$,p,0,$,s(Z),O)),subtract:($,Z,O)=>e(OT(j$,p,1,$,s(Z),O)),until:($,Z,O)=>h(l(ST($1,p,0,$,p$(Z),O))),since:($,Z,O)=>h(l(ST($1,p,1,$,p$(Z),O))),round:($,Z)=>e(C5(p,$,Z)),startOfDay:($)=>e(I5(p,$)),equals:($,Z)=>Tz($,p$(Z)),toInstant:($)=>L0(iz($)),toPlainDateTime:($)=>D0(kT($0,$)),toPlainDate:($)=>n(gT($0,$)),toPlainTime:($)=>w1(yT($0,$)),toPlainYearMonth($){return R1(uz(f3,$,this))},toPlainMonthDay($){return h$(sz(L3,$,this))},toLocaleString($,Z,O={}){let[j,T]=V9(Z,O,$);return j.format(T)},toString:($,Z)=>dj($0,$,Z),toJSON:($)=>dj($0,$),valueOf:q1},{from:($,Z)=>e(p$($,Z)),compare:($,Z)=>LT(p$($),p$(Z))}),r9=Object.defineProperties({},{...SO("Temporal.Now"),...d1({timeZoneId:()=>G1(),instant:()=>L0(W0(HZ())),zonedDateTime:($,Z=G1())=>e(F0(HZ(),c(Z),U0($))),zonedDateTimeISO:($=G1())=>e(F0(HZ(),c($),w)),plainDateTime:($,Z=G1())=>D0(r(w$($0(c(Z))),U0($))),plainDateTimeISO:($=G1())=>D0(r(w$($0(c($))),w)),plainDate:($,Z=G1())=>n(t(w$($0(c(Z))),U0($))),plainDateISO:($=G1())=>n(t(w$($0(c($))),w)),plainTimeISO:($=G1())=>w1(d0(w$($0(c($)))))})}),l$=Object.defineProperties({},{...SO("Temporal"),...d1({PlainYearMonth:k9,PlainMonthDay:A9,PlainDate:m9,PlainTime:q9,PlainDateTime:y9,ZonedDateTime:o9,Instant:v9,Calendar:H6,TimeZone:C3,Duration:s9,Now:r9})}),t9=G9(),A6=new WeakMap,e9=Object.defineProperties(Object.create(Intl),d1({DateTimeFormat:t9}));var b6=new WeakMap;function ZX($){let Z=b6.get($);if(!Z)Z=$($X(32).toString("hex")),b6.set($,Z),Z.catch(()=>b6.delete($));return Z}async function v6($,Z,O){if(typeof O==="string"&&O!=="")return await $.verifyPassword(Z,O);try{await $.verifyPassword(Z,await ZX($.hashPassword))}catch{}return!1}async function T$($,Z){let O=Z.user??Z.session?.user;if(!O||!$.onAuthenticated)return;let{password:j,...T}=O;await $.onAuthenticated({...Z,user:T})}class q6 extends Error{}function w6($){return typeof $==="string"&&$!==""?$:null}function f7($){return FZ($)}var OX=256;function V7($){return typeof $==="string"&&$!==""&&$.length<=OX?$:null}var R6="intended_url";class k6 extends _{schema={email:{required:"Email is required",string:"Invalid email",email:"Invalid email"},password:{required:"Password is required"}}}class L7 extends _{schema={email:{required:"Email is required",email:"Invalid email"}}}class I7 extends _{schema={password:{required:"Password is required",password:"Invalid password"}}}class d extends s3{async me(){let $=await z$.user();if(!$)throw new n3;return $}async verifyEmail($=new _){let Z=await $.input(),{userProvider:O}=C(H),j=w6(Z.get("token"));if(!j)return{email:null};let T=await O.findUserByVerificationToken(j);if(!T)return{email:null};return await O.verifyUser(T.email),{email:T.email}}async signInWithMagicLink($=new _){let Z=C(H),{userProvider:O}=Z,j=w6($.search.get("token")),T=null;try{T=FZ(decodeURIComponent($.search.get("email")??""))}catch{}if(await f$("link",null,$,{perIp:Z.config.emailCode.verifyLimit.perIp}),!T||!j||!await Z.verifyMagicLinkToken(T,j))return{error:"Invalid token"};await O.verifyUser(T);let z=await Z.createOrUpdateSession({email:T});return $.ctx().setCookie("access_token",z.token,C(H).accessTokenCookieOptions($,z.expiresAt)),await Z.config.onSignIn(z,$.search.toJSON()),await T$(Z.config,{session:z,isNewUser:!1,method:"magic-link",req:$}),{session:z}}async verifyPinRequest($){let Z=C(H),O=await $.input(),{email:j,pin:T}=O.toJSON(),z=FZ(j),J=V7(T);if(await f$("verify",z,$,Z.config.emailCode.verifyLimit),!z||!J)throw new y({pin:["Invalid pin"]});let W=await Z.verifyOneTimeCode(z,J);if(W.status==="too_many_attempts")throw new y({pin:["Too many attempts"]});if(W.status!=="ok")throw new y({pin:["Invalid pin"]});return await Z.userProvider.verifyUser(z),z}async signInWithPinV2($=new _){let Z=C(H),O=await this.verifyPinRequest($),j=await Z.createOrUpdateSessionV2({email:O});return $.ctx().setCookie("access_token",j.token,C(H).accessTokenCookieOptions($,j.expiresAt)),await Z.config.onSignIn(j,$.search.toJSON()),await T$(Z.config,{session:j,isNewUser:!1,method:"magic-link",req:$}),j}async signInWithPin($=new _){let Z=C(H),O=await this.verifyPinRequest($),j=await Z.createOrUpdateSession({email:O});return $.ctx().setCookie("access_token",j.token,C(H).accessTokenCookieOptions($,j.expiresAt)),await Z.config.onSignIn(j,$.search.toJSON()),await T$(Z.config,{session:j,isNewUser:!1,method:"magic-link",req:$}),{session:j}}async signInV2($=new k6){let Z=await $.input(),{email:O,password:j}=Z.toJSON(),T=O.toLowerCase().trim(),z=C(H),J=await z.userProvider.findUserByEmailAddress(T,z.config.verifyEmail),W=typeof j==="string"&&await v6(z.config,j,J?.password);if(!J||!W)throw new y({invalid_credentials:["Invalid credentials"]});let Y=await z.createOrUpdateSessionV2({email:J.email,id:J.id});$.ctx().setCookie("access_token",Y.token,C(H).accessTokenCookieOptions($,Y.expiresAt)),await z.config.onSignIn(J,$.search.toJSON()),await T$(z.config,{session:Y,user:J,isNewUser:!1,method:"password",req:$});let{password:X,...F}=J;return F}async signIn($=new k6){let Z=await $.input(),{email:O,password:j}=Z.toJSON(),T=O.toLowerCase().trim(),z=C(H),J=await z.userProvider.findUserByEmailAddress(T,z.config.verifyEmail),W=typeof j==="string"&&await v6(z.config,j,J?.password);if(!J||!W)throw new y({invalid_credentials:["Invalid credentials"]});let Y=await z.createOrUpdateSession({email:J.email,id:J.id});$.ctx().setCookie("access_token",Y.token,C(H).accessTokenCookieOptions($,Y.expiresAt)),await z.config.onSignIn(J,$.search.toJSON()),await T$(z.config,{session:Y,user:J,isNewUser:!1,method:"password",req:$});let{password:X,...F}=J;return F}async signUp(){let $=C(H),{userProvider:Z,config:O}=$,j=new O.signUpRequest,T=await j.input(),{email:z,password:J,name:W,invitationId:Y}=T.toJSON(),X=f7(z);if(!X)throw new y({email:["Invalid email"]});if(J!=null&&typeof J!=="string")throw new y({password:["Invalid password"]});if(Y!=null&&typeof Y!=="string")throw new y({invitationId:["Invalid invitation"]});if(await Z.findUserByEmailAddress(X,!1))throw new y({email:["Email address already exists"]});let U=await O.hashPassword(J),D=C(i).detectLocale(j),B;if(Y)B=await Z.findInvitation(Y,X);let G,K="";if(B)G=await Z.transaction(async()=>{await Z.deleteInvitationById(Y);let Q=await Z.createUser({email:X,name:W,password:U,emailVerifiedAt:new Date,locale:D});return await Z.createAccount({organizationId:B.organizationId,userId:Q.id,organizationRole:B.role}),await O.onUserCreated(Q),Q});else K=await O.generateEmailVerificationToken(X),G=await Z.transaction(async()=>{let Q=await Z.createUser({email:X,name:W,password:U,verificationToken:K,locale:D});return await O.onUserCreated(Q),Q});return await O.onSignUp(G,K,j.search.toJSON()),G}async signOut($=new _){let Z=i3($),O=C(H),{config:j}=O,T=await O.revokeSession(Z,$.headers.get("User-Agent"));if($.ctx().setCookie("access_token","",C(H).accessTokenCookieOptions($,new Date(0))),C(H).cookieDomain($))$.ctx().setCookie("access_token","",{...C(H).accessTokenCookieOptions($,new Date(0)),domain:void 0});if(T?.user)T.user.extension=await j.extendSession(T.user),await j.onSignOut(T.user);return{}}async forgotPassword($=new L7){let Z=await $.input(),O=f7(Z.get("email"));if(!O)return{};let{userProvider:j,config:T}=C(H),z=await j.findUserByEmailAddress(O,T.verifyEmail);if(!z)return{};let J=await T.generateForgotPasswordToken(z);return await j.createPasswordResetToken({user:z,token:J}),await T.onForgotPassword(z,J),{}}async resetPassword($=new I7){let{userProvider:Z,config:O}=C(H),j=await $.input(),{password:T,token:z}=j.toJSON(),J=w6(z),W=J?await Z.findPasswordResetToken({token:J}):null;if(!W)throw new y({token:["Invalid token"]});if(l$.Instant.from(W.createdAt.toISOString()).add({hours:24}).until(l$.Now.instant()).sign>=0)throw new y({token:["Token expired"]});await Z.deletePasswordResetToken({token:J});let X=await Z.findUserByEmailAddress(W.user.email,O.verifyEmail);if(!X)throw new y({email:["User not found"]});let F=await O.hashPassword(T);return await Z.updateUserPassword({id:X.id,password:F}),await Z.deleteAllUserSessions(X.id),await O.onResetPassword(X),{}}async changePassword($=new _){let{userProvider:Z,config:O}=C(H),j=await z$.user(),T=await $.input(),{oldPassword:z,newPassword:J}=T.toJSON();if(typeof J!=="string")throw new y({newPassword:["Invalid password"]});let W=await Z.findUserByEmailAddress(j.email,O.verifyEmail);if(!(typeof z==="string"&&await v6(O,z,W?.password)))throw new y({oldPassword:["Incorrect password"]});let X=await O.hashPassword(J);return await Z.updateUserPassword({id:j.id,password:X}),await Z.deleteAllUserSessions(j.id),{}}async oauthRedirect($=new _){let{provider:Z}=$.params,O=C(H).config.oauthProviders[Z];if(!O)throw Error(`Invalid provider: ${Z}`);let j=JZ($.search.get(Q$),"");if(j)$.ctx().setCookie(R6,encodeURIComponent(j),{httpOnly:!0,sameSite:"Lax",secure:l4($.rawRequest),maxAge:600});return{destination:await O.getRedirectUrl($)}}async oauthCallback($=new _){let{provider:Z}=$.params,O=C(H),{userProvider:j,config:T}=O,z=T.oauthProviders[Z],{email:J,name:W,username:Y,providerId:X}=await z.onCallback($),F=X?await j.findUserBySocialAccount(Z,X):null,U="signin";if(!F){if(!J)return console.error("Authentication error: No email returned from OAuth provider callback"),{session:null};let K=C(i).detectLocale($);try{let Q=await this.linkOAuthAccount({provider:Z,providerId:X,email:J,name:W,username:Y,locale:K});if(Q)F=Q.user,U=Q.action}catch(Q){let f=X?await j.findUserBySocialAccount(Z,X):null;if(!f)throw Q;F=f}if(!F)return{session:null}}let D=await O.createOrUpdateSessionV2({email:F.email,id:F.id});if($.ctx().setCookie("access_token",D.token,C(H).accessTokenCookieOptions($,D.expiresAt)),U==="signup")await T.onSignUp(F,"",$.search.toJSON());else await T.onSignIn(F,$.search.toJSON());await T$(O.config,{session:D,user:F,isNewUser:U==="signup",method:"oauth",req:$});let B=$.cookies.get(R6),G=T.redirectPath;if(B){try{G=JZ(decodeURIComponent(B),G)}catch{}$.ctx().setCookie(R6,"",{maxAge:-1})}return{session:D,redirectTo:G}}async linkOAuthAccount($){let{provider:Z,providerId:O,email:j,name:T,username:z,locale:J}=$,{userProvider:W,config:Y}=C(H),X=(D)=>({provider:Z,userId:D,email:j,username:z,providerId:O,expiresAt:new Date,accessToken:"",refreshToken:""}),F=await W.findUserByEmailAddress(j,!1);if(F){if(!O)return{user:F,action:"signin"};let D=await W.findSocialAccounts(F.id,Z);if(D.some((G)=>G.providerId===O))return{user:F,action:"signin"};if(D.some((G)=>G.providerId))return console.error(`Authentication error: user ${F.id} is already linked to a different ${Z} account`),null;let B=D[0];if(B){if(!await W.claimSocialAccount(B,O))throw Error(`${Z} account link changed concurrently`)}else await W.createSocialAccount(X(F.id));return{user:F,action:"signin"}}return{user:await W.transaction(async()=>{let D=await W.createUser({email:j,name:T,locale:J,emailVerifiedAt:new Date});if(O)await W.createSocialAccount(X(D.id));return await Y.onUserCreated(D),D}),action:"signup"}}async createMagicLinkToken($=new _){let Z=await $.input(),O=FZ(Z.get("email")),j=C(H),{uniformMagicLinkResponse:T,requestLimit:z}=j.config.emailCode;if(await f$("request",O,$,z),!O)return{email:null};let{user:J,pin:W,token:Y}=await j.createMagicLinkToken(O);if(J)return await j.config.onMagicLinkCreated(J,{email:O,pin:W,token:Y}),{email:O};return{email:T?O:null}}async requestEmailCode($=new _){let Z=C(H),O=Z.config.emailCode;if(!O.enabled)throw new n0("Not found",{status:404});let j=await $.input(),T=Zj(j.get("email"));if(await f$("request",T,$,O.requestLimit),!T)throw new y({email:["Invalid email"]});let z=await Z.userProvider.findUserByEmailAddress(T,!1);if(z||O.createUser){let{pin:J,token:W}=await Z.issueOneTimeCode(T,O.length);await O.send({email:T,code:J,token:W,isNewUser:!z,req:$})}return{ok:!0}}async verifyEmailCode($=new _){let Z=C(H),{userProvider:O,config:j}=Z;if(!j.emailCode.enabled)throw new n0("Not found",{status:404});let T=await $.input(),{email:z,code:J,name:W}=T.toJSON(),Y=Zj(z),X=V7(J);if(await f$("verify",Y,$,j.emailCode.verifyLimit),!Y||!X)throw new y({code:["invalid_code"]});let F=await Z.verifyOneTimeCode(Y,X,{claim:!1});if(F.status==="too_many_attempts")throw new y({code:["too_many_attempts"]});if(F.status!=="ok")throw new y({code:["invalid_code"]});let U=F.row,D=await O.findUserByEmailAddress(Y,!1),B=!1;if(D){if(!await O.claimMagicLinkToken(U.id))throw new y({code:["invalid_code"]});await O.verifyUser(Y)}else if(j.emailCode.createUser){let K=C(i).detectLocale($);try{D=await O.transaction(async()=>{if(!await O.claimMagicLinkToken(U.id))throw new q6;let Q=await O.createUser({email:Y,name:typeof W==="string"?W.trim():"",emailVerifiedAt:new Date,locale:K});return await j.onUserCreated(Q),Q}),B=!0}catch(Q){if(Q instanceof q6)throw new y({code:["invalid_code"]});throw Q}}else throw await O.claimMagicLinkToken(U.id),new y({code:["invalid_code"]});let G=await Z.createOrUpdateSessionV2({email:Y,id:D.id});return $.ctx().setCookie("access_token",G.token,C(H).accessTokenCookieOptions($,G.expiresAt)),await j.onSignIn(G,$.search.toJSON()),await T$(Z.config,{session:G,isNewUser:B,method:"email-code",req:$}),{session:G,isNewUser:B}}}class M7 extends f1{middlewares=["cache:private"];routes={"/:provider":this.view("_Redirect",[d,"oauthRedirect"]),"/:provider/callback":this.view("auth/OauthCallback",[d,"oauthCallback"])}}class g6 extends f1{middlewares=["cache:private"];routes={"/sign-in/magic-link":this.view("auth/MagicLinkSignIn",[d,"signInWithMagicLink"]),"/oauth":M7}}class y6 extends N0{middlewares=["cache:private"];routes={"/sign-in":this.post(d,"signIn"),"/sign-in-v2":this.post(d,"signInV2"),"/sign-up":this.post(d,"signUp"),"/sign-out":this.post(d,"signOut"),"/forgot-password":this.post(d,"forgotPassword"),"/reset-password":this.post(d,"resetPassword"),"/change-password":this.post(d,"changePassword"),"/verify-email":this.post(d,"verifyEmail"),"/me":this.get(d,"me").middleware(["auth"]),"/magic-link":this.post(d,"createMagicLinkToken"),"/sign-in-with-pin":this.post(d,"signInWithPin"),"/sign-in-with-pin-v2":this.post(d,"signInWithPinV2"),"/email-code":this.post(d,"requestEmailCode"),"/email-code/verify":this.post(d,"verifyEmailCode")}}class m6 extends N0{middlewares=["cache:private,0,no-store"];routes={"/set-locale/:locale":this.get(async()=>{let Z=new _().params.locale;return await C(i).onLocaleChange(Z),{locale:Z}}),"/translations/:locale/:scope*":this.get(async()=>{let $=new _,Z=`/${$.params.scope??""}`,O=$.params.locale,j=C(i),T=O??j.detectLocale($),z=j.getPageTranslations(T,Z);return $.ctx().setCookie("i18n-locale",T,{expires:new Date(Date.now()+31536000000)}),{[T]:z}})}}class p6{}class h6 extends p6{async resize($,Z){let{height:O,width:j,quality:T,fit:z}=Z;return await(await I3("The Sharp image optimization driver"))($).resize(j>0?j:void 0,O>0?O:void 0,{fit:z}).webp({quality:T>0?T:80,force:!0}).toBuffer()}}function oU($){return $}function S7(){return{driver:new h6}}class c6 extends N0{routes={"/resize":this.file(async()=>{let $=new _,Z=new URL($.rawRequest.url),O=Z.searchParams.get("url"),j=Number(Z.searchParams.get("w")),T=Number(Z.searchParams.get("h")),z=Z.searchParams.get("fit")??"cover",J=Number(Z.searchParams.get("q"));if(!O)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});let Y=`${O.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${O}`,X=await fetch(Y);if(!X.ok)return new Response(JSON.stringify({error:"Image not found",info:Y}),{headers:{"Content-Type":"application/json"},status:404});let F=Buffer.from(await X.arrayBuffer()),U=await C(N7).resize(F,{height:T,width:j,fit:z,quality:J});X.headers.delete("Content-Type"),X.headers.delete("Content-Length");let D=new Headers(X.headers);return D.set("Content-Type","image/webp"),D.set("Content-Length",`${U.byteLength}`),new Response(new Uint8Array(U),{headers:D})})}}class N7{static token="image";driver;constructor($={}){this.driver=$.driver??S7().driver}resize($,Z){return this.driver.resize($,Z)}}class l6 extends N0{middlewares=["cache:private,0"];routes={"/live":this.get(async()=>{let $=Bun.file(C(_7).currentLogFilePath);return new Response(await $.text(),{headers:{"Content-Type":"text/plain"}})})}}function jX($){let Z=new Map;for(let O of $)if(typeof O==="string"){let[j,T=""]=O.split(":");if(j.startsWith("-")){if(Z.has(j.replace("-","")))Z.delete(j.replace("-",""))}else Z.set(j,T.split(",").filter(Boolean))}else Z.set(O,[]);return Z}class lZ{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[Z]=$.split(":");if(Z.startsWith("-"))throw Error(`Global middleware "${$}" cancels an alias, but nothing is inherited into the global list. Remove it.`);if(!this.aliases[Z])throw Error(`Global middleware "${Z}" 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 Z=new _;return Array.from(jX($).entries()).map(([O,j])=>{if(typeof O==="string"){let T=this.aliases[O];if(T){let z=new T(Z);return()=>z.run.call(z,...j)}}else{if(eZ(O)){let T=new O(Z);return T.run.bind(T)}return O}}).filter(Boolean).reduce((O,j)=>{return async()=>{return{...await O(),...await j()}}},()=>Promise.resolve({}))()}}function FG($){return $}function x7(){return{onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{}}}function P7(){return{partialRendering:!0,onRequestStart:()=>{},onRequestEnd:()=>{},onRequestFail:()=>{},onStreamComplete:()=>{}}}function TX($){return"run"in $}function zX($){return Object.hasOwn($,"get")||Object.hasOwn($,"post")||Object.hasOwn($,"put")||Object.hasOwn($,"delete")}function JX($){return Object.hasOwn($,"first")&&Object.hasOwn($,"second")}function WX($){if("__brand"in $)return $.__brand==="ApiRouter";return!1}function YX($){if("__internal_brand"in $)return $.__internal_brand==="ProxyHandler";return!1}function XX($){if("__internal_brand"in $)return $.__internal_brand==="StreamHandler";return!1}function d6($,Z="",O=[]){let j={};function T(z,J,W,Y,X){let F=z==="/"?"":z,U=Z==="/"?"":Z,D=(`${U}${F}`===""?"/":`${U}${F}`).replaceAll("//","/");if(!j[D])j[D]={};j[D][J.toUpperCase()]={exec:W,middleware:[...O,...Y],...X?{source:X}:{}},j[D].OPTIONS={exec:()=>{let G=new _().ctx().headers;return new Response(null,{headers:G,status:204})},middleware:[]}}for(let[z,J]of Object.entries($)){if(YX(J)){let W=J;for(let Y of["GET","POST","PUT","DELETE"])T(z,Y,W.run.bind(W),W.middlewares);continue}if(TX(J)){let W=J,Y=W.method,X=W.middlewares,F=W.run.bind(W);if(T(z,Y,F,X,W.source),XX(J))T(z,"HEAD",F,X,W.source)}if(zX(J))for(let[W,Y]of Object.entries(J)){let X=Y.middlewares,F=Y.run.bind(Y);T(z,W,F,X,Y.source)}if(WX(J)){let W=new J,Y=d6(W.routes,`${Z}${z}`,W.middlewares);for(let[X,F]of Object.entries(Y))j[X.replaceAll("//","/")]=F}if(JX(J)){let{first:W,second:Y}=J;for(let[X,F]of Object.entries(W)){let U=F.middlewares,D=F.run.bind(F),[B,...G]=z.split("/").reverse();if(!B.startsWith(":"))throw Error("Resource route must end with a dynamic segment");T(G.reverse().join("/"),X,D,U,F.source)}for(let[X,F]of Object.entries(Y)){let U=F.middlewares,D=F.run.bind(F);T(z,X,D,U,F.source)}}}return Object.fromEntries(Object.entries(j).sort(([z],[J])=>{let W=z.split("/").length+z.split(":").length,Y=J.split("/").length+J.split(":").length;return W-Y}))}function M3($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function i6($,Z){if($==="/")return Z;if(Z==="/")return $;return`${$}${Z}`}function u6($){let Z=M3($);return Z.length>1?Z.replace(/\/$/,""):Z}function E7($,Z){return Z.map((O)=>({...O,path:u6(i6($,O.path))}))}function S3($){let Z={};for(let[O,j]of Object.entries($))if("run"in j){let T=j;if("children"in T){let z=new T.children,J=S3(z.routes);for(let[W,{exec:Y,middleware:X,segments:F,features:U}]of Object.entries(J)){let D=i6(O,W),B=(G)=>T.run.call(T,G,O);Z[M3(D)]={exec:[B,...Y],middleware:[...T.middlewares,...X],features:[...T.featureGates,...U],viewPath:T.viewPath,segments:[{path:u6(O),viewPath:T.viewPath,...T.alwaysRuns?{alwaysRun:!0}:{}},...E7(O,F)]}}}else{let z=(J)=>T.run.call(T,J,O);Z[M3(O)]={exec:[z],middleware:T.middlewares,features:T.featureGates,viewPath:T.viewPath,segments:[{path:u6(O),viewPath:T.viewPath}]}}}else{let T=new j,z=S3(T.routes);for(let[J,{exec:W,middleware:Y,viewPath:X,segments:F,features:U}]of Object.entries(z)){let D=i6(O,J);Z[M3(D)]={exec:W,middleware:[...T.middlewares,...Y],features:[...T.featureGates,...U],viewPath:X,segments:E7(O,F)}}}return Object.fromEntries(Object.entries(Z).sort(([O],[j])=>{let T=O.split("/").length+O.split(":").length,z=j.split("/").length+j.split(":").length;return T-z}))}var FX=Object.defineProperty,S=($,Z)=>FX($,"name",{value:Z,configurable:!0}),u$=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor($,Z,O,j,T,z){this.type=$,this.name=Z,this.prefix=O,this.value=j,this.suffix=T,this.modifier=z}hasCustomName(){return this.name!==""&&typeof this.name!="number"}};S(u$,"Part");var DX=/[$_\p{ID_Start}]/u,UX=/[$_\u200C\u200D\p{ID_Continue}]/u,n6=".*";function H7($,Z){return(Z?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test($)}S(H7,"isASCII");function r6($,Z=!1){let O=[],j=0;for(;j<$.length;){let T=$[j],z=S(function(J){if(!Z)throw TypeError(J);O.push({type:"INVALID_CHAR",index:j,value:$[j++]})},"ErrorOrInvalid");if(T==="*"){O.push({type:"ASTERISK",index:j,value:$[j++]});continue}if(T==="+"||T==="?"){O.push({type:"OTHER_MODIFIER",index:j,value:$[j++]});continue}if(T==="\\"){O.push({type:"ESCAPED_CHAR",index:j++,value:$[j++]});continue}if(T==="{"){O.push({type:"OPEN",index:j,value:$[j++]});continue}if(T==="}"){O.push({type:"CLOSE",index:j,value:$[j++]});continue}if(T===":"){let J="",W=j+1;for(;W<$.length;){let Y=$.substr(W,1);if(W===j+1&&DX.test(Y)||W!==j+1&&UX.test(Y)){J+=$[W++];continue}break}if(!J){z(`Missing parameter name at ${j}`);continue}O.push({type:"NAME",index:j,value:J}),j=W;continue}if(T==="("){let J=1,W="",Y=j+1,X=!1;if($[Y]==="?"){z(`Pattern cannot start with "?" at ${Y}`);continue}for(;Y<$.length;){if(!H7($[Y],!1)){z(`Invalid character '${$[Y]}' at ${Y}.`),X=!0;break}if($[Y]==="\\"){W+=$[Y++]+$[Y++];continue}if($[Y]===")"){if(J--,J===0){Y++;break}}else if($[Y]==="("&&(J++,$[Y+1]!=="?")){z(`Capturing groups are not allowed at ${Y}`),X=!0;break}W+=$[Y++]}if(X)continue;if(J){z(`Unbalanced pattern at ${j}`);continue}if(!W){z(`Missing pattern at ${j}`);continue}O.push({type:"REGEX",index:j,value:W}),j=Y;continue}O.push({type:"CHAR",index:j,value:$[j++]})}return O.push({type:"END",index:j,value:""}),O}S(r6,"lexer");function t6($,Z={}){let O=r6($);Z.delimiter??="/#?",Z.prefixes??="./";let j=`[^${b0(Z.delimiter)}]+?`,T=[],z=0,J=0,W="",Y=new Set,X=S((V)=>{if(J<O.length&&O[J].type===V)return O[J++].value},"tryConsume"),F=S(()=>X("OTHER_MODIFIER")??X("ASTERISK"),"tryConsumeModifier"),U=S((V)=>{let x=X(V);if(x!==void 0)return x;let{type:P,index:L}=O[J];throw TypeError(`Unexpected ${P} at ${L}, expected ${V}`)},"mustConsume"),D=S(()=>{let V="",x;for(;x=X("CHAR")??X("ESCAPED_CHAR");)V+=x;return V},"consumeText"),B=S((V)=>V,"DefaultEncodePart"),G=Z.encodePart||B,K="",Q=S((V)=>{K+=V},"appendToPendingFixedValue"),f=S(()=>{K.length&&(T.push(new u$(3,"","",G(K),"",3)),K="")},"maybeAddPartFromPendingFixedValue"),I=S((V,x,P,L,M)=>{let E=3;switch(M){case"?":E=1;break;case"*":E=0;break;case"+":E=2;break}if(!x&&!P&&E===3){Q(V);return}if(f(),!x&&!P){if(!V)return;T.push(new u$(3,"","",G(V),"",E));return}let A;P?P==="*"?A=n6:A=P:A=j;let Z0=2;A===j?(Z0=1,A=""):A===n6&&(Z0=0,A="");let R;if(x?R=x:P&&(R=z++),Y.has(R))throw TypeError(`Duplicate name '${R}'.`);Y.add(R),T.push(new u$(Z0,R,G(V),A,G(L),E))},"addPart");for(;J<O.length;){let V=X("CHAR"),x=X("NAME"),P=X("REGEX");if(!x&&!P&&(P=X("ASTERISK")),x||P){let M=V??"";Z.prefixes.indexOf(M)===-1&&(Q(M),M=""),f();let E=F();I(M,x,P,"",E);continue}let L=V??X("ESCAPED_CHAR");if(L){Q(L);continue}if(X("OPEN")){let M=D(),E=X("NAME"),A=X("REGEX");!E&&!A&&(A=X("ASTERISK"));let Z0=D();U("CLOSE");let R=F();I(M,E,A,Z0,R);continue}f(),U("END")}return T}S(t6,"parse");function b0($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(b0,"escapeString");function a6($){return $&&$.ignoreCase?"ui":"u"}S(a6,"flags");function A7($,Z,O){return e6(t6($,O),Z,O)}S(A7,"stringToRegexp");function J$($){switch($){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}S(J$,"modifierToString");function e6($,Z,O={}){O.delimiter??="/#?",O.prefixes??="./",O.sensitive??=!1,O.strict??=!1,O.end??=!0,O.start??=!0,O.endsWith="";let j=O.start?"^":"";for(let W of $){if(W.type===3){W.modifier===3?j+=b0(W.value):j+=`(?:${b0(W.value)})${J$(W.modifier)}`;continue}Z&&Z.push(W.name);let Y=`[^${b0(O.delimiter)}]+?`,X=W.value;if(W.type===1?X=Y:W.type===0&&(X=n6),!W.prefix.length&&!W.suffix.length){W.modifier===3||W.modifier===1?j+=`(${X})${J$(W.modifier)}`:j+=`((?:${X})${J$(W.modifier)})`;continue}if(W.modifier===3||W.modifier===1){j+=`(?:${b0(W.prefix)}(${X})${b0(W.suffix)})`,j+=J$(W.modifier);continue}j+=`(?:${b0(W.prefix)}`,j+=`((?:${X})(?:`,j+=b0(W.suffix),j+=b0(W.prefix),j+=`(?:${X}))*)${b0(W.suffix)})`,W.modifier===0&&(j+="?")}let T=`[${b0(O.endsWith)}]|$`,z=`[${b0(O.delimiter)}]`;if(O.end)return O.strict||(j+=`${z}?`),O.endsWith.length?j+=`(?=${T})`:j+="$",new RegExp(j,a6(O));O.strict||(j+=`(?:${z}(?=${T}))?`);let J=!1;if($.length){let W=$[$.length-1];W.type===3&&W.modifier===3&&(J=O.delimiter.indexOf(W)>-1)}return J||(j+=`(?=${z}|${T})`),new RegExp(j,a6(O))}S(e6,"partsToRegexp");var g1={delimiter:"",prefixes:"",sensitive:!0,strict:!0},GX={delimiter:".",prefixes:"",sensitive:!0,strict:!0},BX={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function b7($,Z){return $.length?$[0]==="/"?!0:!Z||$.length<2?!1:($[0]=="\\"||$[0]=="{")&&$[1]=="/":!1}S(b7,"isAbsolutePathname");function $4($,Z){return $.startsWith(Z)?$.substring(Z.length,$.length):$}S($4,"maybeStripPrefix");function v7($,Z){return $.endsWith(Z)?$.substr(0,$.length-Z.length):$}S(v7,"maybeStripSuffix");function Z4($){return!$||$.length<2?!1:$[0]==="["||($[0]==="\\"||$[0]==="{")&&$[1]==="["}S(Z4,"treatAsIPv6Hostname");var w7=["ftp","file","http","https","ws","wss"];function O4($){if(!$)return!0;for(let Z of w7)if($.test(Z))return!0;return!1}S(O4,"isSpecialScheme");function R7($,Z){if($=$4($,"#"),Z||$==="")return $;let O=new URL("https://example.com");return O.hash=$,O.hash?O.hash.substring(1,O.hash.length):""}S(R7,"canonicalizeHash");function q7($,Z){if($=$4($,"?"),Z||$==="")return $;let O=new URL("https://example.com");return O.search=$,O.search?O.search.substring(1,O.search.length):""}S(q7,"canonicalizeSearch");function k7($,Z){return Z||$===""?$:Z4($)?z4($):T4($)}S(k7,"canonicalizeHostname");function g7($,Z){if(Z||$==="")return $;let O=new URL("https://example.com");return O.password=$,O.password}S(g7,"canonicalizePassword");function y7($,Z){if(Z||$==="")return $;let O=new URL("https://example.com");return O.username=$,O.username}S(y7,"canonicalizeUsername");function m7($,Z,O){if(O||$==="")return $;if(Z&&!w7.includes(Z))return new URL(`${Z}:${$}`).pathname;let j=$[0]=="/";return $=new URL(j?$:"/-"+$,"https://example.com").pathname,j||($=$.substring(2,$.length)),$}S(m7,"canonicalizePathname");function p7($,Z,O){return j4(Z)===$&&($=""),O||$===""?$:J4($)}S(p7,"canonicalizePort");function h7($,Z){return $=v7($,":"),Z||$===""?$:N3($)}S(h7,"canonicalizeProtocol");function j4($){switch($){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}S(j4,"defaultPortForProtocol");function N3($){if($==="")return $;if(/^[-+.A-Za-z0-9]*$/.test($))return $.toLowerCase();throw TypeError(`Invalid protocol '${$}'.`)}S(N3,"protocolEncodeCallback");function c7($){if($==="")return $;let Z=new URL("https://example.com");return Z.username=$,Z.username}S(c7,"usernameEncodeCallback");function l7($){if($==="")return $;let Z=new URL("https://example.com");return Z.password=$,Z.password}S(l7,"passwordEncodeCallback");function T4($){if($==="")return $;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test($))throw TypeError(`Invalid hostname '${$}'`);let Z=new URL("https://example.com");return Z.hostname=$,Z.hostname}S(T4,"hostnameEncodeCallback");function z4($){if($==="")return $;if(/[^0-9a-fA-F[\]:]/g.test($))throw TypeError(`Invalid IPv6 hostname '${$}'`);return $.toLowerCase()}S(z4,"ipv6HostnameEncodeCallback");function J4($){if($===""||/^[0-9]*$/.test($)&&parseInt($)<=65535)return $;throw TypeError(`Invalid port '${$}'.`)}S(J4,"portEncodeCallback");function d7($){if($==="")return $;let Z=new URL("https://example.com");return Z.pathname=$[0]!=="/"?"/-"+$:$,$[0]!=="/"?Z.pathname.substring(2,Z.pathname.length):Z.pathname}S(d7,"standardURLPathnameEncodeCallback");function i7($){return $===""?$:new URL(`data:${$}`).pathname}S(i7,"pathURLPathnameEncodeCallback");function u7($){if($==="")return $;let Z=new URL("https://example.com");return Z.search=$,Z.search.substring(1,Z.search.length)}S(u7,"searchEncodeCallback");function s7($){if($==="")return $;let Z=new URL("https://example.com");return Z.hash=$,Z.hash.substring(1,Z.hash.length)}S(s7,"hashEncodeCallback");var n7=class{#z;#j=[];#Z={};#$=0;#T=1;#X=0;#W=0;#G=0;#B=0;#K=!1;constructor($){this.#z=$}get result(){return this.#Z}parse(){for(this.#j=r6(this.#z,!0);this.#$<this.#j.length;this.#$+=this.#T){if(this.#T=1,this.#j[this.#$].type==="END"){if(this.#W===0){this.#V(),this.#F()?this.#O(9,1):this.#D()?this.#O(8,1):this.#O(7,0);continue}else if(this.#W===2){this.#U(5);continue}this.#O(10,0);break}if(this.#G>0)if(this.#x())this.#G-=1;else continue;if(this.#_()){this.#G+=1;continue}switch(this.#W){case 0:this.#L()&&this.#U(1);break;case 1:if(this.#L()){this.#H();let $=7,Z=1;this.#M()?($=2,Z=3):this.#K&&($=2),this.#O($,Z)}break;case 2:this.#C()?this.#U(3):(this.#f()||this.#D()||this.#F())&&this.#U(5);break;case 3:this.#S()?this.#O(4,1):this.#C()&&this.#O(5,1);break;case 4:this.#C()&&this.#O(5,1);break;case 5:this.#P()?this.#B+=1:this.#E()&&(this.#B-=1),this.#N()&&!this.#B?this.#O(6,1):this.#f()?this.#O(7,0):this.#D()?this.#O(8,1):this.#F()&&this.#O(9,1);break;case 6:this.#f()?this.#O(7,0):this.#D()?this.#O(8,1):this.#F()&&this.#O(9,1);break;case 7:this.#D()?this.#O(8,1):this.#F()&&this.#O(9,1);break;case 8:this.#F()&&this.#O(9,1);break;case 9:break;case 10:break}}this.#Z.hostname!==void 0&&this.#Z.port===void 0&&(this.#Z.port="")}#O($,Z){switch(this.#W){case 0:break;case 1:this.#Z.protocol=this.#Y();break;case 2:break;case 3:this.#Z.username=this.#Y();break;case 4:this.#Z.password=this.#Y();break;case 5:this.#Z.hostname=this.#Y();break;case 6:this.#Z.port=this.#Y();break;case 7:this.#Z.pathname=this.#Y();break;case 8:this.#Z.search=this.#Y();break;case 9:this.#Z.hash=this.#Y();break;case 10:break}this.#W!==0&&$!==10&&([1,2,3,4].includes(this.#W)&&[6,7,8,9].includes($)&&(this.#Z.hostname??=""),[1,2,3,4,5,6].includes(this.#W)&&[8,9].includes($)&&(this.#Z.pathname??=this.#K?"/":""),[1,2,3,4,5,6,7].includes(this.#W)&&$===9&&(this.#Z.search??="")),this.#I($,Z)}#I($,Z){this.#W=$,this.#X=this.#$+Z,this.#$+=Z,this.#T=0}#V(){this.#$=this.#X,this.#T=0}#U($){this.#V(),this.#W=$}#Q($){return $<0&&($=this.#j.length-$),$<this.#j.length?this.#j[$]:this.#j[this.#j.length-1]}#J($,Z){let O=this.#Q($);return O.value===Z&&(O.type==="CHAR"||O.type==="ESCAPED_CHAR"||O.type==="INVALID_CHAR")}#L(){return this.#J(this.#$,":")}#M(){return this.#J(this.#$+1,"/")&&this.#J(this.#$+2,"/")}#C(){return this.#J(this.#$,"@")}#S(){return this.#J(this.#$,":")}#N(){return this.#J(this.#$,":")}#f(){return this.#J(this.#$,"/")}#D(){if(this.#J(this.#$,"?"))return!0;if(this.#j[this.#$].value!=="?")return!1;let $=this.#Q(this.#$-1);return $.type!=="NAME"&&$.type!=="REGEX"&&$.type!=="CLOSE"&&$.type!=="ASTERISK"}#F(){return this.#J(this.#$,"#")}#_(){return this.#j[this.#$].type=="OPEN"}#x(){return this.#j[this.#$].type=="CLOSE"}#P(){return this.#J(this.#$,"[")}#E(){return this.#J(this.#$,"]")}#Y(){let $=this.#j[this.#$],Z=this.#Q(this.#X).index;return this.#z.substring(Z,$.index)}#H(){let $={};Object.assign($,g1),$.encodePart=N3;let Z=A7(this.#Y(),void 0,$);this.#K=O4(Z)}};S(n7,"Parser");var s6=["protocol","username","password","hostname","port","pathname","search","hash"],k1="*";function o6($,Z){if(typeof $!="string")throw TypeError("parameter 1 is not of type 'string'.");let O=new URL($,Z);return{protocol:O.protocol.substring(0,O.protocol.length-1),username:O.username,password:O.password,hostname:O.hostname,port:O.port,pathname:O.pathname,search:O.search!==""?O.search.substring(1,O.search.length):void 0,hash:O.hash!==""?O.hash.substring(1,O.hash.length):void 0}}S(o6,"extractValues");function j1($,Z){return Z?i$($):$}S(j1,"processBaseURLString");function d$($,Z,O){let j;if(typeof Z.baseURL=="string")try{j=new URL(Z.baseURL),Z.protocol===void 0&&($.protocol=j1(j.protocol.substring(0,j.protocol.length-1),O)),!O&&Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&Z.username===void 0&&($.username=j1(j.username,O)),!O&&Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&Z.username===void 0&&Z.password===void 0&&($.password=j1(j.password,O)),Z.protocol===void 0&&Z.hostname===void 0&&($.hostname=j1(j.hostname,O)),Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&($.port=j1(j.port,O)),Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&Z.pathname===void 0&&($.pathname=j1(j.pathname,O)),Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&Z.pathname===void 0&&Z.search===void 0&&($.search=j1(j.search.substring(1,j.search.length),O)),Z.protocol===void 0&&Z.hostname===void 0&&Z.port===void 0&&Z.pathname===void 0&&Z.search===void 0&&Z.hash===void 0&&($.hash=j1(j.hash.substring(1,j.hash.length),O))}catch{throw TypeError(`invalid baseURL '${Z.baseURL}'.`)}if(typeof Z.protocol=="string"&&($.protocol=h7(Z.protocol,O)),typeof Z.username=="string"&&($.username=y7(Z.username,O)),typeof Z.password=="string"&&($.password=g7(Z.password,O)),typeof Z.hostname=="string"&&($.hostname=k7(Z.hostname,O)),typeof Z.port=="string"&&($.port=p7(Z.port,$.protocol,O)),typeof Z.pathname=="string"){if($.pathname=Z.pathname,j&&!b7($.pathname,O)){let T=j.pathname.lastIndexOf("/");T>=0&&($.pathname=j1(j.pathname.substring(0,T+1),O)+$.pathname)}$.pathname=m7($.pathname,$.protocol,O)}return typeof Z.search=="string"&&($.search=q7(Z.search,O)),typeof Z.hash=="string"&&($.hash=R7(Z.hash,O)),$}S(d$,"applyInit");function i$($){return $.replace(/([+*?:{}()\\])/g,"\\$1")}S(i$,"escapePatternString");function a7($){return $.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}S(a7,"escapeRegexpString");function o7($,Z){Z.delimiter??="/#?",Z.prefixes??="./",Z.sensitive??=!1,Z.strict??=!1,Z.end??=!0,Z.start??=!0,Z.endsWith="";let O=".*",j=`[^${a7(Z.delimiter)}]+?`,T=/[$_\u200C\u200D\p{ID_Continue}]/u,z="";for(let J=0;J<$.length;++J){let W=$[J];if(W.type===3){if(W.modifier===3){z+=i$(W.value);continue}z+=`{${i$(W.value)}}${J$(W.modifier)}`;continue}let Y=W.hasCustomName(),X=!!W.suffix.length||!!W.prefix.length&&(W.prefix.length!==1||!Z.prefixes.includes(W.prefix)),F=J>0?$[J-1]:null,U=J<$.length-1?$[J+1]:null;if(!X&&Y&&W.type===1&&W.modifier===3&&U&&!U.prefix.length&&!U.suffix.length)if(U.type===3){let D=U.value.length>0?U.value[0]:"";X=T.test(D)}else X=!U.hasCustomName();if(!X&&!W.prefix.length&&F&&F.type===3){let D=F.value[F.value.length-1];X=Z.prefixes.includes(D)}X&&(z+="{"),z+=i$(W.prefix),Y&&(z+=`:${W.name}`),W.type===2?z+=`(${W.value})`:W.type===1?Y||(z+=`(${j})`):W.type===0&&(!Y&&(!F||F.type===3||F.modifier!==3||X||W.prefix!=="")?z+="*":z+=`(${O})`),W.type===1&&Y&&W.suffix.length&&T.test(W.suffix[0])&&(z+="\\"),z+=i$(W.suffix),X&&(z+="}"),W.modifier!==3&&(z+=J$(W.modifier))}return z}S(o7,"partsToPattern");var W4=class{#z;#j={};#Z={};#$={};#T={};#X=!1;constructor($={},Z,O){try{let j;if(typeof Z=="string"?j=Z:O=Z,typeof $=="string"){let W=new n7($);if(W.parse(),$=W.result,j===void 0&&typeof $.protocol!="string")throw TypeError("A base URL must be provided for a relative constructor string.");$.baseURL=j}else{if(!$||typeof $!="object")throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(j)throw TypeError("parameter 1 is not of type 'string'.")}typeof O>"u"&&(O={ignoreCase:!1});let T={ignoreCase:O.ignoreCase===!0},z={pathname:k1,protocol:k1,username:k1,password:k1,hostname:k1,port:k1,search:k1,hash:k1};this.#z=d$(z,$,!0),j4(this.#z.protocol)===this.#z.port&&(this.#z.port="");let J;for(J of s6){if(!(J in this.#z))continue;let W={},Y=this.#z[J];switch(this.#Z[J]=[],J){case"protocol":Object.assign(W,g1),W.encodePart=N3;break;case"username":Object.assign(W,g1),W.encodePart=c7;break;case"password":Object.assign(W,g1),W.encodePart=l7;break;case"hostname":Object.assign(W,GX),Z4(Y)?W.encodePart=z4:W.encodePart=T4;break;case"port":Object.assign(W,g1),W.encodePart=J4;break;case"pathname":O4(this.#j.protocol)?(Object.assign(W,BX,T),W.encodePart=d7):(Object.assign(W,g1,T),W.encodePart=i7);break;case"search":Object.assign(W,g1,T),W.encodePart=u7;break;case"hash":Object.assign(W,g1,T),W.encodePart=s7;break}try{this.#T[J]=t6(Y,W),this.#j[J]=e6(this.#T[J],this.#Z[J],W),this.#$[J]=o7(this.#T[J],W),this.#X=this.#X||this.#T[J].some((X)=>X.type===2)}catch{throw TypeError(`invalid ${J} pattern '${this.#z[J]}'.`)}}}catch(j){throw TypeError(`Failed to construct 'URLPattern': ${j.message}`)}}get[Symbol.toStringTag](){return"URLPattern"}test($={},Z){let O={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&Z)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return!1;try{typeof $=="object"?O=d$(O,$,!1):O=d$(O,o6($,Z),!1)}catch{return!1}let j;for(j of s6)if(!this.#j[j].exec(O[j]))return!1;return!0}exec($={},Z){let O={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof $!="string"&&Z)throw TypeError("parameter 1 is not of type 'string'.");if(typeof $>"u")return;try{typeof $=="object"?O=d$(O,$,!1):O=d$(O,o6($,Z),!1)}catch{return null}let j={};Z?j.inputs=[$,Z]:j.inputs=[$];let T;for(T of s6){let z=this.#j[T].exec(O[T]);if(!z)return null;let J={};for(let[W,Y]of this.#Z[T].entries())if(typeof Y=="string"||typeof Y=="number"){let X=z[W+1];J[Y]=X}j[T]={input:O[T]??"",groups:J}}return j}static compareComponent($,Z,O){let j=S((W,Y)=>{for(let X of["type","modifier","prefix","value","suffix"]){if(W[X]<Y[X])return-1;if(W[X]===Y[X])continue;return 1}return 0},"comparePart"),T=new u$(3,"","","","",3),z=new u$(0,"","","","",3),J=S((W,Y)=>{let X=0;for(;X<Math.min(W.length,Y.length);++X){let F=j(W[X],Y[X]);if(F)return F}return W.length===Y.length?0:j(W[X]??T,Y[X]??T)},"comparePartList");return!Z.#$[$]&&!O.#$[$]?0:Z.#$[$]&&!O.#$[$]?J(Z.#T[$],[z]):!Z.#$[$]&&O.#$[$]?J([z],O.#T[$]):J(Z.#T[$],O.#T[$])}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.#X}};S(W4,"URLPattern");function dZ($,Z){for(let[O,j]of Object.entries($)){let T=new W4({pathname:O});if(T.test({pathname:Z}))return{routePath:O,params:T.exec({pathname:Z})?.pathname.groups??{},route:j}}return null}var W$={startIndex:0,carriedViews:[]};function r7($,Z){let O=T0($.path,Z);return O.includes("*")?null:O}function KX($,Z){if(!$)return W$;if($.search!==Z.search)return W$;let O=Math.min($.segments.length,Z.segments.length-1),j=0;while(j<O){let T=$.segments[j],z=Z.segments[j];if(z.alwaysRun)break;if(T.viewPath!==z.viewPath)break;let J=r7(T,$.params),W=r7(z,Z.params);if(J===null||W===null||J!==W)break;j++}if(j===0)return W$;return{startIndex:j,carriedViews:Z.segments.slice(0,j).map(({viewPath:T})=>T)}}function QX($,Z){let[,O,...j]=$.split("/");if(!Z.includes(O))return $;let T=`/${j.join("/")}`;return T==="/"?"/":T.replace(/\/$/,"")}function t7($){let{flatViewRoutes:Z,supportedLocales:O,from:j,origin:T,to:z}=$;if(!j)return W$;let J;try{J=new URL(j,T)}catch{return W$}if(J.origin!==T)return W$;let W=dZ(Z,QX(J.pathname,O));if(!W)return W$;return KX({segments:W.route.segments,params:W.params,search:J.search},z)}var Y4="x-gemi-from";import{createElement as e$,Fragment as mX}from"react";function CX($){return $.replace(/\([^)]*\)/g,"").replace(/\/\//g,"/")}function _3($){let Z={};for(let[O,j]of Object.entries($))if("run"in j){let T=j.viewPath;if("children"in j){Z[O]=[T];let z=new j.children,J=_3(z.routes);for(let[W,Y]of Object.entries(J)){let X=O==="/"?W:`${O}${W}`,F=W==="/"&&O!=="/"?O:X;Z[F]=[T,...Y]}if(Z[O].length===1)delete Z[O]}else Z[O]=[T]}else{let T=new j,z=_3(T.routes);for(let[J,W]of Object.entries(z)){let Y=O==="/"?J:`${O}${J}`,X=J==="/"&&O!=="/"?O:Y;Z[X]=W}}return Object.fromEntries(Object.entries(Z).map(([O,j])=>[CX(O),j]))}function x3($){let Z=[];for(let[O,j]of Object.entries($))if("run"in j){let T=j.viewPath;if(T==="__")continue;if(T==="REDIRECT")continue;if(T==="FILE")continue;if("children"in j){let z=new j.children,J=x3(z.routes);Z.push([T,J])}else Z.push([T,[]])}else{let T=new j,z=x3(T.routes);Z.push(...z)}return Z}function X4($){let Z=[];for(let[O,j]of $)Z.push(O,...X4(j).flat());return Array.from(new Set(Z))}class s$ extends v0{static getFacadeAccessor(){return i}static getSupportedLocales(){return this.getFacadeRoot().supportedLocales}static getDefaultLocale(){return this.getFacadeRoot().defaultLocale}static locale(){let $=this.getFacadeRoot(),Z=N.getStore();if(Z)return Z.locale??$.detectLocale(Z.req);return $.defaultLocale}static setLocale($=s$.locale()){let Z=this.getFacadeRoot(),O=$;if(!Z.supportedLocales.includes($))O=Z.defaultLocale;let j=N.getStore();return j.setCookie("i18n-locale",O,{expires:new Date(Date.now()+31536000000),secure:!1,httpOnly:!1}),j.setLocale(O),O}}class F4{id;static token="kernel.id";constructor($=crypto.randomUUID()){this.id=$}}var fX=new Set(["script","style","textarea","title","xmp","iframe","noembed","noframes","noscript"]),VX=new Set(["svg","math"]);function e7($){return $===32||$===9||$===10||$===12||$===13}function $J($){return $>=65&&$<=90||$>=97&&$<=122}function P3($){return $>=65&&$<=90?$+32:$}function ZJ(){let $="data",Z="",O=!1,j="",T=0,z=0,J=!1,W=0,Y=0,X=()=>$==="data"&&W===0&&Y===0,F=()=>{if(!O&&fX.has(Z)){$="rawText",j=`</${Z}`,T=0,Z="";return}if($="data",Z==="template")if(O)W=Math.max(0,W-1);else W+=1;else if(VX.has(Z)){if(O)Y=Math.max(0,Y-1);else if(!J)Y+=1}Z=""},U=(D)=>{switch($){case"data":if(D===60)$="tagOpen";return;case"tagOpen":if(D===33)$="bang",z=0;else if(D===47)$="endTagOpen";else if($J(D))$="tagName",O=!1,J=!1,Z=String.fromCharCode(P3(D));else if(D===63)$="bogus";else if(D===60)$="tagOpen";else $="data";return;case"endTagOpen":if($J(D))$="tagName",O=!0,J=!1,Z=String.fromCharCode(P3(D));else if(D===62)$="data";else $="bogus";return;case"tagName":if(e7(D)||D===47)$="inTag",J=D===47;else if(D===62)F();else Z+=String.fromCharCode(P3(D));return;case"inTag":if(D===62){F();return}if(J=D===47,D===34)$="attrDouble";else if(D===39)$="attrSingle";return;case"attrDouble":if(D===34)$="inTag";J=!1;return;case"attrSingle":if(D===39)$="inTag";J=!1;return;case"bang":if(D===45){if(z+=1,z===2)$="comment",z=0}else if(D===62)$="data";else $="bogus";return;case"bogus":if(D===62)$="data";return;case"comment":if(D===45)z=z<2?z+1:2;else if(D===62&&z>=2)$="data",z=0;else z=0;return;case"rawText":{if(T<j.length){if(P3(D)===j.charCodeAt(T))T+=1;else T=D===60?1:0;return}if(D===62)$="data",Z="";else if(e7(D)||D===47)$="inTag",Z="";else T=D===60?1:0;return}}};return{scanToInsertionPoint(D){for(let B=0;B<D.length;B++){if(X())return B;U(D[B])}return D.length},write(D){for(let B=0;B<D.length;B++)U(D[B])},isSafe:X}}function Y$($){let Z=JSON.stringify($);if(Z===void 0)return"undefined";return Z.replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function LX($){return`<script>(self.__GEMI_STREAM__=self.__GEMI_STREAM__||[]).push(${Y$([$.path,$.variantKey,$.data])})</script>`}function IX($){return`<script>(self.__GEMI_DICT__=self.__GEMI_DICT__||[]).push(${Y$([$.id,$.locale,$.strings])})</script>`}function D4($,Z,O={},j){let T=new TextEncoder,z=[],J=!1,W=!1,Y=()=>{if(W)return;W=!0,O.onClose?.()};Z.onSettle((G)=>{if(G.status!=="resolved")return;z.push(LX(G))}),j?.onUse((G)=>{z.push(IX(G))});let X=$.getReader(),F=ZJ(),U=(G,K)=>{G.enqueue(K),O.onChunk?.(K)},D=(G)=>{while(z.length>0){let K=T.encode(z.shift());F.write(K),U(G,K)}},B=(G,K)=>{if(z.length===0){F.write(K),U(G,K);return}let Q=F.scanToInsertionPoint(K);if(Q>0)U(G,K.subarray(0,Q));if(F.isSafe())D(G);let f=K.subarray(Q);if(f.length>0)F.write(f),U(G,f)};return new ReadableStream({async pull(G){let K;try{K=await X.read()}catch(I){throw Y(),I}let{done:Q,value:f}=K;if(Q){D(G),G.close(),Y();return}if(!J){if(J=!0,F.write(f),U(G,f),O.onShell?.(),F.isSafe())D(G);return}B(G,f)},cancel(G){return Y(),X.cancel(G)}})}var MX=/bot|crawler|spider|crawling|slurp|bingpreview|mediapartners|headless|lighthouse|prerender|facebookexternalhit|whatsapp|telegram|discord|twitterbot|linkedinbot/i;function E3($){if(!$)return!1;return MX.test($)}async function jJ($,Z=()=>{}){let O=N.getStore(),j=O?.req??null,T=null;if(j?.rawRequest?.url)try{T=new URL(j.rawRequest.url).pathname}catch{T=null}return{user:O?.user??null,attributes:await SX($,Z),request:{path:T,routePath:j?.routePath??null,locale:O?.locale??null},anonymousId:OJ(),isBot:E3(j?.rawRequest?.headers?.get("user-agent")??null),now:new Date}}function TJ($){return{user:$.user??null,attributes:$.attributes??{},request:{path:null,routePath:null,locale:null},anonymousId:$.subjectId??null,isBot:!1,now:new Date}}async function SX($,Z){if(!$.context)return{};try{let O=N.getStore();return await $.context(O?.req??null)??{}}catch(O){return Z(`The \`context\` hook in app/config/features.ts threw; evaluating with no attributes. ${O instanceof Error?O.message:String(O)}`),{}}}function zJ($,Z){return`${$}:${Z}`}function U4($){let Z=new Bun.CryptoHasher("sha1").update($).digest("hex"),O=Number.parseInt(Z.slice(0,8),16);return Math.floor(O/4294967296*1e4)}function JJ($,Z){if(Z>=100)return!0;if(Z<=0)return!1;return $<Math.round(Z*100)}function WJ($,Z,O,j){if(j.unavailable)return{value:!1,reason:"unavailable"};if(j.active!==!0)return{value:!1,reason:"inactive"};if(Z.when){let z;try{z=Z.when(O)}catch(J){return j.warn?.(`The \`when\` for feature "${$}" threw; treating it as off. ${J instanceof Error?J.message:String(J)}`),{value:!1,reason:"error"}}if(typeof z==="boolean")return{value:z,reason:"attributed"}}if(Z.rollout===void 0)return{value:!0,reason:"on"};if(O.isBot)return{value:!1,reason:"bot"};let T=_X($,Z,O,j.buckets);return JJ(T,Z.rollout)?{value:!0,reason:"rollout"}:{value:!1,reason:"excluded"}}function NX($){let Z=$.user?.publicId??$.user?.id;if(Z!==void 0&&Z!==null)return String(Z);return $.anonymousId??""}function _X($,Z,O,j){let T=zJ(Z.salt??$,NX(O));if(!j)return U4(T);let z=j.get(T);if(z!==void 0)return z;let J=U4(T);return j.set(T,J),J}class YJ 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 G4{source;declared;ttlMs;warn;snapshot=null;inflight=null;lastFailureLoggedAt=0;generation=0;lastError=null;retryAfter=0;constructor($,Z,O,j=()=>{}){this.source=$;this.declared=Z;this.ttlMs=O;this.warn=j}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,Z=await this.refresh();if(this.generation===$)throw new YJ(this.lastError);return Z}peek(){return this.snapshot}async load(){try{let $=await this.source.load(),{active:Z,audit:O}=this.readRows($);return this.snapshot={active:Z,audit:O,loadedAt:Date.now(),unavailable:!1},this.generation++,this.lastError=null,this.retryAfter=0,this.snapshot}catch($){return this.handleFailure($)}}readRows($){let Z=new Map,O=new Map;for(let j of $??[]){let T=typeof j?.key==="string"?j.key:null;if(!T){this.warn("Ignoring a feature row with no `key`.");continue}if(!(T in this.declared)){this.warn(`Feature row "${T}" is not declared in app/features, so it is ignored. Delete the row, or declare the feature.`);continue}Z.set(T,j.active===!0);let z=xX(j);if(z)O.set(T,z)}return{active:Z,audit:O}}handleFailure($){let Z=$ instanceof Error?$.message:String($),O=Date.now();if(this.lastError=$,this.retryAfter=O+this.ttlMs,O-this.lastFailureLoggedAt>=this.ttlMs)this.lastFailureLoggedAt=O,this.warn(`Could not load feature switches: ${Z}`);if(this.snapshot)return this.snapshot;return this.snapshot={active:new Map,audit:new Map,loadedAt:O,unavailable:!0},this.snapshot}}function xX($){let Z={},O=$.updatedBy;if(typeof O==="string")Z.updatedBy=O;else if(O===null)Z.updatedBy=null;let j=$.updatedAt;if(j instanceof Date||typeof j==="string"||typeof j==="number"){let T=j instanceof Date?j:new Date(j);if(!Number.isNaN(T.getTime()))Z.updatedAt=T}return"updatedBy"in Z||"updatedAt"in Z?Z:null}class PX{}class EX 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 B4 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 XJ 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 FJ{manager;ctx;constructor($,Z){this.manager=$;this.ctx=Z}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 n${config;log;static token="features";store;declared;warnedAboutSize=!1;warnedAboutActor=!1;constructor($,Z=()=>{}){this.config=$;this.log=Z;this.declared=$.features??{},this.store=new G4($.source,this.declared,Math.max(0,$.ttl)*1000,this.log)}declarations(){return this.declared}async list(){let{active:$,audit:Z,unavailable:O}=await this.switches();return{unavailable:O,features:Object.entries(this.declared).map(([j,T])=>({key:j,describe:T.describe,rollout:T.rollout,targeted:T.when!==void 0,serverOnly:T.serverOnly,salt:T.salt,active:$.get(j),...Z.get(j)}))}}async refresh(){if(!this.config.enabled)return;if(Object.keys(this.declared).length===0)return;await this.store.refresh()}async invalidate(){try{if(this.config.enabled&&Object.keys(this.declared).length>0)await this.store.invalidate()}finally{N.getStore()?.featureEvaluations?.clear()}}async set($,Z,O={}){if(typeof $!=="string"||!Object.hasOwn(this.declared,$))throw new XJ(String($));if(typeof Z!=="boolean")throw TypeError(`Features.set("${$}", \u2026) takes a boolean, not ${Z===null?"null":typeof Z}.`);let j=HX(O.actor),T=this.config.source;if(typeof T.write!=="function")throw new B4(T.constructor?.name||"an anonymous source");let{actorRecorded:z}=await T.write($,Z,{actor:j});if(j!==null&&!z&&!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 Z=await this.requestContext();return await this.evaluateIn($,Z,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(),Z=await this.evaluateAllIn($,this.requestBuckets(),{clientOnly:!0});return this.warnIfOversized(Object.keys(Z).length),Z}for($){return new FJ(this,TJ($))}async evaluateIn($,Z,O){let j=this.memoFor(Z),T=j?.get($);if(T)return T;let z=this.declared[$];if(!z)return{value:!1,reason:"undeclared"};let{active:J,unavailable:W}=await this.switchFor($),Y=WJ($,z,Z,{active:J,unavailable:W,buckets:O,warn:this.log});return j?.set($,Y),this.notify($,Y,Z),Y}async evaluateAllIn($,Z,O){let j={};for(let[T,z]of Object.entries(this.declared)){if(O.clientOnly&&z.serverOnly)continue;j[T]=(await this.evaluateIn(T,$,Z)).value}return j}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 Z=await this.store.get();return{active:Z.active.get($),unavailable:Z.unavailable}}async requestContext(){let $=N.getStore();if($?.featureContext)return $.featureContext;let Z=await jJ(this.config,this.log);if($)$.featureContext=Z;return Z}memoFor($){let Z=N.getStore();if(!Z||Z.featureContext!==$)return null;return Z.featureEvaluations??=new Map,Z.featureEvaluations}requestBuckets(){let $=N.getStore();if(!$)return new Map;return $.featureBuckets??=new Map,$.featureBuckets}notify($,Z,O){if(!this.config.onEvaluate)return;try{this.config.onEvaluate($,Z,O)}catch(j){this.log(`The \`onEvaluate\` hook in app/config/features.ts threw for "${$}". ${j instanceof Error?j.message:String(j)}`)}}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 HX($){if($===void 0||$===null)return null;if(typeof $==="string"){if($.length>0)return $}else if(typeof $==="object"){let{publicId:Z,id:O}=$;if(typeof Z==="string"&&Z.length>0)return Z;if(typeof O==="string"&&O.length>0||typeof O==="number")return String(O)}throw TypeError("Features.set() was given an `actor` that identifies nobody. Pass a string, or a user with a `publicId` or an `id`.")}function DJ($){return Object.fromEntries(Object.entries($).filter(([,Z])=>{return Z!==null&&Z!==void 0}))}var AX=50;class a${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($,Z){return[$,Z].filter((O)=>O.length>0).join("?")}markRenderStart(){if(this.renderStartedAt===null)this.renderStartedAt=performance.now()}markShell(){if(this.shellAt===null)this.shellAt=this.elapsed()}summarize($){let Z=this.elapsed();return{shellAt:this.shellAt??Z,settledAt:Z,aborted:$,queries:Array.from(this.entries.values(),(O)=>({path:O.path,variantKey:O.variantKey,startedAt:O.startedAt,settledAt:O.settledAt,status:O.status,source:O.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 Z="";try{let T=JSON.stringify($.data)?.length??0;Z=T>=1024?`${(T/1024).toFixed(1)} kB`:`${T} B`}catch{Z="an unserializable payload"}let O=($.settledAt??0)-$.startedAt,j=$.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 (${O}ms, resolved ${Z}) could not overlap the others. It still streamed. If the query belongs on this route, \`Query.prefetch("${$.patternPath}"${j})\` 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 ${Z}. 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($,Z){return this.entries.get(this.keyFor($,Z))}ensure($,Z={},O="render"){let j=Z.params??{},T=new URLSearchParams(DJ(Z.search??{}));T.delete("json"),T.sort();let z=T0($,j),J=T.toString(),W=this.keyFor(z,J),Y=this.entries.get(W);if(Y)return Y;let X;if(O==="render"&&this.renderStartedAt!==null){let B=Math.round(performance.now()-this.renderStartedAt);if(B>AX)X=B}let F,U=new Promise((B)=>{F=B}),D={path:z,patternPath:$,variantKey:J,lateBy:X,status:"pending",promise:U,source:O,startedAt:this.elapsed()};return this.entries.set(W,D),this.fetcher($,j,T).then((B)=>{D.status="resolved",D.data=B},(B)=>{D.status="rejected",D.error=B}).then(()=>{if(D.settledAt=this.elapsed(),this.maybeLogLateDiscovery(D),D.status==="rejected"&&this.failListener)this.failListener(D);if(this.settleListener)this.settleListener(D);else this.settledBacklog.push(D);F()}),D}async allSettled(){let $=0;while($!==this.entries.size)$=this.entries.size,await Promise.all(Array.from(this.entries.values(),(Z)=>Z.promise))}snapshotResolved(){let $={};for(let[Z,O]of this.entries){if(O.status!=="resolved")continue;this.shipped.add(Z),$[O.path]??={},$[O.path][O.variantKey]=O.data}return $}onSettle($){this.settleListener=(O)=>{if(this.shipped.has(this.keyFor(O.path,O.variantKey)))return;$(O)};let Z=this.settledBacklog;this.settledBacklog=[];for(let O of Z)this.settleListener(O)}}class y1 extends Error{path;variantKey;status;body;retryAfter;constructor($,Z,O,j,T){super(typeof j?.message==="string"?j.message:`Request to /api${$} failed with status ${O}`);this.path=$;this.variantKey=Z;this.status=O;this.body=j;this.retryAfter=T;this.name="QueryError"}}function o$(){let $=JSON.stringify({error:V1("permission","Forbidden",403)});return new Response($,{status:403,headers:{"Content-Type":"application/json","Content-Length":String(Buffer.byteLength($)),"Cache-Control":"no-store"}})}function K4(){return{status:403,error:{message:"Forbidden"}}}function iZ($){let Z=r$.getStore();return(O,j,T)=>{let z=new URL($.url).origin,J=[T0(O,j),T.toString()].filter((F)=>F.length>0).join("?"),W=new Request(`${z}/${J}`,{headers:$.headers,signal:$.signal}),Y=UJ($);if(Y)t$(W,Y);let X=new _(W,j);return r$.run(Z,()=>N.run(X,async()=>{try{let F=await C(s0).dispatchers(Y).api.getRouteData(O);if(K$(F)){if(!F.ok)throw new y1(T0(O,j),T.toString(),F.status,F.body);return F.body}if(F instanceof Response){let U=await F.json().catch(()=>null);if(!F.ok)throw new y1(T0(O,j),T.toString(),F.status,U);return U}return F}catch(F){if(F instanceof y1)throw F;let U=new y1(T0(O,j),T.toString(),500,{message:F instanceof Error?F.message:String(F)});throw U.cause=F,U}}))}}var bX=new Set(["script","style","template","title"]),vX=/\shidden([\s=/]|$)/i,wX=/"[^"]*"|'[^']*'/g;function RX($){let Z=0,O=0,j=0,T=0;while(T<$.length){let z=$.indexOf("<",T),J=z===-1?$.length:z;if(J>T){let U=$.slice(T,J).replace(/\s+/g,"").length;if(j>0)O+=U;else Z+=U}if(z===-1)break;if($.startsWith("<!--",z)){let U=$.indexOf("-->",z+4);T=U===-1?$.length:U+3;continue}let W=$.indexOf(">",z);if(W===-1)break;let Y=$.slice(z+1,W);T=W+1;let X=/^\/?([a-zA-Z][a-zA-Z0-9-]*)/.exec(Y)?.[1]?.toLowerCase();if(!X)continue;let F=Y.startsWith("/");if(!F&&bX.has(X)&&!Y.endsWith("/")){let U=$.indexOf(`</${X}`,T);T=U===-1?$.length:U;continue}if(X!=="div")continue;if(F){if(j>0)j-=1}else if(j>0)j+=1;else if(vX.test(Y.replace(wX,'""')))j=1}return{shellChars:Z,deferredChars:O}}var qX=1000,kX=64;function gX($){return $>=1000?`${($/1000).toFixed(1)} kB`:`${$} chars`}function yX($,Z){if(Z.deferredChars<qX)return null;if(Z.shellChars>=kX)return null;return`[gemi] GET ${$} streams ${gX(Z.deferredChars)} of its `+`content behind reveal scripts \u2014 a no-JS visitor sees ~${Z.shellChars} chars. If this is a public/content route, add "no-stream" to its middleware.`}function GJ($=console.warn){let Z=new Set;return{shouldObserve(O){return!Z.has(O)},report(O,j){if(Z.has(O))return;let T=yX(O,j);if(!T)return;Z.add(O),$(T)}}}function BJ(){let $=new TextDecoder,Z="";return{onChunk(O){Z+=$.decode(O,{stream:!0})},measure(){return Z+=$.decode(),RX(Z)}}}function KJ($,Z,O=1e4,j){let T=new TextEncoder,z=()=>{};return new ReadableStream({start(J){let W=!1,Y=(F)=>{if(W)return;W=!0,clearTimeout(X);try{J.close()}catch{}j?.({aborted:F})};z=Y,J.enqueue(T.encode(`${JSON.stringify($)}
3
+ `)),Z.onSettle((F)=>{if(W||F.status!=="resolved")return;J.enqueue(T.encode(`${JSON.stringify([F.path,F.variantKey,F.data])}
4
+ `))});let X=setTimeout(()=>Y(!0),O);Z.allSettled().then(()=>Y(!1),()=>Y(!1))},cancel(){z(!1)}})}var pX=async()=>(await import("./chunk-hnbj9jx2.js")).default,Q4,C4=async(...$)=>{return Q4??=import("react-dom/server.browser").catch((Z)=>{throw Q4=void 0,Z}),(await Q4).renderToReadableStream(...$)},hX=1e4,cX=`
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 lX($,Z,O){let j=`${O==="italic"?"italic,":""}wght@${O==="italic"?"1,":""}${Z}`,J=(await(await fetch(`https://fonts.googleapis.com/css2?family=${$}:${j}&display=swap`,{headers:{"User-Agent":"Mozilla/5.0 Firefox/1.0"}})).text()).match(/url\(([^)]+)\)/)?.[1];return await fetch(J).then((W)=>W.arrayBuffer())}var L4="/assets";function dX($){return $===L4||$.startsWith(`${L4}/`)}function iX($){let Z=$.filter(dX);if(Z.length>0){let O=Z.length>1;throw Error(`View route path${O?"s":""} ${Z.map((j)=>`"${j}"`).join(", ")} use${O?"":"s"} the reserved "${L4}" prefix. The client build output is served from there before the router runs, so the route would never match. Mount it somewhere else.`)}}function uX($){let Z=C(s0).resolver;return{...$.domain,root:Z.root,origin:Z.publicOrigin($.rawRequest)}}function f4($){let{status:Z=400,error:O}=$;return new Response(O?.message,{...$,status:Z})}function sX($){let{status:Z=400,data:O,directive:j,headers:T}=$;return new Response(JSON.stringify({data:O,directive:j}),{headers:T,status:Z})}class nZ{static token="router.view";flatViewRoutes={};routeManifest={};clientRouteManifest={};componentTree=[];flatComponentTree=[];root=null;shellReporter=GJ();preloadCache=new WeakMap;hooks;partialRendering;constructor($){let Z=P7();this.partialRendering=$.partialRendering??Z.partialRendering,this.hooks={onRequestStart:$.onRequestStart??Z.onRequestStart,onRequestEnd:$.onRequestEnd??Z.onRequestEnd,onRequestFail:$.onRequestFail??Z.onRequestFail,onStreamComplete:$.onStreamComplete??Z.onStreamComplete};let O={"/":$.rootRouter,"/auth":g6};this.flatViewRoutes=S3(O),iX(Object.keys(this.flatViewRoutes)),this.routeManifest=_3(O),this.clientRouteManifest=Object.fromEntries(Object.entries(this.routeManifest).filter(([,j])=>j.at(-1)!=="FILE")),this.componentTree=x3(O),this.flatComponentTree=X4(this.componentTree),this.root=$.root}async passesFeatureGates($){let Z=C(n$);for(let O of $)if(!await Z.enabled(O))return!1;return!0}async onRequestEnd($){return V4(),await this.hooks.onRequestEnd($)}completeStream($,Z){let O=(j)=>{X$.error(j?.message??'Error in "onStreamComplete" event handler',{err:JSON.stringify(j)})};try{Promise.resolve(this.hooks.onStreamComplete($,Z)).catch(O)}catch(j){O(j)}}modulePreloadLinks($){let{clientEntry:Z,modulePreloadManifest:O,views:j,routeKey:T}=$,z=()=>{let Y=new Set(Z?.preload??[]);for(let X of j)for(let F of O?.[X]??[])Y.add(F);return[...Y].map((X)=>e$("link",{key:`modulepreload:${X}`,rel:"modulepreload",href:X}))};if(!O)return z();let J=this.preloadCache.get(O);if(!J||J.clientEntry!==Z)J={clientEntry:Z,byRoute:new Map},this.preloadCache.set(O,J);let W=J.byRoute.get(T);if(!W)W=z(),J.byRoute.set(T,W);return W}async render($){let{req:Z,runInRequestScope:O,csrfTokenHMAC:j,currentPathName:T,headers:z,i18n:J,params:W,pathname:Y,serverQueries:X,userAgent:F,noStream:U,url:D,user:B,viewData:G,breadcrumbs:K,urlLocaleSegment:Q,meta:f,isOgRequest:I,appId:V,features:x}=$,P=Y.replace(`/${Q}`,""),L={kind:"view",data:{meta:f,pageData:{[P]:G},__csrf:j.toString("base64"),prefetchedData:{},i18n:J,auth:{user:B},routeManifest:this.clientRouteManifest,breadcrumbs:K,router:{urlLocaleSegment:Q,pathname:T,params:W,currentPath:Y,searchParams:D.search,is404:!T?!0:!1,domain:Z.domain?uX(Z):null},appId:V,features:x,componentTree:[["404",[]],...this.componentTree]},head:{}},M=this.root,E=this.routeManifest[T];return async(A)=>{let{bootstrapModules:Z0=[],loaders:R,getStyles:g,viewImportMap:O0,cssManifest:q3,ogMap:aZ,viewModules:F$,clientEntry:z1,modulePreloadManifest:m1,assetBase:j0}=A,OZ=z1?[]:Z0,oZ=(S0)=>[S0,`window.loaders=${R}`,...z1?[`import(${JSON.stringify(z1.module)}).catch(function(e){setTimeout(function(){throw e})})`]:[]].join(";");if(I){let S0=null,G$=null;for(let B$ of E??[])if(typeof aZ[B$]==="function")G$=B$,S0=aZ[B$];if(!S0)return new Response("Not found",{status:404});let lJ=Object.values(L.data.pageData)[0];try{await C4(e$(S0,lJ[G$]),{onError:()=>{}})}catch(B$){let{fonts:dJ,...iJ}=B$.satoriOptions,uJ=await Promise.all(dJ.map((tZ)=>{return lX(tZ.name,tZ.weight,tZ.style).then((rJ)=>({...tZ,data:rJ}))})),E4=new Headers(z);E4.set("Content-Type","image/png");let[sJ,nJ]=await Promise.all([pX(),I3("Rendering an OG image")]),aJ=await sJ(B$.jsx,{...iJ,fonts:uJ}),oJ=await nJ(Buffer.from(aJ)).png({compressionLevel:0,effort:10}).toBuffer();return new Response(new Uint8Array(oJ),{headers:E4})}return new Response("data")}if(L.data.cssManifest=q3,L.data.modulePreloadManifest=m1??{},j0&&j0!=="/")L.data.assetBase=j0;let D$=this.modulePreloadLinks({clientEntry:z1,modulePreloadManifest:m1,views:E??["404"],routeKey:T??"404"}),jZ=await g(E);L.data.prefetchedData=X.snapshotResolved(),X.markRenderStart();let C1=new AbortController,rZ=setTimeout(()=>C1.abort(),hX),b=E3(F)||U,M0=Bun.env.NODE_ENV!=="production"&&!b&&T&&this.shellReporter.shouldObserve(T)?BJ():null,U$=fJ();try{let S0=await C4(e$(mX,{children:[...D$,...jZ,e$("script",{key:"theme-script",dangerouslySetInnerHTML:{__html:cX}}),e$(M,{data:L.data,viewImportMap:O0,viewModules:F$,serverQueries:X,dictionarySink:U$,key:"root"})]}),{bootstrapScriptContent:oZ(`window.__GEMI_DATA__ = ${Y$(L.data)}`),bootstrapModules:OZ,signal:C1.signal,...b?{progressiveChunkSize:Number.MAX_SAFE_INTEGER}:{},onError(G$){if(Bun.env.NODE_ENV!=="production")console.error(G$)}});if(S0.allReady.catch(()=>{}).finally(()=>clearTimeout(rZ)),b)await S0.allReady.catch(()=>{});return new Response(D4(S0,X,{onShell:b?void 0:()=>X.markShell(),onChunk:M0?.onChunk,onClose:()=>O(()=>{if(this.completeStream(Z,X.summarize(C1.signal.aborted)),M0)this.shellReporter.report(T,M0.measure())})},U$),{status:!T?404:200,headers:z})}catch(S0){if(clearTimeout(rZ),Bun.env.NODE_ENV==="production")throw O(()=>this.completeStream(Z,X.summarize(C1.signal.aborted))),S0;let G$=await C4(e$("div"),{bootstrapScriptContent:oZ(`window.error= ${Y$(S0.message)}; window.stack_trace=${Y$(S0.stack)};window.__GEMI_DATA__ = ${Y$(L.data)}`),bootstrapModules:Bun.env.NODE_ENV==="development"?["/render-error.js",...OZ]:OZ});return new Response(D4(G$,X,{onClose:()=>O(()=>this.completeStream(Z,X.summarize(C1.signal.aborted)))}),{status:!T?404:200,headers:z})}}}async handleViewRequest($,Z){let O=new URL($.url),j=O.pathname.endsWith(".json"),T=O.pathname.endsWith(".og"),z=O.pathname.replace(".json","").replace(".og",""),[,J,...W]=z.split("/"),Y=`/${W.join("/")}`,X=null,F=null,U=C(i);if(!U.supportedLocales.includes(J))Y=z;else X=J,F=J;let B=F===null&&dZ(this.flatViewRoutes,Y)!==null;if(U.isLocaleAware&&!T&&F===null&&!B){let L=QJ(J,U.supportedLocales,U.defaultLocale);if(L){let M=W.length?`/${W.join("/")}`:"";return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${M}${j?".json":""}${O.search}`}})}}if(U.isLocaleAware&&!T){let L=C(i).detectLocale(new _($,{},"view",Y));if(F===null&&L!==U.defaultLocale){let M=O.pathname==="/"?"":O.pathname;return new Response("",{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:`/${L}${M}${O.search}`}})}}Y=Y.replace("//","/");let G=[],K=[],Q=null,f={},I=null,V=!1,x=[];try{let L=dZ(this.flatViewRoutes,Y);if(L){if(Q=L.routePath,f=L.params,G=L.route.exec,K=L.route.middleware,x=L.route.features,V=K.includes("no-stream"),j&&this.partialRendering){let M=$.headers.get(Y4),E=t7({flatViewRoutes:this.flatViewRoutes,supportedLocales:C(i).supportedLocales,from:M,origin:O.origin,to:{segments:L.route.segments,params:f,search:O.search}});if(E.startIndex>0)G=G.slice(E.startIndex),I={from:M,carriedViews:E.carriedViews}}}}catch(L){throw L}let P=new _($,f,"view",Q);return this.hooks.onRequestStart(P),await N.run(P,async()=>{let L=null,M=N.getStore(),E=r$.getStore(),A=(g)=>r$.run(E,()=>N.runWith(M,g));M.serverQueries=new a$(iZ($));let Z0=new Set;if(M.serverQueries.onQueryFail((g)=>{Z0.add(g.error);try{A(()=>Promise.resolve(this.hooks.onRequestFail(R,g.error)).catch(()=>{}))}catch{}}),F){let g=F.replaceAll("/","");s$.setLocale(g)}else s$.setLocale();let R=M.req;V4();try{let g=!1;try{await C(lZ).runMiddleware(K)}catch(b){if(!$Z(b))throw b;g=!0}if(g||x.length>0&&!await this.passesFeatureGates(x))Q=null,G=[],R.routePath="";let O0=C(i),q3=O0.isEnabled,aZ=O0.isLocaleAware,F$={};if(aZ){let b=null;if(F)b=F.replaceAll("/",""),M.setLocale(b);else b=O0.detectLocale(new _($,R.params)),M.setLocale(b);let M0=q3?O0.getPageTranslations(b,R.routePath):{};F$={supportedLocales:O0.supportedLocales,currentLocale:b,dictionary:{[b]:M0},defaultLocale:O0.defaultLocale}}await CJ(F$.currentLocale??"");let z1;try{z1=await Promise.all(G.map((b)=>b(R)))}catch(b){if(!$Z(b))throw b;Q=null,G=[],R.routePath="",z1=[]}let{cookies:m1,headers:j0}=M;L={data:z1,cookies:m1,headers:j0,user:M.user,prefetchedData:M.serverQueries.snapshotResolved(),currentPathName:Q,params:R.params,urlLocaleSegment:X,meta:M.renderMeta(),appId:C(F4).id,features:await C(n$).forClient()};let{params:OZ,user:oZ}=L,D$={},jZ={};for(let b of z1??[]){let[M0,U$]=Object.entries(b)?.[0]??[];if(!M0||!U$)continue;jZ[`${M0}:${Q}`]=U$.breadcrumb,D$[M0]=U$}let C1=D$.FILE;if(C1){for(let b of m1)j0.append("Set-Cookie",b.toString());try{await this.onRequestEnd(R)}catch(b){X$.error(b?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(b)})}return await d3(C1,j0)}if(j){j0.set("Content-Type","application/x-ndjson; charset=utf-8"),j0.append("Vary",Y4),m1.forEach((M0)=>j0.append("Set-Cookie",M0.toString())),await this.hooks.onRequestEnd(R);let b={meta:I&&!M.metadata.touched?null:L.meta,data:{[Y]:D$},breadcrumbs:jZ,prefetchedData:M.serverQueries.snapshotResolved(),i18n:F$,features:L.features,is404:!Q,appId:L.appId,partial:I};return new Response(KJ(b,M.serverQueries,void 0,({aborted:M0})=>A(()=>this.completeStream(R,M.serverQueries.summarize(M0)))),{headers:j0})}if(j0.set("Content-Type","text/html; charset=utf-8"),!V)j0.append("Vary","User-Agent");for(let b of m1)j0.append("Set-Cookie",b.toString());let rZ=Bun.CSRF.generate(process.env.SECRET);j0.append("Set-Cookie",`csrf_token=${rZ}; HttpOnly; Secure; SameSite=Strict; Expires=${new Date(Date.now()+86400000).toUTCString()}`);try{await this.onRequestEnd(R)}catch(b){X$.error(b?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(b)})}return await this.render({req:R,runInRequestScope:A,csrfTokenHMAC:Buffer.from(""),currentPathName:Q,headers:j0,i18n:F$,params:OZ,pathname:O.pathname,serverQueries:M.serverQueries,userAgent:$.headers.get("user-agent"),noStream:V,url:O,user:oZ,viewData:D$,breadcrumbs:jZ,urlLocaleSegment:X,meta:L.meta,appId:L.appId,features:L.features,isOgRequest:T})}catch(g){if(g.kind===uZ)if(j)return sX(g.payload.viewData??g.payload.api);else return f4(g.payload.view);if(!Z0.has(g))this.hooks.onRequestFail(R,g);if(sZ(g))return console.error(g),j?o$():f4(K4());if(g instanceof y1&&g.status===403)return j?o$():f4(K4());throw g}},Z)}}function M4(){let $=JSON.stringify({error:V1("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 NJ extends N0{routes={"/api-routes":this.get(()=>{let $=C(H3).flatRoutes,Z=[];for(let[O,j]of Object.entries($))for(let[T,z]of Object.entries(j)){let{exec:J,middleware:W}=z;Z.push({path:O,method:T,middleware:W})}return Z}),"/view-routes":this.get(()=>{let $=C(nZ).flatViewRoutes,Z=[];for(let[O,{middleware:j,viewPath:T}]of Object.entries($))Z.push({path:O,method:"GET",viewPath:T,middleware:j});return Z})}}function nX($,Z){let O=$.body.getReader(),j=!1,T=()=>{if(j)return;j=!0;try{Z()}catch(J){console.error(J)}},z=new ReadableStream({async pull(J){let W;try{W=await O.read()}catch(Y){T(),J.error(Y);return}if(W.done){T();try{J.close()}catch{}return}try{J.enqueue(W.value)}catch{}},async cancel(J){try{await O.cancel(J)}finally{T()}}},{highWaterMark:0});return new Response(z,{status:$.status,statusText:$.statusText,headers:$.headers})}function VJ($){let{status:Z=400,data:O,headers:j}=$,T=new Headers({"Content-Type":"application/json",...j});if(!T.has("Cache-Control"))T.set("Cache-Control","no-store");return new Response(JSON.stringify(O),{status:Z,headers:T})}function LJ($,Z,O){let j=[];Z?.forEach((J,W)=>j.push([W,J]));let T=[...typeof Z?.getSetCookie==="function"?Z.getSetCookie():[],...Array.from(O??[])];if(j.length===0&&T.length===0)return $;let z=(J)=>{for(let[W,Y]of j){if(W.toLowerCase()==="set-cookie")continue;if(!J.has(W))J.set(W,Y)}for(let W of T)J.append("Set-Cookie",W)};try{return z($.headers),$}catch{let J=new Headers($.headers);return z(J),new Response($.body,{status:$.status,statusText:$.statusText,headers:J})}}class H3{static token="router.api";flatRoutes={};onRequestStart;onRequestEnd;onRequestFail;constructor($){let Z=x7();this.onRequestStart=$.onRequestStart??Z.onRequestStart,this.onRequestEnd=$.onRequestEnd??Z.onRequestEnd,this.onRequestFail=$.onRequestFail??Z.onRequestFail,this.flatRoutes=d6({"/":$.rootRouter,"/auth":y6,"/__gemi__/services/i18n":m6,"/__gemi__/services/logs":l6,"/__gemi__/services/image":c6,"/__gemi__/debug":NJ})}getRouteHandlerAndParams($){let Z=new URL($.url),O=SJ(Z.pathname),j={},T;for(let[z]of Object.entries(this.flatRoutes))try{let J=new URLPattern({pathname:z});if(J.test({pathname:O})){T=z,j=J.exec({pathname:O})?.pathname.groups;break}}catch(J){console.error(J)}return{params:j,path:T}}async runRouteMiddleware($,Z){let j=this.flatRoutes[$][Z.rawRequest.method].middleware;try{await C(lZ).runMiddleware(j)}catch(T){if(T.kind===uZ)return VJ(T.payload.api);else{if($Z(T))return M4();if(this.onRequestFail(Z,T),console.error(T),sZ(T))return o$();throw T}}}async getRouteData($){let Z=this.flatRoutes[$],O=N.getStore(),j=Z[O.req.rawRequest.method].exec??(()=>Promise.resolve({})),T={};try{T=await j()}catch(z){if(z.kind===uZ)return VJ(z.payload.api);if($Z(z))return M4();if(this.onRequestFail(O.req,z),console.error(z),sZ(z))return o$();throw z}return T}isFrameworkRoute($){return $.startsWith("/__gemi__")}async endRequest($,Z,O){let j=async()=>{try{if(!this.isFrameworkRoute(O))await this.onRequestEnd(Z)}catch(T){X$.error(T?.message??'Error in "onRequestEnd" event handler',{err:JSON.stringify(T)})}finally{$.destroy()}};if(!$.hasPendingWork()){await j();return}$.whenIdle().then(j).catch((T)=>{console.error(T)})}isOpenEndedBody($,Z){return $.method!=="HEAD"&&Z.body!==null&&!Z.headers.has("Content-Length")}async handleApiRequest($,Z){let{params:O,path:j}=this.getRouteHandlerAndParams($),T=this.flatRoutes[j];if(!T||!T[$.method])return new Response(JSON.stringify({error:V1("not_found","Not found",404)}),{status:404});let z=new _($,O,"api",j);if(!this.isFrameworkRoute(j))this.onRequestStart(z);return await N.run(z,async()=>{let J=N.getStore(),W=!1,Y=async()=>{W=!0,await this.endRequest(J,z,j)};try{let X=C(i);if(X.isEnabled){let K=X.detectLocale(z);J.setLocale(K)}J.setRequest(z);let F=await this.runRouteMiddleware(j,z);if(F instanceof Response){let K=LJ(F,J.headers,J.cookies);return await Y(),K}let U=await this.getRouteData(j),D=J.headers,B=J.cookies;if(U instanceof Response){let K=LJ(U,D,B);if(this.isOpenEndedBody($,K)){let Q=nX(K,()=>this.endRequest(J,z,j));return W=!0,Q}return await Y(),K}let G=(K$(U)?U:zZ.json(U)).toResponse(D,B);return await Y(),G}catch(X){if(!W)try{await Y()}catch(F){console.error(F)}throw X}},Z)}async dispatchAs($,Z,O,j){let T=new URL($.rawRequest.url).origin,z=new URL(`${T}/api${O}`),J=`/api${O.split(/[?#]/)[0]}`;if(!O.startsWith("/")||z.origin!==T||z.pathname!==J||z.hash!==""||z.pathname.startsWith("/api/__gemi__")||z.pathname==="/api/auth"||z.pathname.startsWith("/api/auth/"))throw Error(`dispatchAs: "${O}" is not an app api path. Pass the route's own path, without "/api", with every param encoded.`);let W=new Headers,Y=$.cookies.get(WZ);if(Y)W.set("Cookie",`${WZ}=${Y}`);let X=$.headers.get(WZ);if(X)W.set(WZ,X);let F=$.headers.get("User-Agent");if(F)W.set("User-Agent",F);let U;if(j instanceof FormData)U=j;else if(j!==void 0)W.set("Content-Type","application/json"),U=JSON.stringify(j);let D=new Request(z,{method:Z,headers:W,body:U});if(IJ(D,C$($)),$.domain)t$(D,$.domain);return N.exit(()=>MJ.exit(()=>this.handleApiRequest(D)))}}import{timingSafeEqual as aX}from"crypto";var b3="",_4="*",oX=60000,rX=1e4,S4=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,A3=16,_J=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,N4="x-forwarded-host";function xJ($){return $.startsWith(":")}function x4($,Z){if($===null)return!1;let O=Buffer.from($,"utf8"),j=Buffer.from(Z,"utf8");return O.length===j.length&&aX(O,j)}function tX($){if(!$)return null;if($===!0)return{header:N4,secret:null};return{header:($.hostHeader??N4).toLowerCase(),secret:$.secret?{header:$.secret.header.toLowerCase(),value:$.secret.value}:null}}function eX($){if(!$||$===!0)return;let{hostHeader:Z,secret:O}=$;if(Z!==void 0&&(typeof Z!=="string"||!_J.test(Z)))throw Error(`\`route.domains.trustProxy.hostHeader\` must be a single header name, e.g. "x-forwarded-host". Got ${JSON.stringify(Z)}.`);if(!O)return;if(typeof O.header!=="string"||!_J.test(O.header))throw Error(`\`route.domains.trustProxy.secret.header\` must be a header name. Got "${O.header}".`);if(O.header.toLowerCase()===(Z??N4).toLowerCase())throw Error("`route.domains.trustProxy.secret.header` names the same header as `hostHeader`; the secret needs a header of its own.");if(typeof O.value!=="string"||O.value.length<A3)throw Error(`\`route.domains.trustProxy.secret.value\` must be at least ${A3} characters. A guessable one lets any client name its own host.`)}function T1($){if(!$)return null;try{return new URL(`http://${$.trim()}`).hostname.toLowerCase().replace(/\.$/,"")||null}catch{return null}}function $F($){try{let Z=new URL(`http://${$.trim()}`),O=Z.hostname.toLowerCase().replace(/\.$/,"");return O?Z.port?`${O}:${Z.port}`:O:null}catch{return null}}function ZF($){let Z=T1($.root),O=$.root?.trim().toLowerCase().replace(/\.$/,"");if(!Z||Z!==O||!Z.split(".").every((z)=>S4.test(z)))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<A3)throw Error(`\`route.domains.ask.secret\` must be at least ${A3} characters. A guessable one is worse than leaving \`ask\` out.`);eX($.trustProxy);let j=new Set,T=null;for(let z of $.groups??[]){let{subdomain:J}=z;if(j.has(J))throw Error(`\`route.domains\` declares the subdomain "${J}" twice.`);if(j.add(J),xJ(J)){if(!/^:[A-Za-z_][A-Za-z0-9_]*$/.test(J))throw Error(`"${J}" is not a valid param subdomain. It must be a single \`:name\` label.`);if(T)throw Error(`\`route.domains\` declares two param subdomains, "${T.subdomain}" and "${J}"; a host could match either.`);T=z;continue}if(z.exists)throw Error(`The subdomain "${J}" is fixed, so \`exists\` has no param to check. It only applies to a \`:param\` subdomain.`);if(!J.split(".").every((W)=>S4.test(W)))throw Error(`"${J}" is not a valid subdomain.`)}if($.custom&&!j.has($.custom.group))throw Error(`\`route.domains.custom.group\` is "${$.custom.group}", but no group declares that subdomain.`);if($.ask&&T&&!T.exists)throw Error(`\`route.domains.ask\` is set, so "${T.subdomain}" needs an \`exists\` to say which tenants are real. Without one every host under the root would be approved for a certificate.`)}class P4{root;hostTrust;fixed=new Map;param=null;custom;cacheTtlMs;cache=new Map;inFlight=new Map;askSecret;proxySecretHeader;constructor($){ZF($),this.root=T1($.root),this.hostTrust=tX($.trustProxy);for(let Z of $.groups??[])if(xJ(Z.subdomain))this.param={...Z,name:Z.subdomain.slice(1)};else this.fixed.set(Z.subdomain.toLowerCase(),Z);this.custom=$.custom??null,this.cacheTtlMs=this.custom?.cacheTtlMs??oX,this.askSecret=$.ask?.secret??null,this.proxySecretHeader=this.hostTrust?.secret?.header??null}forwardedHost($){let Z=this.hostTrust;if(!Z)return null;if(Z.secret&&!x4($.headers.get(Z.secret.header),Z.secret.value))return null;return $.headers.get(Z.header)?.split(",")[0]?.trim()||null}hostOf($){return T1(this.forwardedHost($))??T1(new URL($.url).host)}publicOrigin($){let Z=new URL($.url),O=$.headers.get("x-forwarded-proto")?.split(",")[0]?.trim(),j=O==="http"||O==="https"?O:Z.protocol.replace(/:$/,""),T=this.forwardedHost($),z=T&&T1(T)?$F(T):null;return`${j}://${z??Z.host}`}async resolve($){let Z=this.hostOf($);if(!Z)return null;let O=await this.match(Z,$);if(O)return O;if(this.custom?.fallback&&!this.isUnderRoot(Z))return{host:Z,group:_4,params:{},custom:!0};return null}async allows($,Z){let O=T1($);return O?await this.match(O,Z)!==null:!1}isUnderRoot($){return $===this.root||$.endsWith(`.${this.root}`)}async match($,Z){if($===this.root)return{host:$,group:b3,params:{},custom:!1};if($.endsWith(`.${this.root}`)){let j=$.slice(0,-(this.root.length+1)),T=this.fixed.get(j);if(T)return{host:$,group:T.subdomain,params:{},custom:!1};if(this.param&&S4.test(j)){let z={[this.param.name]:j};if(this.param.exists&&!await this.param.exists(z,Z))return null;return{host:$,group:this.param.subdomain,params:z,custom:!1}}return null}if(!this.custom)return null;let O=await this.resolveCustom($);return O?{host:$,group:this.custom.group,params:O,custom:!0}:null}async resolveCustom($){let Z=Date.now(),O=this.cache.get($);if(O&&O.expiresAt>Z)return this.cache.delete($),this.cache.set($,O),O.value;let j=this.inFlight.get($);if(j)return j;let T=(async()=>await this.custom.resolve($)??null)();this.inFlight.set($,T);let z;try{z=await T}finally{this.inFlight.delete($)}if(this.cacheTtlMs>0){if(this.cache.size>=rX)this.cache.delete(this.cache.keys().next().value);this.cache.delete($),this.cache.set($,{value:z,expiresAt:Date.now()+this.cacheTtlMs})}return z}forget($){if($===void 0)this.cache.clear();else{let Z=T1($);if(Z)this.cache.delete(Z)}}}var OF="/__gemi__/domains/ask";class s0{static token="router.domains";resolver;acceptsCustomDomains;groups=new Map;constructor($,Z){this.groups.set(b3,$);let{domains:O}=Z;if(this.acceptsCustomDomains=Boolean(O?.custom),!O){this.resolver=null;return}this.resolver=new P4(O);let j=(T)=>({api:T.api?new H3({...Z.api,...T.api}):$.api,view:T.view?new nZ({...Z.view,...T.view}):$.view});for(let T of O.groups??[])this.groups.set(T.subdomain,j(T));if(O.custom?.fallback)this.groups.set(_4,j(O.custom.fallback))}async route($){if(!this.resolver)return this.dispatchers(null);if(this.resolver.proxySecretHeader)PJ($,this.resolver.proxySecretHeader);let Z=await this.resolver.resolve($);if(!Z)return null;return t$($,Z),this.dispatchers(Z)}async ask($){if(!this.resolver?.askSecret||$.method!=="GET")return null;let Z=new URL($.url);if(Z.pathname!==OF)return null;if(!x4(Z.searchParams.get("secret"),this.resolver.askSecret))return null;let O=Z.searchParams.get("domain"),j=O?await this.resolver.allows(O,$):!1;return new Response(null,{status:j?200:404})}dispatchers($){return this.groups.get($?.group??b3)}viewDispatchers(){return Array.from(new Set(Array.from(this.groups.values(),($)=>$.view)))}}function v3($){let Z=new Date($??0).getTime();return Number.isFinite(Z)?Z:0}var EJ=600000;function HJ($,Z){return[zO($,Z),zO($,Z-1)]}class H{static token="auth";config;provider;constructor($={},Z=new Jj){this.config={...AJ(B8($),$),emailCode:Tj($.emailCode)},this.provider=Z}get userProvider(){return this.provider}accessTokenCookieOptions($,Z){return{expires:Z,secure:this.publicOrigin($).startsWith("https://"),httpOnly:!0,domain:this.cookieDomain($)}}publicOrigin($){let Z=C().bound(s0)?C(s0).resolver:null;return Z?Z.publicOrigin($.rawRequest):new URL($.rawRequest.url).origin}cookieDomain($){let Z=this.config.cookieDomain;if(!Z)return;let O=Z==="root"?C(s0).resolver?.root:T1(Z);if(!O)throw Error('`auth.cookieDomain` is "root", but `route.domains` is not configured.');let j=$.domain?.host??T1(new URL($.rawRequest.url).host);return j===O||j?.endsWith(`.${O}`)?O:void 0}async getSession($,Z){if(!$)return null;if(!r3($))return this.config.migrateLegacySession?this.convertLegacySession($,Z,this.config.migrateLegacySession):null;let O=await this.userProvider.findSession({token:$,userAgent:Z});if(!O?.user)return null;let j=Date.now(),T=v3(O.expiresAt),z=v3(O.absoluteExpiresAt);if(T<=j||z<=j)return await this.userProvider.deleteSession({token:$}),null;let W=await this.slideSession(O,j);return W.user.extension=await this.config.extendSession(W.user),W}async convertLegacySession($,Z,O){let j=N.getStore()?.req;if(!j)return null;let T=Date.now(),z=Math.floor(T/EJ),J=null,W=await this.userProvider.findSession({token:$,userAgent:Z});if(W?.user){if(!await O(W,{token:$,req:j,userAgent:Z}))return null;let X=zO($,z),F=W.user.id;if(await this.userProvider.withLegacySessionLock($,async()=>{if(!await this.userProvider.claimLegacySession({token:$}))return!1;return await this.userProvider.createSessionV2({token:X,userId:F,userAgent:Z,...this.freshLifetime(T)}),!0}))J=X}if(!J){for(let X of HJ($,z))if((await this.userProvider.findSession({token:X,userAgent:Z}))?.user){J=X;break}}if(!J)return null;let Y=await this.getSession(J,Z);if(Y)j.ctx().setCookie("access_token",J,this.accessTokenCookieOptions(j,new Date(Y.expiresAt)));return Y}async revokeSession($,Z){if(!$)return await this.userProvider.deleteSession({token:$}),null;if(r3($)||!this.config.migrateLegacySession){let T=await this.userProvider.findSession({token:$,userAgent:Z});return await this.userProvider.deleteSession({token:$}),T}let O=Math.floor(Date.now()/EJ),j=HJ($,O);return this.userProvider.withLegacySessionLock($,async()=>{let T=await this.userProvider.findSession({token:$,userAgent:Z});for(let z of j){if(T?.user)break;T=await this.userProvider.findSession({token:z,userAgent:Z})}await this.userProvider.deleteSession({token:$});for(let z of j)await this.userProvider.deleteSession({token:z});return T})}requestCarryingCookie($){let Z=N.getStore()?.req;return Z?.cookies.get("access_token")===$?Z:null}async slideSession($,Z){let O=this.config.sessionExpiresInHours*3600000;if(new Date($.expiresAt).getTime()-Z>=O/2)return $;let j=new Date(Math.min(Z+O,new Date($.absoluteExpiresAt).getTime())),T=await this.userProvider.updateSession({token:$.token,expiresAt:j}),z=this.requestCarryingCookie($.token);if(z)z.ctx().setCookie("access_token",$.token,this.accessTokenCookieOptions(z,j));if(!T)return $;return{...$,expiresAt:T.expiresAt??j}}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 Z=await this.userProvider.findUserByEmailAddress($,!1);if(!Z)throw Error(`User not found with email: ${$}`);let O=await this.createOrUpdateSession({email:$,id:Z.id}),j=new _;if(j.ctx().setCookie("access_token",O.token,this.accessTokenCookieOptions(j,O.expiresAt)),O?.user)O.user.extension=await this.config.extendSession(O.user);return O}catch(Z){console.log(Z)}}async createOrUpdateSessionV2($){let Z=await this.createOrUpdateSession($),O=null;if(Z?.user)O=await this.config.extendSession(Z.user),Z.user.extension=O;return Z}async createOrUpdateSession($){let Z=new _,O=$.id??(await this.userProvider.findUserByEmailAddress($.email,!1))?.id;if(!O)throw new p1;let j=Bun.env.NODE_ENV==="development"?"local":Z.headers.get("User-Agent"),T=j8(O),z=await this.userProvider.createSessionV2({token:T,userId:O,userAgent:j,...this.freshLifetime(Date.now())}),J=await this.userProvider.findSession({token:T,userAgent:j??""});return J?.user?J:z}async createMagicLinkToken($){let Z=await this.userProvider.findUserByEmailAddress($,!1);if(Z){let{pin:O,token:j}=await this.issueOneTimeCode($,6);return{user:Z,email:$,pin:O,token:j}}return{}}async issueOneTimeCode($,Z){await this.userProvider.deleteMagicLinkToken($);let O=await this.config.generateMagicLinkToken($),j=await this.config.generateCode($),T=typeof j==="string"&&j!==""?j:F8(Z);return await this.userProvider.createMagicLinkToken({email:$,token:JO("link",$,O),pin:JO("pin",$,T)}),{email:$,pin:T,token:O}}async verifyOneTimeCode($,Z,O={}){let{expiresInMinutes:j,maxAttempts:T}=this.config.emailCode,z=await this.userProvider.findMagicLinkTokenByEmail($);if(!z)return XZ("pin",$,null,Z),{status:"invalid"};let J=v3(z.createdAt);if(J+j*60000<=Date.now())return XZ("pin",$,null,Z),{status:"expired"};if(!await G8(z.id,J,T,j))return await this.userProvider.claimMagicLinkToken(z.id),{status:"too_many_attempts"};if(!XZ("pin",$,z.pin,Z))return{status:"invalid"};if(O.claim!==!1&&!await this.userProvider.claimMagicLinkToken(z.id))return{status:"invalid"};return{status:"ok",row:z}}async verifyMagicLinkToken($,Z){let O=await this.userProvider.findMagicLinkTokenByEmail($),j=XZ("link",$,O?.token,Z);if(!O||!j)return!1;if(v3(O.createdAt)+this.config.emailCode.linkExpiresInMinutes*60000<=Date.now())return!1;return await this.userProvider.claimMagicLinkToken(O.id)}}class z$ extends v0{static getFacadeAccessor(){return H}static async user(){let $=N.getStore(),Z=$?.user;if(!Z){if(Z=await jO(this.getFacadeRoot(),$?.req),Z)$?.setUser(Z)}if(Z)return Z;throw new p1({redirectTo:OO($?.req,this.getFacadeRoot().config.signInPath)})}static intendedUrl($){let Z=N.getStore()?.req;return JZ(Z?.search.get(Q$),$??this.getFacadeRoot().config.redirectPath)}static async guard($){let Z=await z$.user();if(!await $(Z))throw new a3}static async guardSafe($){let Z=await z$.user();try{return await $(Z)}catch(O){return!1}}static async authenticate($){return await this.getFacadeRoot().authenticate($)}static async createMagicLink($){return await this.getFacadeRoot().createMagicLinkToken($)}}class w3{static ensure($,Z={}){let O=N.getStore();if(O.req.kind==="api")throw Error("Query.prefetch() cannot be called from an API request");return O.serverQueries??=new a$(iZ(O.req.rawRequest)),O.serverQueries.ensure($,Z,"prefetch")}static async instant($,...Z){let O=w3.ensure($,Z[0]);if(await O.promise,O.status==="rejected")throw O.error;return O.data}static prefetch($,...Z){w3.ensure($,Z[0])}static noPrefetch(){let $=N.getStore();if($.req.kind==="api")throw Error("Query.noPrefetch() cannot be called from an API request");$.serverQueries??=new a$(iZ($.req.rawRequest)),$.serverQueries.muteDiscoveryHints()}}function bJ($,Z,O="/"){let j=new URL($.origin),T=Z.host?Z.host:Z.subdomain?`${Z.subdomain}.${$.root}`:$.root,z=new URL(O.startsWith("/")?O:`/${O}`,j),J=jF(T);if(!J)throw Error(`"${T}" 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(z.hostname=J.hostname,J.port)z.port=J.port;return z.toString()}function jF($){try{let Z=new URL(`http://${$.trim()}`);return Z.host===$.trim().toLowerCase()&&Z.pathname==="/"?{hostname:Z.hostname,port:Z.port}:null}catch{return null}}class vJ{static absolute($,...Z){return`${process.env.HOST_NAME}${T0(String($),Z[0]??{})}`}static relative($,...Z){return T0(String($),Z[0]??{})}static forDomain($,Z,...O){let j=C(s0).resolver;if(!j)throw Error("`Url.forDomain` needs `route.domains` to be configured.");let T=N.getStore()?.req?.rawRequest,z=T?j.publicOrigin(T):process.env.HOST_NAME;if(!z)throw Error("`Url.forDomain` outside a request needs `HOST_NAME` for the protocol.");return bJ({root:j.root,origin:z},$,T0(String(Z),O[0]??{}))}}class wJ{name="Meta";static description($){N.getStore().metadata.description($)}static title($){N.getStore().metadata.title($)}static openGraph($){N.getStore().metadata.openGraph($)}}var TF={set($,Z,O){N.getStore().setCookie($,Z,O)},setIfAbsent($,Z,O){if(N.getStore().req.cookies.has($))return!1;return N.getStore().setCookie($,Z,O),!0},delete($,Z){N.getStore().deleteCookie($,Z)}};class Q1 extends v0{static getFacadeAccessor(){return RJ}static get client(){return this.getFacadeRoot().client}static get($){return Q1.client.get($)}static set($,Z){return Q1.client.set($,Z)}static del(...$){return Q1.client.del(...$)}static exists($){return Q1.client.exists($)}static incr($){return Q1.client.incr($)}static expire($,Z){return Q1.client.expire($,Z)}static ttl($){return Q1.client.ttl($)}}class qJ extends v0{static getFacadeAccessor(){return a0}static consume($,Z={}){return this.getFacadeRoot().consume($,Z)}}class kJ extends v0{static getFacadeAccessor(){return n$}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($,Z,O){return this.getFacadeRoot().set($,Z,O)}static refresh(){return this.getFacadeRoot().refresh()}static invalidate(){return this.getFacadeRoot().invalidate()}}class R3{bound;constructor($){this.bound=$}get name(){return this.bound??UZ()}get sql(){return this.connection().sql}get dialect(){return this.connection().dialect}async query($){return await this.run($,"query")}async execute($){let Z=await this.run($,"execute");return Number(Z?.count??0)}async transaction($){let Z=this.name,O=this.connection(Z);return mJ(O.sql,(j)=>gJ(Z,()=>$(j)),{slowTransactionThreshold:O.config.slowTransactionThreshold,connection:Z})}async schema(){let $=this.connection(),{introspect:Z}=await import("./chunk-yafxbmy3.js");return Z(this.handle()??$.sql,$.dialect)}run($,Z){let O=this.connection(),{text:j,values:T}=hJ($,pJ(O.dialect),Z);return(this.handle()??O.sql).unsafe(j,T)}handle(){let $=DZ();if($===void 0)return;return UZ()===this.name?$:void 0}connection($=this.name){return yJ($),C(GZ).connection($)}}var ZZ=new R3;class cJ extends v0{static getFacadeAccessor(){return GZ}static connection($){return new R3($)}static get sql(){return ZZ.sql}static get dialect(){return ZZ.dialect}static query($){return ZZ.query($)}static execute($){return ZZ.execute($)}static transaction($){return ZZ.transaction($)}static schema(){return ZZ.schema()}static close(){return this.getFacadeRoot().close()}}export{J1 as hc,TZ as ic,m3 as jc,N0 as kc,c3 as lc,k4 as mc,ZO as nc,zZ as oc,d3 as pc,f1 as qc,w0 as rc,OW as sc,jW as tc,o3 as uc,r3 as vc,j8 as wc,a0 as xc,YZ as yc,o4 as zc,C$ as Ac,T8 as Bc,z8 as Cc,e3 as Dc,$j as Ec,JO as Fc,XZ as Gc,YU as Hc,B8 as Ic,CW as Jc,Jj as Kc,z$ as Lc,s$ as Mc,w3 as Nc,vJ as Oc,wJ as Pc,TF as Qc,Q1 as Rc,qJ as Sc,zJ as Tc,U4 as Uc,JJ as Vc,WJ as Wc,NX as Xc,YJ as Yc,G4 as Zc,PX as _c,EX as $c,B4 as ad,XJ as bd,FJ as cd,n$ as dd,kJ as ed,R3 as fd,cJ as gd,p6 as hd,h6 as id,oU as jd,S7 as kd,N7 as ld,lZ as md,FG as nd,x7 as od,P7 as pd,F4 as qd,o$ as rd,K4 as sd,L4 as td,dX as ud,f4 as vd,sX as wd,nZ as xd,M4 as yd,VJ as zd,LJ as Ad,H3 as Bd,s0 as Cd,H as Dd,d4 as Ed,i4 as Fd,u4 as Gd,e4 as Hd,$8 as Id,Z8 as Jd};
16
+
17
+ //# debugId=E43ED2AFEAB1BA9B64756E2164756E21