@jheavenknows/bluerouter 5.4.42 → 5.4.45

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 (420) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +31 -31
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  51. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  52. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  53. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  54. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  55. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  57. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  58. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  59. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  60. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  61. package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/api/audit-proxy/me/route.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/api/audit-proxy/users/route.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/cli-model-profiles/model-catalog/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/codex-catalog/download/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/codex-catalog/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/codex-catalog/upload/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  126. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/settings/database/export/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  231. package/app/.next-cli-build/server/app/callback.html +1 -1
  232. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  233. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  234. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  235. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  236. package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
  237. package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +6 -6
  238. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +6 -6
  239. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +6 -6
  240. package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +1 -1
  241. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +9 -9
  243. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +9 -9
  244. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +9 -9
  245. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
  246. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  247. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  248. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +7 -7
  249. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  250. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  251. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
  252. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +8 -8
  253. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +8 -8
  254. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
  255. package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  257. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  258. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +7 -7
  259. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  260. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  261. package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/cluster.rsc +6 -6
  263. package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +6 -6
  264. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +6 -6
  265. package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  267. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  268. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +7 -7
  269. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  270. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  271. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  272. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  273. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +7 -7
  274. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  275. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  276. package/app/.next-cli-build/server/app/dashboard/logs.html +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/logs.rsc +6 -6
  278. package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +6 -6
  279. package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +6 -6
  280. package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  282. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  283. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +7 -7
  284. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  285. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  286. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  288. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +7 -7
  289. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  290. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/personal.html +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/personal.rsc +7 -7
  293. package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +7 -7
  294. package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +7 -7
  295. package/app/.next-cli-build/server/app/dashboard/personal.segments/_tree.segment.rsc +1 -1
  296. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  298. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +7 -7
  299. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  300. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +6 -6
  303. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +6 -6
  304. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +6 -6
  305. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
  306. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +6 -6
  308. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +6 -6
  309. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +6 -6
  310. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  313. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +7 -7
  314. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  315. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  316. package/app/.next-cli-build/server/app/dashboard/providers/stt.html +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +7 -7
  318. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +7 -7
  319. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +7 -7
  320. package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +7 -7
  323. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +7 -7
  324. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +7 -7
  325. package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  328. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +7 -7
  329. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  330. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  331. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  333. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +7 -7
  334. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  335. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  338. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +8 -8
  339. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  340. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  341. package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
  342. package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +6 -6
  343. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +6 -6
  344. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +6 -6
  345. package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  347. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  348. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  349. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  350. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  351. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  353. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +7 -7
  354. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  355. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  356. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  358. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
  359. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  360. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  361. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  362. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  363. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +7 -7
  364. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  365. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  368. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +7 -7
  369. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  370. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  371. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  372. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  373. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +7 -7
  374. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  375. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/index.html +1 -1
  377. package/app/.next-cli-build/server/app/index.rsc +5 -5
  378. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  379. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  380. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  381. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  382. package/app/.next-cli-build/server/app/landing.html +1 -1
  383. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  384. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  385. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  386. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  387. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  388. package/app/.next-cli-build/server/app/login.html +1 -1
  389. package/app/.next-cli-build/server/app/login.rsc +6 -6
  390. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  391. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  393. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app-paths-manifest.json +31 -31
  395. package/app/.next-cli-build/server/chunks/2428.js +1 -1
  396. package/app/.next-cli-build/server/chunks/3399.js +1 -1
  397. package/app/.next-cli-build/server/chunks/402.js +1 -1
  398. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  399. package/app/.next-cli-build/server/chunks/4778.js +1 -1
  400. package/app/.next-cli-build/server/chunks/5210.js +1 -1
  401. package/app/.next-cli-build/server/chunks/541.js +1 -1
  402. package/app/.next-cli-build/server/chunks/6811.js +1 -1
  403. package/app/.next-cli-build/server/chunks/689.js +1 -1
  404. package/app/.next-cli-build/server/chunks/6992.js +1 -1
  405. package/app/.next-cli-build/server/chunks/7126.js +1 -1
  406. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  407. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  408. package/app/.next-cli-build/server/middleware.js +1 -1
  409. package/app/.next-cli-build/server/pages/404.html +1 -1
  410. package/app/.next-cli-build/server/pages/500.html +1 -1
  411. package/app/.next-cli-build/static/chunks/{5263-b487116cf5ec7e62.js → 5263-758fcabd01c1477e.js} +1 -1
  412. package/app/.next-cli-build/static/chunks/912-b9e2b10de29403ca.js +1 -0
  413. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  414. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  415. package/app/package.json +1 -1
  416. package/package.json +1 -1
  417. package/app/.next-cli-build/static/chunks/912-a15b6fd5de01c466.js +0 -1
  418. /package/app/.next-cli-build/static/{G2uCQunSXlJUVA7iPBSwj → _1IH2tAp7Ow82DtT5D8lq}/_buildManifest.js +0 -0
  419. /package/app/.next-cli-build/static/{G2uCQunSXlJUVA7iPBSwj → _1IH2tAp7Ow82DtT5D8lq}/_ssgManifest.js +0 -0
  420. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.4.36-to-5.4.37-5.4.37-20260912-083715 → upgrade-5.4.40-to-5.4.41-5.4.41-20260912-093143}/data.sqlite +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=8929,a.ids=[8929],a.modules={203:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aT,handler:()=>aS});var e={};c.r(e),c.d(e,{config:()=>aL,proxy:()=>aK}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(1500),k=c(2886),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(77598),q=c.n(p),r=c(72045);let s=o().join(r.n,"machine-id"),t=o().join(r.n,"auth"),u=o().join(t,"cli-secret"),v=null,w=null;async function x(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(v)return v;try{if(v=m().readFileSync(s,"utf8").trim())return v}catch{}try{v=(0,k.machineIdSync)()}catch{v=q().randomUUID()}try{m().mkdirSync(r.n,{recursive:!0}),m().writeFileSync(s,v,{mode:384})}catch{}return v}(),d="9r-cli-auth"===b?function(){if(w)return w;try{if(w=m().readFileSync(u,"utf8").trim())return w}catch{}w=q().randomBytes(32).toString("hex");try{m().mkdirSync(t,{recursive:!0}),m().writeFileSync(u,w,{mode:384})}catch{}return w}():"";return q().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let y=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function z(a,b,c){return b instanceof Uint8Array?crypto.subtle.importKey("raw",b,a.subtle,!1,[c]):(!function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw y(b.name);if(b.hash&&d.hash?.name!==b.hash)throw y(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw y(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw y(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a.subtle,c),a.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(a.alg,b),b)}async function A(a,b,c,d){let e=await z(a,b,"verify");try{return await crypto.subtle.verify(a.signing,e,c,d)}catch{return!1}}class B extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class C extends B{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class D extends B{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class E extends B{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class F extends B{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class G extends B{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class H extends B{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class I extends B{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let J=[["verify"],["sign"]];function K(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:J}}function L(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:J,minRsaBits:2048}}function M(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:J}}function N(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:J}}function O(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:J}}let P=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:K(256),HS384:K(384),HS512:K(512),RS256:L(256),RS384:L(384),RS512:L(512),PS256:L(256,32),PS384:L(384,48),PS512:L(512,64),ES256:M("P-256",256),ES384:M("P-384",384),ES512:M("P-521",512),EdDSA:N(),Ed25519:N(),"ML-DSA-44":O(44),"ML-DSA-65":O(65),"ML-DSA-87":O(87)}),Q=new TextEncoder,R=new TextDecoder,S=new TextDecoder("utf-8",{fatal:!0});function T(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}let U="The input to be decoded is not correctly encoded.";function V(a){if(Uint8Array.fromBase64)try{return Uint8Array.fromBase64("string"==typeof a?a:R.decode(a),{alphabet:"base64url"})}catch(a){throw TypeError(U,{cause:a})}let b=a;if(b instanceof Uint8Array&&(b=R.decode(b)),b.includes("+")||b.includes("/"))throw TypeError(U);b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError(U)}}function W(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);if(null===b)return!0;let c=b;for(;null!==Object.getPrototypeOf(c);)c=Object.getPrototypeOf(c);return b===c}function X(a,b,c){try{return V(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}Symbol();let Y={__proto__:null,b64:!0},Z=(a,b,...c)=>(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a})(`Key for the ${a} algorithm must be `,b,...c),$=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}};async function _(a,b){if("RSA"===b.kty&&"oth"in b&&void 0!==b.oth)throw new F('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');if(!a.kty.includes(b.kty))throw new F('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let c=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,d=!!(b.d||b.priv),e={...b};return"AKP"!==e.kty&&delete e.alg,delete e.use,crypto.subtle.importKey("jwk",e,c,b.ext??!d,b.key_ops??a.usages[+!!d])}let aa=a=>a[Symbol.toStringTag],ab={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"};function ac(a,b,c){let e=(d||=new WeakMap).get(a);return c&&(e?e[b]=c:d.set(a,{__proto__:null,[b]:c})),c??e?.[b]}let ad=async(a,b,c)=>ac(a,c.alg)??ac(a,c.alg,await _(c,{...b,alg:c.alg}));async function ae(a,b,c){let d=function(a,b,c){let{alg:d,secret:e}=a,f="decrypt"===c||"sign"===c;if(e&&b instanceof Uint8Array)return[0,b];if(W(b)&&"string"==typeof b.kty){if(e?"oct"!==b.kty||"string"!=typeof b.k:!(f?"oct"!==b.kty&&("AKP"===b.kty&&"string"==typeof b.priv||"string"==typeof b.d):"oct"!==b.kty&&void 0===b.d&&void 0===b.priv))throw TypeError(e?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${f?"private":"public"} JWK`);return((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,b,c),[3,b]}if(!($(b)||b?.[Symbol.toStringTag]==="KeyObject"))throw TypeError(e?Z(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Z(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(e){if("secret"!==b.type)throw TypeError(`${aa(b)} instances for symmetric algorithms must be of type "secret"`)}else{if("secret"===b.type)throw TypeError(`${aa(b)} instances for asymmetric algorithms must not be of type "secret"`);let a=f?"private":"public";if(("public"===b.type||"private"===b.type)&&b.type!==a){let d="sign"===c?"signing":"verify"===c?"verifying":`${c.slice(0,-1)}tion`;throw TypeError(`${aa(b)} instances for asymmetric algorithm ${d} must be of type "${a}"`)}}return $(b)?[1,b]:[2,b]}(a,b,c);switch(d[0]){case 0:case 1:return d[1];case 3:{let b=d[1];if(b.k)return V(b.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}return ad(b,b,a)}case 2:{let b=d[1];if("secret"===b.type)return b.export();if("toCryptoKey"in b&&"function"==typeof b.toCryptoKey)return((a,b)=>{let c=ac(a,b.alg);if(c)return c;let d="public"===a.type,e=b.usages[+!d],{asymmetricKeyType:f}=a,g=ab[a.asymmetricKeyDetails?.namedCurve],h=b.resolve?.({crv:g,asymmetricKeyType:f})??b.subtle;return ac(a,b.alg,a.toCryptoKey(h,d,e))})(b,a);return ad(b,b.export({format:"jwk"}),a)}}}async function af(a,b,c){let d,{protected:e,header:f,payload:g}=a,h={};if(e&&(h=function(a,b,c){let d;try{d=JSON.parse(S.decode(V(a)))}catch{throw new b(c)}if(!W(d))throw new b(c);return d}(e,G,"JWS Protected Header is invalid")),void 0!==f){if(!function(...a){let b=new Set;for(let c of a)if(c)for(let a of Object.keys(c)){if(b.has(a))return!1;b.add(a)}return!0}(h,f))throw new G("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");d={...h,...f}}else d=h;let i=function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new F(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(G,Y,b[1],h,d),j=!0;if(i.includes("b64")&&"boolean"!=typeof(j=h.b64))throw new G('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:k}=d;if("string"!=typeof k||!k)throw new G('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(k))throw new E('"alg" (Algorithm) Header Parameter value not allowed');if(j){if("string"!=typeof g)throw new G("JWS Payload must be a string")}else if("string"!=typeof g&&!(g instanceof Uint8Array))throw new G("JWS Payload must be a string or an Uint8Array instance");let l=!1;"function"==typeof c&&(c=await c(h,a),l=!0);let m=function(a){let b="string"==typeof a?P[a]:void 0;if(!b)throw new F(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(k),n=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==e?T(e):new Uint8Array,T("."),"string"==typeof g?j?b[2]??=function(a,b,c){try{return T(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(g,"payload",G):Q.encode(g):g),o=X(a.signature,"signature",G),p=await ae(m,c,"verify");if(!await A(m,p,o,n))throw new I;return[j?X(g,"payload",G):"string"==typeof g?Q.encode(g):g,h,j,p,l]}async function ag(a,b,c){if(a instanceof Uint8Array&&(a=R.decode(a)),"string"!=typeof a)throw new G("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new G("Invalid Compact JWS");return af({payload:e,protected:d,signature:f},b,c)}let ah={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},ai=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,aj="check_failed";function ak(a){let b=ai.exec(a);if(!b||b[4]&&b[1])throw TypeError("Invalid time period format");let c=Math.round(parseFloat(b[2])*ah[b[3][0].toLowerCase()]);return"-"===b[1]||"ago"===b[4]?-c:c}function al(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let am=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;function an(a,b,c=!1){let d=a[b];if(void 0!==d||c){if("number"!=typeof d)throw new C(`"${b}" claim must be a number`,a,b,"invalid");return d}}function ao(a,b){throw new C(`unexpected "${b}" claim value`,a,b,aj)}async function ap(a,b,c){let d=await ag(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new H("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f;try{f=JSON.parse(S.decode(b))}catch{}if(!W(f))throw new H("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(g&&("string"!=typeof a.typ||am(a.typ)!==am(g)))throw new C('unexpected "typ" JWT header value',f,"typ",aj);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(f,a))throw new C(`missing required "${a}" claim`,f,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(f.iss)||ao(f,"iss"),void 0!==j&&f.sub!==j&&ao(f,"sub"),void 0===k||(d=f.aud,e="string"==typeof k?[k]:k,"string"==typeof d?e.includes(d):!!Array.isArray(d)&&e.some(a=>d.includes(a)))||ao(f,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=ak(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}al("clockTolerance option",o);let{currentDate:p}=c,q=al("currentDate option",Math.floor((p||new Date).getTime()/1e3)),r=an(f,"iat",void 0!==l),s=an(f,"nbf");if(void 0!==s&&s>q+o)throw new C('"nbf" claim timestamp check failed',f,"nbf",aj);let t=an(f,"exp");if(void 0!==t&&t<=q-o)throw new D('"exp" claim timestamp check failed',f,"exp",aj);if(void 0!==l){let a=q-r;if(a-o>("number"==typeof l?l:ak(l)))throw new D('"iat" claim timestamp check failed (too far in the past)',f,"iat",aj);if(a<0-o)throw new C('"iat" claim timestamp check failed (it should be in the past)',f,"iat",aj)}return f}(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}let aq=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=o().join(r.n,"jwt-secret");try{return m().readFileSync(a,"utf8").trim()}catch{}m().mkdirSync(r.n,{recursive:!0});let b=q().randomBytes(32).toString("hex");return m().writeFileSync(a,b,{mode:384}),b}());async function ar(a){if(!a)return!1;try{return await ap(a,aq),!0}catch{return!1}}let as=null;async function at(){return as||(as=await x("9r-cli-auth")),as}async function au(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await at()}let av=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/version","/api/settings/require-login","/api/branding","/api/cluster/snapshot","/api/cluster/heartbeat"],aw=["/v1","/v1beta","/api/v1","/api/v1beta"],ax=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import"],ay=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-login","/api/tunnel/tailscale-start-daemon","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import"],az=new Set(["localhost","127.0.0.1","::1"]);function aA(a){if(!a)return!1;let b=a.split(":")[0].replace(/^\[|\]$/g,"").toLowerCase();return az.has(b)}function aB(a){return(a.headers.get("host")||"").split(":")[0].replace(/^\[|\]$/g,"").toLowerCase()}function aC(a){return aw.some(b=>a===b||a.startsWith(`${b}/`))}async function aD(a){let b,c=(b=a.headers.get("Authorization"),b?.startsWith("Bearer ")?b.slice(7):a.headers.get("x-api-key"));return!!c&&await (0,j.ek)(c)}async function aE(a){return!!await au(a)||await aD(a)}async function aF(a){return!!(await au(a)||function(a){if(!aA(a.headers.get("host")))return!1;let b=a.headers.get("origin");if(b)try{if(!aA(new URL(b).hostname))return!1}catch{return!1}return!0}(a)&&await aJ(a))}async function aG(a,b){let c,d="/api/cli-tools/antigravity-mitm";return(b===d||!!b.startsWith(`${d}/`))&&"true"===process.env.ALLOW_REMOTE_MITM_UI&&!!function(a){let b=a.headers.get("origin");if(!b)return!0;try{return new URL(b).hostname.toLowerCase()===aB(a)}catch{return!1}}(a)&&!!(0===(c=(process.env.REMOTE_MITM_UI_HOSTS||"").split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)).length||c.includes(aB(a)))&&await aJ(a)}async function aH(a){let b=a.cookies.get("auth_token")?.value;return await ar(b)}async function aI(){try{return await (0,j.mt)()}catch{return null}}async function aJ(a){return await aH(a)}async function aK(a){let{pathname:b}=a.nextUrl;if(ay.some(a=>b.startsWith(a))&&!await aF(a)&&!await aG(a,b))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(ax.some(a=>b.startsWith(a)))return await au(a)||await aH(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aC(b))return await aE(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(b.startsWith("/api/"))return aC(b)||av.some(a=>b===a||b.startsWith(`${a}/`))||await au(a)||await aJ(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){try{let b=await aI();if(b&&!0!==b.tunnelDashboardAccess){let c=aB(a),d=b.tunnelUrl?new URL(b.tunnelUrl).hostname.toLowerCase():"",e=b.tailscaleUrl?new URL(b.tailscaleUrl).hostname.toLowerCase():"";if(d&&c===d||e&&c===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}let b=a.cookies.get("auth_token")?.value;return b&&await ar(b)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return i.NextResponse.next()}let aL={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aM=c(99751);let aN={...e},aO="/src/proxy",aP=(0,aN.proxy||aN.default);class aQ extends Error{constructor(a){super(a),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.stack=""}}if("function"!=typeof aP)throw new aQ(`The Proxy file "${aO}" must export a function named \`proxy\` or a default function.`);let aR=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aO,handler:async(...a)=>{try{return await aP(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function aS(a,b){let c=await aR({request:{url:a.url,method:a.method,headers:(0,aM.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aO},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aT=aR},1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},1500:(a,b,c)=>{"use strict";c.d(b,{mt:()=>i.getSettings,Xx:()=>i.Xx,ek:()=>j.ek}),c(59339),c(55511),c(79748);var d=c(21820),e=c.n(d),f=c(33873),g=c.n(f);let h=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||g().join(e().homedir(),".bluerouter");g().join(h,"resource-monitor-servers.json");var i=c(85304);c(54706);var j=c(98938),k=c(71509);(0,k.U)("modelAliases"),(0,k.U)("customModels"),(0,k.U)("mitmAlias"),c(36241);var l=c(58243),m=c.n(l);c(51455),c(76760),c(72045);let n=new Set(["mysql","postgres"]),o={enabled:!1,fileLoggingEnabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30,payloadRotationEnabled:!1,payloadRetentionDays:60,payloadRotationIntervalHours:24,payloadRotationBatchSize:500,payloadRotationMaxBatches:20};function p(a={},b={}){let c=String(a?.type||b?.type||o.type).trim().toLowerCase(),d=!!c&&!n.has(c),e=d?o.type:c,f={...o,...b||{},...a||{},type:e};f.enabled=!!f.enabled,f.fileLoggingEnabled=!0===f.fileLoggingEnabled,f.ssl=!!f.ssl,f.createDatabase=!!f.createDatabase,f.logClientRequest=!1!==f.logClientRequest,f.logSourceRequest=!1!==f.logSourceRequest,f.logTargetRequest=!1!==f.logTargetRequest,f.logProviderResponse=!0===f.logProviderResponse,f.logErrors=!1!==f.logErrors;let g=Number(f.retentionDays);f.retentionDays=Number.isFinite(g)&&g>0?Math.floor(g):30;let h=(a,b,c,d)=>{let e=Number(a);return Number.isFinite(e)?Math.min(d,Math.max(c,Math.floor(e))):b};return f.payloadRotationEnabled=!0===f.payloadRotationEnabled,f.payloadRetentionDays=h(f.payloadRetentionDays,60,1,3650),f.payloadRotationIntervalHours=h(f.payloadRotationIntervalHours,24,1,168),f.payloadRotationBatchSize=h(f.payloadRotationBatchSize,500,50,5e3),f.payloadRotationMaxBatches=h(f.payloadRotationMaxBatches,20,1,200),"********"===f.password&&(f.password=b?.password||""),f.host=String(f.host||"").trim(),f.port=String(f.port||("postgres"===f.type?"5432":"3306")).trim(),f.database=String(f.database||"").trim(),f.username=String(f.username||"").trim(),f.password=String(f.password||""),!d||f.host||f.database||f.username||(f.enabled=!1),delete f.sqlitePath,f}async function q(){let a=await (0,i.getSettings)();return p(a?.promptLogDb||{})}var r=c(33323);let s=Number(process.env.OBSERVABILITY_MYSQL_MAX_JSON_BYTES||262144),t={expiresAt:0,value:null},u=!1,v=new Set;function w(a,b){v.has(a)||(v.add(a),console.warn(b))}function x(a){if(!a)return"";let b=[];return a.code&&b.push(`code=${a.code}`),a.errno&&b.push(`errno=${a.errno}`),a.sqlState&&b.push(`sqlState=${a.sqlState}`),a.sqlMessage?b.push(a.sqlMessage):a.message&&b.push(a.message),b.filter(Boolean).join(" | ")||String(a)}async function y(a,b){let[c]=await a.query("SELECT COLUMN_NAME AS name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.COLUMN_NAME||"")))}async function z(a,b){let[c]=await a.query("SELECT INDEX_NAME AS name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.INDEX_NAME||"")))}async function A(a,b,c){let d=await y(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD COLUMN ${f}`),d.add(e))}async function B(a,b,c){let d=await z(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD ${f}`),d.add(e))}async function C(a){await A(a,"usage_events",[["dedupe_key","dedupe_key VARCHAR(96) NULL"],["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["api_key_fingerprint","api_key_fingerprint VARCHAR(120) NULL"],["api_key_id","api_key_id VARCHAR(120) NULL"],["api_key_name","api_key_name VARCHAR(255) NULL"],["api_key_owner","api_key_owner VARCHAR(255) NULL"],["endpoint","endpoint TEXT NULL"],["request_id","request_id VARCHAR(120) NULL"],["session_id","session_id VARCHAR(255) NULL"],["client_ip","client_ip VARCHAR(64) NULL"],["client_ip_normalized","client_ip_normalized VARCHAR(64) NULL"],["client_host","client_host TEXT NULL"],["client_user_agent","client_user_agent TEXT NULL"],["source_tool","source_tool VARCHAR(80) NULL"],["source_tool_label","source_tool_label VARCHAR(120) NULL"],["source_host","source_host VARCHAR(255) NULL"],["latency_ms","latency_ms INT DEFAULT 0"],["ttft_ms","ttft_ms INT DEFAULT 0"],["status_code","status_code INT NULL"],["error_code","error_code VARCHAR(160) NULL"],["error_type","error_type VARCHAR(120) NULL"],["error_message_short","error_message_short TEXT NULL"],["is_streaming","is_streaming TINYINT DEFAULT 0"],["is_combo","is_combo TINYINT DEFAULT 0"],["combo_name","combo_name VARCHAR(255) NULL"],["prompt_tokens","prompt_tokens BIGINT DEFAULT 0"],["completion_tokens","completion_tokens BIGINT DEFAULT 0"],["total_tokens","total_tokens BIGINT DEFAULT 0"],["cached_tokens","cached_tokens BIGINT DEFAULT 0"],["reasoning_tokens","reasoning_tokens BIGINT DEFAULT 0"],["thinking_enabled","thinking_enabled TINYINT NULL"],["thinking_auto_off","thinking_auto_off TINYINT DEFAULT 0"],["thinking_auto_off_reason","thinking_auto_off_reason VARCHAR(120) NULL"],["prompt_chars","prompt_chars BIGINT DEFAULT 0"],["force_thinking_off_above_chars","force_thinking_off_above_chars BIGINT DEFAULT 0"],["cost","cost DECIMAL(18,8) DEFAULT 0"],["status","status VARCHAR(80) NULL"],["tokens_json","tokens_json JSON NULL"],["meta_json","meta_json JSON NULL"]]),await a.query("UPDATE usage_events SET dedupe_key = CONCAT('legacy:', id) WHERE dedupe_key IS NULL OR dedupe_key = ''").catch(()=>{}),await a.query("ALTER TABLE usage_events MODIFY COLUMN dedupe_key VARCHAR(96) NOT NULL").catch(()=>{}),await B(a,"usage_events",[["uq_usage_events_dedupe","UNIQUE KEY uq_usage_events_dedupe (dedupe_key)"],["idx_usage_events_ts","INDEX idx_usage_events_ts (timestamp)"],["idx_usage_events_provider_model","INDEX idx_usage_events_provider_model (provider, model, timestamp)"],["idx_usage_events_status","INDEX idx_usage_events_status (status, status_code, timestamp)"],["idx_usage_events_api_key","INDEX idx_usage_events_api_key (api_key_id, api_key_fingerprint, timestamp)"],["idx_usage_owner_time","INDEX idx_usage_owner_time (api_key_owner, timestamp, id)"],["idx_usage_events_client_ip","INDEX idx_usage_events_client_ip (client_ip_normalized, timestamp)"],["idx_usage_events_source_tool","INDEX idx_usage_events_source_tool (source_tool, timestamp)"],["idx_usage_events_session","INDEX idx_usage_events_session (session_id, timestamp)"],["idx_usage_events_thinking_auto_off","INDEX idx_usage_events_thinking_auto_off (thinking_auto_off, timestamp)"],["idx_usage_events_prompt_chars","INDEX idx_usage_events_prompt_chars (prompt_chars, timestamp)"]]),await A(a,"request_details",[["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["status","status VARCHAR(80) NULL"],["data_json","data_json JSON NULL"],["data_size_bytes","data_size_bytes BIGINT DEFAULT 0"]]),await B(a,"request_details",[["idx_request_details_ts","INDEX idx_request_details_ts (timestamp)"],["idx_request_details_provider","INDEX idx_request_details_provider (provider, timestamp)"],["idx_request_details_model","INDEX idx_request_details_model (model, timestamp)"],["idx_request_details_connection","INDEX idx_request_details_connection (connection_id, timestamp)"],["idx_request_details_status","INDEX idx_request_details_status (status, timestamp)"]])}function D(a){return String(a??"").trim()}function E(a){if(null==a)return null;if("string"==typeof a)try{return JSON.parse(a),a}catch{return JSON.stringify(a)}return(0,r.s)(a)}function F(a){if(null==a)return{};let b=E(a)||"{}";return Buffer.byteLength(b,"utf8")<=s?a:{_truncated:!0,_originalSizeBytes:Buffer.byteLength(b,"utf8"),_preview:b.slice(0,1e3)}}async function G(){let a=Date.now();if(t.value&&t.expiresAt>a)return t.value;try{let b=p(await q());t={value:!0===b.enabled&&"mysql"===b.type&&"false"!==process.env.OBSERVABILITY_MYSQL_ENABLED?b:null,expiresAt:a+5e3}}catch(b){w("config",`[observability-mysql] Unable to read MySQL log config: ${b?.message||b}`),t={value:null,expiresAt:a+5e3}}return t.value}async function H(a){let b=await c.e(8352).then(c.t.bind(c,58352,19)),d=await b.createConnection({host:a.host,port:Number(a.port||3306),database:a.database,user:a.username,password:a.password,ssl:a.ssl?{}:void 0,multipleStatements:!0,dateStrings:!0,connectTimeout:3e3,timezone:"Z"});return await d.query("SET time_zone = '+00:00'"),d}async function I(a){u||(await a.query(`
1
+ (()=>{var a={};a.id=8929,a.ids=[8929],a.modules={203:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aU,handler:()=>aT});var e={};c.r(e),c.d(e,{config:()=>aM,proxy:()=>aL}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(1500),k=c(2886),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(77598),q=c.n(p),r=c(72045);let s=o().join(r.n,"machine-id"),t=o().join(r.n,"auth"),u=o().join(t,"cli-secret"),v=null,w=null;async function x(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(v)return v;try{if(v=m().readFileSync(s,"utf8").trim())return v}catch{}try{v=(0,k.machineIdSync)()}catch{v=q().randomUUID()}try{m().mkdirSync(r.n,{recursive:!0}),m().writeFileSync(s,v,{mode:384})}catch{}return v}(),d="9r-cli-auth"===b?function(){if(w)return w;try{if(w=m().readFileSync(u,"utf8").trim())return w}catch{}w=q().randomBytes(32).toString("hex");try{m().mkdirSync(t,{recursive:!0}),m().writeFileSync(u,w,{mode:384})}catch{}return w}():"";return q().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let y=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function z(a,b,c){return b instanceof Uint8Array?crypto.subtle.importKey("raw",b,a.subtle,!1,[c]):(!function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw y(b.name);if(b.hash&&d.hash?.name!==b.hash)throw y(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw y(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw y(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a.subtle,c),a.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(a.alg,b),b)}async function A(a,b,c,d){let e=await z(a,b,"verify");try{return await crypto.subtle.verify(a.signing,e,c,d)}catch{return!1}}class B extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class C extends B{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class D extends B{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class E extends B{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class F extends B{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class G extends B{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class H extends B{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class I extends B{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let J=[["verify"],["sign"]];function K(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:J}}function L(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:J,minRsaBits:2048}}function M(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:J}}function N(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:J}}function O(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:J}}let P=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:K(256),HS384:K(384),HS512:K(512),RS256:L(256),RS384:L(384),RS512:L(512),PS256:L(256,32),PS384:L(384,48),PS512:L(512,64),ES256:M("P-256",256),ES384:M("P-384",384),ES512:M("P-521",512),EdDSA:N(),Ed25519:N(),"ML-DSA-44":O(44),"ML-DSA-65":O(65),"ML-DSA-87":O(87)}),Q=new TextEncoder,R=new TextDecoder,S=new TextDecoder("utf-8",{fatal:!0});function T(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}let U="The input to be decoded is not correctly encoded.";function V(a){if(Uint8Array.fromBase64)try{return Uint8Array.fromBase64("string"==typeof a?a:R.decode(a),{alphabet:"base64url"})}catch(a){throw TypeError(U,{cause:a})}let b=a;if(b instanceof Uint8Array&&(b=R.decode(b)),b.includes("+")||b.includes("/"))throw TypeError(U);b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError(U)}}function W(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);if(null===b)return!0;let c=b;for(;null!==Object.getPrototypeOf(c);)c=Object.getPrototypeOf(c);return b===c}function X(a,b,c){try{return V(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}Symbol();let Y={__proto__:null,b64:!0},Z=(a,b,...c)=>(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a})(`Key for the ${a} algorithm must be `,b,...c),$=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}};async function _(a,b){if("RSA"===b.kty&&"oth"in b&&void 0!==b.oth)throw new F('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');if(!a.kty.includes(b.kty))throw new F('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let c=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,d=!!(b.d||b.priv),e={...b};return"AKP"!==e.kty&&delete e.alg,delete e.use,crypto.subtle.importKey("jwk",e,c,b.ext??!d,b.key_ops??a.usages[+!!d])}let aa=a=>a[Symbol.toStringTag],ab={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"};function ac(a,b,c){let e=(d||=new WeakMap).get(a);return c&&(e?e[b]=c:d.set(a,{__proto__:null,[b]:c})),c??e?.[b]}let ad=async(a,b,c)=>ac(a,c.alg)??ac(a,c.alg,await _(c,{...b,alg:c.alg}));async function ae(a,b,c){let d=function(a,b,c){let{alg:d,secret:e}=a,f="decrypt"===c||"sign"===c;if(e&&b instanceof Uint8Array)return[0,b];if(W(b)&&"string"==typeof b.kty){if(e?"oct"!==b.kty||"string"!=typeof b.k:!(f?"oct"!==b.kty&&("AKP"===b.kty&&"string"==typeof b.priv||"string"==typeof b.d):"oct"!==b.kty&&void 0===b.d&&void 0===b.priv))throw TypeError(e?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${f?"private":"public"} JWK`);return((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,b,c),[3,b]}if(!($(b)||b?.[Symbol.toStringTag]==="KeyObject"))throw TypeError(e?Z(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Z(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(e){if("secret"!==b.type)throw TypeError(`${aa(b)} instances for symmetric algorithms must be of type "secret"`)}else{if("secret"===b.type)throw TypeError(`${aa(b)} instances for asymmetric algorithms must not be of type "secret"`);let a=f?"private":"public";if(("public"===b.type||"private"===b.type)&&b.type!==a){let d="sign"===c?"signing":"verify"===c?"verifying":`${c.slice(0,-1)}tion`;throw TypeError(`${aa(b)} instances for asymmetric algorithm ${d} must be of type "${a}"`)}}return $(b)?[1,b]:[2,b]}(a,b,c);switch(d[0]){case 0:case 1:return d[1];case 3:{let b=d[1];if(b.k)return V(b.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}return ad(b,b,a)}case 2:{let b=d[1];if("secret"===b.type)return b.export();if("toCryptoKey"in b&&"function"==typeof b.toCryptoKey)return((a,b)=>{let c=ac(a,b.alg);if(c)return c;let d="public"===a.type,e=b.usages[+!d],{asymmetricKeyType:f}=a,g=ab[a.asymmetricKeyDetails?.namedCurve],h=b.resolve?.({crv:g,asymmetricKeyType:f})??b.subtle;return ac(a,b.alg,a.toCryptoKey(h,d,e))})(b,a);return ad(b,b.export({format:"jwk"}),a)}}}async function af(a,b,c){let d,{protected:e,header:f,payload:g}=a,h={};if(e&&(h=function(a,b,c){let d;try{d=JSON.parse(S.decode(V(a)))}catch{throw new b(c)}if(!W(d))throw new b(c);return d}(e,G,"JWS Protected Header is invalid")),void 0!==f){if(!function(...a){let b=new Set;for(let c of a)if(c)for(let a of Object.keys(c)){if(b.has(a))return!1;b.add(a)}return!0}(h,f))throw new G("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");d={...h,...f}}else d=h;let i=function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new F(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(G,Y,b[1],h,d),j=!0;if(i.includes("b64")&&"boolean"!=typeof(j=h.b64))throw new G('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:k}=d;if("string"!=typeof k||!k)throw new G('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(b[0]&&!b[0].has(k))throw new E('"alg" (Algorithm) Header Parameter value not allowed');if(j){if("string"!=typeof g)throw new G("JWS Payload must be a string")}else if("string"!=typeof g&&!(g instanceof Uint8Array))throw new G("JWS Payload must be a string or an Uint8Array instance");let l=!1;"function"==typeof c&&(c=await c(h,a),l=!0);let m=function(a){let b="string"==typeof a?P[a]:void 0;if(!b)throw new F(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(k),n=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==e?T(e):new Uint8Array,T("."),"string"==typeof g?j?b[2]??=function(a,b,c){try{return T(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(g,"payload",G):Q.encode(g):g),o=X(a.signature,"signature",G),p=await ae(m,c,"verify");if(!await A(m,p,o,n))throw new I;return[j?X(g,"payload",G):"string"==typeof g?Q.encode(g):g,h,j,p,l]}async function ag(a,b,c){if(a instanceof Uint8Array&&(a=R.decode(a)),"string"!=typeof a)throw new G("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new G("Invalid Compact JWS");return af({payload:e,protected:d,signature:f},b,c)}let ah={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},ai=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,aj="check_failed";function ak(a){let b=ai.exec(a);if(!b||b[4]&&b[1])throw TypeError("Invalid time period format");let c=Math.round(parseFloat(b[2])*ah[b[3][0].toLowerCase()]);return"-"===b[1]||"ago"===b[4]?-c:c}function al(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let am=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;function an(a,b,c=!1){let d=a[b];if(void 0!==d||c){if("number"!=typeof d)throw new C(`"${b}" claim must be a number`,a,b,"invalid");return d}}function ao(a,b){throw new C(`unexpected "${b}" claim value`,a,b,aj)}async function ap(a,b,c){let d=await ag(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new H("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f;try{f=JSON.parse(S.decode(b))}catch{}if(!W(f))throw new H("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(g&&("string"!=typeof a.typ||am(a.typ)!==am(g)))throw new C('unexpected "typ" JWT header value',f,"typ",aj);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(f,a))throw new C(`missing required "${a}" claim`,f,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(f.iss)||ao(f,"iss"),void 0!==j&&f.sub!==j&&ao(f,"sub"),void 0===k||(d=f.aud,e="string"==typeof k?[k]:k,"string"==typeof d?e.includes(d):!!Array.isArray(d)&&e.some(a=>d.includes(a)))||ao(f,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=ak(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}al("clockTolerance option",o);let{currentDate:p}=c,q=al("currentDate option",Math.floor((p||new Date).getTime()/1e3)),r=an(f,"iat",void 0!==l),s=an(f,"nbf");if(void 0!==s&&s>q+o)throw new C('"nbf" claim timestamp check failed',f,"nbf",aj);let t=an(f,"exp");if(void 0!==t&&t<=q-o)throw new D('"exp" claim timestamp check failed',f,"exp",aj);if(void 0!==l){let a=q-r;if(a-o>("number"==typeof l?l:ak(l)))throw new D('"iat" claim timestamp check failed (too far in the past)',f,"iat",aj);if(a<0-o)throw new C('"iat" claim timestamp check failed (it should be in the past)',f,"iat",aj)}return f}(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}let aq=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=o().join(r.n,"jwt-secret");try{return m().readFileSync(a,"utf8").trim()}catch{}m().mkdirSync(r.n,{recursive:!0});let b=q().randomBytes(32).toString("hex");return m().writeFileSync(a,b,{mode:384}),b}());async function ar(a){if(!a)return!1;try{return await ap(a,aq),!0}catch{return!1}}let as=null;async function at(){return as||(as=await x("9r-cli-auth")),as}async function au(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await at()}let av=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/version","/api/settings/require-login","/api/branding","/api/cluster/snapshot","/api/cluster/heartbeat"],aw=["/v1","/v1beta","/api/v1","/api/v1beta"],ax={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, OPTIONS","Access-Control-Allow-Headers":"*","Access-Control-Max-Age":"86400"},ay=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import"],az=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-login","/api/tunnel/tailscale-start-daemon","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import"],aA=new Set(["localhost","127.0.0.1","::1"]);function aB(a){if(!a)return!1;let b=a.split(":")[0].replace(/^\[|\]$/g,"").toLowerCase();return aA.has(b)}function aC(a){return(a.headers.get("host")||"").split(":")[0].replace(/^\[|\]$/g,"").toLowerCase()}function aD(a){return aw.some(b=>a===b||a.startsWith(`${b}/`))}async function aE(a){let b,c=(b=a.headers.get("Authorization"),b?.startsWith("Bearer ")?b.slice(7):a.headers.get("x-api-key"));return!!c&&await (0,j.ek)(c)}async function aF(a){return!!await au(a)||await aE(a)}async function aG(a){return!!(await au(a)||function(a){if(!aB(a.headers.get("host")))return!1;let b=a.headers.get("origin");if(b)try{if(!aB(new URL(b).hostname))return!1}catch{return!1}return!0}(a)&&await aK(a))}async function aH(a,b){let c,d="/api/cli-tools/antigravity-mitm";return(b===d||!!b.startsWith(`${d}/`))&&"true"===process.env.ALLOW_REMOTE_MITM_UI&&!!function(a){let b=a.headers.get("origin");if(!b)return!0;try{return new URL(b).hostname.toLowerCase()===aC(a)}catch{return!1}}(a)&&!!(0===(c=(process.env.REMOTE_MITM_UI_HOSTS||"").split(",").map(a=>a.trim().toLowerCase()).filter(Boolean)).length||c.includes(aC(a)))&&await aK(a)}async function aI(a){let b=a.cookies.get("auth_token")?.value;return await ar(b)}async function aJ(){try{return await (0,j.mt)()}catch{return null}}async function aK(a){return await aI(a)}async function aL(a){let{pathname:b}=a.nextUrl;if("OPTIONS"===a.method&&aD(b))return new i.NextResponse(null,{status:204,headers:ax});if(az.some(a=>b.startsWith(a))&&!await aG(a)&&!await aH(a,b))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(ay.some(a=>b.startsWith(a)))return await au(a)||await aI(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aD(b))return await aF(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401,headers:ax});if(b.startsWith("/api/"))return aD(b)||av.some(a=>b===a||b.startsWith(`${a}/`))||await au(a)||await aK(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){try{let b=await aJ();if(b&&!0!==b.tunnelDashboardAccess){let c=aC(a),d=b.tunnelUrl?new URL(b.tunnelUrl).hostname.toLowerCase():"",e=b.tailscaleUrl?new URL(b.tailscaleUrl).hostname.toLowerCase():"";if(d&&c===d||e&&c===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}let b=a.cookies.get("auth_token")?.value;return b&&await ar(b)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return i.NextResponse.next()}let aM={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aN=c(99751);let aO={...e},aP="/src/proxy",aQ=(0,aO.proxy||aO.default);class aR extends Error{constructor(a){super(a),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.stack=""}}if("function"!=typeof aQ)throw new aR(`The Proxy file "${aP}" must export a function named \`proxy\` or a default function.`);let aS=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aP,handler:async(...a)=>{try{return await aQ(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function aT(a,b){let c=await aS({request:{url:a.url,method:a.method,headers:(0,aN.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aP},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aU=aS},1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},1500:(a,b,c)=>{"use strict";c.d(b,{mt:()=>i.getSettings,Xx:()=>i.Xx,ek:()=>j.ek}),c(59339),c(55511),c(79748);var d=c(21820),e=c.n(d),f=c(33873),g=c.n(f);let h=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||g().join(e().homedir(),".bluerouter");g().join(h,"resource-monitor-servers.json");var i=c(85304);c(54706);var j=c(98938),k=c(71509);(0,k.U)("modelAliases"),(0,k.U)("customModels"),(0,k.U)("mitmAlias"),c(36241);var l=c(58243),m=c.n(l);c(51455),c(76760),c(72045);let n=new Set(["mysql","postgres"]),o={enabled:!1,fileLoggingEnabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30,payloadRotationEnabled:!1,payloadRetentionDays:60,payloadRotationIntervalHours:24,payloadRotationBatchSize:500,payloadRotationMaxBatches:20};function p(a={},b={}){let c=String(a?.type||b?.type||o.type).trim().toLowerCase(),d=!!c&&!n.has(c),e=d?o.type:c,f={...o,...b||{},...a||{},type:e};f.enabled=!!f.enabled,f.fileLoggingEnabled=!0===f.fileLoggingEnabled,f.ssl=!!f.ssl,f.createDatabase=!!f.createDatabase,f.logClientRequest=!1!==f.logClientRequest,f.logSourceRequest=!1!==f.logSourceRequest,f.logTargetRequest=!1!==f.logTargetRequest,f.logProviderResponse=!0===f.logProviderResponse,f.logErrors=!1!==f.logErrors;let g=Number(f.retentionDays);f.retentionDays=Number.isFinite(g)&&g>0?Math.floor(g):30;let h=(a,b,c,d)=>{let e=Number(a);return Number.isFinite(e)?Math.min(d,Math.max(c,Math.floor(e))):b};return f.payloadRotationEnabled=!0===f.payloadRotationEnabled,f.payloadRetentionDays=h(f.payloadRetentionDays,60,1,3650),f.payloadRotationIntervalHours=h(f.payloadRotationIntervalHours,24,1,168),f.payloadRotationBatchSize=h(f.payloadRotationBatchSize,500,50,5e3),f.payloadRotationMaxBatches=h(f.payloadRotationMaxBatches,20,1,200),"********"===f.password&&(f.password=b?.password||""),f.host=String(f.host||"").trim(),f.port=String(f.port||("postgres"===f.type?"5432":"3306")).trim(),f.database=String(f.database||"").trim(),f.username=String(f.username||"").trim(),f.password=String(f.password||""),!d||f.host||f.database||f.username||(f.enabled=!1),delete f.sqlitePath,f}async function q(){let a=await (0,i.getSettings)();return p(a?.promptLogDb||{})}var r=c(33323);let s=Number(process.env.OBSERVABILITY_MYSQL_MAX_JSON_BYTES||262144),t={expiresAt:0,value:null},u=!1,v=new Set;function w(a,b){v.has(a)||(v.add(a),console.warn(b))}function x(a){if(!a)return"";let b=[];return a.code&&b.push(`code=${a.code}`),a.errno&&b.push(`errno=${a.errno}`),a.sqlState&&b.push(`sqlState=${a.sqlState}`),a.sqlMessage?b.push(a.sqlMessage):a.message&&b.push(a.message),b.filter(Boolean).join(" | ")||String(a)}async function y(a,b){let[c]=await a.query("SELECT COLUMN_NAME AS name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.COLUMN_NAME||"")))}async function z(a,b){let[c]=await a.query("SELECT INDEX_NAME AS name FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ?",[b]);return new Set((c||[]).map(a=>String(a.name||a.INDEX_NAME||"")))}async function A(a,b,c){let d=await y(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD COLUMN ${f}`),d.add(e))}async function B(a,b,c){let d=await z(a,b);for(let[e,f]of c)d.has(e)||(await a.query(`ALTER TABLE ${b} ADD ${f}`),d.add(e))}async function C(a){await A(a,"usage_events",[["dedupe_key","dedupe_key VARCHAR(96) NULL"],["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["api_key_fingerprint","api_key_fingerprint VARCHAR(120) NULL"],["api_key_id","api_key_id VARCHAR(120) NULL"],["api_key_name","api_key_name VARCHAR(255) NULL"],["api_key_owner","api_key_owner VARCHAR(255) NULL"],["endpoint","endpoint TEXT NULL"],["request_id","request_id VARCHAR(120) NULL"],["session_id","session_id VARCHAR(255) NULL"],["client_ip","client_ip VARCHAR(64) NULL"],["client_ip_normalized","client_ip_normalized VARCHAR(64) NULL"],["client_host","client_host TEXT NULL"],["client_user_agent","client_user_agent TEXT NULL"],["source_tool","source_tool VARCHAR(80) NULL"],["source_tool_label","source_tool_label VARCHAR(120) NULL"],["source_host","source_host VARCHAR(255) NULL"],["latency_ms","latency_ms INT DEFAULT 0"],["ttft_ms","ttft_ms INT DEFAULT 0"],["status_code","status_code INT NULL"],["error_code","error_code VARCHAR(160) NULL"],["error_type","error_type VARCHAR(120) NULL"],["error_message_short","error_message_short TEXT NULL"],["is_streaming","is_streaming TINYINT DEFAULT 0"],["is_combo","is_combo TINYINT DEFAULT 0"],["combo_name","combo_name VARCHAR(255) NULL"],["prompt_tokens","prompt_tokens BIGINT DEFAULT 0"],["completion_tokens","completion_tokens BIGINT DEFAULT 0"],["total_tokens","total_tokens BIGINT DEFAULT 0"],["cached_tokens","cached_tokens BIGINT DEFAULT 0"],["reasoning_tokens","reasoning_tokens BIGINT DEFAULT 0"],["thinking_enabled","thinking_enabled TINYINT NULL"],["thinking_auto_off","thinking_auto_off TINYINT DEFAULT 0"],["thinking_auto_off_reason","thinking_auto_off_reason VARCHAR(120) NULL"],["prompt_chars","prompt_chars BIGINT DEFAULT 0"],["force_thinking_off_above_chars","force_thinking_off_above_chars BIGINT DEFAULT 0"],["cost","cost DECIMAL(18,8) DEFAULT 0"],["status","status VARCHAR(80) NULL"],["tokens_json","tokens_json JSON NULL"],["meta_json","meta_json JSON NULL"]]),await a.query("UPDATE usage_events SET dedupe_key = CONCAT('legacy:', id) WHERE dedupe_key IS NULL OR dedupe_key = ''").catch(()=>{}),await a.query("ALTER TABLE usage_events MODIFY COLUMN dedupe_key VARCHAR(96) NOT NULL").catch(()=>{}),await B(a,"usage_events",[["uq_usage_events_dedupe","UNIQUE KEY uq_usage_events_dedupe (dedupe_key)"],["idx_usage_events_ts","INDEX idx_usage_events_ts (timestamp)"],["idx_usage_events_provider_model","INDEX idx_usage_events_provider_model (provider, model, timestamp)"],["idx_usage_events_status","INDEX idx_usage_events_status (status, status_code, timestamp)"],["idx_usage_events_api_key","INDEX idx_usage_events_api_key (api_key_id, api_key_fingerprint, timestamp)"],["idx_usage_owner_time","INDEX idx_usage_owner_time (api_key_owner, timestamp, id)"],["idx_usage_events_client_ip","INDEX idx_usage_events_client_ip (client_ip_normalized, timestamp)"],["idx_usage_events_source_tool","INDEX idx_usage_events_source_tool (source_tool, timestamp)"],["idx_usage_events_session","INDEX idx_usage_events_session (session_id, timestamp)"],["idx_usage_events_thinking_auto_off","INDEX idx_usage_events_thinking_auto_off (thinking_auto_off, timestamp)"],["idx_usage_events_prompt_chars","INDEX idx_usage_events_prompt_chars (prompt_chars, timestamp)"]]),await A(a,"request_details",[["created_at","created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["timestamp","timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3)"],["provider","provider VARCHAR(120) NULL"],["model","model VARCHAR(255) NULL"],["connection_id","connection_id VARCHAR(120) NULL"],["status","status VARCHAR(80) NULL"],["data_json","data_json JSON NULL"],["data_size_bytes","data_size_bytes BIGINT DEFAULT 0"]]),await B(a,"request_details",[["idx_request_details_ts","INDEX idx_request_details_ts (timestamp)"],["idx_request_details_provider","INDEX idx_request_details_provider (provider, timestamp)"],["idx_request_details_model","INDEX idx_request_details_model (model, timestamp)"],["idx_request_details_connection","INDEX idx_request_details_connection (connection_id, timestamp)"],["idx_request_details_status","INDEX idx_request_details_status (status, timestamp)"]])}function D(a){return String(a??"").trim()}function E(a){if(null==a)return null;if("string"==typeof a)try{return JSON.parse(a),a}catch{return JSON.stringify(a)}return(0,r.s)(a)}function F(a){if(null==a)return{};let b=E(a)||"{}";return Buffer.byteLength(b,"utf8")<=s?a:{_truncated:!0,_originalSizeBytes:Buffer.byteLength(b,"utf8"),_preview:b.slice(0,1e3)}}async function G(){let a=Date.now();if(t.value&&t.expiresAt>a)return t.value;try{let b=p(await q());t={value:!0===b.enabled&&"mysql"===b.type&&"false"!==process.env.OBSERVABILITY_MYSQL_ENABLED?b:null,expiresAt:a+5e3}}catch(b){w("config",`[observability-mysql] Unable to read MySQL log config: ${b?.message||b}`),t={value:null,expiresAt:a+5e3}}return t.value}async function H(a){let b=await c.e(8352).then(c.t.bind(c,58352,19)),d=await b.createConnection({host:a.host,port:Number(a.port||3306),database:a.database,user:a.username,password:a.password,ssl:a.ssl?{}:void 0,multipleStatements:!0,dateStrings:!0,connectTimeout:3e3,timezone:"Z"});return await d.query("SET time_zone = '+00:00'"),d}async function I(a){u||(await a.query(`
2
2
  CREATE TABLE IF NOT EXISTS usage_events (
3
3
  id BIGINT AUTO_INCREMENT PRIMARY KEY,
4
4
  dedupe_key VARCHAR(96) NOT NULL,
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/7a3e1568f247f3d0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3ee2c86da45c8465.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7145ed03e0cb7e01.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-eacc433ef218cf40.js" async=""></script><script src="/_next/static/chunks/1a258343-a1c000c55ff2ed8c.js" async=""></script><script src="/_next/static/chunks/8500-01a63dafd809e317.js" async=""></script><script src="/_next/static/chunks/9893-065a17773674bd0a.js" async=""></script><script src="/_next/static/chunks/9959-ac64565001d4586c.js" async=""></script><script src="/_next/static/chunks/7050-a706e6827db952b3.js" async=""></script><script src="/_next/static/chunks/5564-f72b35ee73d33b9b.js" async=""></script><script src="/_next/static/chunks/5263-b487116cf5ec7e62.js" async=""></script><script src="/_next/static/chunks/7033-c1289a2f17cb7185.js" async=""></script><script src="/_next/static/chunks/5497-cd964740ba299403.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js" async=""></script><script src="/_next/static/chunks/1101-24e8a2ac5c831741.js" async=""></script><script src="/_next/static/chunks/app/layout-db21980eededc57c.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>AI Router Gateway - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?d69b7278ea27dcf7" type="image/x-icon" sizes="32x32"/><link rel="icon" href="/favicon.svg"/><title>404: This page could not be found.</title><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/7a3e1568f247f3d0.css\",\"style\"]\n:HL[\"/_next/static/css/3ee2c86da45c8465.css\",\"style\"]\n:HL[\"/_next/static/css/7145ed03e0cb7e01.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a3e1568f247f3d0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3ee2c86da45c8465.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7145ed03e0cb7e01.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"G2uCQunSXlJUVA7iPBSwj\"}\ne:I[44656,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-b487116cf5ec7e62.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"BrandingProvider\"]\nf:I[70255,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-b487116cf5ec7e62.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"default\"]\n10:I[21110,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-b487116cf5ec7e62.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"ThemeProvider\"]\n11:I[94635,[\"1101\",\"static/chunks/1101-24e8a2ac5c831741.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-b487116cf5ec7e62.js\",\"7177\",\"static/chunks/app/layout-db21980eededc57c.js\"],\"RuntimeI18nProvider\"]\n8:C\n2:[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$Le\",null,{\"initialBranding\":{\"siteTitle\":\"\",\"siteShortName\":\"\",\"siteDescription\":\"\",\"logoUrl\":null,\"faviconUrl\":null,\"logoMime\":null,\"faviconMime\":null,\"hasLogo\":false,\"hasFavicon\":false},\"children\":[[\"$\",\"$Lf\",null,{}],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]}]]}]\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n12:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"AI Router Gateway - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?d69b7278ea27dcf7\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L12\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/7a3e1568f247f3d0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3ee2c86da45c8465.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7145ed03e0cb7e01.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-eacc433ef218cf40.js" async=""></script><script src="/_next/static/chunks/1a258343-a1c000c55ff2ed8c.js" async=""></script><script src="/_next/static/chunks/8500-01a63dafd809e317.js" async=""></script><script src="/_next/static/chunks/9893-065a17773674bd0a.js" async=""></script><script src="/_next/static/chunks/9959-ac64565001d4586c.js" async=""></script><script src="/_next/static/chunks/7050-a706e6827db952b3.js" async=""></script><script src="/_next/static/chunks/5564-f72b35ee73d33b9b.js" async=""></script><script src="/_next/static/chunks/5263-758fcabd01c1477e.js" async=""></script><script src="/_next/static/chunks/7033-c1289a2f17cb7185.js" async=""></script><script src="/_next/static/chunks/5497-cd964740ba299403.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js" async=""></script><script src="/_next/static/chunks/1101-24e8a2ac5c831741.js" async=""></script><script src="/_next/static/chunks/app/layout-db21980eededc57c.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#0a0a0a"/><title>AI Router Gateway - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?d69b7278ea27dcf7" type="image/x-icon" sizes="32x32"/><link rel="icon" href="/favicon.svg"/><title>404: This page could not be found.</title><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/7a3e1568f247f3d0.css\",\"style\"]\n:HL[\"/_next/static/css/3ee2c86da45c8465.css\",\"style\"]\n:HL[\"/_next/static/css/7145ed03e0cb7e01.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a3e1568f247f3d0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3ee2c86da45c8465.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7145ed03e0cb7e01.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"_1IH2tAp7Ow82DtT5D8lq\"}\ne:I[44656,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-758fcabd01c1477e.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"BrandingProvider\"]\nf:I[70255,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-758fcabd01c1477e.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"default\"]\n10:I[21110,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-758fcabd01c1477e.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-cd964740ba299403.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"ThemeProvider\"]\n11:I[94635,[\"1101\",\"static/chunks/1101-24e8a2ac5c831741.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-758fcabd01c1477e.js\",\"7177\",\"static/chunks/app/layout-db21980eededc57c.js\"],\"RuntimeI18nProvider\"]\n8:C\n2:[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$Le\",null,{\"initialBranding\":{\"siteTitle\":\"\",\"siteShortName\":\"\",\"siteDescription\":\"\",\"logoUrl\":null,\"faviconUrl\":null,\"logoMime\":null,\"faviconMime\":null,\"hasLogo\":false,\"hasFavicon\":false},\"children\":[[\"$\",\"$Lf\",null,{}],[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]}]]}]\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n12:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"AI Router Gateway - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?d69b7278ea27dcf7\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L12\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-eacc433ef218cf40.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"G2uCQunSXlJUVA7iPBSwj\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-eacc433ef218cf40.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-a5e5f61cb7910e6b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"_1IH2tAp7Ow82DtT5D8lq\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>