thursday-agent 0.1.2 → 0.2.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 (358) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +13 -13
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +1 -1
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +3 -0
  23. package/.next/server/app/api/bot/notes/route/build-manifest.json +12 -0
  24. package/.next/server/app/api/bot/notes/route/server-reference-manifest.json +4 -0
  25. package/.next/server/app/api/bot/notes/route.js +14 -0
  26. package/.next/server/app/api/bot/notes/route.js.map +5 -0
  27. package/.next/server/app/api/bot/notes/route.js.nft.json +1 -0
  28. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +3 -0
  29. package/.next/server/app/api/bot/route.js +4 -4
  30. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/task/[id]/route.js +6 -6
  32. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  33. package/.next/server/app/api/bot/task/route.js +6 -6
  34. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  35. package/.next/server/app/api/config/route.js +3 -3
  36. package/.next/server/app/api/config/route.js.nft.json +1 -1
  37. package/.next/server/app/api/events/route.js +1 -1
  38. package/.next/server/app/api/events/route.js.nft.json +1 -1
  39. package/.next/server/app/api/file/[...path]/route.js +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  41. package/.next/server/app/api/llm-model/catalog/route.js +6 -6
  42. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  43. package/.next/server/app/api/llm-model/route.js +3 -3
  44. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/[name]/route.js +3 -3
  46. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  47. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  48. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  49. package/.next/server/app/api/mcp/route.js +3 -3
  50. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  51. package/.next/server/app/api/mcp/tools/route.js +3 -3
  52. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  53. package/.next/server/app/api/memory/route.js +7 -7
  54. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  55. package/.next/server/app/api/memory/tidy/route.js +10 -11
  56. package/.next/server/app/api/memory/tidy/route.js.nft.json +1 -1
  57. package/.next/server/app/api/skills/[source]/[name]/route.js +1 -1
  58. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/skills/route.js +1 -1
  60. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  61. package/.next/server/app/api/thursday/call/route.js +8 -8
  62. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  63. package/.next/server/app/api/thursday/skills/route.js +8 -8
  64. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  65. package/.next/server/app/api/thursday/tool-call/route.js +11 -12
  66. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  67. package/.next/server/app/api/workspace/route.js +1 -1
  68. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  69. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  70. package/.next/server/app/artifact/[...path]/page.js +3 -3
  71. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  72. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  74. package/.next/server/app/page/server-reference-manifest.json +63 -41
  75. package/.next/server/app/page.js +7 -7
  76. package/.next/server/app/page.js.nft.json +1 -1
  77. package/.next/server/app/page_client-reference-manifest.js +1 -1
  78. package/.next/server/app-paths-manifest.json +1 -0
  79. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +3 -0
  80. package/.next/server/chunks/{[root-of-the-server]__0t_dqaj._.js → [root-of-the-server]__0-npkh_._.js} +1 -1
  81. package/.next/server/chunks/[root-of-the-server]__005var5._.js +3 -0
  82. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +2 -2
  83. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +3 -0
  84. package/.next/server/chunks/{[root-of-the-server]__1mzp_el._.js → [root-of-the-server]__04_8spk._.js} +2 -2
  85. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +1 -1
  86. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +4 -4
  87. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +5 -0
  88. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +3 -0
  89. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +1 -1
  90. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +5 -5
  91. package/.next/server/chunks/{[root-of-the-server]__113fqg5._.js → [root-of-the-server]__0p32jfz._.js} +3 -3
  92. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +4 -4
  93. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +1 -1
  94. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +5 -0
  95. package/.next/server/chunks/{[root-of-the-server]__0j_n5l3._.js → [root-of-the-server]__1692zrv._.js} +2 -2
  96. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +1 -1
  97. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +3 -3
  98. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +10 -0
  99. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +4 -4
  100. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +10 -0
  101. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +1 -1
  102. package/.next/server/chunks/{[root-of-the-server]__1u_qvc7._.js → [root-of-the-server]__1fboj2j._.js} +2 -2
  103. package/.next/server/chunks/{[root-of-the-server]__1dow0bz._.js → [root-of-the-server]__1oli73c._.js} +2 -2
  104. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +4 -4
  105. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +5 -0
  106. package/.next/server/chunks/_0-73of8._.js +55 -0
  107. package/.next/server/chunks/{_2050gwn._.js → _00_584r._.js} +66 -28
  108. package/.next/server/chunks/{_0y8is-s._.js → _03a0897._.js} +1 -1
  109. package/.next/server/chunks/_05h2cii._.js +1 -1
  110. package/.next/server/chunks/_06mxlgn._.js +1 -1
  111. package/.next/server/chunks/_0a351g7._.js +1 -1
  112. package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +5 -5
  113. package/.next/server/chunks/_0kjjmag._.js +1 -1
  114. package/.next/server/chunks/{_1t8fv7b._.js → _0n74zsf._.js} +5 -5
  115. package/.next/server/chunks/_0nn99o2._.js +3 -0
  116. package/.next/server/chunks/_0pppbb5._.js +10 -6
  117. package/.next/server/chunks/{_1icgbi8._.js → _0rnf-6n._.js} +5 -5
  118. package/.next/server/chunks/_0u10wmw._.js +55 -0
  119. package/.next/server/chunks/{_0kl37zl._.js → _0vnutv9._.js} +1 -1
  120. package/.next/server/chunks/_0wp4le3._.js +1 -1
  121. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  122. package/.next/server/chunks/_106co2o._.js +3 -0
  123. package/.next/server/chunks/_12bbv5i._.js +10 -6
  124. package/.next/server/chunks/_15hq89o._.js +1 -1
  125. package/.next/server/chunks/_15q1pig._.js +1 -1
  126. package/.next/server/chunks/_18-1wcc._.js +55 -0
  127. package/.next/server/chunks/_19wg5yn._.js +138 -0
  128. package/.next/server/chunks/_1_5mnq4._.js +18 -0
  129. package/.next/server/chunks/_1bt95p9._.js +55 -0
  130. package/.next/server/chunks/_1cbk7ms._.js +9 -9
  131. package/.next/server/chunks/_1drgfx4._.js +18 -0
  132. package/.next/server/chunks/_1drv2et._.js +10 -6
  133. package/.next/server/chunks/{_10qam6o._.js → _1e48czp._.js} +5 -5
  134. package/.next/server/chunks/{_1skgy7b._.js → _1kg70wc._.js} +5 -5
  135. package/.next/server/chunks/_1php4eq._.js +1 -1
  136. package/.next/server/chunks/_1rysr-r._.js +10 -0
  137. package/.next/server/chunks/_1u3rwbr._.js +3 -0
  138. package/.next/server/chunks/_1x7p319._.js +1 -1
  139. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  140. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +3 -0
  141. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  142. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +1 -1
  143. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0228f43._.js → node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js} +1 -1
  144. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0ir-vo2._.js → node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js} +1 -1
  145. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0otw8ef._.js → node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js} +1 -1
  146. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tf290y._.js → node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js} +1 -1
  147. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +3 -0
  148. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0j61-ma._.js +3 -0
  149. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js +3 -0
  150. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_11zjo-1._.js +3 -0
  151. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1pycqsq._.js +3 -0
  152. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +3 -0
  153. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +3 -0
  154. package/.next/server/chunks/ssr/[externals]__0dizgek._.js +3 -0
  155. package/.next/server/chunks/ssr/[root-of-the-server]__0f6s48x._.js +1 -1
  156. package/.next/server/chunks/ssr/[root-of-the-server]__0m1b5ky._.js +3 -0
  157. package/.next/server/chunks/ssr/{[root-of-the-server]__0dfwvr4._.js → [root-of-the-server]__0un-erv._.js} +2 -2
  158. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +5 -3
  159. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +3 -0
  160. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  161. package/.next/server/chunks/ssr/[root-of-the-server]__1qfqvmg._.js +3 -0
  162. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +3 -0
  163. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +3 -0
  164. package/.next/server/chunks/ssr/_03webdr._.js +3 -0
  165. package/.next/server/chunks/ssr/{_0gd4vaa._.js → _040sk32._.js} +71 -29
  166. package/.next/server/chunks/ssr/_077-g6s._.js +1 -1
  167. package/.next/server/chunks/ssr/{_0lc_7c8._.js → _09ja_w1._.js} +2 -2
  168. package/.next/server/chunks/ssr/{_1dcxzqe._.js → _0f_b_9s._.js} +2 -2
  169. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  170. package/.next/server/chunks/ssr/_0lu1n_x._.js +3 -0
  171. package/.next/server/chunks/ssr/_0sf1isi._.js +1 -1
  172. package/.next/server/chunks/ssr/_0su6_08._.js +3 -0
  173. package/.next/server/chunks/ssr/{_0nso8tp._.js → _0w5bgak._.js} +2 -2
  174. package/.next/server/chunks/ssr/{_19_o9d-._.js → _0x_nu5e._.js} +2 -2
  175. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  176. package/.next/server/chunks/ssr/_13punpm._.js +1 -1
  177. package/.next/server/chunks/ssr/{_0ay6b01._.js → _1ciyoo3._.js} +2 -2
  178. package/.next/server/chunks/ssr/_1e-dgz0._.js +1 -1
  179. package/.next/server/chunks/ssr/_1fq7zgb._.js +1 -1
  180. package/.next/server/chunks/ssr/{_0cvjbuz._.js → _1g6l4uj._.js} +2 -2
  181. package/.next/server/chunks/ssr/{_0q_2f2x._.js → _1lip4th._.js} +2 -2
  182. package/.next/server/chunks/ssr/_1m3bsfr._.js +3 -0
  183. package/.next/server/chunks/ssr/_1mznrxk._.js +1 -1
  184. package/.next/server/chunks/ssr/_1ruzehw._.js +3 -0
  185. package/.next/server/chunks/ssr/_1vyd1ji._.js +3 -0
  186. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  187. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +1 -1
  188. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  189. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  190. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  191. package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +27 -0
  192. package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +27 -0
  193. package/.next/server/chunks/ssr/{node_modules_108wd2o._.js → node_modules_004qlr4._.js} +1 -1
  194. package/.next/server/chunks/ssr/{node_modules_1ub40gk._.js → node_modules_01qnv-a._.js} +1 -1
  195. package/.next/server/chunks/ssr/{node_modules_1y8_3vg._.js → node_modules_04n7mjs._.js} +1 -1
  196. package/.next/server/chunks/ssr/{node_modules_0_j7-g4._.js → node_modules_08d8bke._.js} +1 -1
  197. package/.next/server/chunks/ssr/{node_modules_0y2-av4._.js → node_modules_09xhur7._.js} +1 -1
  198. package/.next/server/chunks/ssr/{node_modules_043-236._.js → node_modules_0_n241r._.js} +1 -1
  199. package/.next/server/chunks/ssr/{node_modules_0ls96je._.js → node_modules_0iz1rzd._.js} +1 -1
  200. package/.next/server/chunks/ssr/{node_modules_0xwx4u-._.js → node_modules_0kl7-tn._.js} +1 -1
  201. package/.next/server/chunks/ssr/{node_modules_1jatz7w._.js → node_modules_0kxz4gt._.js} +1 -1
  202. package/.next/server/chunks/ssr/{node_modules_1t0y5jt._.js → node_modules_0lrjk5t._.js} +1 -1
  203. package/.next/server/chunks/ssr/{node_modules_13f2md6._.js → node_modules_0m93zeg._.js} +1 -1
  204. package/.next/server/chunks/ssr/{node_modules_1nhw9qg._.js → node_modules_0n1kj4p._.js} +1 -1
  205. package/.next/server/chunks/ssr/{node_modules_1k29j1j._.js → node_modules_0ndvxub._.js} +1 -1
  206. package/.next/server/chunks/ssr/{node_modules_16i4o_3._.js → node_modules_13r44jq._.js} +1 -1
  207. package/.next/server/chunks/ssr/{node_modules_0fbw5-u._.js → node_modules_17lrt3y._.js} +1 -1
  208. package/.next/server/chunks/ssr/{node_modules_1d-is1o._.js → node_modules_18_dk7_._.js} +1 -1
  209. package/.next/server/chunks/ssr/{node_modules_1hn_sd5._.js → node_modules_19dp7ko._.js} +1 -1
  210. package/.next/server/chunks/ssr/{node_modules_20ynonm._.js → node_modules_1dwguw_._.js} +1 -1
  211. package/.next/server/chunks/ssr/{node_modules_00d6675._.js → node_modules_1hd-5tv._.js} +1 -1
  212. package/.next/server/chunks/ssr/{node_modules_1ee8gav._.js → node_modules_1hn8z1f._.js} +1 -1
  213. package/.next/server/chunks/ssr/{node_modules_0bue6gy._.js → node_modules_1n5ygqe._.js} +1 -1
  214. package/.next/server/chunks/ssr/{node_modules_1_588_4._.js → node_modules_1q0p85z._.js} +1 -1
  215. package/.next/server/chunks/ssr/{node_modules_0ipn1ho._.js → node_modules_1toafc-._.js} +1 -1
  216. package/.next/server/chunks/ssr/{node_modules_0_fvxnt._.js → node_modules_1xyd7ov._.js} +1 -1
  217. package/.next/server/chunks/ssr/{node_modules_1v0077l._.js → node_modules_1zu988w._.js} +1 -1
  218. package/.next/server/chunks/ssr/{node_modules_06kvvuo._.js → node_modules_20yebtj._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_092s8nx._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js} +1 -1
  220. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1nvexgu._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js} +1 -1
  221. package/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js +47 -0
  222. package/.next/server/middleware-build-manifest.js +3 -3
  223. package/.next/server/pages/404.html +1 -1
  224. package/.next/server/pages/500.html +1 -1
  225. package/.next/server/server-reference-manifest.js +1 -1
  226. package/.next/server/server-reference-manifest.json +64 -42
  227. package/.next/static/chunks/05b6nx_o3_f_n.js +1 -0
  228. package/.next/static/chunks/{3aquirz5h71da.js → 07kl352c-lvcz.js} +1 -1
  229. package/.next/static/chunks/0dmns-gi0raa4.js +1 -0
  230. package/.next/static/chunks/0oc4_xoia77dg.css +1 -0
  231. package/.next/static/chunks/0pheo8m3a-rzi.js +1 -0
  232. package/.next/static/chunks/{2ihkf6l2jowo9.js → 18vhba44l1fc9.js} +3 -3
  233. package/.next/static/chunks/19i8h2t-5evjx.js +1 -0
  234. package/.next/static/chunks/{1gy3bbv7usnjo.js → 1c5fcj473025q.js} +1 -1
  235. package/.next/static/chunks/1pi_hbmjw-f-z.js +1 -0
  236. package/.next/static/chunks/{0tydnn2kybibk.js → 1twt6k09vg4np.js} +1 -1
  237. package/.next/static/chunks/{21rk8w7bda-su.js → 28gotuisldmom.js} +1 -1
  238. package/.next/static/chunks/{3xxa2j56-f3nm.js → 2998p0y7k1c8z.js} +1 -1
  239. package/.next/static/chunks/2l233xfycjpd8.js +1 -0
  240. package/.next/static/chunks/2p5n7pa3c40t-.js +2 -0
  241. package/.next/static/chunks/2ru1q132af7h7.js +1 -0
  242. package/.next/static/chunks/{2fq_86jvq9ymq.js → 2t8wqycwg3y04.js} +2 -2
  243. package/.next/static/chunks/32z_ypgtchw48.js +1 -0
  244. package/.next/static/chunks/{247d-r95j8xs0.js → 33pyjb3xd1iez.js} +1 -1
  245. package/.next/static/chunks/3786h5vayt80-.js +28 -0
  246. package/.next/static/chunks/3_h9txt3tq8t8.js +28 -0
  247. package/.next/static/chunks/{1khakdu_iuedc.js → 3ard_noqapnw1.js} +1 -1
  248. package/.next/static/chunks/{1fr5m75pwtyic.js → 3omud5xunrk1f.js} +1 -1
  249. package/.next/static/chunks/42dnrkbph9e-1.js +1 -0
  250. package/app/api/events/app-event.client.ts +24 -0
  251. package/app/api/events/app-event.server.ts +45 -0
  252. package/app/api/events/app-event.ts +44 -0
  253. package/app/api/llm-model/catalog/route.ts +12 -0
  254. package/app/api/llm-model/route.ts +21 -0
  255. package/app/api/query-key.ts +144 -0
  256. package/app/api/thursday/tool-call/route.ts +67 -0
  257. package/components/ui/button-group.tsx +45 -0
  258. package/components/ui/custom-icon.tsx +259 -0
  259. package/components/ui/dropdown-menu.tsx +271 -0
  260. package/components/ui/folded-text.tsx +68 -0
  261. package/components/ui/input-group.tsx +157 -0
  262. package/components/ui/json-view.tsx +240 -0
  263. package/components/ui/shiny-text.tsx +141 -0
  264. package/components/ui/text-type.tsx +213 -0
  265. package/components/ui/theme-sync.tsx +9 -0
  266. package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/migration.sql +7 -0
  267. package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/snapshot.json +54 -1
  268. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +1 -0
  269. package/database/migrations/20260909063821_bitter_tenebrous/snapshot.json +1285 -0
  270. package/docs/how-it-works.md +59 -0
  271. package/docs/images/keeps-going.png +0 -0
  272. package/docs/images/task-thread.png +0 -0
  273. package/docs/images/two-minds.png +0 -0
  274. package/features/ai/load-tools.ts +55 -5
  275. package/features/ai/prompts/bot.prompt.ts +121 -26
  276. package/features/ai/prompts/memory-tidy.prompt.ts +7 -1
  277. package/features/ai/prompts/prompt-helper.ts +31 -5
  278. package/features/ai/prompts/thursday.prompt.ts +2 -0
  279. package/features/ai/tools/bot.tool.ts +37 -18
  280. package/features/ai/tools/mcp.tool.ts +5 -5
  281. package/features/ai/tools/memory.tool.ts +17 -10
  282. package/features/ai/tools/studio.tool.ts +5 -5
  283. package/features/ai/tools/tool-name.ts +2 -0
  284. package/features/ai/tools/workspace.tool.ts +33 -5
  285. package/features/bot/bot.action.ts +31 -4
  286. package/features/bot/bot.notes.ts +120 -0
  287. package/features/bot/bot.query.ts +56 -1
  288. package/features/bot/bot.run.ts +43 -3
  289. package/features/bot/bot.runner.ts +94 -20
  290. package/features/bot/bot.schema.ts +17 -0
  291. package/features/bot/components/bot-room.tsx +405 -306
  292. package/features/bot/components/bot-setting.tsx +123 -20
  293. package/features/bot/task.query.ts +18 -5
  294. package/features/memory/components/memory-setting.tsx +11 -2
  295. package/features/memory/memory.query.ts +9 -2
  296. package/features/memory/memory.schema.ts +30 -0
  297. package/features/skills/components/skills-setting.tsx +9 -1
  298. package/features/workspace/workspace.ts +136 -3
  299. package/hooks/use-draft.ts +37 -0
  300. package/hooks/use-hotkey.ts +105 -0
  301. package/hooks/use-object-state.ts +51 -0
  302. package/hooks/use-on-visible.ts +72 -0
  303. package/hooks/use-theme.ts +106 -0
  304. package/hooks/use-wake-word.ts +262 -0
  305. package/lib/realtime/realtime.driver.ts +34 -1
  306. package/lib/realtime/realtime.protocol.ts +6 -0
  307. package/lib/sandbox.ts +9 -1
  308. package/lib/tokens.ts +19 -0
  309. package/package.json +1 -1
  310. package/.next/server/chunks/[root-of-the-server]__02kt8yn._.js +0 -10
  311. package/.next/server/chunks/[root-of-the-server]__0h59di-._.js +0 -5
  312. package/.next/server/chunks/[root-of-the-server]__0qjqtwo._.js +0 -5
  313. package/.next/server/chunks/[root-of-the-server]__0yk6s3w._.js +0 -5
  314. package/.next/server/chunks/[root-of-the-server]__0z3gelv._.js +0 -3
  315. package/.next/server/chunks/[root-of-the-server]__11w_7_3._.js +0 -3
  316. package/.next/server/chunks/[root-of-the-server]__1_0q_9w._.js +0 -3
  317. package/.next/server/chunks/[root-of-the-server]__1gmn1cs._.js +0 -10
  318. package/.next/server/chunks/_0fzqt2y._.js +0 -100
  319. package/.next/server/chunks/_0jgm3b8._.js +0 -55
  320. package/.next/server/chunks/_0ks6_sg._.js +0 -55
  321. package/.next/server/chunks/_0tzfesa._.js +0 -3
  322. package/.next/server/chunks/_0zmestz._.js +0 -55
  323. package/.next/server/chunks/_12nr4xc._.js +0 -3
  324. package/.next/server/chunks/_1hzrsvg._.js +0 -55
  325. package/.next/server/chunks/_1uj4_io._.js +0 -10
  326. package/.next/server/chunks/_1yldgo4._.js +0 -55
  327. package/.next/server/chunks/features_0scmr4i._.js +0 -3
  328. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +0 -3
  329. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ykklj0._.js +0 -3
  330. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1ryg3wh._.js +0 -3
  331. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vwbnq_._.js +0 -3
  332. package/.next/server/chunks/ssr/[root-of-the-server]__01id-v3._.js +0 -3
  333. package/.next/server/chunks/ssr/[root-of-the-server]__0b-0i32._.js +0 -3
  334. package/.next/server/chunks/ssr/[root-of-the-server]__185grso._.js +0 -3
  335. package/.next/server/chunks/ssr/[root-of-the-server]__1minz8_._.js +0 -3
  336. package/.next/server/chunks/ssr/_0j4v8of._.js +0 -3
  337. package/.next/server/chunks/ssr/_0l81bzy._.js +0 -3
  338. package/.next/server/chunks/ssr/_10uvw3l._.js +0 -3
  339. package/.next/server/chunks/ssr/_1jbv7m1._.js +0 -3
  340. package/.next/server/chunks/ssr/lib_realtime_0aetuyp._.js +0 -24
  341. package/.next/server/chunks/ssr/lib_realtime_18k_aj-._.js +0 -24
  342. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_errors_05xv7vp.js +0 -3
  343. package/.next/static/chunks/0yysv1gzin17t.js +0 -1
  344. package/.next/static/chunks/1keib_gt066gc.js +0 -1
  345. package/.next/static/chunks/28g42tw8tsvhd.js +0 -1
  346. package/.next/static/chunks/2cwjgkt_hoyhj.js +0 -22
  347. package/.next/static/chunks/2rbf1fpd8n80-.js +0 -22
  348. package/.next/static/chunks/2ukj8k69y89um.js +0 -1
  349. package/.next/static/chunks/2wngeetfnzxkp.js +0 -2
  350. package/.next/static/chunks/388-t2v72jh39.css +0 -1
  351. package/.next/static/chunks/3fqvc0cg-atq_.js +0 -1
  352. package/.next/static/chunks/3p4egvfjxpatb.js +0 -1
  353. package/.next/static/chunks/3qe1w1ei-huhl.js +0 -1
  354. package/.next/static/chunks/3y40riycdip-i.js +0 -1
  355. package/.next/static/chunks/45a6zbtkelph9.js +0 -1
  356. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_buildManifest.js +0 -0
  357. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_clientMiddlewareManifest.js +0 -0
  358. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_ssgManifest.js +0 -0
@@ -1,38 +1,58 @@
1
- module.exports=[475235,e=>e.a(async(t,r)=>{try{var n=e.i(333925),o=e.i(51083),a=e.i(799791),i=e.i(993195),s=e.i(1363),u=e.i(343229),c=e.i(871096),l=e.i(938281),d=e.i(64774),h=e.i(340697),p=e.i(636608),f=t([a,i,s,h]);async function m(e,t,r){var n,d,f,m,v;let S,k,x,T=await (0,c.openWorkspace)(),P=e.trim(),[A,N,j,D,C,I]=await Promise.all([(0,u.loadSkills)(T),(0,s.listNoteIndex)(),(0,s.listAlwaysLoaded)(),(0,h.listConnectedToolNames)(),(0,i.findPinnedTools)(P),(0,a.listJobBots)()]),$=r?[]:I.filter(e=>e.name!==P),L=[r?(n=r,[`You are a worker. ${n} is holding a job Thursday handed them and has handed one part of it to you. You never speak to the user: ${n} reports, and what you hand back goes into their report as-is. ${(0,p.nowLine)()}`,g,b].join("\n\n")):[`You are a worker. Thursday handed you a job while she keeps talking to the user; you are not in that conversation and never speak to the user directly. ${(0,p.nowLine)()}`,g,b].join("\n\n"),(d=N,f=j,S=`## Memory
1
+ module.exports=[475235,e=>e.a(async(t,r)=>{try{var n=e.i(333925),o=e.i(51083),a=e.i(799791),i=e.i(993195),s=e.i(1363),u=e.i(343229),c=e.i(871096),l=e.i(938281),d=e.i(64774),h=e.i(340697),p=e.i(636608),f=t([a,i,s,h]);async function m(e,t,r,d){var f,m,v,k,S,x,T,P;let A,N,j,D=await (0,c.openWorkspace)(),C=e.trim(),[I,$,L,M,U,B,q,X,W]=await Promise.all([(0,u.loadSkills)(D),(0,s.listNoteIndex)(),(0,s.listAlwaysLoaded)(),(0,h.listConnectedToolNames)(),(0,i.findPinnedTools)(C),(0,a.listJobBots)(),(0,a.readBotNote)(C),(0,a.readBotNotesOn)(),(0,c.readMachineTools)(D)]),H=r?[]:B.filter(e=>e.name!==C),G=[r?(f=C,m=r,[`You are ${f}, a worker. ${m} is holding a job Thursday handed them and has handed one part of it to you. The user speaks to Thursday and to nobody else; you never address them, and what you hand back goes into ${m}'s report as-is. This thread is drawn on their screen while you work: not written to them, but not private either. ${(0,p.nowLine)()}`,g,b].join("\n\n")):(v=C,[`You are ${v}, a worker. Thursday handed you a job while she keeps talking to the user they speak to her and to nobody else, and what she reads them out of your report is the only part of this that reaches them. You are not in that conversation and never address the user. This thread is drawn on their screen while you work, though: not written to them, but not private either. ${(0,p.nowLine)()}`,g,b].join("\n\n")),(k=$,S=L,A=`## Memory
2
2
 
3
- What the user's assistant knows about them — yours to read, and to add to when the work turns up something about them that outlives the job. What the job itself turned up goes in your report. It describes the user, not you: how they are named and spoken to is hers to use with them, not yours to borrow.`,k=f.length?`Already known:
3
+ What the user's assistant knows about them. Thursday keeps it as she talks with them, and everyone reads it.
4
4
 
5
- ${(0,p.carriedLines)(f)}`:"",x=`path what is under it (facts) "what the user calls it"
5
+ Yours to read, and to add to when the work turns up something about *them* that outlives the job; what the job itself turned up goes in your report. It describes the user, not you: how they are named and spoken to is hers to use with them, not yours to borrow. What you learn about this machine is not memory — that is your own instructions, below.`,N=S.length?`Already known:
6
6
 
7
- ${(0,p.noteLines)(d)}
7
+ ${(0,p.carriedLines)(S)}`:"",j=`path — what is under it (facts) "what the user calls it"
8
8
 
9
- A topic not listed is one nobody knows anything about.`,[S,k,x].filter(Boolean).join("\n\n")),function(e,t){let r=new Set(t.map(e=>`${e.server}/${e.name}`)),n=e.filter(e=>!r.has(`${e.server}/${e.name}`));if(0===n.length)return"";let a=r.size?" What is not listed above you are already holding — it is in your tools.":"";return`## Connected tools
9
+ ${(0,p.noteLines)(k)}
10
+
11
+ A topic not listed is one nobody knows anything about.`,[A,N,j].filter(Boolean).join("\n\n")),X?(x=q,`## Your own instructions
12
+
13
+ What you wrote to yourself on earlier jobs here, to get better at this machine. Only you read it, and it is the one thing that reaches your next job. What belongs in it is what working here is like — the command that turns out to be the right one, the flag it needs, the tool this platform does not have. Not what the user is like: that is Memory, above, and everyone reads that one.
14
+
15
+ ${x??"Empty. What usually goes in first is whatever you had to find out before you could start."}
16
+
17
+ (${x?.length??0}/${n.BOT_NOTES.chars} characters)`):"",function(e,t){let r=new Set(t.map(e=>`${e.server}/${e.name}`)),n=e.filter(e=>!r.has(`${e.server}/${e.name}`));if(0===n.length)return"";let a=r.size?" What is not listed above you are already holding — it is in your tools.":"";return`## Connected tools
10
18
 
11
19
  ${(0,p.mcpToolLines)(n)}
12
20
 
13
- Names only: \`${o.TOOL_NAMES.tool_search}\` returns what each one takes, \`${o.TOOL_NAMES.tool_call}\` runs one.${a}`}(D,C),(m=A,0===m.length?"":`## Skills
21
+ Names only: \`${o.TOOL_NAMES.tool_search}\` returns what each one takes, \`${o.TOOL_NAMES.tool_call}\` runs one.${a}`}(M,U),(T=I,0===T.length?"":`## Skills
14
22
 
15
23
  Written-down methods. When the job is one of these, read it with \`${o.TOOL_NAMES.load_skill}\` before starting.
16
24
 
17
- ${(0,p.skillLines)(m)}`),w(T.cwd),(v=$,0===v.length?"":`## Bots
25
+ ${(0,p.skillLines)(T)}`),w(D.cwd,W,d),(P=H,0===P.length?"":`## Bots
18
26
 
19
- ${v.map(e=>`- **${e.name}** — ${e.description}`).join("\n")}
27
+ ${P.map(e=>`- **${e.name}** — ${e.description}`).join("\n")}
20
28
 
21
- A part of your job another bot is for goes to \`${o.TOOL_NAMES.ask_bot}\`, because their tools and their practice are the reason they exist. What you build is made of what they bring back, so send for it before you build. A part you could finish in a couple of commands is yours; one that would take a run of its own is theirs. The job stays yours and you report; they see only your brief — not the call, not this thread.`),r?E(r):_,r?O(r):R,y(t)].filter(Boolean).join("\n\n");return l.logger.debug(`bot prompt
22
- ${L}`),{text:L,peers:$.map(e=>e.name),opening:null}}[a,i,s,h]=f.then?(await f)():f;let g=`**You are on a real computer — the user's own.** You have a shell and a filesystem, and the job is done, not described: where there is no tool for something, write one — in \`node\` unless they asked for another language, the runtime this app itself runs on. Reach for \`${o.TOOL_NAMES.bash}\` before concluding that something cannot be done, but after the roster, not instead of it: a script you write to do another bot's job is the long way round.
29
+ These lines were written for the user, who reads them on their own screen: where one says "you" it means them, not you.
23
30
 
24
- **What is missing gets installed.** Inside the workspace, freely; onto the machine itself \`python3\`, a \`brew\` package once they say yes, so ask. What is already there is nobody's question.
31
+ A part of your job another bot is for goes to \`${o.TOOL_NAMES.ask_bot}\`, because their tools and their practice are the reason they exist. What you build is made of what they bring back, so send for it before you build. A part you could finish in a couple of commands is yours; one that would take a run of its own is theirs. The job stays yours and you report; they see only your brief — not the call, not this thread.`),r?E(r):_,r?O(r):R,y(t)].filter(Boolean).join("\n\n");return(0,p.logPromptSize)("bot",G),l.logger.debug(`bot prompt
32
+ ${G}`),{text:G,peers:H.map(e=>e.name),opening:null}}[a,i,s,h]=f.then?(await f)():f;let g=`**You are on a real computer — the user's own.** You have a shell and a filesystem, and the job is done, not described: where there is no tool for something, write one — in \`node\` unless they asked for another language, the runtime this app itself runs on. Reach for \`${o.TOOL_NAMES.bash}\` before concluding that something cannot be done, but after the roster, not instead of it: a script you write to do another bot's job is the long way round.
33
+
34
+ **What is missing gets installed**, onto the machine once they say yes. What is already there is nobody's question — Environment says what this machine has.
25
35
 
26
36
  **Bring back the thing itself** — their own machine, their own accounts, their own copy of whatever they sent you for — not a smaller safer version of it, and not a note on why you did not.`,b="**Never present a guess as a result.** She says it out loud as fact. Say which part is unverified and why.",y=e=>e?.trim()?`## Owner's instructions
27
37
 
28
38
  Written by the person this bot works for. Where these and anything above disagree, these win.
29
39
 
30
- ${e.trim()}`:"",w=e=>`## Environment
40
+ ${e.trim()}`:"",w=(e,t,r)=>{var a;let i,s;return`## Environment
31
41
 
32
42
  Current Cwd: ${e}
33
43
  Platform: ${process.platform}
44
+ ${a=t,i=(e,t)=>`${e}: ${t.found.length?t.found.join(", "):"none"}.${t.missing.length?` Not here: ${t.missing.join(", ")}.`:""}`,s=a.managers.found.includes("pnpm")?" Use pnpm, not npm — this workspace is fenced for it (`pnpm-workspace.yaml`, `.npmrc`).":"",[i("Runtimes",a.runtimes),`${i("Package managers",a.managers)}${s}`,null===a.browser?"":a.browser?"Browser: installed.":"Browser: not installed — `playwright-cli install-browser chromium` puts one there."].filter(Boolean).join("\n")}
45
+
46
+ Read off this machine as the job opened, so it is current: reach for what is here instead of checking for it.
47
+
48
+ Your workspace — \`${o.TOOL_NAMES.bash}\` runs here. Everything you write goes in one of these, and they are kept apart because what is in them lives for different lengths of time:
49
+
50
+ - \`${n.PATHS.artifacts}/\` — finished work the user opens, one entry per result. Theirs, and it stays.
51
+ - \`${n.PATHS.projects}/\` — code you build, one folder each. It outlives this job, and a project's dependencies install inside it, never at the workspace root.
52
+ - \`${r?.scratch??n.PATHS.scratch}/\` — this job's working material. It goes when the job does, so nothing here is worth keeping.
53
+ - \`${r?.own??n.PATHS.bots}/\` — yours, across every job you run here. A script you wrote once and will want again, a table you built. Your own instructions can name what is in it.
34
54
 
35
- Your workspace — \`${o.TOOL_NAMES.bash}\` runs here. Everything you write goes in one of three folders: \`${n.PATHS.artifacts}/\` (finished work the user opens), \`${n.PATHS.projects}/\` (code you build), \`${n.PATHS.scratch}/\` (everything in progress). Never the directory above — that is the app you run in; outside the workspace, only where the user pointed you.`,_=`## Asking
55
+ Never the directory above — that is the app you run in; outside the workspace, only where the user pointed you.`},_=`## Asking
36
56
 
37
57
  What you cannot get for yourself — a decision between real options, a detail only the conversation has, a go-ahead before deleting or sending — goes to \`${o.TOOL_NAMES.ask_thursday}\`, once, with everything in it. Ask before you start, not after an hour; never ask what one command would tell you.
38
58
 
@@ -52,15 +72,33 @@ Every part ends with \`${o.TOOL_NAMES.report}\`; what you hand back goes into ${
52
72
 
53
73
  A detail that is not in the request may be here — a name, a number, which one of two. The request wins where they disagree, with one exception: when they asked out loud for something to be *done* and the request only asks about it, the doing is the job.
54
74
 
55
- ${r.join("\n")}`},"loadBotPrompt",0,m]),r()}catch(e){r(e)}},!1),277259,e=>e.a(async(t,r)=>{try{var n=e.i(734732),o=e.i(691296),a=e.i(333925),i=e.i(113022),s=e.i(986507),u=e.i(475235),c=e.i(423620),l=e.i(51083),d=e.i(951056),h=e.i(871096),p=e.i(938281),f=e.i(212389),m=e.i(610150),g=e.i(64774),b=e.i(799791),y=e.i(444444),w=t([i,s,u,b,y]);[i,s,u,b,y]=w.then?(await w)():w;let S=a.BOT_RUN.steps,k=a.BOT_RUN.compactAt;async function _(e,t){var r,a;let d,f,g,w,_=t.depth??0,P=t.parent??null,A=e.bot.trim(),N=e=>t.emit({...e,bot:A,parent:P}),j=await (0,b.findJobBot)(A);if(!j)return void await N({type:"error",message:`No bot named "${e.bot}". Use a name from the list.`});let D=await ((r=j).provider&&r.model?(0,s.getTextModel)({provider:r.provider,model:r.model}):(0,s.resolveDefaultModel)().then(s.getTextModel)),[C,I]=await Promise.all([(0,u.loadBotPrompt)(A,j.systemPrompt,"askedBy"in e?e.askedBy:null),(0,i.loadTools)({target:"bot",bot:A,taskId:t.taskId,model:D})]),$="messages"in e?e.messages:[{role:"user",content:(a=e,(d=a.context?.trim())?`${a.request}
75
+ ${r.join("\n")}`},"loadBotPrompt",0,m]),r()}catch(e){r(e)}},!1),29957,e=>e.a(async(t,r)=>{try{var n=e.i(734732),o=e.i(691296),a=e.i(749906),i=e.i(333925),s=e.i(51083),u=e.i(938281),c=e.i(991243),l=e.i(799791),d=t([l]);[l]=d.then?(await d)():d;let p=(0,c.createKeyedLock)();async function h(e){return p(e.bot,async()=>{let t=await (0,l.readBotNote)(e.bot),r=t;try{var c,d;await (0,n.generateText)({model:e.model,messages:[{role:"user",content:(c=t,d=e.want,`You keep one worker's notes. It is an agent with a shell on this machine; the notes are its own, read at the start of every job it runs and by nobody else. They hold what this machine has taught it — the command that works here, the flag without which something fails, the tool this platform does not have. Write what the worker found, never what it proposed.
76
+
77
+ Four things do not belong, however true today: what is in a folder right now, what a job produced, anything about the person the work is for, and how to satisfy the worker's own tools (\`report\`, \`write_file\`, \`bash\` — those belong to the app it runs inside and change with it). A program *on the machine* is the opposite and does belong.
78
+
79
+ Nor does how the worker should behave. Whoever owns it writes that separately and it outranks these, so a note about manner or language is either already said or about to be overruled.
80
+
81
+ The change is applied to what is already there, not written over it. Say the notes read \`Tests here run with npm.\` and then \`Chromium needs --no-sandbox or it exits.\` The worker asks for the npm line to be corrected to pnpm: both lines come back, the first now reading \`Tests here run with pnpm.\` and the second word for word as it was. Added, corrected or dropped is one line moving; everything the request did not name is untouched.
82
+
83
+ ${c?"The notes as they stand:":"There are no notes yet — the fence below is empty because nothing has been written, not because the notes say so."}
84
+
85
+ \`\`\`
86
+ ${c??""}
87
+ \`\`\`
88
+
89
+ The worker asks for this change:
90
+
91
+ ${d.trim()}
92
+
93
+ Hand back the whole thing as it should now read, keeping what the request does not touch. Only what belongs inside the fence, never a word about it, and nothing at all when the request holds nothing that belongs. At most ${i.BOT_NOTES.chars} characters, which is a ceiling and not a target.`)}],abortSignal:e.signal,tools:{[s.TOOL_NAMES.update_notes]:(0,o.tool)({description:"Hand back the updated prompt.",inputSchema:a.object({prompt:a.string().max(i.BOT_NOTES.chars).describe(`The whole prompt as it should now read, at most ${i.BOT_NOTES.chars} characters.`)}),execute:async({prompt:t})=>(await (0,l.writeBotNote)(e.bot,t),r=t.trim()||null,"Saved.")})},toolChoice:"required",stopWhen:[(0,n.stepCountIs)(3),(0,n.hasToolCall)(s.TOOL_NAMES.update_notes)]})}catch(t){u.logger.warn(`notes pass for ${e.bot} failed: ${t}`)}return r})}e.s(["hasNotesRequest",0,e=>!!e?.trim(),"keepNotes",0,h]),r()}catch(e){r(e)}},!1),277259,e=>e.a(async(t,r)=>{try{var n=e.i(734732),o=e.i(691296),a=e.i(333925),i=e.i(113022),s=e.i(986507),u=e.i(475235),c=e.i(423620),l=e.i(51083),d=e.i(951056),h=e.i(871096),p=e.i(938281),f=e.i(212389),m=e.i(610150),g=e.i(64774),b=e.i(29957),y=e.i(799791),w=e.i(444444),_=t([i,s,u,b,y,w]);[i,s,u,b,y,w]=_.then?(await _)():_;let S=a.BOT_RUN.steps,x=a.BOT_RUN.compactAt;async function E(e,t){var r,a;let d,f,g,_,E=t.depth??0,N=t.parent??null,j=e.bot.trim(),D=e=>t.emit({...e,bot:j,parent:N}),C=await (0,y.findJobBot)(j);if(!C)return void await D({type:"error",message:`No bot named "${e.bot}". Use a name from the list.`});let I=await ((r=C).provider&&r.model?(0,s.getTextModel)({provider:r.provider,model:r.model}):(0,s.resolveDefaultModel)().then(s.getTextModel)),[$,L]=await Promise.all([t.taskId?(0,h.openJobScratch)(t.taskId,(await (0,w.findTask)(t.taskId))?.label??"job"):null,(0,h.openBotFolder)(j)]),[M,U]=await Promise.all([(0,u.loadBotPrompt)(j,C.systemPrompt,"askedBy"in e?e.askedBy:null,{scratch:$,own:L}),(0,i.loadTools)({target:"bot",bot:j,taskId:t.taskId,model:I})]),B="messages"in e?e.messages:[{role:"user",content:(a=e,(d=a.context?.trim())?`${a.request}
56
94
 
57
95
  ## What ${a.askedBy} already knows
58
96
 
59
- ${d}`:a.request)}],L={left:3},M=_>=1?function(e,t,r){let n={...e};delete n[l.TOOL_NAMES.ask_thursday];let{answer:a}=r;return a?{...n,[l.TOOL_NAMES.ask_back]:(0,o.tool)({description:c.askBackSpec.description,inputSchema:c.askBackSpec.parameters,execute:async({question:e})=>(t.left-=1,a(e))})}:n}(I,L,t):function(e,t){if(0===t.peers.length)return e;let r={...e,[l.TOOL_NAMES.ask_bot]:(0,o.tool)({description:c.askBotSpec.description,inputSchema:c.askBotSpec.parameters,execute:async({bot:e,request:n,context:o},a)=>{let i=t.options.taskId?`${t.options.taskId}-${a.toolCallId.slice(0,8)}`:null,s=[],u=async o=>{let i=await R({model:t.model,instructions:t.instructions,tools:r,messages:a.messages,asked:{bot:e,request:n},question:o,signal:t.options.signal});return await t.emit({type:"answered",question:o,...i}),s.push({question:o,answer:i.text}),i.text};try{var c;let r=await v({bot:e,request:n,context:o,askedBy:t.name},{...t.options,depth:t.depth+1,parent:a.toolCallId,taskId:i,answer:u});return s.length?`${r}
97
+ ${d}`:a.request)}],q={left:3},X=E>=1?function(e,t,r){let n={...e};delete n[l.TOOL_NAMES.ask_thursday];let{answer:a}=r;return a?{...n,[l.TOOL_NAMES.ask_back]:(0,o.tool)({description:c.askBackSpec.description,inputSchema:c.askBackSpec.parameters,execute:async({question:e})=>(t.left-=1,a(e))})}:n}(U,q,t):function(e,t){if(0===t.peers.length)return e;let r={...e,[l.TOOL_NAMES.ask_bot]:(0,o.tool)({description:c.askBotSpec.description,inputSchema:c.askBotSpec.parameters,execute:async({bot:e,request:n,context:o},a)=>{let i=t.options.taskId?`${t.options.taskId}-${a.toolCallId.slice(0,8)}`:null,s=[],u=async o=>{let i=await O({model:t.model,instructions:t.instructions,tools:r,messages:a.messages,asked:{bot:e,request:n},question:o,signal:t.options.signal});return await t.emit({type:"answered",question:o,...i}),s.push({question:o,answer:i.text}),i.text};try{var c;let r=await R({bot:e,request:n,context:o,askedBy:t.name},{...t.options,depth:t.depth+1,parent:a.toolCallId,taskId:i,answer:u});return s.length?`${r}
60
98
 
61
- ${c=e,s.map(({question:e,answer:t})=>`(On the way ${c} asked you: "${e}" — you answered: "${t}")`).join("\n")}`:r}finally{i&&(0,h.closeJobShell)(i)}}})};return r}(I,{name:A,model:D.model,instructions:C.text,peers:C.peers,depth:_,options:t,emit:N}),U={compact:null,interjections:[]},B=new n.ToolLoopAgent({model:D.model,instructions:C.text,tools:M,stopWhen:[(0,n.stepCountIs)(S),x,(0,n.hasToolCall)(l.TOOL_NAMES.ask_thursday)],prepareStep:async({stepNumber:e,steps:r,messages:n})=>{let o=e<S-1?{}:{activeTools:[l.TOOL_NAMES.report],toolChoice:{type:"tool",toolName:l.TOOL_NAMES.report}};!o.activeTools&&L.left<=0&&(o={...o,activeTools:Object.keys(M).filter(e=>e!==l.TOOL_NAMES.ask_back)});let a=r.at(-1)?.usage.inputTokens??0,i=Math.max(a,n.reduce((e,t)=>e+(0,m.estimateTokens)("string"==typeof t.content?t.content:JSON.stringify(t.content))+4,0)),s=n;if(i>k&&n.length>=2){let e=await E(D.model,M,n,{signal:t.signal,budget:k});p.logger.debug(`compacted ${n.length} messages at ${i} tokens (budget ${k})`),U.compact={type:"compact",text:e.text,usage:e.usage,messages:n.length,tokens:i},s=[{role:"user",content:e.text}]}let u=e>0?t.notes?.()??[]:[];return(u.length&&(U.interjections.push(...u),s=[...s,...u.map(e=>({role:"user",content:e}))]),s===n)?o:{...o,messages:s}}}),q=(f=[],g=[],w=!1,{push(e){let t=g.shift();t?t(e):f.push(e)},take(){let e=f.shift();return e?Promise.resolve(e):w?Promise.resolve(null):new Promise(e=>g.push(e))},end(){for(let e of(w=!0,g.splice(0)))e(null)}}),X=await B.stream({messages:$,abortSignal:t.signal,onStepEnd:e=>q.push({messages:e.response.messages,usage:T(e.usage)})}),H="",W=null,G=null,F=null;t.signal?.addEventListener("abort",()=>q.end(),{once:!0});try{for await(let e of X.fullStream)switch(e.type){case"start-step":for(let e of(U.compact&&(await N(U.compact),U.compact=null),U.interjections.splice(0)))await N({type:"interjection",text:e});break;case"text-delta":H+=e.text;break;case"text-end":{let e=H.trim();if(H="",!e)break;W=e,await N({type:"text",text:e});break}case"tool-call":if(e.toolName===l.TOOL_NAMES.ask_thursday){let t=e.input;G={id:e.toolCallId,question:String(t.question??""),options:(0,y.optionsOf)(t.options)}}else if(e.toolName===l.TOOL_NAMES.report){let t=e.input;F={text:String(t.result??"").trim(),complete:!1!==t.complete}}await N({type:"tool",id:e.toolCallId,name:e.toolName,input:e.input});break;case"tool-result":e.toolName===l.TOOL_NAMES.report&&F&&!(0,c.reportAccepted)(e.output)&&(F={text:`${F.text}
99
+ ${c=e,s.map(({question:e,answer:t})=>`(On the way ${c} asked you: "${e}" — you answered: "${t}")`).join("\n")}`:r}finally{i&&(0,h.closeJobShell)(i)}}})};return r}(U,{name:j,model:I.model,instructions:M.text,peers:M.peers,depth:E,options:t,emit:D}),W={compact:null,interjections:[]},H=new n.ToolLoopAgent({model:I.model,instructions:M.text,tools:X,stopWhen:[(0,n.stepCountIs)(S),T,(0,n.hasToolCall)(l.TOOL_NAMES.ask_thursday)],prepareStep:async({stepNumber:e,steps:r,messages:n})=>{let o=e<S-1?{}:{activeTools:[l.TOOL_NAMES.report],toolChoice:{type:"tool",toolName:l.TOOL_NAMES.report}};!o.activeTools&&q.left<=0&&(o={...o,activeTools:Object.keys(X).filter(e=>e!==l.TOOL_NAMES.ask_back)});let a=r.at(-1)?.usage.inputTokens??0,i=Math.max(a,n.reduce((e,t)=>e+(0,m.estimateTokens)("string"==typeof t.content?t.content:JSON.stringify(t.content))+4,0)),s=n;if(i>x&&n.length>=2){let e=await v(I.model,X,n,{signal:t.signal,budget:x});p.logger.debug(`compacted ${n.length} messages at ${i} tokens (budget ${x})`),W.compact={type:"compact",text:e.text,usage:e.usage,messages:n.length,tokens:i},s=[{role:"user",content:e.text}]}let u=e>0?t.notes?.()??[]:[];return(u.length&&(W.interjections.push(...u),s=[...s,...u.map(e=>({role:"user",content:e}))]),s===n)?o:{...o,messages:s}}}),G=(f=[],g=[],_=!1,{push(e){let t=g.shift();t?t(e):f.push(e)},take(){let e=f.shift();return e?Promise.resolve(e):_?Promise.resolve(null):new Promise(e=>g.push(e))},end(){for(let e of(_=!0,g.splice(0)))e(null)}}),F=await H.stream({messages:B,abortSignal:t.signal,onStepEnd:e=>G.push({messages:e.response.messages,usage:A(e.usage)})}),V="",Y=null,z=null,K=null,J=null;t.signal?.addEventListener("abort",()=>G.end(),{once:!0});try{for await(let e of F.fullStream)switch(e.type){case"start-step":for(let e of(W.compact&&(await D(W.compact),W.compact=null),W.interjections.splice(0)))await D({type:"interjection",text:e});break;case"text-delta":V+=e.text;break;case"text-end":{let e=V.trim();if(V="",!e)break;Y=e,await D({type:"text",text:e});break}case"tool-call":if(e.toolName===l.TOOL_NAMES.ask_thursday){let t=e.input;z={id:e.toolCallId,question:String(t.question??""),options:(0,w.optionsOf)(t.options)}}else if(e.toolName===l.TOOL_NAMES.report){let t=e.input;K={text:String(t.result??"").trim(),complete:!1!==t.complete},J=function(e){let t=e?.notes,r="string"==typeof t?t.trim():"";return r&&!P.has(r.toLowerCase())?r:null}(e.input)}await D({type:"tool",id:e.toolCallId,name:e.toolName,input:e.input});break;case"tool-result":e.toolName===l.TOOL_NAMES.report&&K&&!(0,c.reportAccepted)(e.output)&&(K={text:`${K.text}
62
100
 
63
- ${O(e.output)}`,complete:!1}),await N({type:"tool-result",id:e.toolCallId,name:e.toolName,output:e.output});break;case"finish-step":{let e=await q.take();e&&await N({type:"step",...e,budget:k});break}case"error":await N({type:"error",message:(0,s.modelErrorToString)(e.error)});return}}finally{q.end()}try{await X.response}catch(e){await N({type:"error",message:(0,s.modelErrorToString)(e)});return}G?await N({type:"waiting",...G}):F?await N({type:"report",...F}):await N({type:"report",text:W??"Stopped without handing anything back.",complete:!1})}let x=({steps:e})=>e.at(-1)?.toolResults.some(e=>e.toolName===l.TOOL_NAMES.report&&(0,c.reportAccepted)(e.output))??!1;async function E(e,t,r,o){try{let i,{text:s,usage:u}=await (0,n.generateText)({model:e,tools:t,toolChoice:"none",messages:[...r,{role:"user",content:(i=(e=>{let{min:t,max:r,perTokens:n}=a.BOT_RUN.summaryWords;return Math.min(r,Math.max(t,Math.round(e/n)))})(o.budget),`Compact your context. Everything above is your own work on this job so far; after this message it is replaced by what you write now, and you carry on from that alone. Write what a fresh copy of you needs to continue without re-reading anything:
101
+ ${k(e.output)}`,complete:!1}),await D({type:"tool-result",id:e.toolCallId,name:e.toolName,output:e.output});break;case"finish-step":{let e=await G.take();e&&await D({type:"step",...e,budget:x});break}case"error":await D({type:"error",message:(0,s.modelErrorToString)(e.error)});return}}finally{G.end()}try{await F.response}catch(e){await D({type:"error",message:(0,s.modelErrorToString)(e)});return}if(z)return void await D({type:"waiting",...z});if(K){await D({type:"report",...K}),(0,b.hasNotesRequest)(J)&&await (0,y.readBotNotesOn)()&&await (0,b.keepNotes)({bot:j,model:I.model,want:J,signal:t.signal});return}await D({type:"report",text:Y??"Stopped without handing anything back.",complete:!1})}let T=({steps:e})=>e.at(-1)?.toolResults.some(e=>e.toolName===l.TOOL_NAMES.report&&(0,c.reportAccepted)(e.output))??!1,P=new Set(["null","none","n/a","-","없음"]);async function v(e,t,r,o){try{let i,{text:s,usage:u}=await (0,n.generateText)({model:e,tools:t,toolChoice:"none",messages:[...r,{role:"user",content:(i=(e=>{let{min:t,max:r,perTokens:n}=a.BOT_RUN.summaryWords;return Math.min(r,Math.max(t,Math.round(e/n)))})(o.budget),`Compact your context. Everything above is your own work on this job so far; after this message it is replaced by what you write now, and you carry on from that alone. Write what a fresh copy of you needs to continue without re-reading anything:
64
102
 
65
103
  - The job as it was given — the request, quoted, and the details from the call that matter.
66
104
  - What you have done and what you found, with the exact values: numbers, names, urls, dates, ids, error messages.
@@ -70,9 +108,9 @@ ${O(e.output)}`,complete:!1}),await N({type:"tool-result",id:e.toolCallId,name:e
70
108
 
71
109
  Plain text, under ${i} words. No preamble and no headings about the summary itself — start with the job.`)}],abortSignal:o.signal}),c=s.trim();if(c)return{text:`The context was compacted here. Below is your own summary of the job up to this point; continue from it.
72
110
 
73
- ${c}`,usage:T(u)}}catch(e){if(o.signal?.aborted)throw e;throw Error(`Could not compact the context (${(0,s.modelErrorToString)(e)}).`)}throw Error("The summary of the context came back empty, so there is nothing to carry on from.")}let T=e=>({input:e.inputTokens??0,output:e.outputTokens??0});async function v(e,t){let r="",n=null;return await _(e,{...t,emit:async e=>{"report"===e.type&&(r=e.complete?e.text:`${e.text}
111
+ ${c}`,usage:A(u)}}catch(e){if(o.signal?.aborted)throw e;throw Error(`Could not compact the context (${(0,s.modelErrorToString)(e)}).`)}throw Error("The summary of the context came back empty, so there is nothing to carry on from.")}let A=e=>({input:e.inputTokens??0,output:e.outputTokens??0});async function R(e,t){let r="",n=null;return await E(e,{...t,emit:async e=>{"report"===e.type&&(r=e.complete?e.text:`${e.text}
74
112
 
75
- (As far as they got — they ran out of steps.)`),"error"===e.type&&(n=e.message),await t.emit(e)}}),n&&(0,f.publicError)(n),r}async function R(e){try{let t,r,{text:o,usage:a}=await (0,n.generateText)({model:e.model,system:e.instructions,tools:e.tools,toolChoice:"none",messages:[...e.messages,{role:"user",content:(t=e.asked,r=e.question,`You handed one part of your job to ${t.bot}:
113
+ (As far as they got — they ran out of steps.)`),"error"===e.type&&(n=e.message),await t.emit(e)}}),n&&(0,f.publicError)(n),r}async function O(e){try{let t,r,{text:o,usage:a}=await (0,n.generateText)({model:e.model,system:e.instructions,tools:e.tools,toolChoice:"none",messages:[...e.messages,{role:"user",content:(t=e.asked,r=e.question,`You handed one part of your job to ${t.bot}:
76
114
 
77
115
  > ${t.request.trim()}
78
116
 
@@ -80,11 +118,11 @@ Before going on, they ask you:
80
118
 
81
119
  > ${r.trim()}
82
120
 
83
- Answer from what you already have — the request as it reached you, the call it came out of, what you found before asking them. A few lines, plain text, and nothing else: no tools run here. If it is not in what you have, say so rather than guess, and say which way to go without it.`)}],abortSignal:e.signal});return{text:o.trim()||"They had nothing to add. Go on with your best reading, and say what you assumed in what you hand back.",usage:T(a)}}catch(t){if(e.signal?.aborted)throw t;return p.logger.warn(`ask_back: ${(0,s.modelErrorToString)(t)}`),{text:`No answer came back (${(0,s.modelErrorToString)(t)}). Go on with your best reading, and say what you assumed in what you hand back.`,usage:d.NO_TOKENS}}}function O(e){return"string"==typeof e?e:e&&"object"==typeof e&&"value"in e?"string"==typeof e.value?e.value:JSON.stringify(e.value??""):JSON.stringify(e??"")}e.s(["condenseThread",0,function(e,t=a.BOT_RUN.resumeMessages){let[r,...n]=e,o=[],i=(e,t)=>{let r=t.trim();if(!r)return;let n=o.at(-1);n?.role===e?n.content=`${n.content}
121
+ Answer from what you already have — the request as it reached you, the call it came out of, what you found before asking them. A few lines, plain text, and nothing else: no tools run here. If it is not in what you have, say so rather than guess, and say which way to go without it.`)}],abortSignal:e.signal});return{text:o.trim()||"They had nothing to add. Go on with your best reading, and say what you assumed in what you hand back.",usage:A(a)}}catch(t){if(e.signal?.aborted)throw t;return p.logger.warn(`ask_back: ${(0,s.modelErrorToString)(t)}`),{text:`No answer came back (${(0,s.modelErrorToString)(t)}). Go on with your best reading, and say what you assumed in what you hand back.`,usage:d.NO_TOKENS}}}function k(e){return"string"==typeof e?e:e&&"object"==typeof e&&"value"in e?"string"==typeof e.value?e.value:JSON.stringify(e.value??""):JSON.stringify(e??"")}e.s(["condenseThread",0,function(e,t=a.BOT_RUN.resumeMessages){let[r,...n]=e,o=[],i=(e,t)=>{let r=t.trim();if(!r)return;let n=o.at(-1);n?.role===e?n.content=`${n.content}
84
122
 
85
- ${r}`:o.push({role:e,content:r})};for(let e of n)if("user"===e.role)i("user","string"==typeof e.content?e.content:e.content.flatMap(e=>"text"===e.type?[e.text]:[]).join("\n"));else if("assistant"===e.role){if("string"==typeof e.content){i("assistant",e.content);continue}for(let t of e.content)"text"===t.type?i("assistant",t.text):"tool-call"===t.type&&i("assistant",function(e){let t=e.input??{};return e.toolName===l.TOOL_NAMES.ask_thursday?`(asked Thursday: ${String(t.question??"")})`:e.toolName===l.TOOL_NAMES.ask_back?`(asked back: ${String(t.question??"")})`:e.toolName===l.TOOL_NAMES.ask_bot?`(asked ${String(t.bot??"")} for: ${String(t.request??"")})`:e.toolName===l.TOOL_NAMES.report?`(handed back: ${(0,g.clip)(String(t.result??""),300)})`:`[${e.toolName} ${(0,y.toolLine)(e.toolName,t)}]`}(t))}else if("tool"===e.role)for(let t of e.content)"tool-result"===t.type&&(t.toolName===l.TOOL_NAMES.ask_thursday||t.toolName===l.TOOL_NAMES.ask_back?i("user",O(t.output)):t.toolName===l.TOOL_NAMES.ask_bot&&i("assistant",`(they answered: ${(0,g.clip)(O(t.output),600)})`));let s=o.slice(-t);return r?[r,...s]:s},"runBot",0,_]),r()}catch(e){r(e)}},!1),49002,e=>e.a(async(t,r)=>{try{var n=e.i(885298),o=e.i(232347),a=e.i(333925),i=e.i(986507),s=e.i(475235),u=e.i(51083),c=e.i(520401),l=e.i(375814),d=e.i(871096),h=e.i(528803),p=e.i(938281),f=e.i(212389),m=e.i(991243),g=e.i(277259),b=e.i(951056),y=e.i(444444),w=t([i,s,c,g,y]);[i,s,c,g,y]=w.then?(await w)():w;let P=globalThis.__botRuns??=new Map,A=globalThis.__botTaskLock??=(0,m.createKeyedLock)();async function _(e){let t=e.callId?await (0,c.listCallTurns)(e.callId,s.OPENING_TURNS):[],r=(0,s.buildTaskOpening)({request:e.request,conversation:t}),n=await (0,y.insertTask)({...e,opening:r});return S(n.id,{bot:e.bot,messages:[{role:"user",content:r}]}),n.id}async function E(e,t){return A(e,async()=>{var r,n;let o,a=await (0,y.findTask)(e);a||(0,f.publicError)("No such job.");let i=P.get(e);if(i&&"running"===a.status&&i.note(t))return void p.logger.debug(`task ${e}: interjection queued`);i&&(i.stop.abort(),await i.done);let{reply:s,as:c}=(r=a,n=t,o="waiting"===r.status?r.pending:null,o?.toolCallId?{as:"answer",reply:{role:"tool",content:[{type:"tool-result",toolCallId:o.toolCallId,toolName:u.TOOL_NAMES.ask_thursday,output:{type:"text",value:n}}]}}:{as:"running"===r.status?"interruption":"waiting"===r.status?"answer":"follow-up",reply:{role:"user",content:n}});p.logger.debug(`task ${e}: ${c}`);let l=await (0,y.listThread)(e);await (0,y.upsertMessage)(e,await (0,y.lastSeq)(e)+1,{bot:null,parent:null,...s}),await (0,y.updateTask)(e,{status:"running",outcome:null,pending:null,reported:!1,endedAt:null}),S(e,{bot:a.bot,messages:(0,g.condenseThread)([...l,s])})})}async function v(e){return A(e,async()=>{await (0,y.findTask)(e)||(0,f.publicError)("No such job."),P.get(e)?.stop.abort(),await (0,y.updateTask)(e,{status:"failed",outcome:"Cancelled.",pending:null,reported:!0,endedAt:new Date}),(0,d.closeJobShell)(e)})}async function R(){for(let e of(await (0,y.listRunningTaskIds)()))P.has(e)||await (0,y.updateTask)(e,{status:"waiting",outcome:"The server restarted while this was running. Everything it had done is still here. Pick it back up?",pending:{toolCallId:null,options:[b.TASK_CONTINUE]},reported:!1,endedAt:null})}async function O(e){for(let[t,r]of[...P])await A(t,async()=>{r.stop.abort(),await r.done;let n=await (0,y.findTask)(t);n&&"running"===n.status&&(await (0,y.updateTask)(t,{status:"waiting",outcome:`${e} Everything it had done is still here. Pick it back up?`,pending:{toolCallId:null,options:[b.TASK_CONTINUE]},reported:!1,endedAt:null}),(0,d.closeJobShell)(t))})}function S(e,t){let r=new AbortController,o=()=>{},a=new Promise(e=>{o=e}),i=[];P.set(e,{stop:r,done:a,note:t=>!!P.has(e)&&(i.push(t),!0)}),(0,n.after)(()=>k(e,t,r.signal,i).catch(t=>{p.logger.error(`task ${e}`,t)}).finally(o))}class N{taskId;seq;steps;constructor(e,t){this.taskId=e,this.steps=new Map,this.seq=t}step(e){let t=`${e.bot} ${e.parent??""}`,r=this.steps.get(t);return r||(r={assistant:null,tool:null,parts:{assistant:[],tool:[]}},this.steps.set(t,r)),r}write(e,t,r,n={}){let o={bot:t.bot,parent:t.parent,role:r.role,content:r.content,compact:n.compact??!1};return(0,y.upsertMessage)(this.taskId,e,o)}async on(e){let t=this.step(e);switch(e.type){case"text":return t.assistant??=++this.seq,t.parts.assistant.push({type:"text",text:e.text}),this.write(t.assistant,e,{role:"assistant",content:t.parts.assistant});case"tool":return t.assistant??=++this.seq,t.parts.assistant.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:e.input}),this.write(t.assistant,e,{role:"assistant",content:t.parts.assistant});case"tool-result":return t.assistant??=++this.seq,t.tool??=++this.seq,t.parts.tool.push({type:"tool-result",toolCallId:e.id,toolName:e.name,output:"string"==typeof e.output?{type:"text",value:e.output}:{type:"json",value:e.output}}),this.write(t.tool,e,{role:"tool",content:t.parts.tool});case"step":{let r=[t.assistant,t.tool];this.steps.delete(`${e.bot} ${e.parent??""}`);let n=new Set;for(let[t,o]of e.messages.entries()){let a=r[t]??++this.seq;n.add(a),await this.write(a,e,o)}let o=r.filter(e=>null!==e&&!n.has(e));o.length&&await (0,y.deleteMessages)(this.taskId,o);return}case"compact":return this.write(++this.seq,e,{role:"user",content:e.text},{compact:!0});case"interjection":return this.write(++this.seq,e,{role:"user",content:e.text});default:return}}}async function k(e,t,r,n){let s=new N(e,await (0,y.lastSeq)(e)),u=null;try{await (0,g.runBot)(t,{signal:r,taskId:e,notes:()=>n.splice(0),emit:async t=>{await s.on(t),"step"===t.type&&await (0,y.addTaskUsage)(e,t.usage,t.parent?null:{tokens:t.usage.input,budget:t.budget}),("compact"===t.type||"answered"===t.type)&&await (0,y.addTaskUsage)(e,t.usage),t.parent||("waiting"===t.type?u={status:"waiting",outcome:t.question,pending:{toolCallId:t.id,options:t.options}}:"report"===t.type?u={status:t.complete?"done":"waiting",outcome:t.text,pending:t.complete?null:{toolCallId:null,options:[b.TASK_CONTINUE]}}:"error"===t.type&&(u={status:"failed",outcome:x(t.message),pending:null}))}})}catch(e){u={status:"failed",outcome:x((0,i.modelErrorToString)(e)),pending:null}}finally{P.delete(e)}if(r.aborted)return;let c=u??{status:"failed",outcome:"Stopped without handing anything back.",pending:null};await (0,y.updateTask)(e,{...c,reported:!1,endedAt:"waiting"===c.status?null:new Date}),"waiting"!==c.status&&(0,d.closeJobShell)(e);let h=await (0,y.findTask)(e);if(h){if(n.length){let t=n.splice(0).join("\n\n");p.logger.debug(`task ${e}: interjection after the run ended — resuming`),E(e,t).catch(t=>{p.logger.error(`task ${e}: late interjection`,t)});return}if(await T(h.label,c),"done"===c.status){var f;let t,r=(f=c.outcome,(t=(0,l.pathsIn)(f)).find(e=>e.startsWith(`${a.PATHS.artifacts}/`))??t[0]??null);r&&o.appEvents.emit({type:"artifact",taskId:e,label:h.label,path:r})}}}function x(e){return`The run broke: ${e}
123
+ ${r}`:o.push({role:e,content:r})};for(let e of n)if("user"===e.role)i("user","string"==typeof e.content?e.content:e.content.flatMap(e=>"text"===e.type?[e.text]:[]).join("\n"));else if("assistant"===e.role){if("string"==typeof e.content){i("assistant",e.content);continue}for(let t of e.content)"text"===t.type?i("assistant",t.text):"tool-call"===t.type&&i("assistant",function(e){let t=e.input??{};return e.toolName===l.TOOL_NAMES.ask_thursday?`(asked Thursday: ${String(t.question??"")})`:e.toolName===l.TOOL_NAMES.ask_back?`(asked back: ${String(t.question??"")})`:e.toolName===l.TOOL_NAMES.ask_bot?`(asked ${String(t.bot??"")} for: ${String(t.request??"")})`:e.toolName===l.TOOL_NAMES.report?`(handed back: ${(0,g.clip)(String(t.result??""),300)})`:`[${e.toolName} ${(0,w.toolLine)(e.toolName,t)}]`}(t))}else if("tool"===e.role)for(let t of e.content)"tool-result"===t.type&&(t.toolName===l.TOOL_NAMES.ask_thursday||t.toolName===l.TOOL_NAMES.ask_back?i("user",k(t.output)):t.toolName===l.TOOL_NAMES.ask_bot&&i("assistant",`(they answered: ${(0,g.clip)(k(t.output),600)})`));let s=o.slice(-t);return r?[r,...s]:s},"runBot",0,E]),r()}catch(e){r(e)}},!1),49002,e=>e.a(async(t,r)=>{try{var n=e.i(885298),o=e.i(232347),a=e.i(333925),i=e.i(986507),s=e.i(475235),u=e.i(51083),c=e.i(520401),l=e.i(375814),d=e.i(871096),h=e.i(528803),p=e.i(938281),f=e.i(212389),m=e.i(991243),g=e.i(277259),b=e.i(951056),y=e.i(444444),w=t([i,s,c,g,y]);[i,s,c,g,y]=w.then?(await w)():w;let A=globalThis.__botRuns??=new Map,N=globalThis.__botTaskLock??=(0,m.createKeyedLock)();async function _(e){let t=e.callId?await (0,c.listCallTurns)(e.callId,s.OPENING_TURNS):[],r=(0,s.buildTaskOpening)({request:e.request,conversation:t}),n=await (0,y.insertTask)({...e,opening:r});return S(n.id,{bot:e.bot,messages:[{role:"user",content:r}]}),n.id}async function E(e,t){return N(e,async()=>{var r,n;let o,a=await (0,y.findTask)(e);a||(0,f.publicError)("No such job.");let i=A.get(e);if(i&&"running"===a.status&&i.note(t))return void p.logger.debug(`task ${e}: interjection queued`);i&&(i.stop.abort(),await i.done);let{reply:s,as:c}=(r=a,n=t,o="waiting"===r.status?r.pending:null,o?.toolCallId?{as:"answer",reply:{role:"tool",content:[{type:"tool-result",toolCallId:o.toolCallId,toolName:u.TOOL_NAMES.ask_thursday,output:{type:"text",value:n}}]}}:{as:"running"===r.status?"interruption":"waiting"===r.status?"answer":"follow-up",reply:{role:"user",content:n}});p.logger.debug(`task ${e}: ${c}`);let l=await (0,y.listThread)(e);await (0,y.upsertMessage)(e,await (0,y.lastSeq)(e)+1,{bot:null,parent:null,...s}),await (0,y.updateTask)(e,{status:"running",outcome:null,pending:null,reported:!1,endedAt:null}),S(e,{bot:a.bot,messages:(0,g.condenseThread)([...l,s])})})}async function v(e){return N(e,async()=>{await (0,y.findTask)(e)||(0,f.publicError)("No such job."),A.get(e)?.stop.abort(),await (0,y.updateTask)(e,{status:"failed",outcome:"Cancelled.",pending:null,reported:!0,endedAt:new Date}),(0,d.closeJobShell)(e)})}async function R(){for(let e of(await (0,y.listRunningTaskIds)()))A.has(e)||await O(e,"The server restarted while this was running")}async function O(e,t){await (0,y.updateTask)(e,{status:"waiting",outcome:`${t}. Everything it had done is still here. Pick it back up?`,pending:{toolCallId:null,options:[b.TASK_CONTINUE]},reported:!1,endedAt:null})}async function k(e){for(let[t,r]of[...A])await N(t,async()=>{r.stop.abort(),await r.done;let n=await (0,y.findTask)(t);n&&"running"===n.status&&(await (0,y.updateTask)(t,{status:"waiting",outcome:`${e} Everything it had done is still here. Pick it back up?`,pending:{toolCallId:null,options:[b.TASK_CONTINUE]},reported:!1,endedAt:null}),(0,d.closeJobShell)(t))})}function S(e,t){let r=new AbortController,o=()=>{},a=new Promise(e=>{o=e}),i=[];A.set(e,{stop:r,done:a,note:t=>!!A.has(e)&&(i.push(t),!0)}),(0,n.after)(()=>x(e,t,r.signal,i).catch(t=>{p.logger.error(`task ${e}`,t)}).finally(o))}class j{taskId;seq;steps;constructor(e,t){this.taskId=e,this.steps=new Map,this.seq=t}async note(e){await (0,y.upsertMessage)(this.taskId,++this.seq,{bot:null,parent:null,role:"user",content:e,note:!0})}step(e){let t=`${e.bot} ${e.parent??""}`,r=this.steps.get(t);return r||(r={assistant:null,tool:null,parts:{assistant:[],tool:[]}},this.steps.set(t,r)),r}write(e,t,r,n={}){let o={bot:t.bot,parent:t.parent,role:r.role,content:r.content,compact:n.compact??!1,note:n.note??!1};return(0,y.upsertMessage)(this.taskId,e,o)}async on(e){let t=this.step(e);switch(e.type){case"text":return t.assistant??=++this.seq,t.parts.assistant.push({type:"text",text:e.text}),this.write(t.assistant,e,{role:"assistant",content:t.parts.assistant});case"tool":return t.assistant??=++this.seq,t.parts.assistant.push({type:"tool-call",toolCallId:e.id,toolName:e.name,input:e.input}),this.write(t.assistant,e,{role:"assistant",content:t.parts.assistant});case"tool-result":return t.assistant??=++this.seq,t.tool??=++this.seq,t.parts.tool.push({type:"tool-result",toolCallId:e.id,toolName:e.name,output:"string"==typeof e.output?{type:"text",value:e.output}:{type:"json",value:e.output}}),this.write(t.tool,e,{role:"tool",content:t.parts.tool});case"step":{let r=[t.assistant,t.tool];this.steps.delete(`${e.bot} ${e.parent??""}`);let n=new Set;for(let[t,o]of e.messages.entries()){let a=r[t]??++this.seq;n.add(a),await this.write(a,e,o)}let o=r.filter(e=>null!==e&&!n.has(e));o.length&&await (0,y.deleteMessages)(this.taskId,o);return}case"compact":return this.write(++this.seq,e,{role:"user",content:e.text},{compact:!0,note:!0});case"interjection":return this.write(++this.seq,e,{role:"user",content:e.text});default:return}}}async function x(e,t,r,n){let s=new j(e,await (0,y.lastSeq)(e)),u=null,c=null;try{await (0,g.runBot)(t,{signal:r,taskId:e,notes:()=>n.splice(0),emit:async t=>{await s.on(t),"step"===t.type&&await (0,y.addTaskUsage)(e,t.usage,t.parent?null:{tokens:t.usage.input,budget:t.budget}),("compact"===t.type||"answered"===t.type)&&await (0,y.addTaskUsage)(e,t.usage),t.parent||("waiting"===t.type?u={status:"waiting",outcome:t.question,pending:{toolCallId:t.id,options:t.options}}:"report"===t.type?u={status:t.complete?"done":"waiting",outcome:t.text,pending:t.complete?null:{toolCallId:null,options:[b.TASK_CONTINUE]}}:"error"===t.type&&(c=t.message,u={status:"failed",outcome:T(t.message),pending:null}))}})}catch(e){c=(0,i.modelErrorToString)(e),u={status:"failed",outcome:T(c),pending:null}}finally{A.delete(e)}if(r.aborted)return;let h=u??{status:"failed",outcome:"Stopped without handing anything back.",pending:null};"failed"===h.status&&await s.note(`The run stopped here: ${c??h.outcome}`).catch(t=>p.logger.warn(`task ${e}: break not written`,t));try{await (0,y.updateTask)(e,{...h,reported:!1,endedAt:"waiting"===h.status?null:new Date})}catch(t){p.logger.error(`task ${e}: could not record how it ended`,t);return}"waiting"!==h.status&&(0,d.closeJobShell)(e);let f=await (0,y.findTask)(e);if(f){if(n.length){let t=n.splice(0).join("\n\n");p.logger.debug(`task ${e}: interjection after the run ended — resuming`),E(e,t).catch(t=>{p.logger.error(`task ${e}: late interjection`,t)});return}if(await P(f.label,h),"done"===h.status){var m;let t,r=(m=h.outcome,(t=(0,l.pathsIn)(m)).find(e=>e.startsWith(`${a.PATHS.artifacts}/`))??t[0]??null);r&&o.appEvents.emit({type:"artifact",taskId:e,label:f.label,path:r})}}}function T(e){return`The run broke: ${e}
86
124
 
87
- Everything it had done is still here — answer to pick it back up.`}async function T(e,t){if(0!==o.appEventStream.watchers&&await (0,c.isAnyCallLive)())return;let r="waiting"===t.status?`${e} — needs you`:e;(0,h.desktopNotify)(r,t.outcome)}e.s(["answerTask",0,E,"cancelTask",0,v,"pauseTasks",0,O,"startTask",0,_,"sweepTasks",0,R]),r()}catch(e){r(e)}},!1),528803,e=>{"use strict";var t=e.i(874533),r=e.i(333925);let n=`on run argv
125
+ Everything it had done is still here — answer to pick it back up.`}async function P(e,t){if(0!==o.appEventStream.watchers&&await (0,c.isAnyCallLive)())return;let r="waiting"===t.status?`${e} — needs you`:e;(0,h.desktopNotify)(r,t.outcome)}e.s(["answerTask",0,E,"cancelTask",0,v,"pauseTasks",0,k,"startTask",0,_,"sweepTasks",0,R]),r()}catch(e){r(e)}},!1),528803,e=>{"use strict";var t=e.i(874533),r=e.i(333925);let n=`on run argv
88
126
  display notification (item 2 of argv) with title (item 1 of argv)
89
127
  end run`,o=`
90
128
  $ErrorActionPreference = 'Stop'
@@ -95,7 +133,7 @@ $text = $xml.GetElementsByTagName('text')
95
133
  [void]$text.Item(1).AppendChild($xml.CreateTextNode($env:NOTIFY_BODY))
96
134
  $id = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\WindowsPowerShell\\v1.0\\powershell.exe'
97
135
  [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($id).Show([Windows.UI.Notifications.ToastNotification]::new($xml))
98
- `,a={darwin:(e,t)=>["osascript",["-e",n,"--",e,t]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",o]],linux:(e,t)=>["notify-send",["--app-name",r.APP_NAME,"--",e,t]]};e.s(["desktopNotify",0,function(e,r){let n=e.slice(0,80),o=r.slice(0,200),i=a[process.platform]?.(n,o);if(!i)return;let[s,u]=i;(0,t.execFile)(s,u,{env:{...process.env,NOTIFY_TITLE:n,NOTIFY_BODY:o},timeout:1e4,windowsHide:!0},()=>{})}])},385585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"after",{enumerable:!0,get:function(){return a}});let n=e.r(556704),o=e.r(832319);function a(e){let t=n.workAsyncStorage.getStore(),r=o.workUnitAsyncStorage.getStore();if(!t||!r)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:a}=t;return a.after(e,r)}},910473,(e,t,r)=>{"use strict";var n,o;Object.defineProperty(r,"__esModule",{value:!0}),n=e.r(385585),o=r,Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(o,e)||Object.defineProperty(o,e,{enumerable:!0,get:function(){return n[e]}})})},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return k},applyOwnerStack:function(){return x},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return E},makeDevtoolsIOAwarePromise:function(){return S},makeDynamicHangingPromise:function(){return p},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return b},makeUntrackedHangingPromise:function(){return f},trackFallbackParamsAccessed:function(){return w},trackRuntimeDataAccessed:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
136
+ `,a={darwin:(e,t)=>["osascript",["-e",n,"--",e,t]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",o]],linux:(e,t)=>["notify-send",["--app-name",r.APP_NAME,"--",e,t]]};e.s(["desktopNotify",0,function(e,r){let n=e.slice(0,80),o=r.slice(0,200),i=a[process.platform]?.(n,o);if(!i)return;let[s,u]=i;(0,t.execFile)(s,u,{env:{...process.env,NOTIFY_TITLE:n,NOTIFY_BODY:o},timeout:1e4,windowsHide:!0},()=>{})}])},385585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"after",{enumerable:!0,get:function(){return a}});let n=e.r(556704),o=e.r(832319);function a(e){let t=n.workAsyncStorage.getStore(),r=o.workUnitAsyncStorage.getStore();if(!t||!r)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:a}=t;return a.after(e,r)}},910473,(e,t,r)=>{"use strict";var n,o;Object.defineProperty(r,"__esModule",{value:!0}),n=e.r(385585),o=r,Object.keys(n).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(o,e)||Object.defineProperty(o,e,{enumerable:!0,get:function(){return n[e]}})})},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return x},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return E},makeDevtoolsIOAwarePromise:function(){return k},makeDynamicHangingPromise:function(){return p},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return b},makeUntrackedHangingPromise:function(){return f},trackFallbackParamsAccessed:function(){return w},trackRuntimeDataAccessed:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
99
137
 
100
138
  This blocks prerendering because the value is only available at runtime.
101
139
 
@@ -103,7 +141,7 @@ Ways to fix this:
103
141
  - [stream] Wrap the component in \`<Suspense fallback={...}>\` so the hook value streams in after prerendering
104
142
  - [block] Set \`export const instant = false\` to allow a blocking route
105
143
 
106
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let h=new WeakMap;function p(e,t,r){return v(e,new u(t,r))}function f(e,t,r){return v(e,new u(t,r))}function m(e,t,r,n){return null!==n&&y(n),v(e,new u(t,r))}function g(e,t,r,n){return null!==n&&w(n),v(e,new u(t,r))}function b(e,t,r,n){return y(n),v(e,new u(t,r))}function y(e){_(e,!1)}function w(e){_(e,!0)}function _(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function E(e,t){return v(e,t)}function v(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let o=n.bind(null,t),a=h.get(e);if(a)a.push(o);else{let t=[o];h.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(R),r}}function R(){}function O(e,t){let r=e.then(()=>t);return r.catch(R),r}function S(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}let k={sessionData:a.RenderStage.ShellRuntime,staticLinkData:a.RenderStage.Static,runtimeLinkData:a.RenderStage.Runtime};function x(e){return e}},534103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return a},OUTLET_BOUNDARY_NAME:function(){return s},ROOT_LAYOUT_BOUNDARY_NAME:function(){return u},VIEWPORT_BOUNDARY_NAME:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="__next_metadata_boundary__",i="__next_viewport_boundary__",s="__next_outlet_boundary__",u="__next_root_layout_boundary__"},609975,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={atLeastOneTask:function(){return s},scheduleImmediate:function(){return i},scheduleOnNextTick:function(){return a},waitAtLeastOneReactRenderTask:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e=>{Promise.resolve().then(()=>{process.nextTick(e)})},i=e=>{setImmediate(e)};function s(){return new Promise(e=>i(e))}function u(){return new Promise(e=>setImmediate(e))}},107703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return i},isBailoutToCSRError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="BAILOUT_TO_CLIENT_SIDE_RENDERING";class i extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=a}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===a}},811525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDynamicBodyError:function(){return i},createDynamicBodyErrorInNavigation:function(){return c},createDynamicMetadataError:function(){return p},createDynamicOrRuntimeBodyError:function(){return l},createDynamicOrRuntimeMetadataError:function(){return y},createDynamicOrRuntimeViewportError:function(){return b},createDynamicViewportError:function(){return g},createLinkBodyErrorInNavigation:function(){return u},createLinkMetadataError:function(){return d},createLinkViewportError:function(){return f},createRuntimeBodyError:function(){return a},createRuntimeBodyErrorInNavigation:function(){return s},createRuntimeMetadataError:function(){return h},createRuntimeViewportError:function(){return m},logBuildDebugHint:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){return Object.defineProperty(Error(`Route "${e}": Next.js encountered runtime data during prerendering.
144
+ Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let h=new WeakMap;function p(e,t,r){return v(e,new u(t,r))}function f(e,t,r){return v(e,new u(t,r))}function m(e,t,r,n){return null!==n&&y(n),v(e,new u(t,r))}function g(e,t,r,n){return null!==n&&w(n),v(e,new u(t,r))}function b(e,t,r,n){return y(n),v(e,new u(t,r))}function y(e){_(e,!1)}function w(e){_(e,!0)}function _(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function E(e,t){return v(e,t)}function v(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let o=n.bind(null,t),a=h.get(e);if(a)a.push(o);else{let t=[o];h.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(R),r}}function R(){}function O(e,t){let r=e.then(()=>t);return r.catch(R),r}function k(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}let S={sessionData:a.RenderStage.ShellRuntime,staticLinkData:a.RenderStage.Static,runtimeLinkData:a.RenderStage.Runtime};function x(e){return e}},534103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return a},OUTLET_BOUNDARY_NAME:function(){return s},ROOT_LAYOUT_BOUNDARY_NAME:function(){return u},VIEWPORT_BOUNDARY_NAME:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="__next_metadata_boundary__",i="__next_viewport_boundary__",s="__next_outlet_boundary__",u="__next_root_layout_boundary__"},609975,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={atLeastOneTask:function(){return s},scheduleImmediate:function(){return i},scheduleOnNextTick:function(){return a},waitAtLeastOneReactRenderTask:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e=>{Promise.resolve().then(()=>{process.nextTick(e)})},i=e=>{setImmediate(e)};function s(){return new Promise(e=>i(e))}function u(){return new Promise(e=>setImmediate(e))}},107703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return i},isBailoutToCSRError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="BAILOUT_TO_CLIENT_SIDE_RENDERING";class i extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=a}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===a}},811525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDynamicBodyError:function(){return i},createDynamicBodyErrorInNavigation:function(){return c},createDynamicMetadataError:function(){return p},createDynamicOrRuntimeBodyError:function(){return l},createDynamicOrRuntimeMetadataError:function(){return y},createDynamicOrRuntimeViewportError:function(){return b},createDynamicViewportError:function(){return g},createLinkBodyErrorInNavigation:function(){return u},createLinkMetadataError:function(){return d},createLinkViewportError:function(){return f},createRuntimeBodyError:function(){return a},createRuntimeBodyErrorInNavigation:function(){return s},createRuntimeMetadataError:function(){return h},createRuntimeViewportError:function(){return m},logBuildDebugHint:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){return Object.defineProperty(Error(`Route "${e}": Next.js encountered runtime data during prerendering.
107
145
 
108
146
  \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
109
147
 
@@ -242,14 +280,14 @@ Ways to fix this:
242
280
  - [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
243
281
  - [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
244
282
 
245
- Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o,a,i={DynamicHoleKind:function(){return ea},Postpone:function(){return D},PreludeState:function(){return eh},abortAndThrowOnSynchronousRequestDataAccess:function(){return j},abortOnSynchronousPlatformIOAccess:function(){return N},accessedDynamicData:function(){return q},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return X},createDynamicTrackingState:function(){return R},createDynamicValidationState:function(){return O},createHangingInputAbortSignal:function(){return G},createInstantValidationState:function(){return ei},createRenderInBrowserAbortSignal:function(){return W},formatDynamicAPIAccesses:function(){return H},getFirstDynamicReason:function(){return k},getNavigationDisallowedDynamicReasons:function(){return eb},getStaticShellDisallowedDynamicReasons:function(){return eg},isDynamicPostpone:function(){return $},isPrerenderInterruptedError:function(){return B},logDisallowedDynamicError:function(){return ep},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return em},throwIfSyncIOUsed:function(){return ef},throwToInterruptStaticGeneration:function(){return T},trackAllowedDynamicAccess:function(){return eo},trackDynamicDataInDynamicRender:function(){return P},trackDynamicHoleInNavigation:function(){return es},trackDynamicHoleInRuntimeShell:function(){return ec},trackDynamicHoleInStaticShell:function(){return el},trackThrownErrorInNavigation:function(){return eu},useDynamicRouteParams:function(){return Y},useDynamicSearchParams:function(){return z}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});let u=(n=e.r(910931))&&n.__esModule?n:{default:n},c=e.r(243727),l=e.r(183589),d=e.r(832319),h=e.r(556704),p=e.r(756725),f=e.r(534103),m=e.r(609975),g=e.r(107703),b=e.r(811525),y=e.r(585346),w=e.r(100204),_=e.r(199776),E=e.r(47076),v="function"==typeof u.default.unstable_postpone;function R(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function O(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function S(e){return e.syncDynamicErrorWithStackPostMicrotask?null:e.syncDynamicErrorWithStack}function k(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function x(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new l.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return C(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function T(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function P(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(e,t,r){let n=U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function N(e,t,r,n){let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r,queueMicrotask(()=>{o.syncDynamicErrorWithStackPostMicrotask=!0})),A(e,t,n)}function j(e,t,r,n){if((0,p.trackRuntimeDataAccessed)(n),!1===n.controller.signal.aborted){A(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function D({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();C(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function C(e,t,r){(function(){if(!v)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),u.default.unstable_postpone(I(e,t))}function I(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function $(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&L(e.message)}function L(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===L(I("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let M="NEXT_PRERENDER_INTERRUPTED";function U(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=M,t}function B(e){return"object"==typeof e&&null!==e&&e.digest===M&&"name"in e&&"message"in e&&e instanceof Error}function q(e){return e.length>0}function X(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function H(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
246
- ${t}`))}function W(){let e=new AbortController;return e.abort(Object.defineProperty(new g.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function G(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>t.abort()),F):(0,m.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function F(){}function V(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function Y(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&u.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return C(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function z(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":u.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new g.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let K=/\n\s+at Suspense \(<anonymous>\)/,J=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${f.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),Q=RegExp(`\\n\\s+at ${f.METADATA_BOUNDARY_NAME}[\\n\\s]`),Z=RegExp(`\\n\\s+at ${f.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${f.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${w.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${w.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${w.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){J.test(e)&&(t.hasSuspenseAboveBody=!0)}function eo(e,t,r,n,o){let a=S(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.hasDynamicMetadata=!0;return}if(Z.test(r)){n.hasDynamicViewport=!0;return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}var ea=((o={})[o.Link=1]="Link",o[o.Runtime=2]="Runtime",o[o.Dynamic=3]="Dynamic",o);function ei(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function es(e,t,r,n,o,a,i){let s=S(o);if(ee.test(r))return;let u=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(Q.test(r)){n.dynamicMetadata=ed(1===a?(0,b.createLinkMetadataError)(t.route):2===a?(0,b.createRuntimeMetadataError)(t.route):(0,b.createDynamicMetadataError)(t.route),r,u);return}if(Z.test(r)){let e=ed(1===a?(0,b.createLinkViewportError)(t.route):2===a?(0,b.createRuntimeViewportError)(t.route):(0,b.createDynamicViewportError)(t.route),r,u);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=K.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,_.allRequiredBoundariesRendered)(i)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,u);n.validationPreventingErrors.push(e);return}if(s){null!==u&&void 0===s.cause&&(s.cause=u()),n.dynamicErrors.push(s);return}if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,u));let l=ed(1===a?(0,b.createLinkBodyErrorInNavigation)(t.route):2===a?(0,b.createRuntimeBodyErrorInNavigation)(t.route):(0,b.createDynamicBodyErrorInNavigation)(t.route),r,u);n.dynamicErrors.push(l)}function eu(e,t,r,n){let o=et.exec(n);if(o){let a=K.exec(n);if(a&&a.index<o.index)return;let i=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(i)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,o){let a=S(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.dynamicMetadata=ed((0,b.createDynamicMetadataError)(t.route),r,null);return}if(Z.test(r)){let e=ed((0,b.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function el(e,t,r,n,o){let a=S(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.dynamicMetadata=ed((0,b.createRuntimeMetadataError)(t.route),r,null);return}if(Z.test(r)){let e=ed((0,b.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var eh=((a={})[a.Full=0]="Full",a[a.Empty=1]="Empty",a[a.Errored=2]="Errored",a);function ep(e,t){console.error(t),(0,b.logBuildDebugHint)(e.route)}function ef(e,t){if(t.syncDynamicErrorWithStack)throw ep(e,t.syncDynamicErrorWithStack),new l.StaticGenBailoutError}function em(e,t,r,n,o){if(ef(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,b.createDynamicOrRuntimeMetadataError)(e.route).message),new l.StaticGenBailoutError;if(!o&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)ep(e,n[t]);throw new l.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,b.createDynamicOrRuntimeViewportError)(e.route).message),new l.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new l.StaticGenBailoutError}}function eg(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new y.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function eb(e,t,r,n,o,a){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:i}=r;if(i.length>0)return i;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,_.allRequiredBoundariesRendered)(o))return Object.defineProperty(new y.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,_.allRequiredBoundariesRendered)(o)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of o.requiredIds)if(!o.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,E.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,o=null!==n?n():Error();return o.name="Error",o.message=r,AggregateError([o,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,o=null!==n?n():Error();return o.name="Error",o.message=r,AggregateError([o,...t])}}return[]}},679847,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestApiAllowedInCurrentPhase:function(){return l},throwForSearchParamsAccessInUseCache:function(){return c},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(183589),i=e.r(120635),s=e.r(324725);function u(e,t){throw Object.defineProperty(new a.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function c(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function l(e){switch(e.phase){case"action":case"render":return!0;case"after":{let e=i.actionAsyncStorage.getStore();if(e&&(e.isAppRoute||e.isAction))return!0;let t=s.afterTaskAsyncStorage.getStore();if(t)return"action"===t.rootTaskSpawnPhase;return!1}}}},476550,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"connection",{enumerable:!0,get:function(){return l}});let n=e.r(556704),o=e.r(832319),a=e.r(258200),i=e.r(183589),s=e.r(756725),u=e.r(679847);e.r(865832);let c=e.r(585346);function l(){let e=n.workAsyncStorage.getStore(),t=o.workUnitAsyncStorage.getStore();if(e){if(t&&!(0,u.isRequestApiAllowedInCurrentPhase)(t))throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1377",enumerable:!1,configurable:!0});if(e.forceStatic)return Promise.resolve(void 0);if(e.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(t)switch(t.type){case"cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,l),(0,s.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"private-cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,l),(0,s.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"unstable-cache":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,s.makeDynamicHangingPromise)(t.renderSignal,e.route,"`connection()`");case"validation-client":{let e="`connection`";throw Object.defineProperty(new c.InvariantError(`${e} must not be used within a Client Component. Next.js should be preventing ${e} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,a.postponeWithTracking)(e.route,"connection",t.dynamicTracking);case"prerender-legacy":return(0,a.throwToInterruptStaticGeneration)("connection",e,t);case"request":if((0,a.trackDynamicDataInDynamicRender)(t),t.asyncApiPromises)return t.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,o.throwForMissingRequestStore)("connection")}},885298,(e,t,r)=>{let n={NextRequest:e.r(641165).NextRequest,NextResponse:e.r(628661).NextResponse,ImageResponse:e.r(853702).ImageResponse,userAgentFromString:e.r(276870).userAgentFromString,userAgent:e.r(276870).userAgent,URLPattern:e.r(374644).URLPattern,after:e.r(910473).after,connection:e.r(476550).connection};t.exports=n,r.NextRequest=n.NextRequest,r.NextResponse=n.NextResponse,r.ImageResponse=n.ImageResponse,r.userAgentFromString=n.userAgentFromString,r.userAgent=n.userAgent,r.URLPattern=n.URLPattern,r.after=n.after,r.connection=n.connection},307450,(e,t,r)=>{"use strict";t.exports=e.r(918622)},910931,(e,t,r)=>{"use strict";t.exports=e.r(307450).vendored["react-rsc"].React},243727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return i},isDynamicServerError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="DYNAMIC_SERVER_USAGE";class i extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=a}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===a}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},183589,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return i},isStaticGenBailoutError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="NEXT_STATIC_GEN_BAILOUT";class i extends Error{constructor(...e){super(...e),this.code=a}}function s(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===a}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o,a={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return f},SyncIOMode:function(){return p},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return h}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function h(e){return 1<e&&e<=30}var p=((o={})[o.Untracked=1]="Untracked",o[o.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",o[o.AllowedInDynamic=3]="AllowedInDynamic",o);class f{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},522846,(e,t,r)=>{"use strict";function n(e,t,r){if(e){for(let n of(r&&(r=r.toLowerCase()),e))if(t===n.domain?.split(":",1)[0].toLowerCase()||r===n.defaultLocale.toLowerCase()||n.locales?.some(e=>e.toLowerCase()===r))return n}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"detectDomainLocale",{enumerable:!0,get:function(){return n}})},341682,(e,t,r)=>{"use strict";function n(e){return 47===e.charCodeAt(e.length-1)&&e.length>1?e.slice(0,-1):e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},49454,(e,t,r)=>{"use strict";function n(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"parsePath",{enumerable:!0,get:function(){return n}})},455454,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return`${t}${r}${o}${a}`}},447990,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return`${r}${t}${o}${a}`}},667138,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},997602,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addLocale",{enumerable:!0,get:function(){return a}});let n=e.r(455454),o=e.r(667138);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,`/${t.toLowerCase()}`))?e:(0,n.addPathPrefix)(e,`/${t}`)}},202116,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"formatNextPathnameInfo",{enumerable:!0,get:function(){return s}});let n=e.r(341682),o=e.r(455454),a=e.r(447990),i=e.r(997602);function s(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,`/_next/data/${e.buildId}`),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},770517,(e,t,r)=>{"use strict";function n(e,t){let r;if(t?.host&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getHostname",{enumerable:!0,get:function(){return n}})},385630,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"normalizeLocalePath",{enumerable:!0,get:function(){return o}});let n=new WeakMap;function o(e,t){let r;if(!t)return{pathname:e};let o=n.get(t);o||(o=t.map(e=>e.toLowerCase()),n.set(t,o));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),s=o.indexOf(i);return s<0?{pathname:e}:(r=t[s],{pathname:e=e.slice(r.length+1)||"/",detectedLocale:r})}},472389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(667138);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:`/${r}`}},454122,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=e.r(385630),o=e.r(472389),a=e.r(667138);function i(e,t){let{basePath:r,i18n:i,trailingSlash:s}=t.nextConfig??{},u={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};r&&(0,a.pathHasPrefix)(u.pathname,r)&&(u.pathname=(0,o.removePathPrefix)(u.pathname,r),u.basePath=r);let c=u.pathname;if(u.pathname.startsWith("/_next/data/")&&u.pathname.endsWith(".json")){let e=u.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");u.buildId=e[0],c="index"!==e[1]?`/${e.slice(1).join("/")}`:"/",!0===t.parseData&&(u.pathname=c)}if(i){let e=t.i18nProvider?t.i18nProvider.analyze(u.pathname):(0,n.normalizeLocalePath)(u.pathname,i.locales);u.locale=e.detectedLocale,u.pathname=e.pathname??u.pathname,!e.detectedLocale&&u.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(c):(0,n.normalizeLocalePath)(c,i.locales)).detectedLocale&&(u.locale=e.detectedLocale)}return u}},723866,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextURL",{enumerable:!0,get:function(){return l}});let n=e.r(522846),o=e.r(202116),a=e.r(770517),i=e.r(454122),s=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function u(e,t){let r=new URL(String(e),t&&String(t));return s.test(r.hostname)&&(r.hostname="localhost"),r}let c=Symbol("NextURLInternal");class l{constructor(e,t,r){let n,o;"object"==typeof t&&"pathname"in t||"string"==typeof t?(n=t,o=r||{}):o=r||t||{},this[c]={url:u(e,n??o.base),options:o,basePath:""},this.analyze()}analyze(){var e,t,r,o,s;let u=(0,i.getNextPathnameInfo)(this[c].url.pathname,{nextConfig:this[c].options.nextConfig,parseData:!0,i18nProvider:this[c].options.i18nProvider}),l=(0,a.getHostname)(this[c].url,this[c].options.headers);this[c].domainLocale=this[c].options.i18nProvider?this[c].options.i18nProvider.detectDomainLocale(l):(0,n.detectDomainLocale)(null==(t=this[c].options.nextConfig)||null==(e=t.i18n)?void 0:e.domains,l);let d=(null==(r=this[c].domainLocale)?void 0:r.defaultLocale)||(null==(s=this[c].options.nextConfig)||null==(o=s.i18n)?void 0:o.defaultLocale);this[c].url.pathname=u.pathname,this[c].defaultLocale=d,this[c].basePath=u.basePath??"",this[c].buildId=u.buildId,this[c].locale=u.locale??d,this[c].trailingSlash=u.trailingSlash}formatPathname(){return(0,o.formatNextPathnameInfo)({basePath:this[c].basePath,buildId:this[c].buildId,defaultLocale:this[c].options.forceLocale?void 0:this[c].defaultLocale,locale:this[c].locale,pathname:this[c].url.pathname,trailingSlash:this[c].trailingSlash})}formatSearch(){return this[c].url.search}get buildId(){return this[c].buildId}set buildId(e){this[c].buildId=e}get locale(){return this[c].locale??""}set locale(e){var t,r;if(!this[c].locale||!(null==(r=this[c].options.nextConfig)||null==(t=r.i18n)?void 0:t.locales.includes(e)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${e}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[c].locale=e}get defaultLocale(){return this[c].defaultLocale}get domainLocale(){return this[c].domainLocale}get searchParams(){return this[c].url.searchParams}get host(){return this[c].url.host}set host(e){this[c].url.host=e}get hostname(){return this[c].url.hostname}set hostname(e){this[c].url.hostname=e}get port(){return this[c].url.port}set port(e){this[c].url.port=e}get protocol(){return this[c].url.protocol}set protocol(e){this[c].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[c].url=u(e),this.analyze()}get origin(){return this[c].url.origin}get pathname(){return this[c].url.pathname}set pathname(e){this[c].url.pathname=e}get hash(){return this[c].url.hash}set hash(e){this[c].url.hash=e}get search(){return this[c].url.search}set search(e){this[c].url.search=e}get password(){return this[c].url.password}set password(e){this[c].url.password=e}get username(){return this[c].url.username}set username(e){this[c].url.username=e}get basePath(){return this[c].basePath}set basePath(e){this[c].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new l(String(this),this[c].options)}}},419372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ACTION_SUFFIX:function(){return g},APP_DIR_ALIAS:function(){return q},CACHE_ONE_YEAR_SECONDS:function(){return N},DOT_NEXT_ALIAS:function(){return U},ESLINT_DEFAULT_DIRS:function(){return es},GSP_NO_RETURNED_VALUE:function(){return et},GSSP_COMPONENT_MEMBER_ERROR:function(){return eo},GSSP_NO_RETURNED_VALUE:function(){return er},HTML_CONTENT_TYPE_HEADER:function(){return i},INFINITE_CACHE:function(){return j},INSTRUMENTATION_HOOK_FILENAME:function(){return L},JSON_CONTENT_TYPE_HEADER:function(){return s},MATCHED_PATH_HEADER:function(){return l},MIDDLEWARE_FILENAME:function(){return D},MIDDLEWARE_LOCATION_REGEXP:function(){return C},NEXT_BODY_SUFFIX:function(){return w},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return P},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return R},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return A},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return T},NEXT_CACHE_TAGS_HEADER:function(){return E},NEXT_CACHE_TAG_MAX_ITEMS:function(){return k},NEXT_CACHE_TAG_MAX_LENGTH:function(){return x},NEXT_DATA_SUFFIX:function(){return b},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return c},NEXT_META_SUFFIX:function(){return y},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return _},NEXT_QUERY_PARAM_PREFIX:function(){return u},NEXT_RESUME_HEADER:function(){return O},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return S},NON_STANDARD_NODE_ENV:function(){return ea},PAGES_DIR_ALIAS:function(){return M},PRERENDER_REVALIDATE_HEADER:function(){return d},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return h},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return $},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return z},ROOT_DIR_ALIAS:function(){return B},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return Y},RSC_ACTION_ENCRYPTION_ALIAS:function(){return V},RSC_ACTION_PROXY_ALIAS:function(){return W},RSC_ACTION_VALIDATE_ALIAS:function(){return H},RSC_CACHE_WRAPPER_ALIAS:function(){return G},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return F},RSC_MOD_REF_PROXY_ALIAS:function(){return X},RSC_SEGMENTS_DIR_SUFFIX:function(){return p},RSC_SEGMENT_SUFFIX:function(){return f},RSC_SUFFIX:function(){return m},SERVER_PROPS_EXPORT_ERROR:function(){return ee},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return J},SERVER_PROPS_SSG_CONFLICT:function(){return Q},SERVER_RUNTIME:function(){return eu},SSG_FALLBACK_EXPORT_ERROR:function(){return ei},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return K},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return Z},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return a},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return en},WEBPACK_LAYERS:function(){return ed},WEBPACK_RESOURCE_QUERIES:function(){return eh},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ec}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="text/plain",i="text/html; charset=utf-8",s="application/json; charset=utf-8",u="nxtP",c="nxtI",l="x-matched-path",d="x-prerender-revalidate",h="x-prerender-revalidate-if-generated",p=".segments",f=".segment.rsc",m=".rsc",g=".action",b=".json",y=".meta",w=".body",_="x-nextjs-deployment-id",E="x-next-cache-tags",v="x-next-revalidated-tags",R="x-next-revalidate-tag-token",O="next-resume",S="x-next-resume-state-length",k=128,x=256,T=1024,P="_N_T_",A="_N_RP_",N=31536e3,j=0xfffffffe,D="middleware",C=`(?:src/)?${D}`,I="proxy",$=`(?:src/)?${I}`,L="instrumentation",M="private-next-pages",U="private-dot-next",B="private-next-root-dir",q="private-next-app-dir",X="private-next-rsc-mod-ref-proxy",H="private-next-rsc-action-validate",W="private-next-rsc-server-reference",G="private-next-rsc-cache-wrapper",F="private-next-rsc-track-dynamic-import",V="private-next-rsc-action-encryption",Y="private-next-rsc-action-client-wrapper",z="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",K="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",J="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Q="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",Z="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",ee="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",et="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",er="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",en="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",eo="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ea='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',ei="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",es=["app","pages","components","lib","src"],eu={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ec=12,el={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ed={...el,GROUP:{builtinReact:[el.reactServerComponents,el.actionBrowser],serverOnly:[el.reactServerComponents,el.actionBrowser,el.instrument,el.middleware],neutralTarget:[el.apiNode,el.apiEdge],clientOnly:[el.serverSideRendering,el.appPagesBrowser],bundled:[el.reactServerComponents,el.actionBrowser,el.serverSideRendering,el.appPagesBrowser,el.shared,el.instrument,el.middleware],appPages:[el.reactServerComponents,el.serverSideRendering,el.appPagesBrowser,el.actionBrowser]}},eh={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},287790,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={fromNodeOutgoingHttpHeaders:function(){return i},normalizeNextQueryParam:function(){return l},splitCookiesString:function(){return s},toNodeOutgoingHttpHeaders:function(){return u},validateURL:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(419372);function i(e){let t=new Headers;for(let[r,n]of Object.entries(e))for(let e of Array.isArray(n)?n:[n])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t}function s(e){var t,r,n,o,a,i=[],s=0;function u(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,a=!1;u();)if(","===(r=e.charAt(s))){for(n=s,s+=1,u(),o=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=o,i.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!a||s>=e.length)&&i.push(e.substring(t,e.length))}return i}function u(e){let t={},r=[];if(e)for(let[n,o]of e.entries())"set-cookie"===n.toLowerCase()?(r.push(...s(o)),t[n]=1===r.length?r[0]:r):t[n]=o;return t}function c(e){try{return String(new URL(String(e)))}catch(t){throw Object.defineProperty(Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function l(e){for(let t of[a.NEXT_QUERY_PARAM_PREFIX,a.NEXT_INTERCEPTION_MARKER_PREFIX])if(e!==t&&e.startsWith(t))return e.substring(t.length);return null}},560659,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={PageSignatureError:function(){return a},RemovedPageError:function(){return i},RemovedUAError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});class a extends Error{constructor({page:e}){super(`The middleware "${e}" accepts an async API directly with the form:
283
+ Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o,a,i={DynamicHoleKind:function(){return ea},Postpone:function(){return D},PreludeState:function(){return eh},abortAndThrowOnSynchronousRequestDataAccess:function(){return j},abortOnSynchronousPlatformIOAccess:function(){return N},accessedDynamicData:function(){return q},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return X},createDynamicTrackingState:function(){return R},createDynamicValidationState:function(){return O},createHangingInputAbortSignal:function(){return G},createInstantValidationState:function(){return ei},createRenderInBrowserAbortSignal:function(){return H},formatDynamicAPIAccesses:function(){return W},getFirstDynamicReason:function(){return S},getNavigationDisallowedDynamicReasons:function(){return eb},getStaticShellDisallowedDynamicReasons:function(){return eg},isDynamicPostpone:function(){return $},isPrerenderInterruptedError:function(){return B},logDisallowedDynamicError:function(){return ep},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return em},throwIfSyncIOUsed:function(){return ef},throwToInterruptStaticGeneration:function(){return T},trackAllowedDynamicAccess:function(){return eo},trackDynamicDataInDynamicRender:function(){return P},trackDynamicHoleInNavigation:function(){return es},trackDynamicHoleInRuntimeShell:function(){return ec},trackDynamicHoleInStaticShell:function(){return el},trackThrownErrorInNavigation:function(){return eu},useDynamicRouteParams:function(){return Y},useDynamicSearchParams:function(){return z}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});let u=(n=e.r(910931))&&n.__esModule?n:{default:n},c=e.r(243727),l=e.r(183589),d=e.r(832319),h=e.r(556704),p=e.r(756725),f=e.r(534103),m=e.r(609975),g=e.r(107703),b=e.r(811525),y=e.r(585346),w=e.r(100204),_=e.r(199776),E=e.r(47076),v="function"==typeof u.default.unstable_postpone;function R(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function O(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function k(e){return e.syncDynamicErrorWithStackPostMicrotask?null:e.syncDynamicErrorWithStack}function S(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function x(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new l.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return C(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function T(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function P(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(e,t,r){let n=U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function N(e,t,r,n){let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r,queueMicrotask(()=>{o.syncDynamicErrorWithStackPostMicrotask=!0})),A(e,t,n)}function j(e,t,r,n){if((0,p.trackRuntimeDataAccessed)(n),!1===n.controller.signal.aborted){A(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function D({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();C(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function C(e,t,r){(function(){if(!v)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),u.default.unstable_postpone(I(e,t))}function I(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function $(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&L(e.message)}function L(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===L(I("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let M="NEXT_PRERENDER_INTERRUPTED";function U(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=M,t}function B(e){return"object"==typeof e&&null!==e&&e.digest===M&&"name"in e&&"message"in e&&e instanceof Error}function q(e){return e.length>0}function X(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function W(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
284
+ ${t}`))}function H(){let e=new AbortController;return e.abort(Object.defineProperty(new g.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function G(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>t.abort()),F):(0,m.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function F(){}function V(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function Y(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&u.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return C(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function z(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":u.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new g.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new y.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let K=/\n\s+at Suspense \(<anonymous>\)/,J=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${f.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),Q=RegExp(`\\n\\s+at ${f.METADATA_BOUNDARY_NAME}[\\n\\s]`),Z=RegExp(`\\n\\s+at ${f.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${f.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${w.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${w.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${w.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){J.test(e)&&(t.hasSuspenseAboveBody=!0)}function eo(e,t,r,n,o){let a=k(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.hasDynamicMetadata=!0;return}if(Z.test(r)){n.hasDynamicViewport=!0;return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}var ea=((o={})[o.Link=1]="Link",o[o.Runtime=2]="Runtime",o[o.Dynamic=3]="Dynamic",o);function ei(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function es(e,t,r,n,o,a,i){let s=k(o);if(ee.test(r))return;let u=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(Q.test(r)){n.dynamicMetadata=ed(1===a?(0,b.createLinkMetadataError)(t.route):2===a?(0,b.createRuntimeMetadataError)(t.route):(0,b.createDynamicMetadataError)(t.route),r,u);return}if(Z.test(r)){let e=ed(1===a?(0,b.createLinkViewportError)(t.route):2===a?(0,b.createRuntimeViewportError)(t.route):(0,b.createDynamicViewportError)(t.route),r,u);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=K.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,_.allRequiredBoundariesRendered)(i)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,u);n.validationPreventingErrors.push(e);return}if(s){null!==u&&void 0===s.cause&&(s.cause=u()),n.dynamicErrors.push(s);return}if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,u));let l=ed(1===a?(0,b.createLinkBodyErrorInNavigation)(t.route):2===a?(0,b.createRuntimeBodyErrorInNavigation)(t.route):(0,b.createDynamicBodyErrorInNavigation)(t.route),r,u);n.dynamicErrors.push(l)}function eu(e,t,r,n){let o=et.exec(n);if(o){let a=K.exec(n);if(a&&a.index<o.index)return;let i=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(i)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,o){let a=k(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.dynamicMetadata=ed((0,b.createDynamicMetadataError)(t.route),r,null);return}if(Z.test(r)){let e=ed((0,b.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function el(e,t,r,n,o){let a=k(o);if(ee.test(r))return void en(r,n);if(Q.test(r)){n.dynamicMetadata=ed((0,b.createRuntimeMetadataError)(t.route),r,null);return}if(Z.test(r)){let e=ed((0,b.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(K.test(r)){n.hasAllowedDynamic=!0;return}else if(a)return void n.dynamicErrors.push(a);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,b.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var eh=((a={})[a.Full=0]="Full",a[a.Empty=1]="Empty",a[a.Errored=2]="Errored",a);function ep(e,t){console.error(t),(0,b.logBuildDebugHint)(e.route)}function ef(e,t){if(t.syncDynamicErrorWithStack)throw ep(e,t.syncDynamicErrorWithStack),new l.StaticGenBailoutError}function em(e,t,r,n,o){if(ef(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,b.createDynamicOrRuntimeMetadataError)(e.route).message),new l.StaticGenBailoutError;if(!o&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)ep(e,n[t]);throw new l.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,b.createDynamicOrRuntimeViewportError)(e.route).message),new l.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new l.StaticGenBailoutError}}function eg(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new y.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function eb(e,t,r,n,o,a){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:i}=r;if(i.length>0)return i;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,_.allRequiredBoundariesRendered)(o))return Object.defineProperty(new y.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,_.allRequiredBoundariesRendered)(o)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of o.requiredIds)if(!o.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,E.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,o=null!==n?n():Error();return o.name="Error",o.message=r,AggregateError([o,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,o=null!==n?n():Error();return o.name="Error",o.message=r,AggregateError([o,...t])}}return[]}},679847,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestApiAllowedInCurrentPhase:function(){return l},throwForSearchParamsAccessInUseCache:function(){return c},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(183589),i=e.r(120635),s=e.r(324725);function u(e,t){throw Object.defineProperty(new a.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function c(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function l(e){switch(e.phase){case"action":case"render":return!0;case"after":{let e=i.actionAsyncStorage.getStore();if(e&&(e.isAppRoute||e.isAction))return!0;let t=s.afterTaskAsyncStorage.getStore();if(t)return"action"===t.rootTaskSpawnPhase;return!1}}}},476550,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"connection",{enumerable:!0,get:function(){return l}});let n=e.r(556704),o=e.r(832319),a=e.r(258200),i=e.r(183589),s=e.r(756725),u=e.r(679847);e.r(865832);let c=e.r(585346);function l(){let e=n.workAsyncStorage.getStore(),t=o.workUnitAsyncStorage.getStore();if(e){if(t&&!(0,u.isRequestApiAllowedInCurrentPhase)(t))throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1377",enumerable:!1,configurable:!0});if(e.forceStatic)return Promise.resolve(void 0);if(e.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(t)switch(t.type){case"cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,l),(0,s.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"private-cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,l),(0,s.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"unstable-cache":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,s.makeDynamicHangingPromise)(t.renderSignal,e.route,"`connection()`");case"validation-client":{let e="`connection`";throw Object.defineProperty(new c.InvariantError(`${e} must not be used within a Client Component. Next.js should be preventing ${e} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,a.postponeWithTracking)(e.route,"connection",t.dynamicTracking);case"prerender-legacy":return(0,a.throwToInterruptStaticGeneration)("connection",e,t);case"request":if((0,a.trackDynamicDataInDynamicRender)(t),t.asyncApiPromises)return t.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,o.throwForMissingRequestStore)("connection")}},885298,(e,t,r)=>{let n={NextRequest:e.r(641165).NextRequest,NextResponse:e.r(628661).NextResponse,ImageResponse:e.r(853702).ImageResponse,userAgentFromString:e.r(276870).userAgentFromString,userAgent:e.r(276870).userAgent,URLPattern:e.r(374644).URLPattern,after:e.r(910473).after,connection:e.r(476550).connection};t.exports=n,r.NextRequest=n.NextRequest,r.NextResponse=n.NextResponse,r.ImageResponse=n.ImageResponse,r.userAgentFromString=n.userAgentFromString,r.userAgent=n.userAgent,r.URLPattern=n.URLPattern,r.after=n.after,r.connection=n.connection},307450,(e,t,r)=>{"use strict";t.exports=e.r(918622)},910931,(e,t,r)=>{"use strict";t.exports=e.r(307450).vendored["react-rsc"].React},243727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return i},isDynamicServerError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="DYNAMIC_SERVER_USAGE";class i extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=a}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===a}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},183589,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return i},isStaticGenBailoutError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="NEXT_STATIC_GEN_BAILOUT";class i extends Error{constructor(...e){super(...e),this.code=a}}function s(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===a}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o,a={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return f},SyncIOMode:function(){return p},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return h}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function h(e){return 1<e&&e<=30}var p=((o={})[o.Untracked=1]="Untracked",o[o.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",o[o.AllowedInDynamic=3]="AllowedInDynamic",o);class f{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},522846,(e,t,r)=>{"use strict";function n(e,t,r){if(e){for(let n of(r&&(r=r.toLowerCase()),e))if(t===n.domain?.split(":",1)[0].toLowerCase()||r===n.defaultLocale.toLowerCase()||n.locales?.some(e=>e.toLowerCase()===r))return n}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"detectDomainLocale",{enumerable:!0,get:function(){return n}})},341682,(e,t,r)=>{"use strict";function n(e){return 47===e.charCodeAt(e.length-1)&&e.length>1?e.slice(0,-1):e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},49454,(e,t,r)=>{"use strict";function n(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"parsePath",{enumerable:!0,get:function(){return n}})},455454,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return`${t}${r}${o}${a}`}},447990,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return`${r}${t}${o}${a}`}},667138,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(49454);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},997602,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"addLocale",{enumerable:!0,get:function(){return a}});let n=e.r(455454),o=e.r(667138);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,`/${t.toLowerCase()}`))?e:(0,n.addPathPrefix)(e,`/${t}`)}},202116,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"formatNextPathnameInfo",{enumerable:!0,get:function(){return s}});let n=e.r(341682),o=e.r(455454),a=e.r(447990),i=e.r(997602);function s(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,`/_next/data/${e.buildId}`),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},770517,(e,t,r)=>{"use strict";function n(e,t){let r;if(t?.host&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getHostname",{enumerable:!0,get:function(){return n}})},385630,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"normalizeLocalePath",{enumerable:!0,get:function(){return o}});let n=new WeakMap;function o(e,t){let r;if(!t)return{pathname:e};let o=n.get(t);o||(o=t.map(e=>e.toLowerCase()),n.set(t,o));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),s=o.indexOf(i);return s<0?{pathname:e}:(r=t[s],{pathname:e=e.slice(r.length+1)||"/",detectedLocale:r})}},472389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=e.r(667138);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:`/${r}`}},454122,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=e.r(385630),o=e.r(472389),a=e.r(667138);function i(e,t){let{basePath:r,i18n:i,trailingSlash:s}=t.nextConfig??{},u={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};r&&(0,a.pathHasPrefix)(u.pathname,r)&&(u.pathname=(0,o.removePathPrefix)(u.pathname,r),u.basePath=r);let c=u.pathname;if(u.pathname.startsWith("/_next/data/")&&u.pathname.endsWith(".json")){let e=u.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");u.buildId=e[0],c="index"!==e[1]?`/${e.slice(1).join("/")}`:"/",!0===t.parseData&&(u.pathname=c)}if(i){let e=t.i18nProvider?t.i18nProvider.analyze(u.pathname):(0,n.normalizeLocalePath)(u.pathname,i.locales);u.locale=e.detectedLocale,u.pathname=e.pathname??u.pathname,!e.detectedLocale&&u.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(c):(0,n.normalizeLocalePath)(c,i.locales)).detectedLocale&&(u.locale=e.detectedLocale)}return u}},723866,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextURL",{enumerable:!0,get:function(){return l}});let n=e.r(522846),o=e.r(202116),a=e.r(770517),i=e.r(454122),s=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function u(e,t){let r=new URL(String(e),t&&String(t));return s.test(r.hostname)&&(r.hostname="localhost"),r}let c=Symbol("NextURLInternal");class l{constructor(e,t,r){let n,o;"object"==typeof t&&"pathname"in t||"string"==typeof t?(n=t,o=r||{}):o=r||t||{},this[c]={url:u(e,n??o.base),options:o,basePath:""},this.analyze()}analyze(){var e,t,r,o,s;let u=(0,i.getNextPathnameInfo)(this[c].url.pathname,{nextConfig:this[c].options.nextConfig,parseData:!0,i18nProvider:this[c].options.i18nProvider}),l=(0,a.getHostname)(this[c].url,this[c].options.headers);this[c].domainLocale=this[c].options.i18nProvider?this[c].options.i18nProvider.detectDomainLocale(l):(0,n.detectDomainLocale)(null==(t=this[c].options.nextConfig)||null==(e=t.i18n)?void 0:e.domains,l);let d=(null==(r=this[c].domainLocale)?void 0:r.defaultLocale)||(null==(s=this[c].options.nextConfig)||null==(o=s.i18n)?void 0:o.defaultLocale);this[c].url.pathname=u.pathname,this[c].defaultLocale=d,this[c].basePath=u.basePath??"",this[c].buildId=u.buildId,this[c].locale=u.locale??d,this[c].trailingSlash=u.trailingSlash}formatPathname(){return(0,o.formatNextPathnameInfo)({basePath:this[c].basePath,buildId:this[c].buildId,defaultLocale:this[c].options.forceLocale?void 0:this[c].defaultLocale,locale:this[c].locale,pathname:this[c].url.pathname,trailingSlash:this[c].trailingSlash})}formatSearch(){return this[c].url.search}get buildId(){return this[c].buildId}set buildId(e){this[c].buildId=e}get locale(){return this[c].locale??""}set locale(e){var t,r;if(!this[c].locale||!(null==(r=this[c].options.nextConfig)||null==(t=r.i18n)?void 0:t.locales.includes(e)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${e}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[c].locale=e}get defaultLocale(){return this[c].defaultLocale}get domainLocale(){return this[c].domainLocale}get searchParams(){return this[c].url.searchParams}get host(){return this[c].url.host}set host(e){this[c].url.host=e}get hostname(){return this[c].url.hostname}set hostname(e){this[c].url.hostname=e}get port(){return this[c].url.port}set port(e){this[c].url.port=e}get protocol(){return this[c].url.protocol}set protocol(e){this[c].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[c].url=u(e),this.analyze()}get origin(){return this[c].url.origin}get pathname(){return this[c].url.pathname}set pathname(e){this[c].url.pathname=e}get hash(){return this[c].url.hash}set hash(e){this[c].url.hash=e}get search(){return this[c].url.search}set search(e){this[c].url.search=e}get password(){return this[c].url.password}set password(e){this[c].url.password=e}get username(){return this[c].url.username}set username(e){this[c].url.username=e}get basePath(){return this[c].basePath}set basePath(e){this[c].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new l(String(this),this[c].options)}}},419372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ACTION_SUFFIX:function(){return g},APP_DIR_ALIAS:function(){return q},CACHE_ONE_YEAR_SECONDS:function(){return N},DOT_NEXT_ALIAS:function(){return U},ESLINT_DEFAULT_DIRS:function(){return es},GSP_NO_RETURNED_VALUE:function(){return et},GSSP_COMPONENT_MEMBER_ERROR:function(){return eo},GSSP_NO_RETURNED_VALUE:function(){return er},HTML_CONTENT_TYPE_HEADER:function(){return i},INFINITE_CACHE:function(){return j},INSTRUMENTATION_HOOK_FILENAME:function(){return L},JSON_CONTENT_TYPE_HEADER:function(){return s},MATCHED_PATH_HEADER:function(){return l},MIDDLEWARE_FILENAME:function(){return D},MIDDLEWARE_LOCATION_REGEXP:function(){return C},NEXT_BODY_SUFFIX:function(){return w},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return P},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return R},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return A},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return T},NEXT_CACHE_TAGS_HEADER:function(){return E},NEXT_CACHE_TAG_MAX_ITEMS:function(){return S},NEXT_CACHE_TAG_MAX_LENGTH:function(){return x},NEXT_DATA_SUFFIX:function(){return b},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return c},NEXT_META_SUFFIX:function(){return y},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return _},NEXT_QUERY_PARAM_PREFIX:function(){return u},NEXT_RESUME_HEADER:function(){return O},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return k},NON_STANDARD_NODE_ENV:function(){return ea},PAGES_DIR_ALIAS:function(){return M},PRERENDER_REVALIDATE_HEADER:function(){return d},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return h},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return $},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return z},ROOT_DIR_ALIAS:function(){return B},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return Y},RSC_ACTION_ENCRYPTION_ALIAS:function(){return V},RSC_ACTION_PROXY_ALIAS:function(){return H},RSC_ACTION_VALIDATE_ALIAS:function(){return W},RSC_CACHE_WRAPPER_ALIAS:function(){return G},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return F},RSC_MOD_REF_PROXY_ALIAS:function(){return X},RSC_SEGMENTS_DIR_SUFFIX:function(){return p},RSC_SEGMENT_SUFFIX:function(){return f},RSC_SUFFIX:function(){return m},SERVER_PROPS_EXPORT_ERROR:function(){return ee},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return J},SERVER_PROPS_SSG_CONFLICT:function(){return Q},SERVER_RUNTIME:function(){return eu},SSG_FALLBACK_EXPORT_ERROR:function(){return ei},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return K},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return Z},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return a},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return en},WEBPACK_LAYERS:function(){return ed},WEBPACK_RESOURCE_QUERIES:function(){return eh},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ec}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a="text/plain",i="text/html; charset=utf-8",s="application/json; charset=utf-8",u="nxtP",c="nxtI",l="x-matched-path",d="x-prerender-revalidate",h="x-prerender-revalidate-if-generated",p=".segments",f=".segment.rsc",m=".rsc",g=".action",b=".json",y=".meta",w=".body",_="x-nextjs-deployment-id",E="x-next-cache-tags",v="x-next-revalidated-tags",R="x-next-revalidate-tag-token",O="next-resume",k="x-next-resume-state-length",S=128,x=256,T=1024,P="_N_T_",A="_N_RP_",N=31536e3,j=0xfffffffe,D="middleware",C=`(?:src/)?${D}`,I="proxy",$=`(?:src/)?${I}`,L="instrumentation",M="private-next-pages",U="private-dot-next",B="private-next-root-dir",q="private-next-app-dir",X="private-next-rsc-mod-ref-proxy",W="private-next-rsc-action-validate",H="private-next-rsc-server-reference",G="private-next-rsc-cache-wrapper",F="private-next-rsc-track-dynamic-import",V="private-next-rsc-action-encryption",Y="private-next-rsc-action-client-wrapper",z="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",K="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",J="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Q="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",Z="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",ee="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",et="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",er="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",en="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",eo="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ea='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',ei="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",es=["app","pages","components","lib","src"],eu={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ec=12,el={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ed={...el,GROUP:{builtinReact:[el.reactServerComponents,el.actionBrowser],serverOnly:[el.reactServerComponents,el.actionBrowser,el.instrument,el.middleware],neutralTarget:[el.apiNode,el.apiEdge],clientOnly:[el.serverSideRendering,el.appPagesBrowser],bundled:[el.reactServerComponents,el.actionBrowser,el.serverSideRendering,el.appPagesBrowser,el.shared,el.instrument,el.middleware],appPages:[el.reactServerComponents,el.serverSideRendering,el.appPagesBrowser,el.actionBrowser]}},eh={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},287790,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={fromNodeOutgoingHttpHeaders:function(){return i},normalizeNextQueryParam:function(){return l},splitCookiesString:function(){return s},toNodeOutgoingHttpHeaders:function(){return u},validateURL:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(419372);function i(e){let t=new Headers;for(let[r,n]of Object.entries(e))for(let e of Array.isArray(n)?n:[n])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t}function s(e){var t,r,n,o,a,i=[],s=0;function u(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,a=!1;u();)if(","===(r=e.charAt(s))){for(n=s,s+=1,u(),o=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=o,i.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!a||s>=e.length)&&i.push(e.substring(t,e.length))}return i}function u(e){let t={},r=[];if(e)for(let[n,o]of e.entries())"set-cookie"===n.toLowerCase()?(r.push(...s(o)),t[n]=1===r.length?r[0]:r):t[n]=o;return t}function c(e){try{return String(new URL(String(e)))}catch(t){throw Object.defineProperty(Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function l(e){for(let t of[a.NEXT_QUERY_PARAM_PREFIX,a.NEXT_INTERCEPTION_MARKER_PREFIX])if(e!==t&&e.startsWith(t))return e.substring(t.length);return null}},560659,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={PageSignatureError:function(){return a},RemovedPageError:function(){return i},RemovedUAError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});class a extends Error{constructor({page:e}){super(`The middleware "${e}" accepts an async API directly with the form:
247
285
 
248
286
  export function middleware(request, event) {
249
287
  return NextResponse.redirect('/new-location')
250
288
  }
251
289
 
252
290
  Read more: https://nextjs.org/docs/messages/middleware-new-signature
253
- `),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1177",enumerable:!1,configurable:!0})}}class i extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1178",enumerable:!1,configurable:!0})}}class s extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1172",enumerable:!1,configurable:!0})}}},989364,(e,t,r)=>{"use strict";var n=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},u={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>h,stringifyCookie:()=>l};for(var c in u)n(s,c,{get:u[c],enumerable:!0});function l(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,o]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=o?o:"true"))}catch{}}return t}function h(e){if(!e)return;let[[t,r],...n]=d(e),{domain:o,expires:a,httponly:i,maxage:s,path:u,samesite:c,secure:l,partitioned:h,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,b,y={name:t,value:decodeURIComponent(r),domain:o,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:u,...c&&{sameSite:p.includes(g=(g=c).toLowerCase())?g:void 0},...l&&{secure:!0},...m&&{priority:f.includes(b=(b=m).toLowerCase())?b:void 0},...h&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))i.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=o(t,s))||r.enumerable});return e})(n({},"__esModule",{value:!0}),s);var p=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>l(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>l(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const o=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(o)?o:function(e){if(!e)return[];var t,r,n,o,a,i=[],s=0;function u(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,a=!1;u();)if(","===(r=e.charAt(s))){for(n=s,s+=1,u(),o=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=o,i.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!a||s>=e.length)&&i.push(e.substring(t,e.length))}return i}(o)){const t=h(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,o=this._parsed;return o.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=l(r);t.append("set-cookie",e)}}(o,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(l).join("; ")}}},86547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RequestCookies:function(){return a.RequestCookies},ResponseCookies:function(){return a.ResponseCookies},stringifyCookie:function(){return a.stringifyCookie}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(989364)},641165,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={INTERNALS:function(){return c},NextRequest:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(723866),i=e.r(287790),s=e.r(560659),u=e.r(86547),c=Symbol("internal request");class l extends Request{constructor(e,t={}){const r="string"!=typeof e&&"url"in e?e.url:String(e);(0,i.validateURL)(r),t.body&&"half"!==t.duplex&&(t.duplex="half"),e instanceof Request?super(e,t):super(r,t);const n=new a.NextURL(r,{headers:(0,i.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:t.nextConfig});this[c]={cookies:new u.RequestCookies(this.headers),nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[c].cookies}get nextUrl(){return this[c].nextUrl}get page(){throw new s.RemovedPageError}get ua(){throw new s.RemovedUAError}get url(){return this[c].url}}},770956,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},628661,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextResponse",{enumerable:!0,get:function(){return d}});let n=e.r(86547),o=e.r(723866),a=e.r(287790),i=e.r(770956),s=e.r(86547),u=Symbol("internal response"),c=new Set([301,302,303,307,308]);function l(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let r=[];for(let[n,o]of e.request.headers)t.set("x-middleware-request-"+n,o),r.push(n);t.set("x-middleware-override-headers",r.join(","))}}class d extends Response{constructor(e,t={}){super(e,t);const r=this.headers,c=new Proxy(new s.ResponseCookies(r),{get(e,o,a){switch(o){case"delete":case"set":return(...a)=>{let i=Reflect.apply(e[o],e,a),u=new Headers(r);return i instanceof s.ResponseCookies&&r.set("x-middleware-set-cookie",i.getAll().map(e=>(0,n.stringifyCookie)(e)).join(",")),l(t,u),i};default:return i.ReflectAdapter.get(e,o,a)}}});this[u]={cookies:c,url:t.url?new o.NextURL(t.url,{headers:(0,a.toNodeOutgoingHttpHeaders)(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[u].cookies}static json(e,t){let r=Response.json(e,t);return new d(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!c.has(r))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let n="object"==typeof t?t:{},o=new Headers(null==n?void 0:n.headers);return o.set("Location",(0,a.validateURL)(e)),new d(null,{...n,headers:o,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",(0,a.validateURL)(e)),l(t,r),new d(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),l(e,t),new d(null,{...e,headers:t})}}},853702,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageResponse",{enumerable:!0,get:function(){return n}})},547850,(e,t,r)=>{var n={943:function(t,r){!function(n){"use strict";var o="function",a="undefined",i="object",s="string",u="major",c="model",l="name",d="type",h="vendor",p="version",f="architecture",m="console",g="mobile",b="tablet",y="smarttv",w="wearable",_="embedded",E="Amazon",v="Apple",R="ASUS",O="BlackBerry",S="Browser",k="Chrome",x="Firefox",T="Google",P="Huawei",A="Microsoft",N="Motorola",j="Opera",D="Samsung",C="Sharp",I="Sony",$="Xiaomi",L="Zebra",M="Facebook",U="Chromium OS",B="Mac OS",q=function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},X=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},H=function(e,t){return typeof e===s&&-1!==W(t).indexOf(W(e))},W=function(e){return e.toLowerCase()},G=function(e,t){if(typeof e===s)return e=e.replace(/^\s\s*/,""),typeof t===a?e:e.substring(0,350)},F=function(e,t){for(var r,n,a,s,u,c,l=0;l<t.length&&!u;){var d=t[l],h=t[l+1];for(r=n=0;r<d.length&&!u&&d[r];)if(u=d[r++].exec(e))for(a=0;a<h.length;a++)c=u[++n],typeof(s=h[a])===i&&s.length>0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,c):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=c?c.replace(s[1],s[2]):void 0:this[s[0]]=c?s[1].call(this,c,s[2]):void 0:4===s.length&&(this[s[0]]=c?s[3].call(this,c.replace(s[1],s[2])):void 0):this[s]=c||void 0;l+=2}},V=function(e,t){for(var r in t)if(typeof t[r]===i&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(H(t[r][n],e))return"?"===r?void 0:r}else if(H(t[r],e))return"?"===r?void 0:r;return e},Y={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},z={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[l,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[l,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[l,p],[/opios[\/ ]+([\w\.]+)/i],[p,[l,j+" Mini"]],[/\bopr\/([\w\.]+)/i],[p,[l,j]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[l,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[l,"UC"+S]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[p,[l,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[l,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[l,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[l,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[l,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[l,/(.+)/,"$1 Secure "+S],p],[/\bfocus\/([\w\.]+)/i],[p,[l,x+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[l,j+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[l,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[l,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[l,j+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI "+S]],[/fxios\/([-\w\.]+)/i],[p,[l,x]],[/\bqihu|(qi?ho?o?|360)browser/i],[[l,"360 "+S]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[l,/(.+)/,"$1 "+S],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[l,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[l],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[l,M],p],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[l,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[l,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[l,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[l,k+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[l,k+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[l,"Android "+S]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[l,p],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[p,l],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[l,[p,V,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[l,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[l,x+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[l,p],[/(cobalt)\/([\w\.]+)/i],[l,[p,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,W]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",W]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,W]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[h,D],[d,b]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[h,D],[d,g]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[h,v],[d,g]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[h,v],[d,b]],[/(macintosh);/i],[c,[h,v]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[h,C],[d,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[h,P],[d,b]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[h,P],[d,g]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[h,$],[d,g]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[h,$],[d,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[h,"OPPO"],[d,g]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[h,"Vivo"],[d,g]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[h,"Realme"],[d,g]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[h,N],[d,g]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[h,N],[d,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[h,"LG"],[d,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[h,"LG"],[d,g]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[h,"Lenovo"],[d,b]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[h,"Nokia"],[d,g]],[/(pixel c)\b/i],[c,[h,T],[d,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[h,T],[d,g]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[h,I],[d,g]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[h,I],[d,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[h,"OnePlus"],[d,g]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[h,E],[d,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[h,E],[d,g]],[/(playbook);[-\w\),; ]+(rim)/i],[c,h,[d,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[h,O],[d,g]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[h,R],[d,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[h,R],[d,g]],[/(nexus 9)/i],[c,[h,"HTC"],[d,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[h,[c,/_/g," "],[d,g]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[h,"Acer"],[d,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[h,"Meizu"],[d,g]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[h,c,[d,g]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[h,c,[d,b]],[/(surface duo)/i],[c,[h,A],[d,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[h,"Fairphone"],[d,g]],[/(u304aa)/i],[c,[h,"AT&T"],[d,g]],[/\bsie-(\w*)/i],[c,[h,"Siemens"],[d,g]],[/\b(rct\w+) b/i],[c,[h,"RCA"],[d,b]],[/\b(venue[\d ]{2,7}) b/i],[c,[h,"Dell"],[d,b]],[/\b(q(?:mv|ta)\w+) b/i],[c,[h,"Verizon"],[d,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[h,"Barnes & Noble"],[d,b]],[/\b(tm\d{3}\w+) b/i],[c,[h,"NuVision"],[d,b]],[/\b(k88) b/i],[c,[h,"ZTE"],[d,b]],[/\b(nx\d{3}j) b/i],[c,[h,"ZTE"],[d,g]],[/\b(gen\d{3}) b.+49h/i],[c,[h,"Swiss"],[d,g]],[/\b(zur\d{3}) b/i],[c,[h,"Swiss"],[d,b]],[/\b((zeki)?tb.*\b) b/i],[c,[h,"Zeki"],[d,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[h,"Dragon Touch"],c,[d,b]],[/\b(ns-?\w{0,9}) b/i],[c,[h,"Insignia"],[d,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[h,"NextBook"],[d,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[h,"Voice"],c,[d,g]],[/\b(lvtel\-)?(v1[12]) b/i],[[h,"LvTel"],c,[d,g]],[/\b(ph-1) /i],[c,[h,"Essential"],[d,g]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[h,"Envizen"],[d,b]],[/\b(trio[-\w\. ]+) b/i],[c,[h,"MachSpeed"],[d,b]],[/\btu_(1491) b/i],[c,[h,"Rotor"],[d,b]],[/(shield[\w ]+) b/i],[c,[h,"Nvidia"],[d,b]],[/(sprint) (\w+)/i],[h,c,[d,g]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[h,A],[d,g]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[h,L],[d,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[h,L],[d,g]],[/smart-tv.+(samsung)/i],[h,[d,y]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[h,D],[d,y]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,"LG"],[d,y]],[/(apple) ?tv/i],[h,[c,v+" TV"],[d,y]],[/crkey/i],[[c,k+"cast"],[h,T],[d,y]],[/droid.+aft(\w)( bui|\))/i],[c,[h,E],[d,y]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[h,C],[d,y]],[/(bravia[\w ]+)( bui|\))/i],[c,[h,I],[d,y]],[/(mitv-\w{5}) bui/i],[c,[h,$],[d,y]],[/Hbbtv.*(technisat) (.*);/i],[h,c,[d,y]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[h,G],[c,G],[d,y]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,y]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[h,c,[d,m]],[/droid.+; (shield) bui/i],[c,[h,"Nvidia"],[d,m]],[/(playstation [345portablevi]+)/i],[c,[h,I],[d,m]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[h,A],[d,m]],[/((pebble))app/i],[h,c,[d,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[h,v],[d,w]],[/droid.+; (glass) \d/i],[c,[h,T],[d,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[h,L],[d,w]],[/(quest( 2| pro)?)/i],[c,[h,M],[d,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[d,_]],[/(aeobc)\b/i],[c,[h,E],[d,_]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[d,g]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[d,b]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,b]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,g]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[h,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[l,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[l,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,l]],os:[[/microsoft (windows) (vista|xp)/i],[l,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[l,[p,V,Y]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,"Windows"],[p,V,Y]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[l,B],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[p,l],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[l,p],[/\(bb(10);/i],[p,[l,O]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[l,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[l,x+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[l,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[l,"watchOS"]],[/crkey\/([\d\.]+)/i],[p,[l,k+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[l,U],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[l,p],[/(sunos) ?([\w\.\d]*)/i],[[l,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[l,p]]},K=function(e,t){if(typeof e===i&&(t=e,e=void 0),!(this instanceof K))return new K(e,t).getResult();var r=typeof n!==a&&n.navigator?n.navigator:void 0,m=e||(r&&r.userAgent?r.userAgent:""),y=r&&r.userAgentData?r.userAgentData:void 0,w=t?q(z,t):z,_=r&&r.userAgent==m;return this.getBrowser=function(){var e,t={};return t[l]=void 0,t[p]=void 0,F.call(t,m,w.browser),t[u]=typeof(e=t[p])===s?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,_&&r&&r.brave&&typeof r.brave.isBrave==o&&(t[l]="Brave"),t},this.getCPU=function(){var e={};return e[f]=void 0,F.call(e,m,w.cpu),e},this.getDevice=function(){var e={};return e[h]=void 0,e[c]=void 0,e[d]=void 0,F.call(e,m,w.device),_&&!e[d]&&y&&y.mobile&&(e[d]=g),_&&"Macintosh"==e[c]&&r&&typeof r.standalone!==a&&r.maxTouchPoints&&r.maxTouchPoints>2&&(e[c]="iPad",e[d]=b),e},this.getEngine=function(){var e={};return e[l]=void 0,e[p]=void 0,F.call(e,m,w.engine),e},this.getOS=function(){var e={};return e[l]=void 0,e[p]=void 0,F.call(e,m,w.os),_&&!e[l]&&y&&"Unknown"!=y.platform&&(e[l]=y.platform.replace(/chrome os/i,U).replace(/macos/i,B)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return m},this.setUA=function(e){return m=typeof e===s&&e.length>350?G(e,350):e,this},this.setUA(m),this};if(K.VERSION="1.0.35",K.BROWSER=X([l,p,u]),K.CPU=X([f]),K.DEVICE=X([c,h,d,m,g,y,b,w,_]),K.ENGINE=K.OS=X([l,p]),typeof r!==a)t.exports&&(r=t.exports=K),r.UAParser=K;else if(typeof define===o&&define.amd)e.r,void 0!==K&&e.v(K);else typeof n!==a&&(n.UAParser=K);var J=typeof n!==a&&(n.jQuery||n.Zepto);if(J&&!J.ua){var Q=new K;J.ua=Q.getResult(),J.ua.get=function(){return Q.getUA()},J.ua.set=function(e){Q.setUA(e);var t=Q.getResult();for(var r in t)J.ua[r]=t[r]}}}(this)}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},i=!0;try{n[e].call(r.exports,r,r.exports,a),i=!1}finally{i&&delete o[e]}return r.exports}a.ab="/ROOT/node_modules/next/dist/compiled/ua-parser-js/",t.exports=a(943)},276870,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o={isBot:function(){return s},userAgent:function(){return c},userAgentFromString:function(){return u}};for(var a in o)Object.defineProperty(r,a,{enumerable:!0,get:o[a]});let i=(n=e.r(547850))&&n.__esModule?n:{default:n};function s(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(e)}function u(e){return{...(0,i.default)(e),isBot:void 0!==e&&s(e)}}function c({headers:e}){return u(e.get("user-agent")||void 0)}},374644,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"URLPattern",{enumerable:!0,get:function(){return n}});let n="u"<typeof URLPattern?void 0:URLPattern}];
291
+ `),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1177",enumerable:!1,configurable:!0})}}class i extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1178",enumerable:!1,configurable:!0})}}class s extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1172",enumerable:!1,configurable:!0})}}},989364,(e,t,r)=>{"use strict";var n=Object.defineProperty,o=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},u={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>h,stringifyCookie:()=>l};for(var c in u)n(s,c,{get:u[c],enumerable:!0});function l(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,o]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=o?o:"true"))}catch{}}return t}function h(e){if(!e)return;let[[t,r],...n]=d(e),{domain:o,expires:a,httponly:i,maxage:s,path:u,samesite:c,secure:l,partitioned:h,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,b,y={name:t,value:decodeURIComponent(r),domain:o,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof s&&{maxAge:Number(s)},path:u,...c&&{sameSite:p.includes(g=(g=c).toLowerCase())?g:void 0},...l&&{secure:!0},...m&&{priority:f.includes(b=(b=m).toLowerCase())?b:void 0},...h&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of a(t))i.call(e,s)||void 0===s||n(e,s,{get:()=>t[s],enumerable:!(r=o(t,s))||r.enumerable});return e})(n({},"__esModule",{value:!0}),s);var p=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>l(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>l(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const o=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(o)?o:function(e){if(!e)return[];var t,r,n,o,a,i=[],s=0;function u(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,a=!1;u();)if(","===(r=e.charAt(s))){for(n=s,s+=1,u(),o=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(a=!0,s=o,i.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!a||s>=e.length)&&i.push(e.substring(t,e.length))}return i}(o)){const t=h(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,o=this._parsed;return o.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=l(r);t.append("set-cookie",e)}}(o,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(l).join("; ")}}},86547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RequestCookies:function(){return a.RequestCookies},ResponseCookies:function(){return a.ResponseCookies},stringifyCookie:function(){return a.stringifyCookie}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(989364)},641165,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={INTERNALS:function(){return c},NextRequest:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(723866),i=e.r(287790),s=e.r(560659),u=e.r(86547),c=Symbol("internal request");class l extends Request{constructor(e,t={}){const r="string"!=typeof e&&"url"in e?e.url:String(e);(0,i.validateURL)(r),t.body&&"half"!==t.duplex&&(t.duplex="half"),e instanceof Request?super(e,t):super(r,t);const n=new a.NextURL(r,{headers:(0,i.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:t.nextConfig});this[c]={cookies:new u.RequestCookies(this.headers),nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[c].cookies}get nextUrl(){return this[c].nextUrl}get page(){throw new s.RemovedPageError}get ua(){throw new s.RemovedUAError}get url(){return this[c].url}}},770956,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},628661,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextResponse",{enumerable:!0,get:function(){return d}});let n=e.r(86547),o=e.r(723866),a=e.r(287790),i=e.r(770956),s=e.r(86547),u=Symbol("internal response"),c=new Set([301,302,303,307,308]);function l(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let r=[];for(let[n,o]of e.request.headers)t.set("x-middleware-request-"+n,o),r.push(n);t.set("x-middleware-override-headers",r.join(","))}}class d extends Response{constructor(e,t={}){super(e,t);const r=this.headers,c=new Proxy(new s.ResponseCookies(r),{get(e,o,a){switch(o){case"delete":case"set":return(...a)=>{let i=Reflect.apply(e[o],e,a),u=new Headers(r);return i instanceof s.ResponseCookies&&r.set("x-middleware-set-cookie",i.getAll().map(e=>(0,n.stringifyCookie)(e)).join(",")),l(t,u),i};default:return i.ReflectAdapter.get(e,o,a)}}});this[u]={cookies:c,url:t.url?new o.NextURL(t.url,{headers:(0,a.toNodeOutgoingHttpHeaders)(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[u].cookies}static json(e,t){let r=Response.json(e,t);return new d(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!c.has(r))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let n="object"==typeof t?t:{},o=new Headers(null==n?void 0:n.headers);return o.set("Location",(0,a.validateURL)(e)),new d(null,{...n,headers:o,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",(0,a.validateURL)(e)),l(t,r),new d(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),l(e,t),new d(null,{...e,headers:t})}}},853702,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageResponse",{enumerable:!0,get:function(){return n}})},547850,(e,t,r)=>{var n={943:function(t,r){!function(n){"use strict";var o="function",a="undefined",i="object",s="string",u="major",c="model",l="name",d="type",h="vendor",p="version",f="architecture",m="console",g="mobile",b="tablet",y="smarttv",w="wearable",_="embedded",E="Amazon",v="Apple",R="ASUS",O="BlackBerry",k="Browser",S="Chrome",x="Firefox",T="Google",P="Huawei",A="Microsoft",N="Motorola",j="Opera",D="Samsung",C="Sharp",I="Sony",$="Xiaomi",L="Zebra",M="Facebook",U="Chromium OS",B="Mac OS",q=function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},X=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},W=function(e,t){return typeof e===s&&-1!==H(t).indexOf(H(e))},H=function(e){return e.toLowerCase()},G=function(e,t){if(typeof e===s)return e=e.replace(/^\s\s*/,""),typeof t===a?e:e.substring(0,350)},F=function(e,t){for(var r,n,a,s,u,c,l=0;l<t.length&&!u;){var d=t[l],h=t[l+1];for(r=n=0;r<d.length&&!u&&d[r];)if(u=d[r++].exec(e))for(a=0;a<h.length;a++)c=u[++n],typeof(s=h[a])===i&&s.length>0?2===s.length?typeof s[1]==o?this[s[0]]=s[1].call(this,c):this[s[0]]=s[1]:3===s.length?typeof s[1]!==o||s[1].exec&&s[1].test?this[s[0]]=c?c.replace(s[1],s[2]):void 0:this[s[0]]=c?s[1].call(this,c,s[2]):void 0:4===s.length&&(this[s[0]]=c?s[3].call(this,c.replace(s[1],s[2])):void 0):this[s]=c||void 0;l+=2}},V=function(e,t){for(var r in t)if(typeof t[r]===i&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(W(t[r][n],e))return"?"===r?void 0:r}else if(W(t[r],e))return"?"===r?void 0:r;return e},Y={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},z={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[l,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[l,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[l,p],[/opios[\/ ]+([\w\.]+)/i],[p,[l,j+" Mini"]],[/\bopr\/([\w\.]+)/i],[p,[l,j]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[l,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[l,"UC"+k]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[p,[l,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[l,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[l,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[l,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[l,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[l,/(.+)/,"$1 Secure "+k],p],[/\bfocus\/([\w\.]+)/i],[p,[l,x+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[l,j+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[l,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[l,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[l,j+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI "+k]],[/fxios\/([-\w\.]+)/i],[p,[l,x]],[/\bqihu|(qi?ho?o?|360)browser/i],[[l,"360 "+k]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[l,/(.+)/,"$1 "+k],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[l,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[l],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[l,M],p],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[l,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[l,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[l,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[l,S+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[l,S+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[l,"Android "+k]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[l,p],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[p,l],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[l,[p,V,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[l,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[l,x+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[l,p],[/(cobalt)\/([\w\.]+)/i],[l,[p,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,H]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",H]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,H]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[h,D],[d,b]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[h,D],[d,g]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[h,v],[d,g]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[h,v],[d,b]],[/(macintosh);/i],[c,[h,v]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[h,C],[d,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[h,P],[d,b]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[h,P],[d,g]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[h,$],[d,g]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[h,$],[d,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[h,"OPPO"],[d,g]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[h,"Vivo"],[d,g]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[h,"Realme"],[d,g]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[h,N],[d,g]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[h,N],[d,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[h,"LG"],[d,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[h,"LG"],[d,g]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[h,"Lenovo"],[d,b]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[h,"Nokia"],[d,g]],[/(pixel c)\b/i],[c,[h,T],[d,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[h,T],[d,g]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[h,I],[d,g]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[h,I],[d,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[h,"OnePlus"],[d,g]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[h,E],[d,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[h,E],[d,g]],[/(playbook);[-\w\),; ]+(rim)/i],[c,h,[d,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[h,O],[d,g]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[h,R],[d,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[h,R],[d,g]],[/(nexus 9)/i],[c,[h,"HTC"],[d,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[h,[c,/_/g," "],[d,g]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[h,"Acer"],[d,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[h,"Meizu"],[d,g]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[h,c,[d,g]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[h,c,[d,b]],[/(surface duo)/i],[c,[h,A],[d,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[h,"Fairphone"],[d,g]],[/(u304aa)/i],[c,[h,"AT&T"],[d,g]],[/\bsie-(\w*)/i],[c,[h,"Siemens"],[d,g]],[/\b(rct\w+) b/i],[c,[h,"RCA"],[d,b]],[/\b(venue[\d ]{2,7}) b/i],[c,[h,"Dell"],[d,b]],[/\b(q(?:mv|ta)\w+) b/i],[c,[h,"Verizon"],[d,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[h,"Barnes & Noble"],[d,b]],[/\b(tm\d{3}\w+) b/i],[c,[h,"NuVision"],[d,b]],[/\b(k88) b/i],[c,[h,"ZTE"],[d,b]],[/\b(nx\d{3}j) b/i],[c,[h,"ZTE"],[d,g]],[/\b(gen\d{3}) b.+49h/i],[c,[h,"Swiss"],[d,g]],[/\b(zur\d{3}) b/i],[c,[h,"Swiss"],[d,b]],[/\b((zeki)?tb.*\b) b/i],[c,[h,"Zeki"],[d,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[h,"Dragon Touch"],c,[d,b]],[/\b(ns-?\w{0,9}) b/i],[c,[h,"Insignia"],[d,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[h,"NextBook"],[d,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[h,"Voice"],c,[d,g]],[/\b(lvtel\-)?(v1[12]) b/i],[[h,"LvTel"],c,[d,g]],[/\b(ph-1) /i],[c,[h,"Essential"],[d,g]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[h,"Envizen"],[d,b]],[/\b(trio[-\w\. ]+) b/i],[c,[h,"MachSpeed"],[d,b]],[/\btu_(1491) b/i],[c,[h,"Rotor"],[d,b]],[/(shield[\w ]+) b/i],[c,[h,"Nvidia"],[d,b]],[/(sprint) (\w+)/i],[h,c,[d,g]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[h,A],[d,g]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[h,L],[d,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[h,L],[d,g]],[/smart-tv.+(samsung)/i],[h,[d,y]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[h,D],[d,y]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,"LG"],[d,y]],[/(apple) ?tv/i],[h,[c,v+" TV"],[d,y]],[/crkey/i],[[c,S+"cast"],[h,T],[d,y]],[/droid.+aft(\w)( bui|\))/i],[c,[h,E],[d,y]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[h,C],[d,y]],[/(bravia[\w ]+)( bui|\))/i],[c,[h,I],[d,y]],[/(mitv-\w{5}) bui/i],[c,[h,$],[d,y]],[/Hbbtv.*(technisat) (.*);/i],[h,c,[d,y]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[h,G],[c,G],[d,y]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,y]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[h,c,[d,m]],[/droid.+; (shield) bui/i],[c,[h,"Nvidia"],[d,m]],[/(playstation [345portablevi]+)/i],[c,[h,I],[d,m]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[h,A],[d,m]],[/((pebble))app/i],[h,c,[d,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[h,v],[d,w]],[/droid.+; (glass) \d/i],[c,[h,T],[d,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[h,L],[d,w]],[/(quest( 2| pro)?)/i],[c,[h,M],[d,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[d,_]],[/(aeobc)\b/i],[c,[h,E],[d,_]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[d,g]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[d,b]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,b]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,g]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[h,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[l,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[l,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,l]],os:[[/microsoft (windows) (vista|xp)/i],[l,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[l,[p,V,Y]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,"Windows"],[p,V,Y]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[l,B],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[p,l],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[l,p],[/\(bb(10);/i],[p,[l,O]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[l,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[l,x+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[l,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[l,"watchOS"]],[/crkey\/([\d\.]+)/i],[p,[l,S+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[l,U],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[l,p],[/(sunos) ?([\w\.\d]*)/i],[[l,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[l,p]]},K=function(e,t){if(typeof e===i&&(t=e,e=void 0),!(this instanceof K))return new K(e,t).getResult();var r=typeof n!==a&&n.navigator?n.navigator:void 0,m=e||(r&&r.userAgent?r.userAgent:""),y=r&&r.userAgentData?r.userAgentData:void 0,w=t?q(z,t):z,_=r&&r.userAgent==m;return this.getBrowser=function(){var e,t={};return t[l]=void 0,t[p]=void 0,F.call(t,m,w.browser),t[u]=typeof(e=t[p])===s?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,_&&r&&r.brave&&typeof r.brave.isBrave==o&&(t[l]="Brave"),t},this.getCPU=function(){var e={};return e[f]=void 0,F.call(e,m,w.cpu),e},this.getDevice=function(){var e={};return e[h]=void 0,e[c]=void 0,e[d]=void 0,F.call(e,m,w.device),_&&!e[d]&&y&&y.mobile&&(e[d]=g),_&&"Macintosh"==e[c]&&r&&typeof r.standalone!==a&&r.maxTouchPoints&&r.maxTouchPoints>2&&(e[c]="iPad",e[d]=b),e},this.getEngine=function(){var e={};return e[l]=void 0,e[p]=void 0,F.call(e,m,w.engine),e},this.getOS=function(){var e={};return e[l]=void 0,e[p]=void 0,F.call(e,m,w.os),_&&!e[l]&&y&&"Unknown"!=y.platform&&(e[l]=y.platform.replace(/chrome os/i,U).replace(/macos/i,B)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return m},this.setUA=function(e){return m=typeof e===s&&e.length>350?G(e,350):e,this},this.setUA(m),this};if(K.VERSION="1.0.35",K.BROWSER=X([l,p,u]),K.CPU=X([f]),K.DEVICE=X([c,h,d,m,g,y,b,w,_]),K.ENGINE=K.OS=X([l,p]),typeof r!==a)t.exports&&(r=t.exports=K),r.UAParser=K;else if(typeof define===o&&define.amd)e.r,void 0!==K&&e.v(K);else typeof n!==a&&(n.UAParser=K);var J=typeof n!==a&&(n.jQuery||n.Zepto);if(J&&!J.ua){var Q=new K;J.ua=Q.getResult(),J.ua.get=function(){return Q.getUA()},J.ua.set=function(e){Q.setUA(e);var t=Q.getResult();for(var r in t)J.ua[r]=t[r]}}}(this)}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},i=!0;try{n[e].call(r.exports,r,r.exports,a),i=!1}finally{i&&delete o[e]}return r.exports}a.ab="/ROOT/node_modules/next/dist/compiled/ua-parser-js/",t.exports=a(943)},276870,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o={isBot:function(){return s},userAgent:function(){return c},userAgentFromString:function(){return u}};for(var a in o)Object.defineProperty(r,a,{enumerable:!0,get:o[a]});let i=(n=e.r(547850))&&n.__esModule?n:{default:n};function s(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(e)}function u(e){return{...(0,i.default)(e),isBot:void 0!==e&&s(e)}}function c({headers:e}){return u(e.get("user-agent")||void 0)}},374644,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"URLPattern",{enumerable:!0,get:function(){return n}});let n="u"<typeof URLPattern?void 0:URLPattern}];
254
292
 
255
- //# sourceMappingURL=_2050gwn._.js.map
293
+ //# sourceMappingURL=_00_584r._.js.map