@ltgiang/9router 0.5.12 → 0.5.13

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 (1743) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -13
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +27 -3
  5. package/app/.next-cli-build/required-server-files.json +12 -4
  6. package/app/.next-cli-build/routes-manifest.json +22 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +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 +3 -3
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -0
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  74. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  90. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  92. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  95. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  147. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/reorder/route_client-reference-manifest.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  185. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  188. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  194. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  197. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  200. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  203. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +5 -5
  204. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  209. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  212. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  218. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  224. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  227. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  230. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  233. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/models/order/route_client-reference-manifest.js +1 -1
  236. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  252. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -0
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -0
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -0
  275. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  281. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  290. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route_client-reference-manifest.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route_client-reference-manifest.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route_client-reference-manifest.js +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  332. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  335. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  338. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  341. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  342. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  344. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  348. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  350. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  353. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  356. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  359. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  362. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  365. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  371. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +4 -2
  372. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  374. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  377. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  380. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  383. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  386. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  389. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  392. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  395. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  401. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  404. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  405. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  407. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  410. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  416. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  419. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -0
  420. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -0
  421. package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -0
  422. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  435. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  488. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  489. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  491. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  494. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  495. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  496. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  497. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  500. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  501. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  502. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  503. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  504. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  506. package/app/.next-cli-build/server/app/callback.html +1 -1
  507. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  508. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  509. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  511. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  512. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  513. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  516. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  520. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  521. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  523. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
  524. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +10 -10
  526. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  530. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +10 -10
  531. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  533. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
  534. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  536. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  540. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  541. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  543. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
  544. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +10 -10
  546. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  547. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  550. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +10 -10
  551. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  553. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
  554. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  556. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  561. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  562. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
  564. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
  565. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  567. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  568. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  571. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  572. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  574. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
  575. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  576. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  577. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  578. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  580. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  581. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  582. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  583. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  584. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
  585. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  586. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  587. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  588. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  590. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  592. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  593. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  595. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
  596. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  597. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  598. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  600. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  602. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  603. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  604. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  605. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
  606. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  607. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  608. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  611. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  612. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  613. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  614. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  615. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
  616. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  617. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  618. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  619. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  621. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  622. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  623. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  624. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  625. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
  626. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  627. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  628. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  631. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  632. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  633. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  634. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  635. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  636. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  637. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  638. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  640. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  641. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  642. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  643. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  644. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  645. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  646. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
  648. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
  649. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -0
  650. package/app/.next-cli-build/server/app/dashboard/token-saver.meta +17 -0
  651. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +24 -0
  652. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -0
  653. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +5 -0
  654. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +5 -0
  655. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +6 -0
  656. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +24 -0
  657. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +6 -0
  658. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +9 -0
  659. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +5 -0
  660. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  661. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  662. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  663. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  664. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  666. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  667. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  668. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  669. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
  670. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  671. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  672. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  673. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  674. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  676. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  677. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  678. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  679. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
  680. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  681. package/app/.next-cli-build/server/app/dashboard.rsc +10 -10
  682. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  683. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  684. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  685. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +10 -10
  686. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  687. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
  688. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
  689. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  690. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  691. package/app/.next-cli-build/server/app/index.html +1 -1
  692. package/app/.next-cli-build/server/app/index.rsc +6 -6
  693. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  694. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  695. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  696. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  697. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  698. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  699. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  700. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  701. package/app/.next-cli-build/server/app/landing.html +1 -1
  702. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  703. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  704. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  705. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  706. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  707. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  708. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  709. package/app/.next-cli-build/server/app/login/page.js +2 -2
  710. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  711. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  712. package/app/.next-cli-build/server/app/login.html +1 -1
  713. package/app/.next-cli-build/server/app/login.rsc +8 -8
  714. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
  715. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  716. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  717. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
  718. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  719. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  720. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  721. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  722. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  723. package/app/.next-cli-build/server/app/page.js +2 -2
  724. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  725. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  726. package/app/.next-cli-build/server/app-paths-manifest.json +15 -13
  727. package/app/.next-cli-build/server/chunks/1051.js +1 -0
  728. package/app/.next-cli-build/server/chunks/1275.js +4 -4
  729. package/app/.next-cli-build/server/chunks/1315.js +64 -0
  730. package/app/.next-cli-build/server/chunks/212.js +1 -0
  731. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  732. package/app/.next-cli-build/server/chunks/260.js +1 -0
  733. package/app/.next-cli-build/server/chunks/318.js +12 -12
  734. package/app/.next-cli-build/server/chunks/319.js +3 -3
  735. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  736. package/app/.next-cli-build/server/chunks/3938.js +1 -0
  737. package/app/.next-cli-build/server/chunks/4055.js +1 -1
  738. package/app/.next-cli-build/server/chunks/412.js +2 -2
  739. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  740. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  741. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  742. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  743. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  744. package/app/.next-cli-build/server/chunks/507.js +1 -1
  745. package/app/.next-cli-build/server/chunks/5217.js +1 -1
  746. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  747. package/app/.next-cli-build/server/chunks/5615.js +2 -2
  748. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  749. package/app/.next-cli-build/server/chunks/5852.js +2 -2
  750. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  751. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  752. package/app/.next-cli-build/server/chunks/615.js +1 -1
  753. package/app/.next-cli-build/server/chunks/6182.js +3 -3
  754. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  755. package/app/.next-cli-build/server/chunks/6482.js +1 -1
  756. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  757. package/app/.next-cli-build/server/chunks/6777.js +1 -0
  758. package/app/.next-cli-build/server/chunks/698.js +1 -1
  759. package/app/.next-cli-build/server/chunks/7220.js +1 -0
  760. package/app/.next-cli-build/server/chunks/7248.js +3 -0
  761. package/app/.next-cli-build/server/chunks/7879.js +10 -0
  762. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  763. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  764. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  765. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  766. package/app/.next-cli-build/server/chunks/8895.js +5 -5
  767. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  768. package/app/.next-cli-build/server/chunks/914.js +10 -4
  769. package/app/.next-cli-build/server/chunks/9350.js +1 -0
  770. package/app/.next-cli-build/server/chunks/9630.js +1 -0
  771. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  772. package/app/.next-cli-build/server/middleware.js +4 -4
  773. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  774. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  775. package/app/.next-cli-build/server/pages/404.html +1 -1
  776. package/app/.next-cli-build/server/pages/500.html +1 -1
  777. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  778. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  779. package/app/.next-cli-build/static/chunks/1321-477cb6560b016b26.js +1 -0
  780. package/app/.next-cli-build/static/chunks/1a258343-1aa1820b9db68d51.js +1 -0
  781. package/app/.next-cli-build/static/chunks/3807-460da912ae27731f.js +64 -0
  782. package/app/.next-cli-build/static/chunks/5497-8a3f99dd781f8c61.js +7 -0
  783. package/app/.next-cli-build/static/chunks/705-979ff3eb195b9023.js +1 -0
  784. package/app/.next-cli-build/static/chunks/7784-265a15eadd679bdc.js +3 -0
  785. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34ca4e62572e698d.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-de896f949e4db0a5.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-92479cb56b307663.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-c2349580aa9b9430.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-ee26499f5039ddf4.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-037703dc965abed1.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-0a3bdda39731c8e8.js → page-d68cb371259802c9.js} +1 -1
  792. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-7c57929647c07f91.js → page-7459b843d657f2d3.js} +1 -1
  793. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f2545778dd849c11.js → page-487958212cd92c45.js} +1 -1
  794. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-d69ecce859cd7454.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-734221f9292c2f0b.js → page-797101916aa47351.js} +1 -1
  796. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-a2ccd01e7798869c.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-693cf10831316638.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-92fcb60312dda26e.js +10 -0
  799. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-728ddba2783d1f16.js → page-f2eda137bc8e146b.js} +1 -1
  800. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-753b0a5d477ae4e7.js → page-5ff67d74a24a6256.js} +1 -1
  801. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-32cc33885248badf.js → page-0f2f03b57f31bac2.js} +2 -2
  802. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-fb204465ae19409a.js → page-ed110f504537c514.js} +1 -1
  803. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-e3890a44492370b7.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-8939090f4358b4bd.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-854c277a8364d017.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-430c6ce20faf59b3.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-9d94f30df88cbcd7.js → layout-e74f0a0d9c9cec73.js} +1 -1
  808. package/app/.next-cli-build/static/chunks/app/_global-error/{page-0006630ca3232027.js → page-743dde8cb8e721b7.js} +1 -1
  809. package/app/.next-cli-build/static/chunks/app/_not-found/{page-e4d84f64a8c852f7.js → page-5b7961cf7eeec8c2.js} +1 -1
  810. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  811. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  812. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-0006630ca3232027.js → route-743dde8cb8e721b7.js} +1 -1
  813. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-743dde8cb8e721b7.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-743dde8cb8e721b7.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-743dde8cb8e721b7.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-743dde8cb8e721b7.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-743dde8cb8e721b7.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-743dde8cb8e721b7.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-743dde8cb8e721b7.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-743dde8cb8e721b7.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-743dde8cb8e721b7.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-743dde8cb8e721b7.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-743dde8cb8e721b7.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-743dde8cb8e721b7.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-743dde8cb8e721b7.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-743dde8cb8e721b7.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-743dde8cb8e721b7.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-743dde8cb8e721b7.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-743dde8cb8e721b7.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-743dde8cb8e721b7.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-743dde8cb8e721b7.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-743dde8cb8e721b7.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-743dde8cb8e721b7.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-743dde8cb8e721b7.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-743dde8cb8e721b7.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/combos/route-743dde8cb8e721b7.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-743dde8cb8e721b7.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-743dde8cb8e721b7.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-743dde8cb8e721b7.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/health/route-743dde8cb8e721b7.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/init/route-743dde8cb8e721b7.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-743dde8cb8e721b7.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/keys/route-743dde8cb8e721b7.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/locale/route-743dde8cb8e721b7.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-743dde8cb8e721b7.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-743dde8cb8e721b7.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-743dde8cb8e721b7.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-743dde8cb8e721b7.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-743dde8cb8e721b7.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-743dde8cb8e721b7.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-743dde8cb8e721b7.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-743dde8cb8e721b7.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-743dde8cb8e721b7.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-743dde8cb8e721b7.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-743dde8cb8e721b7.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/models/order/route-743dde8cb8e721b7.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/models/route-743dde8cb8e721b7.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/models/test/route-743dde8cb8e721b7.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-743dde8cb8e721b7.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-743dde8cb8e721b7.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-743dde8cb8e721b7.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-743dde8cb8e721b7.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-743dde8cb8e721b7.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-743dde8cb8e721b7.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-743dde8cb8e721b7.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-743dde8cb8e721b7.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-743dde8cb8e721b7.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-743dde8cb8e721b7.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-743dde8cb8e721b7.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-743dde8cb8e721b7.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-743dde8cb8e721b7.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/pricing/route-743dde8cb8e721b7.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-743dde8cb8e721b7.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-743dde8cb8e721b7.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-743dde8cb8e721b7.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-743dde8cb8e721b7.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-743dde8cb8e721b7.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-743dde8cb8e721b7.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-743dde8cb8e721b7.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-743dde8cb8e721b7.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-743dde8cb8e721b7.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-743dde8cb8e721b7.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-743dde8cb8e721b7.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-743dde8cb8e721b7.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/providers/route-743dde8cb8e721b7.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-743dde8cb8e721b7.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-743dde8cb8e721b7.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-743dde8cb8e721b7.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-743dde8cb8e721b7.js +1 -0
  890. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-743dde8cb8e721b7.js +1 -0
  891. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-743dde8cb8e721b7.js +1 -0
  892. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-743dde8cb8e721b7.js +1 -0
  893. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-743dde8cb8e721b7.js +1 -0
  894. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-743dde8cb8e721b7.js +1 -0
  895. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-743dde8cb8e721b7.js +1 -0
  896. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-743dde8cb8e721b7.js +1 -0
  897. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-743dde8cb8e721b7.js +1 -0
  898. package/app/.next-cli-build/static/chunks/app/api/settings/route-743dde8cb8e721b7.js +1 -0
  899. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-743dde8cb8e721b7.js +1 -0
  900. package/app/.next-cli-build/static/chunks/app/api/tags/route-743dde8cb8e721b7.js +1 -0
  901. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-743dde8cb8e721b7.js +1 -0
  902. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-743dde8cb8e721b7.js +1 -0
  903. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-743dde8cb8e721b7.js +1 -0
  904. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-743dde8cb8e721b7.js +1 -0
  905. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-743dde8cb8e721b7.js +1 -0
  906. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-743dde8cb8e721b7.js +1 -0
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-743dde8cb8e721b7.js +1 -0
  908. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-743dde8cb8e721b7.js +1 -0
  909. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-743dde8cb8e721b7.js +1 -0
  910. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-743dde8cb8e721b7.js +1 -0
  911. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-743dde8cb8e721b7.js +1 -0
  912. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-743dde8cb8e721b7.js +1 -0
  913. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-743dde8cb8e721b7.js +1 -0
  914. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-743dde8cb8e721b7.js +1 -0
  915. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-743dde8cb8e721b7.js +1 -0
  916. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-743dde8cb8e721b7.js +1 -0
  917. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-743dde8cb8e721b7.js +1 -0
  918. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-743dde8cb8e721b7.js +1 -0
  919. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-743dde8cb8e721b7.js +1 -0
  920. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-743dde8cb8e721b7.js +1 -0
  921. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-743dde8cb8e721b7.js +1 -0
  922. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-743dde8cb8e721b7.js +1 -0
  923. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-743dde8cb8e721b7.js +1 -0
  924. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-743dde8cb8e721b7.js +1 -0
  925. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-743dde8cb8e721b7.js +1 -0
  926. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-743dde8cb8e721b7.js +1 -0
  927. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-743dde8cb8e721b7.js +1 -0
  928. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-743dde8cb8e721b7.js +1 -0
  929. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-743dde8cb8e721b7.js +1 -0
  930. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-743dde8cb8e721b7.js +1 -0
  931. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-743dde8cb8e721b7.js +1 -0
  932. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-743dde8cb8e721b7.js +1 -0
  933. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-743dde8cb8e721b7.js +1 -0
  934. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-743dde8cb8e721b7.js +1 -0
  935. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-743dde8cb8e721b7.js +1 -0
  936. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-743dde8cb8e721b7.js +1 -0
  937. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-743dde8cb8e721b7.js +1 -0
  938. package/app/.next-cli-build/static/chunks/app/api/v1/route-743dde8cb8e721b7.js +1 -0
  939. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-743dde8cb8e721b7.js +1 -0
  940. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-743dde8cb8e721b7.js +1 -0
  941. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-743dde8cb8e721b7.js +1 -0
  942. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-743dde8cb8e721b7.js +1 -0
  943. package/app/.next-cli-build/static/chunks/app/api/version/route-743dde8cb8e721b7.js +1 -0
  944. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-743dde8cb8e721b7.js +1 -0
  945. package/app/.next-cli-build/static/chunks/app/api/version/update/route-743dde8cb8e721b7.js +1 -0
  946. package/app/.next-cli-build/static/chunks/app/callback/page-874c1d62c44041eb.js +1 -0
  947. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-af91b33b144badc9.js +1 -0
  948. package/app/.next-cli-build/static/chunks/app/landing/{page-34fb5bf37abde153.js → page-e9702e315a419701.js} +1 -1
  949. package/app/.next-cli-build/static/chunks/app/{layout-ad10b603c07438f2.js → layout-70c637ccaa3f6ede.js} +1 -1
  950. package/app/.next-cli-build/static/chunks/app/login/page-9ea942c9628e5ad8.js +1 -0
  951. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-743dde8cb8e721b7.js +1 -0
  952. package/app/.next-cli-build/static/chunks/app/page-743dde8cb8e721b7.js +1 -0
  953. package/app/.next-cli-build/static/chunks/{main-app-3057ce86fdd7f7ab.js → main-app-bc058b5e1f4a8632.js} +1 -1
  954. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-743dde8cb8e721b7.js +1 -0
  955. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-743dde8cb8e721b7.js +1 -0
  956. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-957f3d80a84331d4.js +1 -0
  957. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-743dde8cb8e721b7.js +1 -0
  958. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-743dde8cb8e721b7.js +1 -0
  959. package/app/.next-cli-build/static/css/{599369d853c61df7.css → 008a05b0ad6b854a.css} +1 -1
  960. package/app/.next-cli-build/static/css/{88fb3376e840da30.css → 8f9ac5a7bd3a79e5.css} +1 -1
  961. package/app/.next-cli-build/static/css/d615baddd1113a17.css +1 -0
  962. package/app/.next-cli-build/static/kFxC_DXGaiOo8II5Pb_Mu/_buildManifest.js +1 -0
  963. package/app/.next-cli-build/static/media/material-symbols-outlined.ec1fa111.woff2 +0 -0
  964. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  965. package/app/cli/.build-home/.9router/jwt-secret +1 -1
  966. package/app/cli/.build-home/.9router/machine-id +1 -1
  967. package/app/cli/.build-home/.config/nextjs-nodejs/config.json +3 -3
  968. package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  969. package/app/node_modules/baseline-browser-mapping/package.json +3 -3
  970. package/app/node_modules/caniuse-lite/data/agents.js +1 -1
  971. package/app/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  972. package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
  973. package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  974. package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  975. package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  976. package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  977. package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  978. package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  979. package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
  980. package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  981. package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  982. package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  983. package/app/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  984. package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  985. package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  986. package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  987. package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  988. package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  989. package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  990. package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
  991. package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  992. package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  993. package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  994. package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
  995. package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
  996. package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  997. package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  998. package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  999. package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  1000. package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  1001. package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  1002. package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  1003. package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  1004. package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  1005. package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  1006. package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  1007. package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  1008. package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  1009. package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  1010. package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  1011. package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  1012. package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
  1013. package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  1014. package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  1015. package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  1016. package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  1017. package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  1018. package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  1019. package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  1020. package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  1021. package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  1022. package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  1023. package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  1024. package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
  1025. package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  1026. package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  1027. package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  1028. package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
  1029. package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  1030. package/app/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  1031. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  1032. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  1033. package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  1034. package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
  1035. package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  1036. package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  1037. package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  1038. package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  1039. package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  1040. package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  1041. package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  1042. package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  1043. package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  1044. package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  1045. package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  1046. package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  1047. package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  1048. package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  1049. package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  1050. package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  1051. package/app/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  1052. package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  1053. package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  1054. package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  1055. package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  1056. package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  1057. package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  1058. package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  1059. package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  1060. package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  1061. package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  1062. package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  1063. package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  1064. package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  1065. package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  1066. package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  1067. package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  1068. package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  1069. package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  1070. package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  1071. package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  1072. package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  1073. package/app/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  1074. package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  1075. package/app/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  1076. package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  1077. package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  1078. package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  1079. package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  1080. package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  1081. package/app/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  1082. package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  1083. package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  1084. package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  1085. package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  1086. package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  1087. package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  1088. package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  1089. package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  1090. package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  1091. package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  1092. package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  1093. package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  1094. package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  1095. package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  1096. package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  1097. package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  1098. package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  1099. package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  1100. package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  1101. package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  1102. package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  1103. package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  1104. package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  1105. package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  1106. package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  1107. package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  1108. package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  1109. package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  1110. package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  1111. package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  1112. package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  1113. package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  1114. package/app/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  1115. package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  1116. package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  1117. package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  1118. package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  1119. package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  1120. package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  1121. package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  1122. package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  1123. package/app/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  1124. package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  1125. package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  1126. package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  1127. package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  1128. package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  1129. package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  1130. package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  1131. package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  1132. package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  1133. package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  1134. package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  1135. package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  1136. package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  1137. package/app/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  1138. package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  1139. package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  1140. package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  1141. package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  1142. package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  1143. package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  1144. package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  1145. package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  1146. package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  1147. package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  1148. package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  1149. package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  1150. package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  1151. package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  1152. package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  1153. package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  1154. package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  1155. package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  1156. package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  1157. package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  1158. package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  1159. package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  1160. package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  1161. package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  1162. package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  1163. package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  1164. package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  1165. package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  1166. package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  1167. package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  1168. package/app/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  1169. package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  1170. package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  1171. package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  1172. package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  1173. package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  1174. package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  1175. package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  1176. package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  1177. package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  1178. package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  1179. package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  1180. package/app/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  1181. package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  1182. package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  1183. package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  1184. package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  1185. package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  1186. package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  1187. package/app/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  1188. package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  1189. package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  1190. package/app/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  1191. package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
  1192. package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  1193. package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  1194. package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  1195. package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  1196. package/app/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  1197. package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  1198. package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  1199. package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  1200. package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  1201. package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  1202. package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  1203. package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  1204. package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  1205. package/app/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  1206. package/app/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  1207. package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  1208. package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
  1209. package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  1210. package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  1211. package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  1212. package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  1213. package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
  1214. package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
  1215. package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
  1216. package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  1217. package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  1218. package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  1219. package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  1220. package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  1221. package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  1222. package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
  1223. package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  1224. package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  1225. package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  1226. package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  1227. package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  1228. package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  1229. package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  1230. package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  1231. package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  1232. package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
  1233. package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  1234. package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  1235. package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  1236. package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  1237. package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  1238. package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  1239. package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  1240. package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  1241. package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  1242. package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  1243. package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  1244. package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  1245. package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  1246. package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  1247. package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  1248. package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  1249. package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  1250. package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
  1251. package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  1252. package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  1253. package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  1254. package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  1255. package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  1256. package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  1257. package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  1258. package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  1259. package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  1260. package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  1261. package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
  1262. package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  1263. package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  1264. package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  1265. package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
  1266. package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  1267. package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  1268. package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  1269. package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
  1270. package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
  1271. package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  1272. package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  1273. package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  1274. package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  1275. package/app/node_modules/caniuse-lite/data/features/ime.js +1 -1
  1276. package/app/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  1277. package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  1278. package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
  1279. package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  1280. package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  1281. package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  1282. package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  1283. package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  1284. package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  1285. package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  1286. package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  1287. package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  1288. package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  1289. package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  1290. package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  1291. package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  1292. package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  1293. package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  1294. package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  1295. package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  1296. package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  1297. package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  1298. package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  1299. package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  1300. package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  1301. package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  1302. package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  1303. package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  1304. package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  1305. package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  1306. package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  1307. package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  1308. package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  1309. package/app/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  1310. package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  1311. package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
  1312. package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  1313. package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  1314. package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  1315. package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  1316. package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  1317. package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  1318. package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  1319. package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  1320. package/app/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  1321. package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
  1322. package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  1323. package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  1324. package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  1325. package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  1326. package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  1327. package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  1328. package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  1329. package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  1330. package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  1331. package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  1332. package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  1333. package/app/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  1334. package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  1335. package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  1336. package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  1337. package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  1338. package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  1339. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  1340. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  1341. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  1342. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  1343. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  1344. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  1345. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  1346. package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  1347. package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  1348. package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  1349. package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  1350. package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
  1351. package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  1352. package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
  1353. package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
  1354. package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  1355. package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  1356. package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  1357. package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  1358. package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  1359. package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  1360. package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  1361. package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  1362. package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  1363. package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  1364. package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  1365. package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  1366. package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  1367. package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  1368. package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  1369. package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  1370. package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  1371. package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  1372. package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  1373. package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  1374. package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  1375. package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  1376. package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  1377. package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  1378. package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  1379. package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
  1380. package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  1381. package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
  1382. package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  1383. package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  1384. package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  1385. package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  1386. package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  1387. package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  1388. package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  1389. package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  1390. package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  1391. package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  1392. package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  1393. package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  1394. package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
  1395. package/app/node_modules/caniuse-lite/data/features/ping.js +1 -1
  1396. package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  1397. package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  1398. package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  1399. package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  1400. package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
  1401. package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  1402. package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  1403. package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
  1404. package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  1405. package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
  1406. package/app/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  1407. package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  1408. package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  1409. package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  1410. package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  1411. package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  1412. package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  1413. package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  1414. package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  1415. package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  1416. package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  1417. package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
  1418. package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  1419. package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  1420. package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  1421. package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  1422. package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  1423. package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  1424. package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  1425. package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  1426. package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  1427. package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  1428. package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  1429. package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  1430. package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  1431. package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  1432. package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  1433. package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  1434. package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  1435. package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  1436. package/app/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  1437. package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  1438. package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  1439. package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  1440. package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  1441. package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
  1442. package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  1443. package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  1444. package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  1445. package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  1446. package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  1447. package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  1448. package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
  1449. package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
  1450. package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  1451. package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  1452. package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  1453. package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  1454. package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  1455. package/app/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  1456. package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  1457. package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  1458. package/app/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  1459. package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  1460. package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  1461. package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  1462. package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
  1463. package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  1464. package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  1465. package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  1466. package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
  1467. package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  1468. package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  1469. package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  1470. package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  1471. package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  1472. package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  1473. package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  1474. package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  1475. package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  1476. package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  1477. package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  1478. package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  1479. package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
  1480. package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  1481. package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  1482. package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  1483. package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  1484. package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  1485. package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  1486. package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  1487. package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  1488. package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  1489. package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
  1490. package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  1491. package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  1492. package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  1493. package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  1494. package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  1495. package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  1496. package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  1497. package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
  1498. package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  1499. package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  1500. package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  1501. package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  1502. package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  1503. package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  1504. package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  1505. package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  1506. package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  1507. package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  1508. package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  1509. package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  1510. package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  1511. package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  1512. package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  1513. package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  1514. package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  1515. package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  1516. package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  1517. package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  1518. package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  1519. package/app/node_modules/caniuse-lite/data/features/wav.js +1 -1
  1520. package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  1521. package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  1522. package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  1523. package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  1524. package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  1525. package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  1526. package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  1527. package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  1528. package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  1529. package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  1530. package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  1531. package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  1532. package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  1533. package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
  1534. package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  1535. package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
  1536. package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  1537. package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  1538. package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  1539. package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  1540. package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  1541. package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  1542. package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  1543. package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  1544. package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
  1545. package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  1546. package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  1547. package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  1548. package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  1549. package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  1550. package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  1551. package/app/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  1552. package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  1553. package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  1554. package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  1555. package/app/node_modules/caniuse-lite/package.json +1 -1
  1556. package/app/node_modules/nanoid/non-secure/index.cjs +0 -10
  1557. package/app/node_modules/nanoid/package.json +1 -1
  1558. package/app/package.json +1 -1
  1559. package/app/public/i18n/literals/zh-CN.json +1 -0
  1560. package/app/server.js +1 -1
  1561. package/package.json +1 -1
  1562. package/app/.next-cli-build/server/chunks/2091.js +0 -1
  1563. package/app/.next-cli-build/server/chunks/2996.js +0 -1
  1564. package/app/.next-cli-build/server/chunks/3390.js +0 -1
  1565. package/app/.next-cli-build/server/chunks/3453.js +0 -1
  1566. package/app/.next-cli-build/server/chunks/3913.js +0 -64
  1567. package/app/.next-cli-build/server/chunks/4161.js +0 -1
  1568. package/app/.next-cli-build/server/chunks/5002.js +0 -1
  1569. package/app/.next-cli-build/server/chunks/5692.js +0 -1
  1570. package/app/.next-cli-build/server/chunks/6445.js +0 -10
  1571. package/app/.next-cli-build/server/chunks/6568.js +0 -3
  1572. package/app/.next-cli-build/server/chunks/7828.js +0 -1
  1573. package/app/.next-cli-build/server/chunks/8080.js +0 -1
  1574. package/app/.next-cli-build/server/chunks/8255.js +0 -1
  1575. package/app/.next-cli-build/server/chunks/8914.js +0 -1
  1576. package/app/.next-cli-build/server/chunks/9549.js +0 -1
  1577. package/app/.next-cli-build/static/6KXTQVOT_lRgjerwT-tv3/_buildManifest.js +0 -1
  1578. package/app/.next-cli-build/static/chunks/1051-080896ceff7ba88d.js +0 -64
  1579. package/app/.next-cli-build/static/chunks/1321-3c8b61c89c7c00b1.js +0 -1
  1580. package/app/.next-cli-build/static/chunks/1a258343-5938f676ed376386.js +0 -1
  1581. package/app/.next-cli-build/static/chunks/5497-9693b69a6ba714c2.js +0 -7
  1582. package/app/.next-cli-build/static/chunks/6502-54f3e96cead0a0a3.js +0 -3
  1583. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-35beb2949f0feaa0.js +0 -1
  1584. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-a93420694c4be022.js +0 -1
  1585. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-fad4cd709b370642.js +0 -1
  1586. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-9548f5a1140005d5.js +0 -1
  1587. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-4ce59558e8fe3be1.js +0 -1
  1588. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5ef89f751912e1ef.js +0 -1
  1589. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-8eb2e65f0ce52b79.js +0 -1
  1590. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-92cff164200e3f2a.js +0 -1
  1591. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-1d82df0c59998142.js +0 -1
  1592. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-31cc0cda6436a0b9.js +0 -10
  1593. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-8824acbc5ab93904.js +0 -1
  1594. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-b3c27640638a72ce.js +0 -1
  1595. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-893cbf6a96a3e92c.js +0 -1
  1596. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0006630ca3232027.js +0 -1
  1597. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0006630ca3232027.js +0 -1
  1598. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-0006630ca3232027.js +0 -1
  1599. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-0006630ca3232027.js +0 -1
  1600. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0006630ca3232027.js +0 -1
  1601. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0006630ca3232027.js +0 -1
  1602. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0006630ca3232027.js +0 -1
  1603. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0006630ca3232027.js +0 -1
  1604. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0006630ca3232027.js +0 -1
  1605. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0006630ca3232027.js +0 -1
  1606. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0006630ca3232027.js +0 -1
  1607. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0006630ca3232027.js +0 -1
  1608. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0006630ca3232027.js +0 -1
  1609. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0006630ca3232027.js +0 -1
  1610. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0006630ca3232027.js +0 -1
  1611. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0006630ca3232027.js +0 -1
  1612. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0006630ca3232027.js +0 -1
  1613. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0006630ca3232027.js +0 -1
  1614. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0006630ca3232027.js +0 -1
  1615. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0006630ca3232027.js +0 -1
  1616. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0006630ca3232027.js +0 -1
  1617. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0006630ca3232027.js +0 -1
  1618. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-0006630ca3232027.js +0 -1
  1619. package/app/.next-cli-build/static/chunks/app/api/combos/route-0006630ca3232027.js +0 -1
  1620. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0006630ca3232027.js +0 -1
  1621. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0006630ca3232027.js +0 -1
  1622. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0006630ca3232027.js +0 -1
  1623. package/app/.next-cli-build/static/chunks/app/api/health/route-0006630ca3232027.js +0 -1
  1624. package/app/.next-cli-build/static/chunks/app/api/init/route-0006630ca3232027.js +0 -1
  1625. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0006630ca3232027.js +0 -1
  1626. package/app/.next-cli-build/static/chunks/app/api/keys/route-0006630ca3232027.js +0 -1
  1627. package/app/.next-cli-build/static/chunks/app/api/locale/route-0006630ca3232027.js +0 -1
  1628. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0006630ca3232027.js +0 -1
  1629. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0006630ca3232027.js +0 -1
  1630. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0006630ca3232027.js +0 -1
  1631. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0006630ca3232027.js +0 -1
  1632. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0006630ca3232027.js +0 -1
  1633. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0006630ca3232027.js +0 -1
  1634. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0006630ca3232027.js +0 -1
  1635. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-0006630ca3232027.js +0 -1
  1636. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-0006630ca3232027.js +0 -1
  1637. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-0006630ca3232027.js +0 -1
  1638. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0006630ca3232027.js +0 -1
  1639. package/app/.next-cli-build/static/chunks/app/api/models/order/route-0006630ca3232027.js +0 -1
  1640. package/app/.next-cli-build/static/chunks/app/api/models/route-0006630ca3232027.js +0 -1
  1641. package/app/.next-cli-build/static/chunks/app/api/models/test/route-0006630ca3232027.js +0 -1
  1642. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0006630ca3232027.js +0 -1
  1643. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-0006630ca3232027.js +0 -1
  1644. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0006630ca3232027.js +0 -1
  1645. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0006630ca3232027.js +0 -1
  1646. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0006630ca3232027.js +0 -1
  1647. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0006630ca3232027.js +0 -1
  1648. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0006630ca3232027.js +0 -1
  1649. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-0006630ca3232027.js +0 -1
  1650. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0006630ca3232027.js +0 -1
  1651. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0006630ca3232027.js +0 -1
  1652. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0006630ca3232027.js +0 -1
  1653. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0006630ca3232027.js +0 -1
  1654. package/app/.next-cli-build/static/chunks/app/api/pricing/route-0006630ca3232027.js +0 -1
  1655. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0006630ca3232027.js +0 -1
  1656. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0006630ca3232027.js +0 -1
  1657. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0006630ca3232027.js +0 -1
  1658. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/connections/disabled/route-0006630ca3232027.js +0 -1
  1659. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0006630ca3232027.js +0 -1
  1660. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/pull/route-0006630ca3232027.js +0 -1
  1661. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/pool/route-0006630ca3232027.js +0 -1
  1662. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0006630ca3232027.js +0 -1
  1663. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0006630ca3232027.js +0 -1
  1664. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0006630ca3232027.js +0 -1
  1665. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-0006630ca3232027.js +0 -1
  1666. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0006630ca3232027.js +0 -1
  1667. package/app/.next-cli-build/static/chunks/app/api/providers/route-0006630ca3232027.js +0 -1
  1668. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0006630ca3232027.js +0 -1
  1669. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0006630ca3232027.js +0 -1
  1670. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0006630ca3232027.js +0 -1
  1671. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0006630ca3232027.js +0 -1
  1672. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0006630ca3232027.js +0 -1
  1673. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0006630ca3232027.js +0 -1
  1674. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0006630ca3232027.js +0 -1
  1675. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0006630ca3232027.js +0 -1
  1676. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0006630ca3232027.js +0 -1
  1677. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-0006630ca3232027.js +0 -1
  1678. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0006630ca3232027.js +0 -1
  1679. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0006630ca3232027.js +0 -1
  1680. package/app/.next-cli-build/static/chunks/app/api/settings/route-0006630ca3232027.js +0 -1
  1681. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-0006630ca3232027.js +0 -1
  1682. package/app/.next-cli-build/static/chunks/app/api/tags/route-0006630ca3232027.js +0 -1
  1683. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0006630ca3232027.js +0 -1
  1684. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0006630ca3232027.js +0 -1
  1685. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-0006630ca3232027.js +0 -1
  1686. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-0006630ca3232027.js +0 -1
  1687. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-0006630ca3232027.js +0 -1
  1688. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0006630ca3232027.js +0 -1
  1689. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0006630ca3232027.js +0 -1
  1690. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0006630ca3232027.js +0 -1
  1691. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0006630ca3232027.js +0 -1
  1692. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0006630ca3232027.js +0 -1
  1693. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0006630ca3232027.js +0 -1
  1694. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0006630ca3232027.js +0 -1
  1695. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0006630ca3232027.js +0 -1
  1696. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-0006630ca3232027.js +0 -1
  1697. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0006630ca3232027.js +0 -1
  1698. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0006630ca3232027.js +0 -1
  1699. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-0006630ca3232027.js +0 -1
  1700. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0006630ca3232027.js +0 -1
  1701. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0006630ca3232027.js +0 -1
  1702. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0006630ca3232027.js +0 -1
  1703. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0006630ca3232027.js +0 -1
  1704. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0006630ca3232027.js +0 -1
  1705. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0006630ca3232027.js +0 -1
  1706. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0006630ca3232027.js +0 -1
  1707. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0006630ca3232027.js +0 -1
  1708. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0006630ca3232027.js +0 -1
  1709. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0006630ca3232027.js +0 -1
  1710. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0006630ca3232027.js +0 -1
  1711. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0006630ca3232027.js +0 -1
  1712. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0006630ca3232027.js +0 -1
  1713. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0006630ca3232027.js +0 -1
  1714. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-0006630ca3232027.js +0 -1
  1715. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0006630ca3232027.js +0 -1
  1716. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-0006630ca3232027.js +0 -1
  1717. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0006630ca3232027.js +0 -1
  1718. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0006630ca3232027.js +0 -1
  1719. package/app/.next-cli-build/static/chunks/app/api/v1/route-0006630ca3232027.js +0 -1
  1720. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-0006630ca3232027.js +0 -1
  1721. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0006630ca3232027.js +0 -1
  1722. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0006630ca3232027.js +0 -1
  1723. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0006630ca3232027.js +0 -1
  1724. package/app/.next-cli-build/static/chunks/app/api/version/route-0006630ca3232027.js +0 -1
  1725. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0006630ca3232027.js +0 -1
  1726. package/app/.next-cli-build/static/chunks/app/api/version/update/route-0006630ca3232027.js +0 -1
  1727. package/app/.next-cli-build/static/chunks/app/callback/page-69c80ed172191a02.js +0 -1
  1728. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-feda7f7a9c272877.js +0 -1
  1729. package/app/.next-cli-build/static/chunks/app/login/page-100ca7d1326036fd.js +0 -1
  1730. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0006630ca3232027.js +0 -1
  1731. package/app/.next-cli-build/static/chunks/app/page-0006630ca3232027.js +0 -1
  1732. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0006630ca3232027.js +0 -1
  1733. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0006630ca3232027.js +0 -1
  1734. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-9e6846bb98322e86.js +0 -1
  1735. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0006630ca3232027.js +0 -1
  1736. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0006630ca3232027.js +0 -1
  1737. package/app/.next-cli-build/static/css/d434f5eb81ebb26f.css +0 -1
  1738. package/app/.next-cli-build/static/media/material-symbols-outlined.50fdf095.woff2 +0 -0
  1739. package/app/cli/.build-home/.9router/db/backups/upgrade-0.4.83-to-0.4.84-0.4.84-20260625-092251/data.sqlite +0 -0
  1740. package/app/cli/.build-home/.9router/db/backups/upgrade-0.4.84-to-0.5.9-0.5.9-20260625-151604/data.sqlite +0 -0
  1741. package/app/cli/.build-home/.9router/db/backups/upgrade-0.5.10-to-0.5.11-0.5.11-20260626-154318/data.sqlite +0 -0
  1742. package/app/cli/.build-home/.9router/db/backups/upgrade-0.5.9-to-0.5.10-0.5.10-20260625-164702/data.sqlite +0 -0
  1743. /package/app/.next-cli-build/static/{6KXTQVOT_lRgjerwT-tv3 → kFxC_DXGaiOo8II5Pb_Mu}/_ssgManifest.js +0 -0
@@ -50,8 +50,8 @@ ${c}
50
50
  `.replace(/'/g,"'\\''");await t(`printf '%s' '${e}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ added ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to add DNS entry: ${a.message}`)}}async function x(a,b){let c=k[a];if(!c)throw Error(`Unknown tool: ${a}`);let d=c.filter(a=>v(a));if(0===d.length)return void i(`🌐 DNS ${a}: already inactive`);try{if(o){let a=g.readFileSync(q,"utf8"),b=a.split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";n(q,a,b),await l("ipconfig /flushdns | Out-Null")}else{let a=(g.readFileSync(q,"utf8").split(/\r?\n/).filter(a=>!d.some(b=>a.includes(b))).join("\n").replace(/[\r\n\s]+$/g,"")+"\n").replace(/'/g,"'\\''");await t(`printf '%s' '${a}' | tee ${q} > /dev/null`,b),await u(b)}i(`🌐 DNS ${a}: ✅ removed ${d.join(", ")}`)}catch(a){throw Error(a.message?.includes("incorrect password")?"Wrong sudo password":`Failed to remove DNS entry: ${a.message}`)}}async function y(a){for(let b of Object.keys(k))try{await x(b,a)}catch(a){j(`DNS ${b}: failed to remove — ${a.message}`)}}a.exports={TOOL_HOSTS:k,addDNSEntry:w,removeDNSEntry:x,removeAllDNSEntries:y,removeAllDNSEntriesSync:function(){try{if(!g.existsSync(q))return;let a=Object.values(k).flat(),b=g.readFileSync(q,"utf8"),c=o?"\r\n":"\n",d=b.split(/\r?\n/).filter(b=>!a.some(a=>b.includes(a))).join(c).replace(/[\r\n\s]+$/g,"")+c;if(d===b)return;if(g.writeFileSync(q,d,"utf8"),o)try{f("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}else if(p)try{f("dscacheutil -flushcache && killall -HUP mDNSResponder",{stdio:"ignore"})}catch{}else try{f("resolvectl flush-caches 2>/dev/null || true",{stdio:"ignore"})}catch{}}catch{}},execWithPassword:t,isSudoAvailable:r,canRunSudoWithoutPassword:s,isSudoPasswordRequired:function(){return!o&&r()&&!s()},checkDNSEntry:v,checkAllDNSStatus:function(){try{let a=g.readFileSync(q,"utf8"),b={};for(let[c,d]of Object.entries(k))b[c]=d.every(b=>a.includes(b));return b}catch{return Object.fromEntries(Object.keys(k).map(a=>[a,!1]))}}}},82193:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(21820),g="9router";function h(){return"win32"===process.platform?e.join(process.env.APPDATA||e.join(f.homedir(),"AppData","Roaming"),g):e.join(f.homedir(),`.${g}`)}let i=function(){let a=process.env.DATA_DIR;if(!a)return h();try{return d.mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${g}`),h();throw b}}(),j=e.join(i,"mitm");a.exports={DATA_DIR:i,MITM_DIR:j}},85341:a=>{a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["runtime.us-east-1.kiro.dev","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"],qoder:["openapi.qoder.sh","api2.qoder.sh","center.qoder.sh"]}}},87777:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(74075),{DATA_DIR:g}=c(82193),{LOG_BLACKLIST_URL_PARTS:h}=c(17511);function i(){let a=new Date(Date.now()+252e5),b=String(a.getUTCHours()).padStart(2,"0"),c=String(a.getUTCMinutes()).padStart(2,"0"),d=String(a.getUTCSeconds()).padStart(2,"0");return`${b}:${c}:${d}`}let j=e.join(g,"logs","mitm");d.existsSync(j)||d.mkdirSync(j,{recursive:!0});let k=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function l(a,b=80){return String(a).replace(/[^a-zA-Z0-9]/g,"_").substring(0,b)}function m(a){return!!a&&h.some(b=>a.includes(b))}a.exports={log:a=>console.log(`[${i()}] [MITM] ${a}`),err:a=>console.error(`[${i()}] ❌ [MITM] ${a}`),dumpRequest:function(a,b,c="raw"){if(m(a.url))return null;try{let f=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${f}_${c}_${g}.req.json`),i=null;try{i=JSON.parse(b.toString())}catch{}return d.writeFileSync(h,JSON.stringify({method:a.method,url:a.url,host:a.headers.host,headers:a.headers,body:i??b.toString("utf8")},null,2)),h}catch{return null}},createResponseDumper:function(a,b="raw"){if(m(a.url))return null;let c=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${c}_${b}_${g}.res.txt`),i=0,n={},o=[];return{writeHeader:(a,b)=>{i=a,n=b||{}},writeChunk:a=>{null!=a&&o.push(Buffer.isBuffer(a)?a:Buffer.from(a))},end:()=>{try{let a=Buffer.concat(o),b=n["content-encoding"]||n["Content-Encoding"],c=(function(a,b){if(!a||0===a.length)return a;try{let c=(b||"").toLowerCase();if(c.includes("gzip"))return f.gunzipSync(a);if(c.includes("br"))return f.brotliDecompressSync(a);if(c.includes("deflate"))return f.inflateSync(a)}catch{}return a})(a,b).toString("utf8");if(k.test(c))return;let e={...n};delete e["content-encoding"],delete e["Content-Encoding"];let g=`STATUS: ${i}
51
51
  HEADERS: ${JSON.stringify(e,null,2)}
52
52
  ---BODY---
53
- ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},96182:(a,b,c)=>{let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(66936),{isAdmin:u}=c(64809),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(26033),{installCert:y,uninstallCert:z}=c(9631),{isCertExpired:A}=c(8578),{DATA_DIR:B,MITM_DIR:C}=c(82193),{log:D,err:E}=c(87777),{LSOF_BIN:F}=c(17511),G="http://localhost:20128";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!$)return G;try{let a=await $(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=[5e3,1e4,2e4,3e4,6e4],L=0,M=0,N=!1;function O(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function P(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let Q=P(O()),R="aes-256-gcm",S="9router-mitm-pwd",T=null,U=null;function V(){return globalThis.__mitmSudoPassword||null}function W(a){globalThis.__mitmSudoPassword=a}function X(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Y(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function Z(){try{let{machineIdSync:a}=c(19713),b=a();return l.createHash("sha256").update(b+S).digest()}catch{return l.createHash("sha256").update(S).digest()}}let $=null,_=null;async function aa(a,b){if(_)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=Z(),d=l.randomBytes(12),e=l.createCipheriv(R,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await _(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ab(){if(_)try{await _({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ac(){if(!$)return null;try{let a=await $();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=Z(),f=l.createDecipheriv(R,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ad(a,b){if(_&&$)try{let c={...(await $()).dnsToolEnabled||{},[a]:b};await _({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function ae(){if(!$)return{};try{return(await $()).dnsToolEnabled||{}}catch{return{}}}async function af(a){let b=await ae(),c=a||V()||await ac();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ag(){return v?u():!(!u()&&t())||!!(V()||await ac())}function ah(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function ai(a){if(T&&!T.killed){try{T.kill("SIGKILL")}catch{}T=null,U=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&X(b)&&(Y(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&Q)try{let b=Q.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function aj(){let a=null!==T&&!T.killed,b=U;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&X(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function ak(a){if(N)return;if(Date.now()-M>=6e4&&(L=0),L>=5)return void E("Max restart attempts reached. Giving up.");let b=K[Math.min(L,K.length-1)];L++,N=!0,D(`Restarting in ${b/1e3}s... (${L}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=$?await $():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),N=!1;return}let c=V()||await ac();if(!c&&!v){E("No cached password, cannot auto-restart"),N=!1;return}await am(a,c),D("\uD83D\uDD04 Restarted successfully"),L=0,N=!1}catch(b){E(`Restart attempt ${L}/5 failed: ${b.message}`),N=!1,ak(a)}}async function al(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function am(a,b,l=!1){if(!T||T.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&X(a))return U=a,D(`♻️ Reusing existing process (PID: ${a})`),await aa(!0,b),b&&W(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(T&&!T.killed)throw Error("MITM server is already running");if(await ai(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ah(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(l)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await al(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let m=g.join(C,"rootCA.crt"),n=g.join(C,"rootCA.key"),o=h.existsSync(m)&&h.existsSync(n);if(!o||A(m)){if(o){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||V()||await ac();try{await z(a,m)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:p}=c(9631),r=await p(m),u=!v&&!w&&!s();if(r)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||V()||await ac();if(u)D(`🔐 Cert: skipping system trust (no sudo). Install ${m} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,m),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let B=Q;if((!B||!h.existsSync(B))&&(D(`[MITM] server.js missing at ${B} → recopying`),!(B=P(O()))||!h.existsSync(B)))throw Error(`MITM server.js not found at ${B}. Reinstall 9router.`);let G=await I();if(D(`🚀 Starting server... (router: ${G})`),v){let c=await ah(b);if(c)if(l)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await al(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}T=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}}),_&&await _({mitmCertInstalled:!0}).catch(()=>{})}else s()?((T=e("sudo",["-S","-E","sh","-c",[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(G)}`,"NODE_ENV=production",H(process.execPath),H(B)].join(" ")],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
54
- `),T.stdin.end()):T=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}});if(T&&(U=T.pid,h.writeFileSync(J,String(U)),M=Date.now()),w){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`launchctl setenv NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},b=>{b?D(`[launchctl] Failed to set NODE_EXTRA_CA_CERTS: ${b.message}`):D(`[launchctl] NODE_EXTRA_CA_CERTS set to ${a}`)})}else if(v){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`setx NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},a=>{a?D(`[setx] Failed to set NODE_EXTRA_CA_CERTS: ${a.message}`):D("[setx] NODE_EXTRA_CA_CERTS set for current user")})}let K=null;T&&(T.stdout.on("data",a=>{process.stdout.write(a)}),T.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(E(b),K=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(W(null),ab(),N=!0)}),T.on("exit",b=>{D(`Server exited (code: ${b})`),T=null,U=null;try{h.unlinkSync(J)}catch{}0===b||N||ak(a)}));let L=await function(a=443){return new Promise(b=>{let c=Date.now()+8e3,d=()=>{let e=k.request({hostname:"127.0.0.1",port:a,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1},a=>{let c="";a.on("data",a=>{c+=a}),a.on("end",()=>{try{let a=JSON.parse(c);b(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{b(null)}})});e.on("error",()=>{Date.now()<c?setTimeout(d,500):b(null)}),e.end()};d()})}(443);if(!L){if(T&&!T.killed){try{T.kill()}catch{}T=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f(`${F} -i :443`,{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=K||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}for(let[a,b]of(_&&await _({mitmCertInstalled:!0}).catch(()=>{}),D(`✅ Server healthy (PID: ${U||L.pid})`),Object.entries(q())))D(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);return await aa(!0,b),b&&W(b),{running:!0,pid:U}}async function an(a){N=!0,L=0,D("⏹ Stopping server...");let b=T,e=b&&!b.killed?b.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&X(e)&&(D(`Killing server (PID: ${e})...`),Y(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),X(e)&&Y(e,!0,a)),T=null,U=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(64809);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}D("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
53
+ ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},96182:(a,b,c)=>{let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(66936),{isAdmin:u}=c(64809),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(26033),{installCert:y,uninstallCert:z}=c(9631),{isCertExpired:A}=c(8578),{DATA_DIR:B,MITM_DIR:C}=c(82193),{log:D,err:E}=c(87777),{LSOF_BIN:F}=c(17511),G="http://localhost:20128";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!_)return G;try{let a=await _(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=g.join(C,".mitm.lock"),L=[5e3,1e4,2e4,3e4,6e4],M=0,N=0,O=!1;function P(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function Q(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let R=Q(P()),S="aes-256-gcm",T="9router-mitm-pwd",U=null,V=null;function W(){return globalThis.__mitmSudoPassword||null}function X(a){globalThis.__mitmSudoPassword=a}function Y(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Z(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(66936);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function $(){try{let{machineIdSync:a}=c(19713),b=a();return l.createHash("sha256").update(b+T).digest()}catch{return l.createHash("sha256").update(T).digest()}}let _=null,aa=null;async function ab(a,b){if(aa)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=$(),d=l.randomBytes(12),e=l.createCipheriv(S,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await aa(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ac(){if(aa)try{await aa({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ad(){if(!_)return null;try{let a=await _();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=$(),f=l.createDecipheriv(S,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ae(a,b){if(aa&&_)try{let c={...(await _()).dnsToolEnabled||{},[a]:b};await aa({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function af(){if(!_)return{};try{return(await _()).dnsToolEnabled||{}}catch{return{}}}async function ag(a){let b=await af(),c=a||W()||await ad();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ah(){return v?u():!(!u()&&t())||!!(W()||await ad())}function ai(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function aj(a){if(U&&!U.killed){try{U.kill("SIGKILL")}catch{}U=null,V=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&Y(b)&&(Z(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&R)try{let b=R.replace(/'/g,"'\\''");if(a||s()){let{execWithPassword:d}=c(66936);await d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f "${b}" 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}async function ak(){let a=null!==U&&!U.killed,b=V;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&Y(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(9631),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function al(a){if(O)return;if(O=!0,Date.now()-N>=6e4&&(M=0),M>=5){E("Max restart attempts reached. Giving up."),O=!1;return}let b=L[Math.min(M,L.length-1)];M++,D(`Restarting in ${b/1e3}s... (${M}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=_?await _():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),O=!1;return}let c=W()||await ad();if(!c&&!v){E("No cached password, cannot auto-restart"),O=!1;return}await an(a,c),D("\uD83D\uDD04 Restarted successfully"),M=0,O=!1}catch(b){E(`Restart attempt ${M}/5 failed: ${b.message}`),O=!1,al(a)}}async function am(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(66936);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function an(a,b,l=!1){if(!U||U.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&Y(a))return V=a,D(`♻️ Reusing existing process (PID: ${a})`),await ab(!0,b),b&&X(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(U&&!U.killed)throw Error("MITM server is already running");try{h.writeFileSync(K,String(process.pid),{flag:"wx"})}catch(a){if("EEXIST"===a.code)throw Error("MITM server is already starting (lock contention)");throw a}try{if(await aj(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ai(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(l)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await am(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let m=g.join(C,"rootCA.crt"),n=g.join(C,"rootCA.key"),o=h.existsSync(m)&&h.existsSync(n);if(!o||A(m)){if(o){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||W()||await ad();try{await z(a,m)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:p}=c(9631),r=await p(m),u=!v&&!w&&!s();if(r)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||W()||await ad();if(u)D(`🔐 Cert: skipping system trust (no sudo). Install ${m} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,m),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let B=R;if((!B||!h.existsSync(B))&&(D(`[MITM] server.js missing at ${B} → recopying`),!(B=Q(P()))||!h.existsSync(B)))throw Error(`MITM server.js not found at ${B}. Reinstall 9router.`);let G=await I();if(D(`🚀 Starting server... (router: ${G})`),v){let c=await ai(b);if(c)if(l)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await am(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}U=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}}),aa&&await aa({mitmCertInstalled:!0}).catch(()=>{})}else if(s()){let c=[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(G)}`,"NODE_ENV=production",H(process.execPath),H(B)].join(" ");(U=e("sudo",["-S","-E","sh","-c",c],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]})).stdin.write(`${b}
54
+ `),U.stdin.end()}else U=e(process.execPath,[B],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:G}});if(U&&(V=U.pid,h.writeFileSync(J,String(V)),N=Date.now()),w){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`launchctl setenv NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},b=>{b?D(`[launchctl] Failed to set NODE_EXTRA_CA_CERTS: ${b.message}`):D(`[launchctl] NODE_EXTRA_CA_CERTS set to ${a}`)})}else if(v){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`setx NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},a=>{a?D(`[setx] Failed to set NODE_EXTRA_CA_CERTS: ${a.message}`):D("[setx] NODE_EXTRA_CA_CERTS set for current user")})}let L=null;U&&(U.stdout.on("data",a=>{process.stdout.write(a)}),U.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(E(b),L=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(X(null),ac(),O=!0)}),U.on("exit",b=>{D(`Server exited (code: ${b})`),U=null,V=null;try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}0===b||O||al(a)}));let M=await function(a=443){return new Promise(b=>{let c=Date.now()+8e3,d=()=>{let e=k.request({hostname:"127.0.0.1",port:a,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1},a=>{let c="";a.on("data",a=>{c+=a}),a.on("end",()=>{try{let a=JSON.parse(c);b(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{b(null)}})});e.on("error",()=>{Date.now()<c?setTimeout(d,500):b(null)}),e.end()};d()})}(443);if(!M){if(U&&!U.killed){try{U.kill()}catch{}U=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f(`${F} -i :443`,{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=L||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}aa&&await aa({mitmCertInstalled:!0}).catch(()=>{}),D(`✅ Server healthy (PID: ${V||M.pid})`);let S=q();for(let[a,b]of Object.entries(S))D(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);await ab(!0,b),b&&X(b);try{h.unlinkSync(K)}catch{}return{running:!0,pid:V}}catch(a){try{h.unlinkSync(K)}catch{}throw a}}async function ao(a){O=!0,M=0,D("⏹ Stopping server...");let b=U,e=b&&!b.killed?b.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&Y(e)&&(D(`Killing server (PID: ${e})...`),Z(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),Y(e)&&Z(e,!0,a)),U=null,V=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(64809);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}D("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
55
55
  $hosts = @(${c})
56
56
  $lines = Get-Content -LiteralPath ${f(a)}
57
57
  $filtered = $lines | Where-Object {
@@ -60,4 +60,4 @@ ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.e
60
60
  }
61
61
  Set-Content -LiteralPath ${f(a)} -Value $filtered
62
62
  ipconfig /flushdns | Out-Null
63
- `;await e(d)}}catch(a){E(`Failed to clean hosts: ${a.message}`)}}else await o(a);w?d("launchctl unsetenv NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[launchctl] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[launchctl] NODE_EXTRA_CA_CERTS unset")}):v&&d("reg delete HKCU\\Environment /F /V NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[reg] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[reg] NODE_EXTRA_CA_CERTS unset")});try{h.unlinkSync(J)}catch{}return await aa(!1,null),N=!1,{running:!1,pid:null}}async function ao(a,b){if(!(await aj()).running)throw Error("MITM server is not running. Start the server first.");let c=b||V()||await ac();return await m(a,c),await ad(a,!0),{success:!0}}a.exports={getMitmStatus:aj,startServer:am,stopServer:an,enableToolDNS:ao,disableToolDNS:async function a(a,b){let c=b||V()||await ac();return await n(a,c),await ad(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(C,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(9631);if(!v&&!w&&!s())return void D(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`);let e=a||V()||await ac();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),e&&W(e)},startMitm:am,stopMitm:an,getCachedPassword:V,setCachedPassword:W,loadEncryptedPassword:ac,clearEncryptedPassword:ab,isSudoPasswordRequired:t,initDbHooks:function(a,b){$=a,_=b},restoreToolDNS:af,hasDnsPrivilege:ag,removeAllDNSEntriesSync:p}}};
63
+ `;await e(d)}}catch(a){E(`Failed to clean hosts: ${a.message}`)}}else await o(a);w?d("launchctl unsetenv NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[launchctl] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[launchctl] NODE_EXTRA_CA_CERTS unset")}):v&&d("reg delete HKCU\\Environment /F /V NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[reg] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[reg] NODE_EXTRA_CA_CERTS unset")});try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}return await ab(!1,null),O=!1,{running:!1,pid:null}}async function ap(a,b){if(!(await ak()).running)throw Error("MITM server is not running. Start the server first.");let c=b||W()||await ad();return await m(a,c),await ae(a,!0),{success:!0}}a.exports={getMitmStatus:ak,startServer:an,stopServer:ao,enableToolDNS:ap,disableToolDNS:async function a(a,b){let c=b||W()||await ad();return await n(a,c),await ae(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(C,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(9631);if(!v&&!w&&!s())return void D(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`);let e=a||W()||await ad();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),e&&X(e)},startMitm:an,stopMitm:ao,getCachedPassword:W,setCachedPassword:X,loadEncryptedPassword:ad,clearEncryptedPassword:ac,isSudoPasswordRequired:t,initDbHooks:function(a,b){_=a,aa=b},restoreToolDNS:ag,hasDnsPrivilege:ah,removeAllDNSEntriesSync:p}}};
@@ -1 +1 @@
1
- "use strict";exports.id=6306,exports.ids=[6306],exports.modules={66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:64e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:64e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*max*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}}};
1
+ "use strict";exports.id=6306,exports.ids=[6306],exports.modules={66306:(a,b,c)=>{c.d(b,{a0:()=>g,nl:()=>k});var d=c(58920);let e={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},f={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function g(a){return f[a]||null}let h={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},i={"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},j=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*max*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function k(a,b){if(!b)return{...e};if(a&&i[a]?.[b])return{...e,...i[a][b]};let c=b.includes("/")?b.split("/").pop():b;if(h[c])return{...e,...h[c]};if(h[b])return{...e,...h[b]};for(let{pattern:a,caps:f}of j)if((0,d.gH)(a,c)||(0,d.gH)(a,b))return{...e,...f};return{...e}}}};
@@ -1,4 +1,4 @@
1
- exports.id=6482,exports.ids=[6482],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},5439:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(13973),g=c(41659),h=c(31797),i=c(71544),j=c(89964),k=c(77165),l=c(66796),m=c(47929),n=c(62018),o=c(23101),p=c(37525),q=c(95491);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},7904:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},10684:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},16764:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/ThirdPartyScriptEmbed.js")},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},19148:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAnalytics=void 0;let f=e(c(96780)),g=c(81052);b.GoogleAnalytics=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},20349:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/google/ga.js")},23101:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},23315:(a,b)=>{"use strict";function c(a){return a.replace(/\\/g,"/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathSep",{enumerable:!0,get:function(){return c}})},27196:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},28559:a=>{"use strict";a.exports=JSON.parse('{"id":"youtube-embed","description":"Embed a YouTube embed on your webpage.","website":"https://github.com/paulirish/lite-youtube-embed","html":{"element":"lite-youtube","attributes":{"videoid":null,"playlabel":null}},"stylesheets":["https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.css"],"scripts":[{"url":"https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.js","strategy":"idle","location":"head","action":"append"}]}')},31383:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},31797:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(47929),g=c(32107),h=c(31383),i=c(77165),j=c(93646);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},31935:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/google/gtm.js")},33071:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/next/dist/client/script.js")},35687:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleMapsEmbed=void 0;let f=e(c(39235)),g=c(81052);b.GoogleMapsEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},36497:()=>{},39235:a=>{"use strict";a.exports=JSON.parse('{"id":"google-maps-embed","description":"Embed a Google Maps embed on your webpage","website":"https://developers.google.com/maps/documentation/embed/get-started","html":{"element":"iframe","attributes":{"loading":"lazy","src":{"url":"https://www.google.com/maps/embed/v1/place","slugParam":"mode","params":["key","q","center","zoom","maptype","language","region"]},"referrerpolicy":"no-referrer-when-downgrade","frameborder":"0","style":"border:0","allowfullscreen":true,"width":null,"height":null}}}')},40862:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={cancelIdleCallback:function(){return f},requestIdleCallback:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(a){let b=Date.now();return self.setTimeout(function(){a({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-b))}})},1)},f="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(a){return clearTimeout(a)};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41659:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(27196);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},47300:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{apiKey:b,...c}=a,d={...c,key:b},{html:h}=(0,f.GoogleMapsEmbed)(d);return(0,e.jsx)(g.default,{height:d.height||null,width:d.width||null,html:h,dataNtpc:"GoogleMapsEmbed"})};let e=c(5735),f=c(93166),g=d(c(16764))},54718:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e.a});var d=c(90929),e=c.n(d),f={};for(let a in d)"default"!==a&&(f[a]=()=>d[a]);c.d(b,f)},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},59537:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.sendGAEvent=b.GoogleAnalytics=b.sendGTMEvent=b.GoogleTagManager=b.YouTubeEmbed=b.GoogleMapsEmbed=void 0;var e=c(47300);Object.defineProperty(b,"GoogleMapsEmbed",{enumerable:!0,get:function(){return d(e).default}});var f=c(73992);Object.defineProperty(b,"YouTubeEmbed",{enumerable:!0,get:function(){return d(f).default}});var g=c(31935);Object.defineProperty(b,"GoogleTagManager",{enumerable:!0,get:function(){return g.GoogleTagManager}}),Object.defineProperty(b,"sendGTMEvent",{enumerable:!0,get:function(){return g.sendGTMEvent}});var h=c(20349);Object.defineProperty(b,"GoogleAnalytics",{enumerable:!0,get:function(){return h.GoogleAnalytics}}),Object.defineProperty(b,"sendGAEvent",{enumerable:!0,get:function(){return h.sendGAEvent}})},60002:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"setAttributesFromProps",{enumerable:!0,get:function(){return f}});let c={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function e(a){return["async","defer","noModule"].includes(a)}function f(a,b){for(let[f,g]of Object.entries(b)){if(!b.hasOwnProperty(f)||d.includes(f)||void 0===g)continue;let h=c[f]||f.toLowerCase();"SCRIPT"===a.tagName&&e(h)?a[h]=!!g:a.setAttribute(h,String(g)),(!1===g||"SCRIPT"===a.tagName&&e(h)&&(!g||"false"===g))&&(a.setAttribute(h,""),a.removeAttribute(h))}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},63419:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.YouTubeEmbed=void 0;let f=e(c(28559)),g=c(81052);b.YouTubeEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},68097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(9787),e=c(49286);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},69566:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ESCAPE_REGEX:function(){return f},htmlEscapeAttributeString:function(){return j},htmlEscapeJsonString:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},f=/[&><\u2028\u2029]/g,g={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},h=/[&"'<>]/g;function i(a){return a.replace(f,a=>e[a])}function j(a){return a.replace(h,a=>g[a])}},71544:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(16433),e=c(89151);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},73992:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{html:b,scripts:c,stylesheets:d}=(0,g.YouTubeEmbed)(a);return(0,e.jsx)(h.default,{height:a.height||null,width:a.width||null,html:b,dataNtpc:"YouTubeEmbed",children:null==c?void 0:c.map(a=>(0,e.jsx)(f.default,{src:a.url,strategy:i[a.strategy],stylesheets:d},a.url))})};let e=c(5735),f=d(c(93968)),g=c(93166),h=d(c(16764)),i={server:"beforeInteractive",client:"afterInteractive",idle:"lazyOnload",worker:"worker"}},74281:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),b.sendGTMEvent=void 0,b.GoogleTagManager=function(a){let{gtmId:b,gtmScriptUrl:c,dataLayerName:d="dataLayer",auth:i,preview:j,dataLayer:k,nonce:l}=a;h=d;let m=new URL(c||"https://www.googletagmanager.com/gtm.js");return b&&m.searchParams.set("id",b),"dataLayer"!==d&&m.searchParams.set("l",d),i&&m.searchParams.set("gtm_auth",i),j&&(m.searchParams.set("gtm_preview",j),m.searchParams.set("gtm_cookies_win","x")),(0,f.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-gtm"}})},[]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.default,{id:"_next-gtm-init",dangerouslySetInnerHTML:{__html:`
1
+ exports.id=6482,exports.ids=[6482],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},5439:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(13973),g=c(41659),h=c(31797),i=c(71544),j=c(89964),k=c(77165),l=c(66796),m=c(47929),n=c(62018),o=c(23101),p=c(37525),q=c(95491);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},7904:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},10684:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},16764:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/ThirdPartyScriptEmbed.js")},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},19148:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAnalytics=void 0;let f=e(c(96780)),g=c(81052);b.GoogleAnalytics=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},20349:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/google/ga.js")},23101:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},23315:(a,b)=>{"use strict";function c(a){return a.replace(/\\/g,"/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathSep",{enumerable:!0,get:function(){return c}})},27196:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},28559:a=>{"use strict";a.exports=JSON.parse('{"id":"youtube-embed","description":"Embed a YouTube embed on your webpage.","website":"https://github.com/paulirish/lite-youtube-embed","html":{"element":"lite-youtube","attributes":{"videoid":null,"playlabel":null}},"stylesheets":["https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.css"],"scripts":[{"url":"https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.js","strategy":"idle","location":"head","action":"append"}]}')},31383:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},31797:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(47929),g=c(32107),h=c(31383),i=c(77165),j=c(93646);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},31935:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/google/gtm.js")},33071:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/next/dist/client/script.js")},35687:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleMapsEmbed=void 0;let f=e(c(39235)),g=c(81052);b.GoogleMapsEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},36497:()=>{},39235:a=>{"use strict";a.exports=JSON.parse('{"id":"google-maps-embed","description":"Embed a Google Maps embed on your webpage","website":"https://developers.google.com/maps/documentation/embed/get-started","html":{"element":"iframe","attributes":{"loading":"lazy","src":{"url":"https://www.google.com/maps/embed/v1/place","slugParam":"mode","params":["key","q","center","zoom","maptype","language","region"]},"referrerpolicy":"no-referrer-when-downgrade","frameborder":"0","style":"border:0","allowfullscreen":true,"width":null,"height":null}}}')},40862:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={cancelIdleCallback:function(){return f},requestIdleCallback:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(a){let b=Date.now();return self.setTimeout(function(){a({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-b))}})},1)},f="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(a){return clearTimeout(a)};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41659:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(27196);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},47300:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{apiKey:b,...c}=a,d={...c,key:b},{html:h}=(0,f.GoogleMapsEmbed)(d);return(0,e.jsx)(g.default,{height:d.height||null,width:d.width||null,html:h,dataNtpc:"GoogleMapsEmbed"})};let e=c(5735),f=c(93166),g=d(c(16764))},54718:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e.a});var d=c(90929),e=c.n(d),f={};for(let a in d)"default"!==a&&(f[a]=()=>d[a]);c.d(b,f)},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},59537:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.sendGAEvent=b.GoogleAnalytics=b.sendGTMEvent=b.GoogleTagManager=b.YouTubeEmbed=b.GoogleMapsEmbed=void 0;var e=c(47300);Object.defineProperty(b,"GoogleMapsEmbed",{enumerable:!0,get:function(){return d(e).default}});var f=c(73992);Object.defineProperty(b,"YouTubeEmbed",{enumerable:!0,get:function(){return d(f).default}});var g=c(31935);Object.defineProperty(b,"GoogleTagManager",{enumerable:!0,get:function(){return g.GoogleTagManager}}),Object.defineProperty(b,"sendGTMEvent",{enumerable:!0,get:function(){return g.sendGTMEvent}});var h=c(20349);Object.defineProperty(b,"GoogleAnalytics",{enumerable:!0,get:function(){return h.GoogleAnalytics}}),Object.defineProperty(b,"sendGAEvent",{enumerable:!0,get:function(){return h.sendGAEvent}})},60002:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"setAttributesFromProps",{enumerable:!0,get:function(){return f}});let c={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function e(a){return["async","defer","noModule"].includes(a)}function f(a,b){for(let[f,g]of Object.entries(b)){if(!b.hasOwnProperty(f)||d.includes(f)||void 0===g)continue;let h=c[f]||f.toLowerCase();"SCRIPT"===a.tagName&&e(h)?a[h]=!!g:a.setAttribute(h,String(g)),(!1===g||"SCRIPT"===a.tagName&&e(h)&&(!g||"false"===g))&&(a.setAttribute(h,""),a.removeAttribute(h))}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},63419:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.YouTubeEmbed=void 0;let f=e(c(28559)),g=c(81052);b.YouTubeEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},68097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(9787),e=c(49286);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},69566:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ESCAPE_REGEX:function(){return f},htmlEscapeAttributeString:function(){return j},htmlEscapeJsonString:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},f=/[&><\u2028\u2029]/g,g={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},h=/[&"'<>]/g;function i(a){return a.replace(f,a=>e[a])}function j(a){return a.replace(h,a=>g[a])}},71544:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(16433),e=c(89151);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},73992:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{html:b,scripts:c,stylesheets:d}=(0,g.YouTubeEmbed)(a);return(0,e.jsx)(h.default,{height:a.height||null,width:a.width||null,html:b,dataNtpc:"YouTubeEmbed",children:null==c?void 0:c.map(a=>(0,e.jsx)(f.default,{src:a.url,strategy:i[a.strategy],stylesheets:d},a.url))})};let e=c(5735),f=d(c(93968)),g=c(93166),h=d(c(16764)),i={server:"beforeInteractive",client:"afterInteractive",idle:"lazyOnload",worker:"worker"}},74281:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),b.sendGTMEvent=void 0,b.GoogleTagManager=function(a){let{gtmId:b,gtmScriptUrl:c,dataLayerName:d="dataLayer",auth:i,preview:j,dataLayer:k,nonce:l}=a;h=d;let m=new URL(c||"https://www.googletagmanager.com/gtm.js");return b&&m.searchParams.set("id",b),"dataLayer"!==d&&m.searchParams.set("l",d),i&&m.searchParams.set("gtm_auth",i),j&&(m.searchParams.set("gtm_preview",j),m.searchParams.set("gtm_cookies_win","x")),(0,f.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-gtm"}})},[]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.default,{id:"_next-gtm-init",dangerouslySetInnerHTML:{__html:`
2
2
  (function(w,l){
3
3
  w[l]=w[l]||[];
4
4
  w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
@@ -1 +1 @@
1
- "use strict";exports.id=6763,exports.ids=[6763],exports.modules={26763:(a,b,c)=>{c.d(b,{getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}}};
1
+ "use strict";exports.id=6763,exports.ids=[6763],exports.modules={26763:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>e,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6777,exports.ids=[6777],exports.modules={17660:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({children:a,title:b,subtitle:c,icon:g,action:h,padding:i="md",hover:j=!1,elev:k=!1,className:l,...m}){return(0,d.jsxs)("div",{className:(0,e.cn)("bg-surface border border-border-subtle",k?"rounded-[14px] shadow-[var(--shadow-elev)]":"rounded-[14px] shadow-[var(--shadow-soft)]",j&&"hover:shadow-[var(--shadow-warm)] hover:border-brand-500/30 transition-all cursor-pointer",{none:"",xs:"p-3",sm:"p-4",md:"p-6",lg:"p-8"}[i],l),...m,children:[(b||h)&&(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[g&&(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-bg text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:g})}),(0,d.jsxs)("div",{children:[b&&(0,d.jsx)("h3",{className:"text-text-main font-semibold",children:b}),c&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:c})]})]}),h]}),a]})}f.Section=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 rounded-[10px]","bg-bg border border-border-subtle",b),...c,children:a})},f.Row=function({children:a,className:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("p-3 -mx-3 px-3 transition-colors","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50",b),...c,children:a})},f.ListItem=function({children:a,actions:b,className:c,...f}){return(0,d.jsxs)("div",{className:(0,e.cn)("group flex items-center justify-between p-3 -mx-3 px-3","border-b border-border-subtle last:border-b-0","hover:bg-surface-2/50 transition-colors",c),...f,children:[(0,d.jsx)("div",{className:"flex-1 min-w-0",children:a}),b&&(0,d.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:b})]})}},18982:(a,b,c)=>{c.d(b,{ad:()=>f,gH:()=>e});let d={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}};function e(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function f(){return d}},71404:(a,b,c)=>{c.d(b,{cn:()=>d});function d(...a){return a.filter(Boolean).join(" ").replace(/\s+/g," ").trim()}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90698:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(76040);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},apiKeyPools:{columns:{poolKey:"TEXT PRIMARY KEY",keys:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"}},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",sortOrder:"INTEGER DEFAULT 0",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},keyPool:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",name:"TEXT",key:"TEXT NOT NULL",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_kp_provider ON keyPool(provider)","CREATE UNIQUE INDEX IF NOT EXISTS idx_kp_provider_key ON keyPool(provider, key)"]},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},90698:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(76040);async function e(a){let{Database:b}=await Promise.resolve().then(c.t.bind(c,81787,23)),e=new b(a,{create:!0});e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction:a=>e.transaction(a)(),checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7220,exports.ids=[7220],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(58246)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>z,OPTIONS:()=>y,buildModelsList:()=>x});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(29679),i=c(53225),j=c(39609),k=c(75924),l=c(8521);let m=new Map;async function n(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,j.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${k.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${k.x0.COPILOT_CHAT_VERSION}`,"user-agent":k.x0.USER_AGENT,"x-github-api-version":k.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function o(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=m.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await n(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,l.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await n(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(m.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var p=c(67828),q=c(66306);let r={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},github:async a=>{let b=await o({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,p.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null}},s=/[-_][0-9a-f]{8,}$/i,t={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function u(a){let b=a?.kind||a?.type;return b&&t[b]||"llm"}async function v(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function w(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function x(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let m=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),m.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(w(b[c]||c,a))for(let b of e)a.includes(u(b))&&(k(c,b.id)||m.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&m.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!w(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,o=(0,e.mq)(b)||(0,e.gb)(b),p=new Map(j.map(a=>[a.id,u(a)])),t=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);o&&0===t.length&&!s.test(b)&&(t=await v(c));let x=r[b];if(x&&!n)try{let a=await x(c);a?.models?.length&&(t=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let y=t.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),z=new Map;for(let c of Array.from(new Set([...y,...h.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&z.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=z.get(c),d=p.get(c)||b||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),e="imageToText"===d&&a.includes("llm");if(!a.includes(d)&&!e||k(g,c)||k(f,c))continue;let h={id:`${g}/${c}`,object:"model",owned_by:g},i=(0,q.a0)(b);i&&(h.capabilities=i),m.push(h)}let A=e.AI_PROVIDERS[b];a.includes("webSearch")&&A?.searchConfig&&m.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&A?.fetchConfig&&m.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let n=[],o=new Set;for(let a of m)!a?.id||o.has(a.id)||(o.add(a.id),n.push(a));return n}async function y(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function z(){try{let a=await x(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},45699:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(35024),e=c(83938),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -0,0 +1,3 @@
1
+ exports.id=7248,exports.ids=[7248],exports.modules={8576:(a,b,c)=>{Promise.resolve().then(c.bind(c,69232))},22643:(a,b,c)=>{Promise.resolve().then(c.bind(c,51747))},51747:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/giang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/giang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js","default")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},67960:(a,b,c)=>{"use strict";c.d(b,{Cp:()=>g,Hx:()=>f,Iv:()=>k,Nv:()=>m,RL:()=>j,ev:()=>l,fl:()=>h,hT:()=>d,oX:()=>e,t6:()=>i});let d=["zh-CN","zh-TW"],e=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],f=2e3,g=3e5,h=5e3,i=5,j=1e4,k=5e3,l=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],m=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}]},69232:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377),j=c(67960);function k({label:a,url:b,copyId:c,copied:e,onCopy:f,badge:g,actions:i}){return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${"CF"===g||"TS"===g?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:a}),(0,d.jsx)(h.pd,{value:b,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>f(b,c),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:e===c?"check":"content_copy"})}),i]})}function l({status:a,className:b=""}){return(0,d.jsx)("div",{className:`p-2 rounded text-sm ${b} ${"success"===a.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===a.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===a.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:a.message.split(/(https?:\/\/[^\s]+)/g).map((a,b)=>/^https?:\/\//.test(a)?(0,d.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:a},b):a)})}function m({text:a}){return(0,d.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,d.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:a})]})}function n({message:a,action:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-xs flex-1",children:a}),b&&(0,d.jsx)("a",{href:b.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:b.href.startsWith("#")?a=>{a.preventDefault(),document.getElementById(b.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:b.label})]})}function o({machineId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!0),[B,C]=(0,e.useState)(!0),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!0),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(""),[N,O]=(0,e.useState)(""),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(""),[T,U]=(0,e.useState)(null),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ab,ac]=(0,e.useState)(""),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)(""),[ah,ai]=(0,e.useState)(null),[aj,ak]=(0,e.useState)(""),[al,am]=(0,e.useState)(""),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)(!1),[ar,as]=(0,e.useState)([]),[at,au]=(0,e.useState)(""),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(!1),[az,aA]=(0,e.useState)(!1),aB=(0,e.useRef)(null);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1);let[aC,aD]=(0,e.useState)(!1),[aE,aF]=(0,e.useState)(!1),[aG,aH]=(0,e.useState)(new Set),[aI,aJ]=(0,e.useState)(!1),{copied:aK,copy:aL}=(0,i.C)(),aM=!z||!B,aN=z?"Change the default dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.';(0,e.useCallback)((a,b,c,d,e,f)=>{b.current?(c.current=0,d(!0),e.current||(e.current=!0,f(!0))):(c.current+=1,c.current>=j.t6&&d(!1))},[]);let aO=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:a})})).ok&&E(a)}catch(a){console.log("Error updating tunnelDashboardAccess:",a)}},aP=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&y(a)}catch(a){console.log("Error updating requireApiKey:",a)}},aQ=async()=>{try{let a=await fetch("/api/keys"),b=await a.json();a.ok&&c(b.keys||[])}catch(a){console.log("Error fetching data:",a)}finally{g(!1)}},aR=async(...a)=>{Q(!0),S("Waiting for tunnel ready...");let b=a.filter(Boolean).map(a=>`${a}/api/health`),c=Date.now();for(;Date.now()-c<j.Cp;){if(await new Promise(a=>setTimeout(a,j.Hx)),await Promise.any(b.map(async a=>{if((await fetch(a,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return I(!0),Q(!1),S(""),!0;if((Date.now()-c)%1e4<j.Hx)try{let a=await fetch("/api/tunnel/status");if(a.ok){let b=await a.json();if(!b.tunnel?.enabled)return U({type:"error",message:"Tunnel process stopped unexpectedly."}),Q(!1),S(""),!1}}catch{}}return U({type:"error",message:"Tunnel created but not reachable. Please try again."}),Q(!1),S(""),!1},aS=async()=>{W(!1),Q(!0),U(null),S("Creating tunnel...");let a=!0;(async()=>{for(;a;){try{let b=await fetch("/api/tunnel/status");if(b.ok){let c=await b.json();c.download?.downloading?S(`Downloading cloudflared... ${c.download.progress}%`):a&&S("Creating tunnel...")}}catch{}await new Promise(a=>setTimeout(a,1e3))}})();try{let b=await fetch("/api/tunnel/enable",{method:"POST"});a=!1;let c=await b.json();if(!b.ok)return void U({type:"error",message:c.error||"Failed to enable tunnel"});let d=c.tunnelUrl;if(!d)return void U({type:"error",message:"No tunnel URL returned"});M(d),O(c.publicUrl||""),await aR(c.publicUrl,d)}catch(a){U({type:"error",message:a.message})}finally{a=!1,Q(!1),S("")}},aT=async()=>{Q(!0),U(null);try{let a=await fetch("/api/tunnel/disable",{method:"POST"}),b=await a.json();a.ok?(I(!1),M(""),Y(!1),U({type:"success",message:"Tunnel disabled"})):U({type:"error",message:b.error||"Failed to disable tunnel"})}catch(a){U({type:"error",message:a.message})}finally{Q(!1)}},aU=async()=>{ao(null);try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok){let b=await a.json();return ao(b.installed),b}}catch{}return ao(!1),{installed:!1}},aV=async()=>{aq(!0),ai(null),as([]);try{let a=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:at})});au("");let b=a.body.getReader(),c=new TextDecoder,d="";for(;;){let{done:a,value:e}=await b.read();if(a)break;let f=(d+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(d=f.pop()||"",f)){let b=a.split("\n"),c="progress",d=null;for(let a of b)if(a.startsWith("event: ")&&(c=a.slice(7).trim()),a.startsWith("data: "))try{d=JSON.parse(a.slice(6))}catch{}if(d)if("progress"===c)as(a=>[...a.slice(-50),d.message]);else if("done"===c){ao(!0),aq(!1),ay(!1),aZ();return}else"error"===c&&ai({type:"error",message:d.error||"Install failed"})}}}catch(a){ai({type:"error",message:a.message})}finally{aq(!1)}},aW=async a=>{ag("Waiting for Tailscale ready...");let b=`${a}/api/health`,c=Date.now();for(;Date.now()-c<j.Cp;){await new Promise(a=>setTimeout(a,j.Hx));try{let a=await fetch(b,{mode:"no-cors",cache:"no-store"});if(a.ok||"opaque"===a.type)return!0}catch{}}return!1},aX=(a,b)=>{ak(a),am(b)},aY=()=>{ak(""),am("")},aZ=async()=>{ay(!1),aw(!0),ae(!0),ai(null),ag("Connecting..."),aY();try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.needsLogin&&b.authUrl){aX(b.authUrl,"Open Login Page"),ag('Login required — click "Open Login Page" to continue');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok&&(await a.json()).loggedIn){aY(),ag("Starting funnel...");let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."})}else b.funnelNotEnabled&&b.enableUrl?await a$(b.enableUrl):ai({type:"error",message:b.error||"Failed to start funnel"});return}}catch{}}aY(),ai({type:"error",message:"Login timed out. Please try again."});return}if(b.funnelNotEnabled&&b.enableUrl)return void await a$(b.enableUrl);ai({type:"error",message:b.error||"Failed to connect"})}catch(a){ai({type:"error",message:a.message})}finally{ae(!1),aw(!1),ag(""),aY()}},a$=async a=>{aX(a,"Open Funnel Settings"),ag('Click "Open Funnel Settings" to enable Funnel...');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){aY(),ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.funnelNotEnabled)continue;if(b.error){aY(),ai({type:"error",message:b.error});return}}catch{}}aY(),ai({type:"error",message:"Timed out waiting for Funnel to be enabled."})},a_=async()=>{ae(!0),ai(null);try{let a=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),b=await a.json();a.ok?($(!1),ac(""),aA(!1),ai({type:"success",message:"Tailscale disabled"})):ai({type:"error",message:b.error||"Failed to disable Tailscale"})}catch(a){ai({type:"error",message:a.message})}finally{ae(!1)}},a0=async()=>{ai(null),as([]);let a=await aU();a?.installed&&a?.hasCachedPassword?aZ():ay(!0)},a1=async()=>{if(r.trim())try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r})}),b=await a.json();a.ok&&(u(b.key),await aQ(),s(""),q(!1))}catch(a){console.log("Error creating key:",a)}},a2=async a=>{w({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{w(null);try{(await fetch(`/api/keys/${a}`,{method:"DELETE"})).ok&&(c(b.filter(b=>b.id!==a)),aH(b=>{let c=new Set(b);return c.delete(a),c}))}catch(a){console.log("Error deleting key:",a)}}})},a3=async(a,b)=>{try{(await fetch(`/api/keys/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&c(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error toggling key:",a)}},[a4,a5]=(0,e.useState)("/v1");return f?(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsx)(h.Qv,{}),(0,d.jsx)(h.Qv,{})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsxs)(h.Zp,{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"api"}),"API Endpoint"]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(k,{label:"Local",url:a4,copyId:"local_url",copied:aK,onCopy:aL}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${H?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tunnel"}),H&&!P&&J?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${N||L}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aL(`${N||L}/v1`,"tunnel_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===aK?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!H||P||J?P?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),R||"Creating tunnel..."]}),(0,d.jsx)("button",{onClick:()=>{Q(!1),S("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):T?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),T.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>W(!0),children:"Enable"})]}):F?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,d.jsx)("button",{onClick:()=>G(!1),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{aM?U({type:"error",message:`Security required: ${aN}`}):x?W(!0):U({type:"error",message:'Security required: Enable "Require API key" before activating the tunnel.'})},children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aC?"Tunnel reconnecting...":"Tunnel checking..."]}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${Z?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tailscale"}),Z&&!ad&&_?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${ab}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aL(`${ab}/v1`,"ts_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===aK?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>aA(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!Z||ad||_?ad||av?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),af||"Connecting..."]}),aj&&(0,d.jsx)(h.$n,{size:"sm",icon:"open_in_new",onClick:()=>window.open(aj,"tailscale_auth","width=600,height=700,noopener,noreferrer"),children:al||"Open"}),(0,d.jsx)("button",{onClick:()=>{ae(!1),aw(!1),ag(""),aY()},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):ah?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),ah.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:a0,children:"Enable"})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:()=>{aM?ai({type:"error",message:`Security required: ${aN}`}):a0()},className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aE?"Tailscale reconnecting...":"Tailscale checking..."]}),(0,d.jsx)("button",{onClick:()=>aA(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]})]}),aM&&!H&&!Z&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(n,{message:aN,action:{label:"Open settings",href:"/dashboard/profile"}})}),(H||Z)&&(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!x&&(0,d.jsx)(n,{message:"Require API key is disabled — your endpoint is publicly accessible without authentication.",action:{label:"Enable",href:"#require-api-key"}}),(!z||!B)&&(0,d.jsx)(n,{message:z?"Dashboard uses the default password — change it in Profile settings.":"Require login is disabled — anyone can access your dashboard via tunnel.",action:{label:z?"Change password":"Enable",href:"/dashboard/profile"}})]}),(H||Z)&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,d.jsx)(h.lM,{checked:D,onChange:()=>aO(!D)}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("p",{className:"font-medium text-sm",children:"Allow dashboard access via tunnel"}),(0,d.jsx)(m,{text:"When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked."})]})]})]}),(0,d.jsxs)(h.Zp,{id:"require-api-key",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"vpn_key"}),"API Keys"]}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>q(!0),children:"Create Key"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Requests without a valid key will be rejected"})]}),(0,d.jsx)(h.lM,{checked:x,onChange:()=>aP(!x)})]}),aI&&!x&&(0,d.jsx)("div",{className:"mb-4 -mt-2",children:(0,d.jsx)(n,{message:"Endpoint is exposed without an API key."})}),0===b.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,d.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No API keys yet"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create your first API key to get started"}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>q(!0),children:"Create Key"})]}):(0,d.jsx)("div",{className:"flex flex-col",children:b.map(a=>{var b;return(0,d.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono",children:aG.has(a.id)?a.key:(b=a.key)&&!(b.length<=10)?b.slice(0,6)+"•".repeat(b.length-10)+b.slice(-4):b||""}),(0,d.jsx)("button",{onClick:()=>{var b;return b=a.id,void aH(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:aG.has(a.id)?"Hide key":"Show key",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aG.has(a.id)?"visibility_off":"visibility"})}),(0,d.jsx)("button",{onClick:()=>aL(a.key,a.id),className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aK===a.id?"check":"content_copy"})})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Created ",new Date(a.createdAt).toLocaleDateString()]}),!1===a.isActive&&(0,d.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(h.lM,{size:"sm",checked:a.isActive??!0,onChange:b=>{a.isActive&&!b?w({title:"Pause API Key",message:`Pause API key "${a.name}"?
2
+
3
+ This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{w(null),a3(a.id,b)}}):a3(a.id,b)},title:a.isActive?"Pause key":"Resume key"}),(0,d.jsx)("button",{onClick:()=>a2(a.id),className:"p-2 hover:bg-red-500/10 rounded text-red-500 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},a.id)})})]}),(0,d.jsx)(h.aF,{isOpen:p,title:"Create API Key",onClose:()=>{q(!1),s("")},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Key Name",value:r,onChange:a=>s(a.target.value),placeholder:"Production Key"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a1,fullWidth:!0,disabled:!r.trim(),children:"Create"}),(0,d.jsx)(h.$n,{onClick:()=>{q(!1),s("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:!!t,title:"API Key Created",onClose:()=>u(null),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,d.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,d.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:t||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"created_key"===aK?"check":"content_copy",onClick:()=>aL(t,"created_key"),children:"created_key"===aK?"Copied!":"Copy"})]}),(0,d.jsx)(h.$n,{onClick:()=>u(null),fullWidth:!0,children:"Done"})]})}),(0,d.jsx)(h.aF,{isOpen:V,title:"Enable Tunnel",onClose:()=>W(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:j.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aS,fullWidth:!0,children:"Start Tunnel"}),(0,d.jsx)(h.$n,{onClick:()=>W(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:X,title:"Disable Tunnel",onClose:()=>!P&&Y(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aT,fullWidth:!0,disabled:P,variant:"danger",children:P?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>Y(!1),variant:"ghost",fullWidth:!0,disabled:P,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:ax,title:"Tailscale Funnel",onClose:()=>{ap||(ay(!1),au(""),ai(null))},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===an&&(0,d.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===an&&!ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aV,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(h.$n,{onClick:()=>ay(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),ar.length>0&&(0,d.jsx)("div",{ref:aB,className:"bg-black/5 dark:bg-white/5 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:ar.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===an&&!ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>aZ(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>ay(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ah&&(0,d.jsx)(l,{status:ah})]})}),(0,d.jsx)(h.aF,{isOpen:az,title:"Disable Tailscale",onClose:()=>!ad&&aA(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a_,fullWidth:!0,disabled:ad,variant:"danger",children:ad?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>aA(!1),variant:"ghost",fullWidth:!0,disabled:ad,children:"Cancel"})]})]})}),(0,d.jsx)(h.uo,{isOpen:!!v,onClose:()=>w(null),onConfirm:v?.onConfirm,title:v?.title||"Confirm",message:v?.message,variant:"danger"})]})}o.propTypes={machineId:g().string.isRequired}},87250:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(54603);async function e(){return await (0,d.Xj)()}}};