@techysy/10router 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1118) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +12 -10
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +5 -5
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/routes-manifest.json +14 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  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 +2 -2
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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/experimental/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +10 -5
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  80. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  88. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  91. package/app/.next-cli-build/server/app/_not-found.rsc +7 -7
  92. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +7 -7
  93. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
  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/logout/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +2 -2
  110. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/status/route.js +2 -2
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  120. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +2 -2
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  128. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  130. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +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-tools/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js +1 -0
  166. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -0
  167. package/app/.next-cli-build/server/app/api/external-quota/[source]/route_client-reference-manifest.js +1 -0
  168. package/app/.next-cli-build/server/app/api/gateway-probe/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +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/status/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/network/egress-region/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  269. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  275. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  307. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  311. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  313. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  317. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  319. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  321. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  323. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  327. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  329. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  331. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  333. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  345. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  353. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  373. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  374. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  375. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  401. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  415. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -0
  427. package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -0
  428. package/app/.next-cli-build/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -0
  429. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  438. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  449. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/version/route.js +2 -2
  454. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  455. package/app/.next-cli-build/server/app/api/version/shell-update/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  460. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  461. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  462. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/callback.html +2 -2
  465. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  466. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  467. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  468. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
  469. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  471. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +9 -9
  472. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  473. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +3 -3
  474. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +9 -9
  476. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +9 -9
  477. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  478. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +3 -3
  479. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  481. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +9 -9
  482. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  483. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +3 -3
  484. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
  486. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +9 -9
  487. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  488. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +3 -3
  489. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +9 -9
  491. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +9 -9
  492. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +9 -9
  493. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +3 -3
  494. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  496. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +9 -9
  497. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  498. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +3 -3
  499. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  501. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +9 -9
  502. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  503. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +3 -3
  504. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  506. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +9 -9
  507. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  508. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +3 -3
  509. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  511. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +9 -9
  512. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  513. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +3 -3
  514. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  515. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  516. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +9 -9
  517. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  518. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +3 -3
  519. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  521. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +9 -9
  522. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  523. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +3 -3
  524. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  525. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +9 -9
  526. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +9 -9
  527. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +9 -9
  528. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +3 -3
  529. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  531. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +10 -10
  532. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  533. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +3 -3
  534. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  538. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +8 -8
  539. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +8 -8
  540. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  541. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +8 -8
  542. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  543. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  544. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +9 -9
  545. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  546. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +3 -3
  547. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  548. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +9 -9
  549. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +9 -9
  550. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +9 -9
  551. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +3 -3
  552. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  554. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +9 -9
  555. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  556. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +3 -3
  557. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  558. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  559. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +9 -9
  560. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  561. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +3 -3
  562. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  563. package/app/.next-cli-build/server/app/dashboard.rsc +9 -9
  564. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +9 -9
  565. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +9 -9
  566. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +3 -3
  567. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  568. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  569. package/app/.next-cli-build/server/app/index.html +1 -1
  570. package/app/.next-cli-build/server/app/index.rsc +7 -7
  571. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +7 -7
  572. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +7 -7
  573. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  574. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  575. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  576. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  577. package/app/.next-cli-build/server/app/landing.html +2 -2
  578. package/app/.next-cli-build/server/app/landing.rsc +8 -8
  579. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +8 -8
  580. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  581. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +8 -8
  582. package/app/.next-cli-build/server/app/login/page.js +1 -1
  583. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  584. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  585. package/app/.next-cli-build/server/app/login.html +2 -2
  586. package/app/.next-cli-build/server/app/login.rsc +8 -8
  587. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
  588. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +3 -3
  589. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +8 -8
  590. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  591. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  592. package/app/.next-cli-build/server/app/page.js +1 -1
  593. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  594. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  595. package/app/.next-cli-build/server/app-paths-manifest.json +12 -10
  596. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  597. package/app/.next-cli-build/server/chunks/1386.js +2 -2
  598. package/app/.next-cli-build/server/chunks/1806.js +1 -1
  599. package/app/.next-cli-build/server/chunks/2112.js +1 -1
  600. package/app/.next-cli-build/server/chunks/2926.js +1 -1
  601. package/app/.next-cli-build/server/chunks/2960.js +1 -0
  602. package/app/.next-cli-build/server/chunks/{5330.js → 318.js} +5 -5
  603. package/app/.next-cli-build/server/chunks/3256.js +1 -1
  604. package/app/.next-cli-build/server/chunks/3433.js +13 -13
  605. package/app/.next-cli-build/server/chunks/3500.js +1 -1
  606. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  607. package/app/.next-cli-build/server/chunks/3593.js +2 -2
  608. package/app/.next-cli-build/server/chunks/3599.js +1 -0
  609. package/app/.next-cli-build/server/chunks/3662.js +1 -1
  610. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  611. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  612. package/app/.next-cli-build/server/chunks/3962.js +1 -1
  613. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  614. package/app/.next-cli-build/server/chunks/4293.js +1 -1
  615. package/app/.next-cli-build/server/chunks/4613.js +1 -1
  616. package/app/.next-cli-build/server/chunks/4689.js +1 -1
  617. package/app/.next-cli-build/server/chunks/4739.js +2 -2
  618. package/app/.next-cli-build/server/chunks/4775.js +1 -0
  619. package/app/.next-cli-build/server/chunks/4780.js +2 -2
  620. package/app/.next-cli-build/server/chunks/4803.js +2 -2
  621. package/app/.next-cli-build/server/chunks/4927.js +4 -4
  622. package/app/.next-cli-build/server/chunks/507.js +2 -2
  623. package/app/.next-cli-build/server/chunks/5182.js +1 -1
  624. package/app/.next-cli-build/server/chunks/5210.js +9 -9
  625. package/app/.next-cli-build/server/chunks/5258.js +2 -2
  626. package/app/.next-cli-build/server/chunks/539.js +1 -1
  627. package/app/.next-cli-build/server/chunks/5433.js +1 -1
  628. package/app/.next-cli-build/server/chunks/5527.js +1 -1
  629. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  630. package/app/.next-cli-build/server/chunks/5757.js +1 -0
  631. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  632. package/app/.next-cli-build/server/chunks/595.js +1 -1
  633. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  634. package/app/.next-cli-build/server/chunks/615.js +1 -1
  635. package/app/.next-cli-build/server/chunks/6252.js +2 -2
  636. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  637. package/app/.next-cli-build/server/chunks/6326.js +1 -1
  638. package/app/.next-cli-build/server/chunks/6492.js +1 -1
  639. package/app/.next-cli-build/server/chunks/6593.js +1 -0
  640. package/app/.next-cli-build/server/chunks/6756.js +1 -1
  641. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  642. package/app/.next-cli-build/server/chunks/6790.js +1 -0
  643. package/app/.next-cli-build/server/chunks/6877.js +1 -0
  644. package/app/.next-cli-build/server/chunks/6947.js +1 -1
  645. package/app/.next-cli-build/server/chunks/6960.js +3 -3
  646. package/app/.next-cli-build/server/chunks/698.js +2 -2
  647. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  648. package/app/.next-cli-build/server/chunks/7122.js +1 -1
  649. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  650. package/app/.next-cli-build/server/chunks/7252.js +1 -0
  651. package/app/.next-cli-build/server/chunks/7274.js +1 -1
  652. package/app/.next-cli-build/server/chunks/7322.js +2 -2
  653. package/app/.next-cli-build/server/chunks/75.js +1 -1
  654. package/app/.next-cli-build/server/chunks/7568.js +1 -1
  655. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  656. package/app/.next-cli-build/server/chunks/7965.js +2 -2
  657. package/app/.next-cli-build/server/chunks/8062.js +2 -2
  658. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  659. package/app/.next-cli-build/server/chunks/8172.js +2 -2
  660. package/app/.next-cli-build/server/chunks/8318.js +1 -1
  661. package/app/.next-cli-build/server/chunks/8410.js +1 -1
  662. package/app/.next-cli-build/server/chunks/8439.js +1 -1
  663. package/app/.next-cli-build/server/chunks/8469.js +2 -2
  664. package/app/.next-cli-build/server/chunks/8499.js +3 -3
  665. package/app/.next-cli-build/server/chunks/8520.js +2 -2
  666. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  667. package/app/.next-cli-build/server/chunks/8672.js +1 -1
  668. package/app/.next-cli-build/server/chunks/8749.js +4 -4
  669. package/app/.next-cli-build/server/chunks/8775.js +1 -0
  670. package/app/.next-cli-build/server/chunks/8895.js +2 -2
  671. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  672. package/app/.next-cli-build/server/chunks/8972.js +1 -0
  673. package/app/.next-cli-build/server/chunks/9046.js +1 -1
  674. package/app/.next-cli-build/server/chunks/9055.js +1 -1
  675. package/app/.next-cli-build/server/chunks/9154.js +1 -1
  676. package/app/.next-cli-build/server/chunks/9417.js +1 -1
  677. package/app/.next-cli-build/server/chunks/9451.js +2 -2
  678. package/app/.next-cli-build/server/chunks/9489.js +2 -2
  679. package/app/.next-cli-build/server/chunks/9601.js +1 -0
  680. package/app/.next-cli-build/server/chunks/9628.js +1 -1
  681. package/app/.next-cli-build/server/chunks/976.js +2 -2
  682. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  683. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  684. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  685. package/app/.next-cli-build/server/middleware.js +5 -5
  686. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  687. package/app/.next-cli-build/server/pages/404.html +2 -2
  688. package/app/.next-cli-build/server/pages/500.html +1 -1
  689. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  690. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  691. package/app/.next-cli-build/static/XaFYXXaFDzpbuL3LNeL29/_buildManifest.js +1 -0
  692. package/app/.next-cli-build/static/chunks/1243-acdc1dcbfcd9336d.js +3 -0
  693. package/app/.next-cli-build/static/chunks/1321-4faa820be59413ff.js +1 -0
  694. package/app/.next-cli-build/static/chunks/5497-83c412e719fec386.js +7 -0
  695. package/app/.next-cli-build/static/chunks/{6808-7c2c0ea1ee14763c.js → 6808-b0b12958916efbd5.js} +1 -1
  696. package/app/.next-cli-build/static/chunks/{8720-f1b68ba6d347a434.js → 8720-a2aa5581184c3985.js} +1 -1
  697. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/page-19458cb592a41b79.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-de760afb83419302.js → page-bce04d7851a6bf65.js} +14 -9
  699. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-7a5d36237ec6b40e.js → page-bbde3be24400b162.js} +1 -1
  700. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-ceb259d31ded818a.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-4db11950e50a00bf.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-cefb3cbfe469dd51.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/_global-error/page-a5b1358c4ce45a48.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-a5b1358c4ce45a48.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-a5b1358c4ce45a48.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-a5b1358c4ce45a48.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-a5b1358c4ce45a48.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-a5b1358c4ce45a48.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-a5b1358c4ce45a48.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-a5b1358c4ce45a48.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-a5b1358c4ce45a48.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-a5b1358c4ce45a48.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-a5b1358c4ce45a48.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-a5b1358c4ce45a48.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-a5b1358c4ce45a48.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-a5b1358c4ce45a48.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-a5b1358c4ce45a48.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-a5b1358c4ce45a48.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-a5b1358c4ce45a48.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-a5b1358c4ce45a48.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-a5b1358c4ce45a48.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-a5b1358c4ce45a48.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-a5b1358c4ce45a48.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-a5b1358c4ce45a48.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a5b1358c4ce45a48.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a5b1358c4ce45a48.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-a5b1358c4ce45a48.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-a5b1358c4ce45a48.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-a5b1358c4ce45a48.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-a5b1358c4ce45a48.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-a5b1358c4ce45a48.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-a5b1358c4ce45a48.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-a5b1358c4ce45a48.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-a5b1358c4ce45a48.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-a5b1358c4ce45a48.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-a5b1358c4ce45a48.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-a5b1358c4ce45a48.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/combos/route-a5b1358c4ce45a48.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/external-quota/[source]/route-a5b1358c4ce45a48.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/gateway-probe/route-a5b1358c4ce45a48.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-a5b1358c4ce45a48.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-a5b1358c4ce45a48.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-a5b1358c4ce45a48.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-a5b1358c4ce45a48.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-a5b1358c4ce45a48.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-a5b1358c4ce45a48.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/health/route-a5b1358c4ce45a48.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/init/route-a5b1358c4ce45a48.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-a5b1358c4ce45a48.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-a5b1358c4ce45a48.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/keys/route-a5b1358c4ce45a48.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/locale/route-a5b1358c4ce45a48.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-a5b1358c4ce45a48.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-a5b1358c4ce45a48.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a5b1358c4ce45a48.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a5b1358c4ce45a48.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-a5b1358c4ce45a48.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-a5b1358c4ce45a48.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-a5b1358c4ce45a48.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-a5b1358c4ce45a48.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-a5b1358c4ce45a48.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-a5b1358c4ce45a48.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-a5b1358c4ce45a48.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-a5b1358c4ce45a48.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-a5b1358c4ce45a48.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/models/route-a5b1358c4ce45a48.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/models/test/route-a5b1358c4ce45a48.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-a5b1358c4ce45a48.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-a5b1358c4ce45a48.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-a5b1358c4ce45a48.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-a5b1358c4ce45a48.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-a5b1358c4ce45a48.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-a5b1358c4ce45a48.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-a5b1358c4ce45a48.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-a5b1358c4ce45a48.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-a5b1358c4ce45a48.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-a5b1358c4ce45a48.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-a5b1358c4ce45a48.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-a5b1358c4ce45a48.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-a5b1358c4ce45a48.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-a5b1358c4ce45a48.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-a5b1358c4ce45a48.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-a5b1358c4ce45a48.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-a5b1358c4ce45a48.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-a5b1358c4ce45a48.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-a5b1358c4ce45a48.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-a5b1358c4ce45a48.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-a5b1358c4ce45a48.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-a5b1358c4ce45a48.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-a5b1358c4ce45a48.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-a5b1358c4ce45a48.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-a5b1358c4ce45a48.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-a5b1358c4ce45a48.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-a5b1358c4ce45a48.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/pricing/route-a5b1358c4ce45a48.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-a5b1358c4ce45a48.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-a5b1358c4ce45a48.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-a5b1358c4ce45a48.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-a5b1358c4ce45a48.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-a5b1358c4ce45a48.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-a5b1358c4ce45a48.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-a5b1358c4ce45a48.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-a5b1358c4ce45a48.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-a5b1358c4ce45a48.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/providers/route-a5b1358c4ce45a48.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-a5b1358c4ce45a48.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-a5b1358c4ce45a48.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-a5b1358c4ce45a48.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-a5b1358c4ce45a48.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-a5b1358c4ce45a48.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a5b1358c4ce45a48.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-a5b1358c4ce45a48.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-a5b1358c4ce45a48.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-a5b1358c4ce45a48.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-a5b1358c4ce45a48.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-a5b1358c4ce45a48.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-a5b1358c4ce45a48.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-a5b1358c4ce45a48.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-a5b1358c4ce45a48.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-a5b1358c4ce45a48.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-a5b1358c4ce45a48.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-a5b1358c4ce45a48.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/security/status/route-a5b1358c4ce45a48.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-a5b1358c4ce45a48.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-a5b1358c4ce45a48.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-a5b1358c4ce45a48.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-a5b1358c4ce45a48.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/settings/route-a5b1358c4ce45a48.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-a5b1358c4ce45a48.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/tags/route-a5b1358c4ce45a48.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-a5b1358c4ce45a48.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-a5b1358c4ce45a48.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-a5b1358c4ce45a48.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-a5b1358c4ce45a48.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-a5b1358c4ce45a48.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-a5b1358c4ce45a48.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-a5b1358c4ce45a48.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-a5b1358c4ce45a48.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-a5b1358c4ce45a48.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-a5b1358c4ce45a48.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-a5b1358c4ce45a48.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-a5b1358c4ce45a48.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-a5b1358c4ce45a48.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-a5b1358c4ce45a48.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-a5b1358c4ce45a48.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-a5b1358c4ce45a48.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-a5b1358c4ce45a48.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-a5b1358c4ce45a48.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-a5b1358c4ce45a48.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-a5b1358c4ce45a48.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-a5b1358c4ce45a48.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-a5b1358c4ce45a48.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-a5b1358c4ce45a48.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-a5b1358c4ce45a48.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-a5b1358c4ce45a48.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-a5b1358c4ce45a48.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-a5b1358c4ce45a48.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-a5b1358c4ce45a48.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-a5b1358c4ce45a48.js +1 -0
  860. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-a5b1358c4ce45a48.js +1 -0
  861. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-a5b1358c4ce45a48.js +1 -0
  862. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-a5b1358c4ce45a48.js +1 -0
  863. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-a5b1358c4ce45a48.js +1 -0
  864. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-a5b1358c4ce45a48.js +1 -0
  865. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-a5b1358c4ce45a48.js +1 -0
  866. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-a5b1358c4ce45a48.js +1 -0
  867. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-a5b1358c4ce45a48.js +1 -0
  868. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-a5b1358c4ce45a48.js +1 -0
  869. package/app/.next-cli-build/static/chunks/app/api/v1/rerank/route-a5b1358c4ce45a48.js +1 -0
  870. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-a5b1358c4ce45a48.js +1 -0
  871. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-a5b1358c4ce45a48.js +1 -0
  872. package/app/.next-cli-build/static/chunks/app/api/v1/route-a5b1358c4ce45a48.js +1 -0
  873. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-a5b1358c4ce45a48.js +1 -0
  874. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-a5b1358c4ce45a48.js +1 -0
  875. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-a5b1358c4ce45a48.js +1 -0
  876. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-a5b1358c4ce45a48.js +1 -0
  877. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-a5b1358c4ce45a48.js +1 -0
  878. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-a5b1358c4ce45a48.js +1 -0
  879. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-a5b1358c4ce45a48.js +1 -0
  880. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-a5b1358c4ce45a48.js +1 -0
  881. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-a5b1358c4ce45a48.js +1 -0
  882. package/app/.next-cli-build/static/chunks/app/api/version/route-a5b1358c4ce45a48.js +1 -0
  883. package/app/.next-cli-build/static/chunks/app/api/version/shell-update/route-a5b1358c4ce45a48.js +1 -0
  884. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-a5b1358c4ce45a48.js +1 -0
  885. package/app/.next-cli-build/static/chunks/app/api/version/update/route-a5b1358c4ce45a48.js +1 -0
  886. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-227586f513028910.js +1 -0
  887. package/app/.next-cli-build/static/chunks/app/landing/page-38924391f8649361.js +1 -0
  888. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-a5b1358c4ce45a48.js +1 -0
  889. package/app/.next-cli-build/static/chunks/app/page-a5b1358c4ce45a48.js +1 -0
  890. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-a5b1358c4ce45a48.js +1 -0
  891. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-a5b1358c4ce45a48.js +1 -0
  892. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-a5b1358c4ce45a48.js +1 -0
  893. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-a5b1358c4ce45a48.js +1 -0
  894. package/app/.next-cli-build/static/chunks/{webpack-1adc95943fa90500.js → webpack-f1d5e73ffd2bfb73.js} +1 -1
  895. package/app/.next-cli-build/static/css/{7a3e1568f247f3d0.css → 50fcf2faa21a2f51.css} +1 -1
  896. package/app/.next-cli-build/static/css/c9904b0ff2f0d4da.css +1 -0
  897. package/app/custom-server.js +46 -0
  898. package/app/package.json +71 -71
  899. package/app/public/i18n/changelog/en.md +22 -0
  900. package/app/public/i18n/changelog/zh-CN.md +22 -0
  901. package/app/public/i18n/changelog/zh-TW.md +22 -0
  902. package/app/public/i18n/literals/zh-CN.json +23 -5
  903. package/app/public/i18n/literals/zh-TW.json +24 -5
  904. package/app/public/providers/codiv.png +0 -0
  905. package/app/public/providers/minimax-code-global.png +0 -0
  906. package/app/public/providers/minimax-code.png +0 -0
  907. package/app/public/providers/modelscope.png +0 -0
  908. package/app/public/providers/river.png +0 -0
  909. package/app/public/providers/thx.png +0 -0
  910. package/package.json +61 -61
  911. package/app/.next-cli-build/server/chunks/2120.js +0 -1
  912. package/app/.next-cli-build/server/chunks/2468.js +0 -1
  913. package/app/.next-cli-build/server/chunks/2752.js +0 -1
  914. package/app/.next-cli-build/server/chunks/2978.js +0 -1
  915. package/app/.next-cli-build/server/chunks/3659.js +0 -1
  916. package/app/.next-cli-build/server/chunks/4886.js +0 -1
  917. package/app/.next-cli-build/server/chunks/682.js +0 -1
  918. package/app/.next-cli-build/server/chunks/8675.js +0 -1
  919. package/app/.next-cli-build/server/chunks/9713.js +0 -1
  920. package/app/.next-cli-build/static/MH4bXJmhiPfMG7orS09FV/_buildManifest.js +0 -1
  921. package/app/.next-cli-build/static/chunks/1243-64d16638d3aac467.js +0 -3
  922. package/app/.next-cli-build/static/chunks/1321-1ad989ddb9bd4822.js +0 -1
  923. package/app/.next-cli-build/static/chunks/5497-a519f837339f7d19.js +0 -7
  924. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/experimental/page-2df49dc3be3c6b7d.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-96c6e23fdaedd167.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-e0183e527ccc2c9b.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-528e2bc2a1bb20da.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/_global-error/page-7a2b8ef7454a1a22.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-7a2b8ef7454a1a22.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-7a2b8ef7454a1a22.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-7a2b8ef7454a1a22.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-7a2b8ef7454a1a22.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-7a2b8ef7454a1a22.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-7a2b8ef7454a1a22.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-7a2b8ef7454a1a22.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-7a2b8ef7454a1a22.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-7a2b8ef7454a1a22.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-7a2b8ef7454a1a22.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-7a2b8ef7454a1a22.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/auth/verify-password/route-7a2b8ef7454a1a22.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-7a2b8ef7454a1a22.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7a2b8ef7454a1a22.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-7a2b8ef7454a1a22.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-profiles/route-7a2b8ef7454a1a22.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-7a2b8ef7454a1a22.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-7a2b8ef7454a1a22.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-7a2b8ef7454a1a22.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-7a2b8ef7454a1a22.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-7a2b8ef7454a1a22.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-7a2b8ef7454a1a22.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-7a2b8ef7454a1a22.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-7a2b8ef7454a1a22.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-7a2b8ef7454a1a22.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-7a2b8ef7454a1a22.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-7a2b8ef7454a1a22.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-7a2b8ef7454a1a22.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-7a2b8ef7454a1a22.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-7a2b8ef7454a1a22.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-7a2b8ef7454a1a22.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-7a2b8ef7454a1a22.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-7a2b8ef7454a1a22.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-7a2b8ef7454a1a22.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/combos/route-7a2b8ef7454a1a22.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/gateway-probe/route-7a2b8ef7454a1a22.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-7a2b8ef7454a1a22.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-7a2b8ef7454a1a22.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-7a2b8ef7454a1a22.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-7a2b8ef7454a1a22.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-7a2b8ef7454a1a22.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-7a2b8ef7454a1a22.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/health/route-7a2b8ef7454a1a22.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/init/route-7a2b8ef7454a1a22.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-7a2b8ef7454a1a22.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/keys/rotate/route-7a2b8ef7454a1a22.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/keys/route-7a2b8ef7454a1a22.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/locale/route-7a2b8ef7454a1a22.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-7a2b8ef7454a1a22.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-7a2b8ef7454a1a22.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-7a2b8ef7454a1a22.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-7a2b8ef7454a1a22.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-7a2b8ef7454a1a22.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-7a2b8ef7454a1a22.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-7a2b8ef7454a1a22.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-7a2b8ef7454a1a22.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-7a2b8ef7454a1a22.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/models/caps/route-7a2b8ef7454a1a22.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/models/custom/bulk/route-7a2b8ef7454a1a22.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-7a2b8ef7454a1a22.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-7a2b8ef7454a1a22.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/models/route-7a2b8ef7454a1a22.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/models/test/route-7a2b8ef7454a1a22.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/network/egress-region/route-7a2b8ef7454a1a22.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-7a2b8ef7454a1a22.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-7a2b8ef7454a1a22.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/checkin/route-7a2b8ef7454a1a22.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/export/route-7a2b8ef7454a1a22.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-7a2b8ef7454a1a22.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-7a2b8ef7454a1a22.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-7a2b8ef7454a1a22.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-7a2b8ef7454a1a22.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-7a2b8ef7454a1a22.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-7a2b8ef7454a1a22.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-7a2b8ef7454a1a22.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-7a2b8ef7454a1a22.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-7a2b8ef7454a1a22.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-7a2b8ef7454a1a22.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-7a2b8ef7454a1a22.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-7a2b8ef7454a1a22.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder/checkin/route-7a2b8ef7454a1a22.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/oauth/qoder-cn/checkin/route-7a2b8ef7454a1a22.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/export/route-7a2b8ef7454a1a22.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/oauth/transfer/import/route-7a2b8ef7454a1a22.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-7a2b8ef7454a1a22.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-7a2b8ef7454a1a22.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-kill/route-7a2b8ef7454a1a22.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/desktop-status/route-7a2b8ef7454a1a22.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-7a2b8ef7454a1a22.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-7a2b8ef7454a1a22.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/pricing/route-7a2b8ef7454a1a22.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-7a2b8ef7454a1a22.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-7a2b8ef7454a1a22.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-7a2b8ef7454a1a22.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-7a2b8ef7454a1a22.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-7a2b8ef7454a1a22.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-7a2b8ef7454a1a22.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-7a2b8ef7454a1a22.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-7a2b8ef7454a1a22.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-7a2b8ef7454a1a22.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/providers/route-7a2b8ef7454a1a22.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-7a2b8ef7454a1a22.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-7a2b8ef7454a1a22.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-7a2b8ef7454a1a22.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-7a2b8ef7454a1a22.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-7a2b8ef7454a1a22.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-7a2b8ef7454a1a22.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-7a2b8ef7454a1a22.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-7a2b8ef7454a1a22.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-7a2b8ef7454a1a22.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-7a2b8ef7454a1a22.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-7a2b8ef7454a1a22.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-7a2b8ef7454a1a22.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-7a2b8ef7454a1a22.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-7a2b8ef7454a1a22.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-7a2b8ef7454a1a22.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-7a2b8ef7454a1a22.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-7a2b8ef7454a1a22.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/security/status/route-7a2b8ef7454a1a22.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/settings/database/import-usage/route-7a2b8ef7454a1a22.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-7a2b8ef7454a1a22.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-7a2b8ef7454a1a22.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-7a2b8ef7454a1a22.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/settings/route-7a2b8ef7454a1a22.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-7a2b8ef7454a1a22.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/tags/route-7a2b8ef7454a1a22.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-7a2b8ef7454a1a22.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-7a2b8ef7454a1a22.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-7a2b8ef7454a1a22.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-7a2b8ef7454a1a22.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-7a2b8ef7454a1a22.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-7a2b8ef7454a1a22.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-7a2b8ef7454a1a22.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-7a2b8ef7454a1a22.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-7a2b8ef7454a1a22.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-7a2b8ef7454a1a22.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-7a2b8ef7454a1a22.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-7a2b8ef7454a1a22.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-7a2b8ef7454a1a22.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-7a2b8ef7454a1a22.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-7a2b8ef7454a1a22.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-7a2b8ef7454a1a22.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-7a2b8ef7454a1a22.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/usage/dashboard/route-7a2b8ef7454a1a22.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-7a2b8ef7454a1a22.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-7a2b8ef7454a1a22.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-7a2b8ef7454a1a22.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/usage/quotas/route-7a2b8ef7454a1a22.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-7a2b8ef7454a1a22.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-7a2b8ef7454a1a22.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-7a2b8ef7454a1a22.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-7a2b8ef7454a1a22.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-7a2b8ef7454a1a22.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-7a2b8ef7454a1a22.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-7a2b8ef7454a1a22.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-7a2b8ef7454a1a22.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-7a2b8ef7454a1a22.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-7a2b8ef7454a1a22.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-7a2b8ef7454a1a22.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-7a2b8ef7454a1a22.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-7a2b8ef7454a1a22.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-7a2b8ef7454a1a22.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-7a2b8ef7454a1a22.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-7a2b8ef7454a1a22.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-7a2b8ef7454a1a22.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-7a2b8ef7454a1a22.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/v1/route-7a2b8ef7454a1a22.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-7a2b8ef7454a1a22.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-7a2b8ef7454a1a22.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-7a2b8ef7454a1a22.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-7a2b8ef7454a1a22.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-7a2b8ef7454a1a22.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-7a2b8ef7454a1a22.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-7a2b8ef7454a1a22.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-7a2b8ef7454a1a22.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-7a2b8ef7454a1a22.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/version/route-7a2b8ef7454a1a22.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/version/shell-update/route-7a2b8ef7454a1a22.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-7a2b8ef7454a1a22.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/version/update/route-7a2b8ef7454a1a22.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-3659ea13d950adc1.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/landing/page-01cca10383327c01.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-7a2b8ef7454a1a22.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/page-7a2b8ef7454a1a22.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-7a2b8ef7454a1a22.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-7a2b8ef7454a1a22.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-7a2b8ef7454a1a22.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-7a2b8ef7454a1a22.js +0 -1
  1117. package/app/.next-cli-build/static/css/66cb1d1c16ed3a27.css +0 -1
  1118. /package/app/.next-cli-build/static/{MH4bXJmhiPfMG7orS09FV → XaFYXXaFDzpbuL3LNeL29}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  (()=>{var a={};a.id=8929,a.ids=[8929],a.modules={1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},2071:(a,b,c)=>{"use strict";c.d(b,{E:()=>i});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(31421);function i(a){if(a){if("win32"===process.platform){try{let b=[process.env.USERDOMAIN,process.env.USERNAME].filter(Boolean).join("\\")||g().userInfo().username;(0,h.execFileSync)("icacls",[a,"/inheritance:r","/grant:r",`${b}:(F)`],{stdio:"ignore",windowsHide:!0})}catch(b){console.warn(`⚠️ Could not restrict ACLs on ${a}: ${b.message}`)}return}try{e().chmodSync(a,384)}catch(b){console.warn(`⚠️ Could not restrict permissions on ${a}: ${b.message}`)}}}},2258:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={INSTANT_SLOT_MARKER_PREFIX:function(){return f},INSTANT_SLOT_MARKER_SUFFIX:function(){return g},INSTANT_VALIDATION_BOUNDARY_NAME:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_instant_validation_boundary__",f="__next_instant_slot_",g="__"},2886:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},3144:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),d=c(8582),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4522:(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}})},4945:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(11042),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},6062:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isAbortError:function(){return k},pipeNodeReadableToNodeResponse:function(){return n},pipeToNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(88450),g=c(59841),h=c(12726),i=c(88026),j=c(97757);function k(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===f.ResponseAbortedName}let l="performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX;async function m(a,b,c){try{let{errored:d,destroyed:e}=b;if(d||e)return;let k=(0,f.createAbortController)(b),m=function(a,b){let c=!1,d=new g.DetachedPromise;function e(){d.resolve()}a.on("drain",e),a.once("close",()=>{a.off("drain",e),d.resolve()});let f=new g.DetachedPromise;return a.once("finish",()=>{f.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,l){let a=(0,j.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new g.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),f.promise}})}(b,c);await a.pipeTo(m,{signal:k.signal})}catch(a){if(k(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}async function n(a,b,c){try{let{errored:d,destroyed:e}=b;if(d||e)return;let f=!1,l=new g.DetachedPromise;b.once("close",()=>{a.destroy(),l.resolve()}),a.on("data",c=>{if(!f){if(f=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,j.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}b.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}let d=b.write(c);"flush"in b&&"function"==typeof b.flush&&b.flush(),d||(a.pause(),b.once("drain",()=>{a.resume()}))}),a.on("end",async()=>{c&&await c,b.writableFinished||b.end(),l.resolve()}),a.on("error",a=>{k(a)||b.destroy(a),l.resolve()}),await l.promise}catch(a){if(k(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},6365:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(22697),e=c(86013);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(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)},6492:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),HEAD:new Uint8Array([60,104,101,97,100]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},6796:(a,b,c)=>{"use strict";a.exports=c(10846)},6872:(a,b)=>{"use strict";function c(a){return"1"===a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isRSCRequestHeader",{enumerable:!0,get:function(){return c}})},6892:(a,b)=>{"use strict";function c(a){return a.replace(/(?:\/index)?\/?$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"toRoute",{enumerable:!0,get:function(){return c}})},7039: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})()},7125:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return h}});let d=c(27048),e=c(6062),f=c(42776);function g(a){return null!==a&&"object"==typeof a&&"function"==typeof a.pipe&&"function"==typeof a.on&&!(a instanceof ReadableStream)}class h{static #a=this.EMPTY=new h(null,{metadata:{},contentType:null});static fromStatic(a,b){return new h(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):g(this.response)?require("node:stream").Readable.toWeb(this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:g(this.response)?[require("node:stream").Readable.toWeb(this.response)]:[this.response]}pipeThrough(a){this.response=this.readable.pipeThrough(a)}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){null!==this.response&&"string"!=typeof this.response&&!Buffer.isBuffer(this.response)&&!Array.isArray(this.response)&&g(this.response)?await (0,e.pipeNodeReadableToNodeResponse)(this.response,a,this.waitUntil):await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},7370:(a,b)=>{"use strict";function c(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getEdgePreviewProps",{enumerable:!0,get:function(){return c}})},7465:a=>{"use strict";a.exports=require("next/dist/server/lib/router-utils/instrumentation-globals.external")},7597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createTieredCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(29294),e=c(33163);function f(a,b){let c=new Map;function f(a,b){let e,f=c.get(a);e=(e=f?f.then(b):b()).finally(()=>{c.get(a)===e&&c.delete(a)}),c.set(a,e);let g=d.workAsyncStorage.getStore();g&&(g.pendingRevalidateWrites??=[],g.pendingRevalidateWrites.push(e))}return{async get(c,d){let i=await a.get(c,d);if(i)return f(c,()=>g(a,b,c,d,i)),i;let j=await b.get(c,d);if(!j)return;let[k,l]=(0,e.cloneCacheEntry)(j);return f(c,()=>h(a,c,l)),k},async set(c,d){let f=await d,[g,h]=(0,e.cloneCacheEntry)(f);await Promise.all([a.set(c,Promise.resolve(g)),b.set(c,Promise.resolve(h))])}}}async function g(a,b,c,d,e){try{let f=await b.get(c,d);if(!f)return void await a.set(c,Promise.resolve({...e,expire:-1,value:new ReadableStream({start(a){a.enqueue(new Uint8Array(1)),a.close()}})}));f.timestamp>e.timestamp?await a.set(c,Promise.resolve(f)):f.value.cancel()}catch{}}async function h(a,b,c){try{await a.set(b,Promise.resolve(c))}catch{}}},7841:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>n,KQ:()=>k,Or:()=>m,Rf:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(72045);let i=e().join(h.nJ,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l=e().join(h.nJ,"runtime"),m=Object.fromEntries(Object.entries(h.jL).map(([a,b])=>[a,e().join(h.nJ,b)]));function n(){for(let a of[h.nJ,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},8007:(a,b,c)=>{"use strict";function d(a){return function(){let{cookie:b}=a;if(!b)return{};let{parse:d}=c(19560);return d(Array.isArray(b)?b.join("; "):b)}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCookieParser",{enumerable:!0,get:function(){return d}})},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return f}});let d=c(29294),e=c(63033);function f(a){let b=d.workAsyncStorage.getStore(),c=e.workUnitAsyncStorage.getStore();if(!b||!c)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:f}=b;return f.after(a,c)}},8912:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return af},Postpone:function(){return H},PreludeState:function(){return am},abortAndThrowOnSynchronousRequestDataAccess:function(){return G},abortOnSynchronousPlatformIOAccess:function(){return F},accessedDynamicData:function(){return P},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return Q},createDynamicTrackingState:function(){return x},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return T},createInstantValidationState:function(){return ag},createRenderInBrowserAbortSignal:function(){return S},formatDynamicAPIAccesses:function(){return R},getFirstDynamicReason:function(){return A},getNavigationDisallowedDynamicReasons:function(){return ar},getStaticShellDisallowedDynamicReasons:function(){return aq},isDynamicPostpone:function(){return K},isPrerenderInterruptedError:function(){return O},logDisallowedDynamicError:function(){return an},markCurrentScopeAsDynamic:function(){return B},postponeWithTracking:function(){return I},throwIfDisallowedDynamic:function(){return ap},throwIfSyncIOUsed:function(){return ao},throwToInterruptStaticGeneration:function(){return C},trackAllowedDynamicAccess:function(){return ae},trackDynamicDataInDynamicRender:function(){return D},trackDynamicHoleInNavigation:function(){return ah},trackDynamicHoleInRuntimeShell:function(){return aj},trackDynamicHoleInStaticShell:function(){return ak},trackThrownErrorInNavigation:function(){return ai},useDynamicRouteParams:function(){return W},useDynamicSearchParams:function(){return X}};for(var h in g)Object.defineProperty(b,h,{enumerable:!0,get:g[h]});let i=(d=c(34539))&&d.__esModule?d:{default:d},j=c(89198),k=c(49540),l=c(63033),m=c(29294),n=c(80311),o=c(50158),p=c(28704),q=c(69545),r=c(38742),s=c(42776),t=c(2258),u=c(77150),v=c(82745),w="function"==typeof i.default.unstable_postpone;function x(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function z(a){return a.syncDynamicErrorWithStackPostMicrotask?null:a.syncDynamicErrorWithStack}function A(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function B(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return I(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function C(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function D(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function E(a,b,c){let d=N(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function F(a,b,c,d){let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c,queueMicrotask(()=>{e.syncDynamicErrorWithStackPostMicrotask=!0})),E(a,b,d)}function G(a,b,c,d){if((0,n.trackRuntimeDataAccessed)(d),!1===d.controller.signal.aborted){E(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw N(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function H({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();I(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function I(a,b,c){(function(){if(!w)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(J(a,b))}function J(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function K(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&L(a.message)}function L(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===L(J("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let M="NEXT_PRERENDER_INTERRUPTED";function N(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=M,b}function O(a){return"object"==typeof a&&null!==a&&a.digest===M&&"name"in a&&"message"in a&&a instanceof Error}function P(a){return a.length>0}function Q(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function R(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
- ${b}`))}function S(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function T(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,l.getStagedRenderingController)(a);c&&null!==c.finalStage?c.waitForStage(c.finalStage).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()),U):(0,p.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function U(){}function V(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function W(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break}case"prerender":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return I(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function X(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let Y=/\n\s+at Suspense \(<anonymous>\)/,Z=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),$=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),_=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),aa=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),ab=RegExp(`\\n\\s+at ${t.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),ac=RegExp(`\\n\\s+at ${t.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${t.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function ad(a,b){Z.test(a)&&(b.hasSuspenseAboveBody=!0)}function ae(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.hasDynamicMetadata=!0;return}if(_.test(c)){d.hasDynamicViewport=!0;return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicOrRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}var af=((e={})[e.Link=1]="Link",e[e.Runtime=2]="Runtime",e[e.Dynamic=3]="Dynamic",e);function ag(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:a}}function ah(a,b,c,d,e,f,g){let h=z(e);if(aa.test(c))return;let i=function(a,b){let{slotStacks:c}=b;if(c.length>1){let b=ac.exec(a);if(b){let a=c[parseInt(b[1],10)+1];if(null!=a)return a}}return c[0]??null}(c,d);if($.test(c)){d.dynamicMetadata=al(1===f?(0,r.createLinkMetadataError)(b.route):2===f?(0,r.createRuntimeMetadataError)(b.route):(0,r.createDynamicMetadataError)(b.route),c,i);return}if(_.test(c)){let a=al(1===f?(0,r.createLinkViewportError)(b.route):2===f?(0,r.createRuntimeViewportError)(b.route):(0,r.createDynamicViewportError)(b.route),c,i);d.dynamicErrors.push(a);return}let j=ab.exec(c);if(j){let a=Y.exec(c);if(a&&a.index<j.index){d.hasAllowedDynamic=!0;return}}else if((0,u.allRequiredBoundariesRendered)(g)){d.hasAllowedClientDynamicAboveBoundary=!0,d.hasAllowedDynamic=!0;return}else{let a=al(Object.defineProperty(Error(`Route "${b.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),c,i);d.validationPreventingErrors.push(a);return}if(h){null!==i&&void 0===h.cause&&(h.cause=i()),d.dynamicErrors.push(h);return}if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,i));let k=al(1===f?(0,r.createLinkBodyErrorInNavigation)(b.route):2===f?(0,r.createRuntimeBodyErrorInNavigation)(b.route):(0,r.createDynamicBodyErrorInNavigation)(b.route),c,i);d.dynamicErrors.push(k)}function ai(a,b,c,d){let e=ab.exec(d);if(e){let f=Y.exec(d);if(f&&f.index<e.index)return;let g=al(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=al(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function aj(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createDynamicMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createDynamicViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function ak(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createRuntimeMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createRuntimeViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function al(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var am=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function an(a,b){console.error(b),(0,r.logBuildDebugHint)(a.route)}function ao(a,b){if(b.syncDynamicErrorWithStack)throw an(a,b.syncDynamicErrorWithStack),new k.StaticGenBailoutError}function ap(a,b,c,d,e){if(ao(a,d),0===b&&!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error((0,r.createDynamicOrRuntimeMetadataError)(a.route).message),new k.StaticGenBailoutError;if(!e&&!c.hasSuspenseAboveBody&&0!==b){let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)an(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error((0,r.createDynamicOrRuntimeViewportError)(a.route).message),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}}function aq(a,b,c,d){if(0===b&&!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new s.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ar(a,b,c,d,e,f){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:g}=c;if(g.length>0)return g;if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b&&!c.hasAllowedClientDynamicAboveBoundary&&(0,u.allRequiredBoundariesRendered)(e))return Object.defineProperty(new s.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}if(!(0,u.allRequiredBoundariesRendered)(e)){let{thrownErrorsOutsideBoundary:b}=c,d=c.slotStacks[0];if(0===b.length){let b=[];for(let[a,c]of e.requiredIds)if(!e.renderedIds.has(a))for(let a of c){let c=a.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");b.push(c)}return b.sort(),(0,v.createUnrenderedSegmentError)(a.route,b)}if(1===b.length){let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,b[0]])}{let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,...b])}}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b,a))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return r},SpanKind:function(){return p},SpanStatusCode:function(){return o},getTracer:function(){return z},isBubbledError:function(){return s}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;function k(){}Symbol.for("@next/local-span-recorder");try{d=c(58930)}catch(a){d=c(58930)}let{context:l,propagation:m,trace:n,SpanStatusCode:o,SpanKind:p,ROOT_CONTEXT:q}=d;class r extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function s(a){return"object"==typeof a&&null!==a&&a instanceof r}let t=(a,b)=>{s(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:o.ERROR,message:null==b?void 0:b.message})),a.end()},u=new Map,v=d.createContextKey("next.rootSpanId"),w=0,x={set(a,b,c){a.push({key:b,value:c})}};class y{getTracerInstance(){return n.getTracer("next.js","0.0.1")}isOpenTelemetryEnabled(){var a,b;let c=n.getSpan(l.active());if(null==c?void 0:c.isRecording())return!0;let d=n.getTracerProvider();return!("getDelegate"in d)||(null==d.getDelegate||null==(b=d.getDelegate.call(d))||null==(a=b.constructor)?void 0:a.name)!=="NoopTracerProvider"}getContext(){return l}getTracePropagationData(){let a=l.active(),b=[];return m.inject(a,b,x),b}getActiveScopeSpan(){let a=k(),b=null==a?void 0:a.getActiveLocalSpan();return b&&(null==a?void 0:a.isOpenTelemetryIsolatedSpan(b))?b:n.getSpan(l.active())}runWithDetachedContext(a){return j||this.isOpenTelemetryEnabled()?l.with(q,a):a()}withPropagatedContext(a,b,c,d=!1){let e=l.active();if(!j&&!this.isOpenTelemetryEnabled()&&!n.getSpanContext(e))return b();if(d){let d=m.extract(q,a,c);if(n.getSpanContext(d))return l.with(d,b);let f=m.extract(e,a,c);return l.with(f,b)}if(n.getSpanContext(e))return b();let f=m.extract(e,a,c);return l.with(f,b)}trace(...a){let[b,c,d]=a,e=!!j||this.isOpenTelemetryEnabled(),f=k(),g=(null==f?void 0:f.isLocalSpanRecordingEnabled())??!1;if(!e&&!g)return"function"==typeof c?c():d();let{fn:m,options:n}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},o=n.spanName??b,p=n.parentSpan??this.getActiveScopeSpan(),r=p&&(null==f?void 0:f.isOpenTelemetryIsolatedSpan(p))?p:void 0,s=!r&&(h.NextVanillaSpanAllowlist.has(b)||"1"===process.env.NEXT_OTEL_VERBOSE);if(!(s||(null==f?void 0:f.isRequestInsightsEnabled()))||n.hideSpan)return m();let x=r?l.active():this.getSpanContext(p);x||(x=(null==l?void 0:l.active())??q);let y=x.getValue(v),z="number"!=typeof y||!u.has(y),A=w++;return n.attributes={"next.span_category":"nextjs","next.span_name":o,"next.span_type":b,...n.attributes},l.with(x.setValue(v,A),()=>this.runWithActiveSpan(o,n,x,e&&s,g,r,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,e=()=>{!d&&(d=!0,u.delete(A),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(z&&u.set(A,new Map(Object.entries(n.attributes??{}))),m.length>1)try{return m(a,b=>{b?t(a,b):a.end()})}catch(b){throw t(a,b),b}finally{e()}try{let b=m(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw t(a,b),b}).finally(e);return a.end(),e(),b}catch(b){throw t(a,b),e(),b}}))}runWithActiveSpan(a,b,c,d,e,f,g){if(d)return this.getTracerInstance().startActiveSpan(a,b,d=>g(e?this.createLocalRecordingSpan(a,b,c,d,f):d));let h=this.createLocalRecordingSpan(a,b,c,void 0,f),i=k();return i.withLocalSpan(h,()=>i.isOpenTelemetryIsolatedSpan(h)?g(h):l.with(n.setSpan(l.active(),h),g,void 0,h))}createLocalRecordingSpan(a,b,c,d,e){let f=(null==e?void 0:e.spanContext())??n.getSpanContext(c),g=null==d?void 0:d.spanContext();return k().createLocalSpan({name:a,attributes:b.attributes,links:b.links,startTime:b.startTime,delegateSpan:d,traceId:(null==g?void 0:g.traceId)??(null==f?void 0:f.traceId),spanId:null==g?void 0:g.spanId,parentSpanId:null==f?void 0:f.spanId,isolateOpenTelemetry:void 0!==e})}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(l.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=c?{...c,attributes:{"next.span_category":"nextjs",...c.attributes}}:{attributes:{"next.span_category":"nextjs"}},e=k(),f=d.parentSpan??this.getActiveScopeSpan(),g=f&&(null==e?void 0:e.isOpenTelemetryIsolatedSpan(f))?f:void 0,h=(g?void 0:this.getSpanContext(f))??l.active();if(!(null==e?void 0:e.isLocalSpanRecordingEnabled()))return this.getTracerInstance().startSpan(b,d,h);let i=!g&&this.isOpenTelemetryEnabled()?this.getTracerInstance().startSpan(b,d,h):void 0;return this.createLocalRecordingSpan(b,d,h,i,g)}getSpanContext(a){return a?n.setSpan(l.active(),a):void 0}getRootSpanAttributes(){let a=l.active().getValue(v);return u.get(a)}setRootSpanAttribute(a,b){let c=l.active().getValue(v),d=u.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=k();return(null==c?void 0:c.isLocalRecordingSpan(a))?c.withLocalSpan(a,()=>c.isOpenTelemetryIsolatedSpan(a)?b():l.with(n.setSpan(l.active(),a),b)):l.with(n.setSpan(l.active(),a),b)}}let z=(e=new y,()=>e)},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("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)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DAILY_LIMIT_MAX:()=>f,createApiKey:()=>k,deleteApiKey:()=>n,getApiKeyById:()=>j,getApiKeyByKey:()=>l,getApiKeys:()=>i,normalizeDailyLimit:()=>g,updateApiKey:()=>m,validateApiKey:()=>o});var d=c(43892),e=c(59339);let f=1e12;function g(a){if(null==a||""===a||!1===a)return null;let b=Math.trunc(Number(a));return!Number.isFinite(b)||b<=0?null:Math.min(b,f)}function h(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,dailyTokenLimit:g(a.dailyTokenLimit),createdAt:a.createdAt}:null}async function i(){return(await (0,e.cK)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(h)}async function j(a){return h((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function k(a,b,f=null){if(!b)throw Error("machineId is required");let h=await (0,e.cK)(),{generateApiKeyWithMachine:i}=await c.e(241).then(c.bind(c,22622)),j=await i(b),l={id:(0,d.A)(),name:a,key:j.key,machineId:b,isActive:!0,dailyTokenLimit:g(f),createdAt:new Date().toISOString()};return h.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, dailyTokenLimit, createdAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[l.id,l.key,l.name,l.machineId,1,l.dailyTokenLimit,l.createdAt]),l}async function l(a){return a?h((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE key = ?",[a])):null}async function m(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let f={...h(e),...b};f.dailyTokenLimit=g(f.dailyTokenLimit),c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ?, dailyTokenLimit = ? WHERE id = ?",[f.key,f.name,f.machineId,+!!f.isActive,f.dailyTokenLimit,a]),d=f}),d}async function n(a){let b=(await (0,e.cK)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function o(a){let b=(await (0,e.cK)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);const c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return k}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776);function k(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&!(0,i.isRequestApiAllowedInCurrentPhase)(b))throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1377",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeDynamicHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return 47===a.charCodeAt(a.length-1)&&a.length>1?a.slice(0,-1):a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(68047);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)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("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)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStore:function(){return p},createRequestStoreForAPI:function(){return o},createRequestStoreForRender:function(){return n},synchronizeMutableCookies:function(){return q}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751),l=new Set([...f.FLIGHT_HEADERS,f.NEXT_REQUEST_ID_HEADER,f.NEXT_HTML_REQUEST_ID_HEADER].map(a=>a.toLowerCase()));function m(a,b){if("x-middleware-set-cookie"in a&&"string"==typeof a["x-middleware-set-cookie"]){let c=a["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function n(a,b,c,d,e,f,g,h,i,j,k,l){return p({phase:"render",headers:a.headers,onUpdateCookies:f??(b?a=>{b.setHeader("Set-Cookie",a)}:void 0),url:c,rootParams:d,implicitTags:e,resumeDataCache:j,previewProps:g,isHmrRefresh:h,serverComponentsHmrCache:i,hmrRefreshHash:l,fallbackParams:k})}function o(a,b,c,d,e,f){return p({phase:"action",headers:a.headers,onUpdateCookies:d,url:b,rootParams:{},implicitTags:c,resumeDataCache:null,previewProps:e,isHmrRefresh:!1,serverComponentsHmrCache:void 0,hmrRefreshHash:f,fallbackParams:null})}function p(a){let{phase:b,headers:c,onUpdateCookies:d,url:e,rootParams:f,implicitTags:k,resumeDataCache:n,previewProps:o,isHmrRefresh:p,serverComponentsHmrCache:q,hmrRefreshHash:r,fallbackParams:s}=a,t={};return{type:"request",phase:b,implicitTags:k,url:{pathname:e.pathname,search:e.search??""},rootParams:f,get headers(){return t.headers||(t.headers=g.HeadersAdapter.seal(g.HeadersAdapter.from(c),l)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(c));m(c,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(value){t.cookies=value},get mutableCookies(){if(!t.mutableCookies){let a,b=(a=new i.RequestCookies(g.HeadersAdapter.from(c)),h.MutableRequestCookiesAdapter.wrap(a,d));m(c,b),t.mutableCookies=b}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,c,this.cookies,this.mutableCookies)),t.draftMode},resumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,hmrRefreshHash:r,fallbackParams:s}}function q(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={CLOSE_TAG:function(){return G},chainStreams:function(){return q},chainTransformers:function(){return K},continueDynamicHTMLResume:function(){return P},continueDynamicPrerender:function(){return M},continueFizzStream:function(){return L},continueStaticFallbackPrerender:function(){return O},continueStaticPrerender:function(){return N},createBufferedTransformStream:function(){return z},createDeferredSuffixStream:function(){return E},createDocumentClosingStream:function(){return Q},createFlightDataInjectionTransformStream:function(){return F},createHeadInsertionTransformStream:function(){return C},createHtmlDataDplIdTransformStream:function(){return I},createMetadataTransformStream:function(){return B},createMoveSuffixStream:function(){return H},createRootLayoutValidatorStream:function(){return J},createRuntimePrefetchTransformStream:function(){return R},nodestreamToUint8Array:function(){return v},renderToInitialFizzStream:function(){return A},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return x},streamToString:function(){return y},streamToUint8Array:function(){return w},webstreamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(59841),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){let b,c=[];for await(let d of a instanceof(b=require("node:stream").Readable)?a:b.fromWeb(a))c.push("string"==typeof d?Buffer.from(d):d);return Buffer.concat(c)}async function w(a){return a instanceof require("node:stream").Readable?v(a):u(a)}async function x(a){return Buffer.concat(await t(a))}async function y(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function z(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=new h.DetachedPromise;b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function A({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function B(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function C(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function D(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})</script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}function E(a){let b,c=!1;return new TransformStream({transform(d,e){if(e.enqueue(d),!c){let d;c=!0,b=d=new h.DetachedPromise,(0,i.scheduleImmediate)(()=>{try{e.enqueue(p.encode(a))}catch{}finally{b=void 0,d.resolve()}})}},flush(d){if(b)return b.promise;c||d.enqueue(p.encode(a))}})}function F(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let G="</body></html>";function H(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function I(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function J(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
2
+ ${b}`))}function S(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function T(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,l.getStagedRenderingController)(a);c&&null!==c.finalStage?c.waitForStage(c.finalStage).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()),U):(0,p.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function U(){}function V(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function W(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break}case"prerender":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return I(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function X(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeClientHookHangingPromise)(c.renderSignal,new n.ClientHookDynamicError(b.route,a)));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new s.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let Y=/\n\s+at Suspense \(<anonymous>\)/,Z=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),$=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),_=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),aa=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),ab=RegExp(`\\n\\s+at ${t.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),ac=RegExp(`\\n\\s+at ${t.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${t.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function ad(a,b){Z.test(a)&&(b.hasSuspenseAboveBody=!0)}function ae(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.hasDynamicMetadata=!0;return}if(_.test(c)){d.hasDynamicViewport=!0;return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicOrRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}var af=((e={})[e.Link=1]="Link",e[e.Runtime=2]="Runtime",e[e.Dynamic=3]="Dynamic",e);function ag(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:a}}function ah(a,b,c,d,e,f,g){let h=z(e);if(aa.test(c))return;let i=function(a,b){let{slotStacks:c}=b;if(c.length>1){let b=ac.exec(a);if(b){let a=c[parseInt(b[1],10)+1];if(null!=a)return a}}return c[0]??null}(c,d);if($.test(c)){d.dynamicMetadata=al(1===f?(0,r.createLinkMetadataError)(b.route):2===f?(0,r.createRuntimeMetadataError)(b.route):(0,r.createDynamicMetadataError)(b.route),c,i);return}if(_.test(c)){let a=al(1===f?(0,r.createLinkViewportError)(b.route):2===f?(0,r.createRuntimeViewportError)(b.route):(0,r.createDynamicViewportError)(b.route),c,i);d.dynamicErrors.push(a);return}let j=ab.exec(c);if(j){let a=Y.exec(c);if(a&&a.index<j.index){d.hasAllowedDynamic=!0;return}}else if((0,u.allRequiredBoundariesRendered)(g)){d.hasAllowedClientDynamicAboveBoundary=!0,d.hasAllowedDynamic=!0;return}else{let a=al(Object.defineProperty(Error(`Route "${b.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),c,i);d.validationPreventingErrors.push(a);return}if(h){null!==i&&void 0===h.cause&&(h.cause=i()),d.dynamicErrors.push(h);return}if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,i));let k=al(1===f?(0,r.createLinkBodyErrorInNavigation)(b.route):2===f?(0,r.createRuntimeBodyErrorInNavigation)(b.route):(0,r.createDynamicBodyErrorInNavigation)(b.route),c,i);d.dynamicErrors.push(k)}function ai(a,b,c,d){let e=ab.exec(d);if(e){let f=Y.exec(d);if(f&&f.index<e.index)return;let g=al(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=al(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function aj(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createDynamicMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createDynamicViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createDynamicBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function ak(a,b,c,d,e){let f=z(e);if(aa.test(c))return void ad(c,d);if($.test(c)){d.dynamicMetadata=al((0,r.createRuntimeMetadataError)(b.route),c,null);return}if(_.test(c)){let a=al((0,r.createRuntimeViewportError)(b.route),c,null);d.dynamicErrors.push(a);return}if(Z.test(c)){d.hasAllowedDynamic=!0,d.hasSuspenseAboveBody=!0;return}if(Y.test(c)){d.hasAllowedDynamic=!0;return}else if(f)return void d.dynamicErrors.push(f);if((0,n.isClientHookDynamicError)(a))return void d.dynamicErrors.push(al(a,c,null));let g=al((0,r.createRuntimeBodyError)(b.route),c,null);d.dynamicErrors.push(g)}function al(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var am=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function an(a,b){console.error(b),(0,r.logBuildDebugHint)(a.route)}function ao(a,b){if(b.syncDynamicErrorWithStack)throw an(a,b.syncDynamicErrorWithStack),new k.StaticGenBailoutError}function ap(a,b,c,d,e){if(ao(a,d),0===b&&!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error((0,r.createDynamicOrRuntimeMetadataError)(a.route).message),new k.StaticGenBailoutError;if(!e&&!c.hasSuspenseAboveBody&&0!==b){let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)an(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error((0,r.createDynamicOrRuntimeViewportError)(a.route).message),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}}function aq(a,b,c,d){if(0===b&&!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new s.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ar(a,b,c,d,e,f){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:g}=c;if(g.length>0)return g;if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b&&!c.hasAllowedClientDynamicAboveBoundary&&(0,u.allRequiredBoundariesRendered)(e))return Object.defineProperty(new s.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}if(!(0,u.allRequiredBoundariesRendered)(e)){let{thrownErrorsOutsideBoundary:b}=c,d=c.slotStacks[0];if(0===b.length){let b=[];for(let[a,c]of e.requiredIds)if(!e.renderedIds.has(a))for(let a of c){let c=a.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");b.push(c)}return b.sort(),(0,v.createUnrenderedSegmentError)(a.route,b)}if(1===b.length){let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,b[0]])}{let c=`Route "${a.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,AggregateError([e,...b])}}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b,a))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return r},SpanKind:function(){return p},SpanStatusCode:function(){return o},getTracer:function(){return z},isBubbledError:function(){return s}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;function k(){}Symbol.for("@next/local-span-recorder");try{d=c(58930)}catch(a){d=c(58930)}let{context:l,propagation:m,trace:n,SpanStatusCode:o,SpanKind:p,ROOT_CONTEXT:q}=d;class r extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function s(a){return"object"==typeof a&&null!==a&&a instanceof r}let t=(a,b)=>{s(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:o.ERROR,message:null==b?void 0:b.message})),a.end()},u=new Map,v=d.createContextKey("next.rootSpanId"),w=0,x={set(a,b,c){a.push({key:b,value:c})}};class y{getTracerInstance(){return n.getTracer("next.js","0.0.1")}isOpenTelemetryEnabled(){var a,b;let c=n.getSpan(l.active());if(null==c?void 0:c.isRecording())return!0;let d=n.getTracerProvider();return!("getDelegate"in d)||(null==d.getDelegate||null==(b=d.getDelegate.call(d))||null==(a=b.constructor)?void 0:a.name)!=="NoopTracerProvider"}getContext(){return l}getTracePropagationData(){let a=l.active(),b=[];return m.inject(a,b,x),b}getActiveScopeSpan(){let a=k(),b=null==a?void 0:a.getActiveLocalSpan();return b&&(null==a?void 0:a.isOpenTelemetryIsolatedSpan(b))?b:n.getSpan(l.active())}runWithDetachedContext(a){return j||this.isOpenTelemetryEnabled()?l.with(q,a):a()}withPropagatedContext(a,b,c,d=!1){let e=l.active();if(!j&&!this.isOpenTelemetryEnabled()&&!n.getSpanContext(e))return b();if(d){let d=m.extract(q,a,c);if(n.getSpanContext(d))return l.with(d,b);let f=m.extract(e,a,c);return l.with(f,b)}if(n.getSpanContext(e))return b();let f=m.extract(e,a,c);return l.with(f,b)}trace(...a){let[b,c,d]=a,e=!!j||this.isOpenTelemetryEnabled(),f=k(),g=(null==f?void 0:f.isLocalSpanRecordingEnabled())??!1;if(!e&&!g)return"function"==typeof c?c():d();let{fn:m,options:n}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},o=n.spanName??b,p=n.parentSpan??this.getActiveScopeSpan(),r=p&&(null==f?void 0:f.isOpenTelemetryIsolatedSpan(p))?p:void 0,s=!r&&(h.NextVanillaSpanAllowlist.has(b)||"1"===process.env.NEXT_OTEL_VERBOSE);if(!(s||(null==f?void 0:f.isRequestInsightsEnabled()))||n.hideSpan)return m();let x=r?l.active():this.getSpanContext(p);x||(x=(null==l?void 0:l.active())??q);let y=x.getValue(v),z="number"!=typeof y||!u.has(y),A=w++;return n.attributes={"next.span_category":"nextjs","next.span_name":o,"next.span_type":b,...n.attributes},l.with(x.setValue(v,A),()=>this.runWithActiveSpan(o,n,x,e&&s,g,r,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,e=()=>{!d&&(d=!0,u.delete(A),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(z&&u.set(A,new Map(Object.entries(n.attributes??{}))),m.length>1)try{return m(a,b=>{b?t(a,b):a.end()})}catch(b){throw t(a,b),b}finally{e()}try{let b=m(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw t(a,b),b}).finally(e);return a.end(),e(),b}catch(b){throw t(a,b),e(),b}}))}runWithActiveSpan(a,b,c,d,e,f,g){if(d)return this.getTracerInstance().startActiveSpan(a,b,d=>g(e?this.createLocalRecordingSpan(a,b,c,d,f):d));let h=this.createLocalRecordingSpan(a,b,c,void 0,f),i=k();return i.withLocalSpan(h,()=>i.isOpenTelemetryIsolatedSpan(h)?g(h):l.with(n.setSpan(l.active(),h),g,void 0,h))}createLocalRecordingSpan(a,b,c,d,e){let f=(null==e?void 0:e.spanContext())??n.getSpanContext(c),g=null==d?void 0:d.spanContext();return k().createLocalSpan({name:a,attributes:b.attributes,links:b.links,startTime:b.startTime,delegateSpan:d,traceId:(null==g?void 0:g.traceId)??(null==f?void 0:f.traceId),spanId:null==g?void 0:g.spanId,parentSpanId:null==f?void 0:f.spanId,isolateOpenTelemetry:void 0!==e})}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(l.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=c?{...c,attributes:{"next.span_category":"nextjs",...c.attributes}}:{attributes:{"next.span_category":"nextjs"}},e=k(),f=d.parentSpan??this.getActiveScopeSpan(),g=f&&(null==e?void 0:e.isOpenTelemetryIsolatedSpan(f))?f:void 0,h=(g?void 0:this.getSpanContext(f))??l.active();if(!(null==e?void 0:e.isLocalSpanRecordingEnabled()))return this.getTracerInstance().startSpan(b,d,h);let i=!g&&this.isOpenTelemetryEnabled()?this.getTracerInstance().startSpan(b,d,h):void 0;return this.createLocalRecordingSpan(b,d,h,i,g)}getSpanContext(a){return a?n.setSpan(l.active(),a):void 0}getRootSpanAttributes(){let a=l.active().getValue(v);return u.get(a)}setRootSpanAttribute(a,b){let c=l.active().getValue(v),d=u.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=k();return(null==c?void 0:c.isLocalRecordingSpan(a))?c.withLocalSpan(a,()=>c.isOpenTelemetryIsolatedSpan(a)?b():l.with(n.setSpan(l.active(),a),b)):l.with(n.setSpan(l.active(),a),b)}}let z=(e=new y,()=>e)},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("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)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DAILY_LIMIT_MAX:()=>g,createApiKey:()=>m,deleteApiKey:()=>p,getApiKeyById:()=>l,getApiKeyByKey:()=>n,getApiKeys:()=>k,normalizeDailyLimit:()=>h,normalizeWhitelist:()=>i,updateApiKey:()=>o,validateApiKey:()=>q});var d=c(43892),e=c(59339),f=c(33323);let g=1e12;function h(a){if(null==a||""===a||!1===a)return null;let b=Math.trunc(Number(a));return!Number.isFinite(b)||b<=0?null:Math.min(b,g)}function i(a){if(!Array.isArray(a))return null;let b=Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)));return b.length>0?b:null}function j(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive||!0===a.isActive,dailyTokenLimit:h(a.dailyTokenLimit),allowedModels:i((0,f.q)(a.allowedModels,null)),allowedCombos:i((0,f.q)(a.allowedCombos,null)),createdAt:a.createdAt}:null}async function k(){return(await (0,e.cK)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(j)}async function l(a){return j((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function m(a,b,g=null,j=null,k=null){if(!b)throw Error("machineId is required");let l=await (0,e.cK)(),{generateApiKeyWithMachine:n}=await c.e(241).then(c.bind(c,22622)),o=await n(b),p=i(j),q=i(k),r={id:(0,d.A)(),name:a,key:o.key,machineId:b,isActive:!0,dailyTokenLimit:h(g),allowedModels:p,allowedCombos:q,createdAt:new Date().toISOString()};return l.run("INSERT INTO apiKeys(id, key, name, machineId, isActive, dailyTokenLimit, allowedModels, allowedCombos, createdAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)",[r.id,r.key,r.name,r.machineId,1,r.dailyTokenLimit,(0,f.s)(p),(0,f.s)(q),r.createdAt]),r}async function n(a){return a?j((await (0,e.cK)()).get("SELECT * FROM apiKeys WHERE key = ?",[a])):null}async function o(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let g={...j(e),...b};g.dailyTokenLimit=h(g.dailyTokenLimit),"allowedModels"in b&&(g.allowedModels=i(b.allowedModels)),"allowedCombos"in b&&(g.allowedCombos=i(b.allowedCombos)),c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, isActive = ?, dailyTokenLimit = ?, allowedModels = ?, allowedCombos = ? WHERE id = ?",[g.key,g.name,g.machineId,+!!g.isActive,g.dailyTokenLimit,(0,f.s)(g.allowedModels),(0,f.s)(g.allowedCombos),a]),d=g}),d}async function p(a){let b=(await (0,e.cK)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function q(a){let b=(await (0,e.cK)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);const c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return k}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776);function k(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&!(0,i.isRequestApiAllowedInCurrentPhase)(b))throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1377",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),(0,h.applyOwnerStack)(b),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeDynamicHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return 47===a.charCodeAt(a.length-1)&&a.length>1?a.slice(0,-1):a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(68047);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)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("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)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStore:function(){return p},createRequestStoreForAPI:function(){return o},createRequestStoreForRender:function(){return n},synchronizeMutableCookies:function(){return q}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751),l=new Set([...f.FLIGHT_HEADERS,f.NEXT_REQUEST_ID_HEADER,f.NEXT_HTML_REQUEST_ID_HEADER].map(a=>a.toLowerCase()));function m(a,b){if("x-middleware-set-cookie"in a&&"string"==typeof a["x-middleware-set-cookie"]){let c=a["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function n(a,b,c,d,e,f,g,h,i,j,k,l){return p({phase:"render",headers:a.headers,onUpdateCookies:f??(b?a=>{b.setHeader("Set-Cookie",a)}:void 0),url:c,rootParams:d,implicitTags:e,resumeDataCache:j,previewProps:g,isHmrRefresh:h,serverComponentsHmrCache:i,hmrRefreshHash:l,fallbackParams:k})}function o(a,b,c,d,e,f){return p({phase:"action",headers:a.headers,onUpdateCookies:d,url:b,rootParams:{},implicitTags:c,resumeDataCache:null,previewProps:e,isHmrRefresh:!1,serverComponentsHmrCache:void 0,hmrRefreshHash:f,fallbackParams:null})}function p(a){let{phase:b,headers:c,onUpdateCookies:d,url:e,rootParams:f,implicitTags:k,resumeDataCache:n,previewProps:o,isHmrRefresh:p,serverComponentsHmrCache:q,hmrRefreshHash:r,fallbackParams:s}=a,t={};return{type:"request",phase:b,implicitTags:k,url:{pathname:e.pathname,search:e.search??""},rootParams:f,get headers(){return t.headers||(t.headers=g.HeadersAdapter.seal(g.HeadersAdapter.from(c),l)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(c));m(c,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(value){t.cookies=value},get mutableCookies(){if(!t.mutableCookies){let a,b=(a=new i.RequestCookies(g.HeadersAdapter.from(c)),h.MutableRequestCookiesAdapter.wrap(a,d));m(c,b),t.mutableCookies=b}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,c,this.cookies,this.mutableCookies)),t.draftMode},resumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,hmrRefreshHash:r,fallbackParams:s}}function q(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={CLOSE_TAG:function(){return G},chainStreams:function(){return q},chainTransformers:function(){return K},continueDynamicHTMLResume:function(){return P},continueDynamicPrerender:function(){return M},continueFizzStream:function(){return L},continueStaticFallbackPrerender:function(){return O},continueStaticPrerender:function(){return N},createBufferedTransformStream:function(){return z},createDeferredSuffixStream:function(){return E},createDocumentClosingStream:function(){return Q},createFlightDataInjectionTransformStream:function(){return F},createHeadInsertionTransformStream:function(){return C},createHtmlDataDplIdTransformStream:function(){return I},createMetadataTransformStream:function(){return B},createMoveSuffixStream:function(){return H},createRootLayoutValidatorStream:function(){return J},createRuntimePrefetchTransformStream:function(){return R},nodestreamToUint8Array:function(){return v},renderToInitialFizzStream:function(){return A},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return x},streamToString:function(){return y},streamToUint8Array:function(){return w},webstreamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(59841),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){let b,c=[];for await(let d of a instanceof(b=require("node:stream").Readable)?a:b.fromWeb(a))c.push("string"==typeof d?Buffer.from(d):d);return Buffer.concat(c)}async function w(a){return a instanceof require("node:stream").Readable?v(a):u(a)}async function x(a){return Buffer.concat(await t(a))}async function y(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function z(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=new h.DetachedPromise;b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function A({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function B(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function C(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function D(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})</script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}function E(a){let b,c=!1;return new TransformStream({transform(d,e){if(e.enqueue(d),!c){let d;c=!0,b=d=new h.DetachedPromise,(0,i.scheduleImmediate)(()=>{try{e.enqueue(p.encode(a))}catch{}finally{b=void 0,d.resolve()}})}},flush(d){if(b)return b.promise;c||d.enqueue(p.encode(a))}})}function F(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let G="</body></html>";function H(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function I(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function J(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
3
3
  <template
4
4
  data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
5
5
  Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
@@ -125,7 +125,7 @@ Ways to fix this:
125
125
 
126
126
  Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`),"__NEXT_ERROR_CODE",{value:"E1426",enumerable:!1,configurable:!0})}function s(a){console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
127
127
  - Start the app in development mode by running \`next dev\`, then open "${a}" in your browser to investigate the error.
128
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},41534:(a,b,c)=>{"use strict";c.d(b,{cI:()=>g,pH:()=>f,Ps:()=>e});function d(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let e=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search";d("STREAM_STALL_TIMEOUT_MS",12e4),d("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5);let f=d("FETCH_CONNECT_TIMEOUT_MS",6e4);d("PENDING_COMPLETION_FLUSH_MS",3e3),d("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);let g={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}}},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(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})},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("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)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},50809:(a,b,c)=>{"use strict";c.d(b,{jw:()=>k,tm:()=>l});var d=c(59339),e=c(33323);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await Promise.resolve().then(c.bind(c,75490));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}async function l(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...function(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}(c,h,g),...b])];for(let b of(c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,g,(0,e.s)(a)]),h))b!==g&&c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,b])})}},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("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)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);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}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return k},NOT_FOUND_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return j},addSearchParamsIfPageSegment:function(){return h},computeSelectedLayoutSegment:function(){return i},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return!h||h.startsWith(j)?f:(f.push(h),a(g,c,!1,f))}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(a.includes(j)){let a=JSON.stringify(b);return"{}"!==a?j+"?"+a:j}return a}function i(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===k?null:c}let j="__PAGE__",k="__DEFAULT__",l="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f={RENDER_STAGE_ADVANCE_ORDER:function(){return k},RenderStage:function(){return j},StagedRenderingController:function(){return o},SyncIOMode:function(){return n},getNextStage:function(){return l},isAdvanceableRenderStage:function(){return m}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(42776),i=c(29299);var j=((d={})[d.Before=1]="Before",d[d.ShellStatic=11]="ShellStatic",d[d.Static=13]="Static",d[d.ShellRuntime=21]="ShellRuntime",d[d.Runtime=23]="Runtime",d[d.Dynamic=30]="Dynamic",d[d.Abandoned=40]="Abandoned",d);let k=[11,13,21,23,30];function l(a){return k[k.indexOf(a)+1]}function m(a){return 1<a&&a<=30}var n=((e={})[e.Untracked=1]="Untracked",e[e.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",e[e.AllowedInDynamic=3]="AllowedInDynamic",e);class o{constructor({abortSignal:a,abandonController:b,syncIO:c,finalStage:d}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:q(),13:q(),21:q(),23:q(),30:q()},this.abortSignal=a,this.abandonController=b,this.syncIOMode=c,this.finalStage=d,a&&a.addEventListener("abort",()=>{let{reason:b}=a;for(let a of Object.values(this.triggers)){var c,d;c=a,d=b,"pending"===c.state&&(c.state="cancelled",c._listeners.length=0,c.promise.catch(p),c._rejectPromise(d))}},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){var c,d;c=this.triggers[a],d=b,"pending"===c.state?c._listeners.push(d):d()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(a){let{currentStage:b}=this;if(1!==b&&30!==b&&40!==b){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=40;return}this.syncInterruptReason=a,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(a){return this.triggers[l(a)].triggeredAt??1/0}abandonRender(){let{currentStage:a}=this;if(1===a)throw Object.defineProperty(new h.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===a||40===a)return;let b=k.indexOf(a)+1,c=k.indexOf(30);for(let a=b;a<c;a++)this.resolveStage(k[a]);this.currentStage=40}advanceStage(a){if(null!==this.finalStage&&a>this.finalStage)throw Object.defineProperty(new h.InvariantError(`Attempted to advance to stage ${j[a]} but the render is limited to ${j[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:b}=this;if(30===b||40===b||a<=b)return;this.currentStage=a;let c=1===b?0:k.indexOf(b)+1,d=k.indexOf(a);for(let a=c;a<=d;a++)this.resolveStage(k[a])}resolveStage(a){var b=this.triggers[a];if("pending"===b.state){b.state="triggered",b.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:a}=b;for(let b=0;b<a.length;b++)a[b]();a.length=0}finally{b._resolvePromise()}}}getStagePromise(a){return this.triggers[a].promise}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){let d=this.getStagePromise(a).then(()=>c);return this.abortSignal&&d.catch(p),d}}function p(){}function q(){let{promise:a,resolve:b,reject:c}=(0,i.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:a,_listeners:[],_resolvePromise:b,_rejectPromise:c}}},55122:(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(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);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(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>t,createProviderConnection:()=>o,deleteProviderConnection:()=>q,deleteProviderConnectionsByProvider:()=>r,getProviderConnectionById:()=>m,getProviderConnections:()=>l,reorderProviderConnections:()=>s,updateProviderConnection:()=>p});var d=c(43892),e=c(59339),f=c(33323),g=c(50809),h=c(34393);let i=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt","earliestPackageExpiry","earliestPackageName","quotaCheckedAt"];function j(a){if(!a)return null;let b=(0,f.q)(a.data,{}),{data:c,error:d,unreadable:e}=(0,h.Q)(b);if(d){let a={testStatus:"unavailable",lastError:`Credentials unreadable: ${d}`};Object.assign(c,a),c[h.FF]={...e,synthesized:a}}return{...c,id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}}function k(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=a,n=(0,h._u)(m);return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:i??null,isActive:+(!1!==j),data:(0,f.s)((0,h.Wl)(n)),createdAt:k,updatedAt:l}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
128
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},41534:(a,b,c)=>{"use strict";c.d(b,{cI:()=>g,pH:()=>f,Ps:()=>e});function d(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}let e=process.env.SEARXNG_URL?.trim()||"http://localhost:8888/search";d("STREAM_STALL_TIMEOUT_MS",12e4),d("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5);let f=d("FETCH_CONNECT_TIMEOUT_MS",6e4);d("PENDING_COMPLETION_FLUSH_MS",3e3),d("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);let g={429:{attempts:0,delayMs:0},502:{attempts:3,delayMs:3e3},503:{attempts:3,delayMs:2e3},504:{attempts:2,delayMs:3e3}}},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(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})},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("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)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},50809:(a,b,c)=>{"use strict";c.d(b,{jw:()=>k,tm:()=>l});var d=c(59339),e=c(33323);let f="disabledModels",g=null;async function h(){if(g)return g;let a=new Map,b=new Map;try{let d=await Promise.resolve().then(c.bind(c,97303));for(let c of d.default||d.REGISTRY||[]){let d=c.uiAlias||c.alias||c.id;if(!d)continue;let e=new Set([c.id,c.alias,c.uiAlias,...Array.isArray(c.aliases)?c.aliases:[]].filter(Boolean)),f=b.get(d)||new Set;for(let b of e)a.set(b,d),f.add(b);b.set(d,f)}}catch(a){console.log("Disabled-model key map unavailable:",a?.message||a)}return g={toCanonical:a,byCanonical:b}}async function i(a){let{toCanonical:b,byCanonical:c}=await h(),d=b.get(a)||a,e=c.get(d),f=new Set(e?[...e]:[]);return f.add(a),f.add(d),{canonical:d,keys:[...f]}}async function j(){let a=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[f]),{toCanonical:b,byCanonical:c}=await h(),g=new Map;for(let c of a){let a=b.get(c.key)||c.key,d=g.get(a);d||(d={own:null,union:new Set},g.set(a,d));let f=(0,e.q)(c.value,[])||[];for(let b of(c.key===a&&(d.own=new Set(f)),f))d.union.add(b)}let i={};for(let[a,b]of g){let d=[...b.own||b.union];i[a]=d;let e=c.get(a);if(e)for(let a of e)i[a]=d}return i}async function k(a){return a&&(await j())[a]||[]}async function l(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.cK)(),{canonical:g,keys:h}=await i(a);c.transaction(()=>{let a=[...new Set([...function(a,b,c){let d=null,g=new Set;for(let h of b){let b=a.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[f,h]);if(!b)continue;let i=(0,e.q)(b.value,[])||[];for(let a of(h===c&&(d=i),i))g.add(a)}return null!==d?d:[...g]}(c,h,g),...b])];for(let b of(c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[f,g,(0,e.s)(a)]),h))b!==g&&c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[f,b])})}},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("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)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);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}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return k},NOT_FOUND_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return j},addSearchParamsIfPageSegment:function(){return h},computeSelectedLayoutSegment:function(){return i},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return!h||h.startsWith(j)?f:(f.push(h),a(g,c,!1,f))}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(a.includes(j)){let a=JSON.stringify(b);return"{}"!==a?j+"?"+a:j}return a}function i(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===k?null:c}let j="__PAGE__",k="__DEFAULT__",l="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f={RENDER_STAGE_ADVANCE_ORDER:function(){return k},RenderStage:function(){return j},StagedRenderingController:function(){return o},SyncIOMode:function(){return n},getNextStage:function(){return l},isAdvanceableRenderStage:function(){return m}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(42776),i=c(29299);var j=((d={})[d.Before=1]="Before",d[d.ShellStatic=11]="ShellStatic",d[d.Static=13]="Static",d[d.ShellRuntime=21]="ShellRuntime",d[d.Runtime=23]="Runtime",d[d.Dynamic=30]="Dynamic",d[d.Abandoned=40]="Abandoned",d);let k=[11,13,21,23,30];function l(a){return k[k.indexOf(a)+1]}function m(a){return 1<a&&a<=30}var n=((e={})[e.Untracked=1]="Untracked",e[e.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",e[e.AllowedInDynamic=3]="AllowedInDynamic",e);class o{constructor({abortSignal:a,abandonController:b,syncIO:c,finalStage:d}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:q(),13:q(),21:q(),23:q(),30:q()},this.abortSignal=a,this.abandonController=b,this.syncIOMode=c,this.finalStage=d,a&&a.addEventListener("abort",()=>{let{reason:b}=a;for(let a of Object.values(this.triggers)){var c,d;c=a,d=b,"pending"===c.state&&(c.state="cancelled",c._listeners.length=0,c.promise.catch(p),c._rejectPromise(d))}},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){var c,d;c=this.triggers[a],d=b,"pending"===c.state?c._listeners.push(d):d()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(a){let{currentStage:b}=this;if(1!==b&&30!==b&&40!==b){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=40;return}this.syncInterruptReason=a,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(a){return this.triggers[l(a)].triggeredAt??1/0}abandonRender(){let{currentStage:a}=this;if(1===a)throw Object.defineProperty(new h.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===a||40===a)return;let b=k.indexOf(a)+1,c=k.indexOf(30);for(let a=b;a<c;a++)this.resolveStage(k[a]);this.currentStage=40}advanceStage(a){if(null!==this.finalStage&&a>this.finalStage)throw Object.defineProperty(new h.InvariantError(`Attempted to advance to stage ${j[a]} but the render is limited to ${j[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:b}=this;if(30===b||40===b||a<=b)return;this.currentStage=a;let c=1===b?0:k.indexOf(b)+1,d=k.indexOf(a);for(let a=c;a<=d;a++)this.resolveStage(k[a])}resolveStage(a){var b=this.triggers[a];if("pending"===b.state){b.state="triggered",b.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:a}=b;for(let b=0;b<a.length;b++)a[b]();a.length=0}finally{b._resolvePromise()}}}getStagePromise(a){return this.triggers[a].promise}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){let d=this.getStagePromise(a).then(()=>c);return this.abortSignal&&d.catch(p),d}}function p(){}function q(){let{promise:a,resolve:b,reject:c}=(0,i.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:a,_listeners:[],_resolvePromise:b,_rejectPromise:c}}},55122:(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(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);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(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>t,createProviderConnection:()=>o,deleteProviderConnection:()=>q,deleteProviderConnectionsByProvider:()=>r,getProviderConnectionById:()=>m,getProviderConnections:()=>l,reorderProviderConnections:()=>s,updateProviderConnection:()=>p});var d=c(43892),e=c(59339),f=c(33323),g=c(50809),h=c(34393);let i=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt","earliestPackageExpiry","earliestPackageName","earliestPackageRemaining","quotaCheckedAt"];function j(a){if(!a)return null;let b=(0,f.q)(a.data,{}),{data:c,error:d,unreadable:e}=(0,h.Q)(b);if(d){let a={testStatus:"unavailable",lastError:`Credentials unreadable: ${d}`};Object.assign(c,a),c[h.FF]={...e,synthesized:a}}return{...c,id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}}function k(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=a,n=(0,h._u)(m);return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:i??null,isActive:+(!1!==j),data:(0,f.s)((0,h.Wl)(n)),createdAt:k,updatedAt:l}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
129
129
  VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
130
130
  ON CONFLICT(id) DO UPDATE SET
131
131
  provider=excluded.provider, authType=excluded.authType, name=excluded.name,
@@ -137,7 +137,7 @@ Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime
137
137
  }
138
138
 
139
139
  Read more: https://nextjs.org/docs/messages/middleware-new-signature
140
- `),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1177",enumerable:!1,configurable:!0})}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1178",enumerable:!1,configurable:!0})}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1172",enumerable:!1,configurable:!0})}}},69128:(a,b,c)=>{"use strict";c.d(b,{f0:()=>h,kk:()=>g,oO:()=>f});var d=c(77598),e=c.n(d);function f(a){return a&&"string"==typeof a?a.length<=12?a.charAt(0)+"***":a.slice(0,8)+"***"+a.slice(-4):null}function g(a){return a&&"string"==typeof a?e().createHash("sha256").update(a).digest("hex"):null}function h(a){return"string"==typeof a&&a.includes("***")}},69545:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={BailoutToCSRError:function(){return f},isBailoutToCSRError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="BAILOUT_TO_CLIENT_SIDE_RENDERING";class f extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===e}},69687:(a,b)=>{"use strict";function c(a,b){let c;if(b?.host&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},70580:(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(96100),g=c(11042),h=c(73896),i=c(19524),j=c(31385);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?"(?:(/.*)?)":""}$`}}},71185:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseLoaderTree",{enumerable:!0,get:function(){return e}});let d=c(53610);function e(a){let[b,c,e,f]=a,{layout:g,template:h}=e,{page:i}=e;i=b===d.DEFAULT_SEGMENT_KEY?e.defaultPage:i;let j=g?.[1]||h?.[1]||i?.[1];return{page:i,segment:b,modules:e,conventionPath:j,parallelRoutes:c,staticSiblings:f}}},71509:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(59339),e=c(33323);function f(a){return{async get(b,c=null){let f=(await (0,d.cK)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.cK)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.cK)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},72029:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={CloseController:function(){return g},trackBodyConsumed:function(){return e},trackStreamConsumed:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){return"string"==typeof a?async function*(){let c=new TextEncoder;yield c.encode(a),b()}():f(a,b)}function f(a,b){let c=new TransformStream,d=()=>b();return a.pipeTo(c.writable).then(d,d),c.readable}class g{onClose(a){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",a),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}},72045:(a,b,c)=>{"use strict";c.d(b,{jL:()=>l,nJ:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let o=function(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}()},72106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return k},throwForSearchParamsAccessInUseCache:function(){return j},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(49540),g=c(19121),h=c(3295);function i(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function j(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function k(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},72394:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return p}});let f=c(77714),g=c(9913),h=c(15e3),i=c(28704),j=c(72949);function k(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}d=c(98345),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})});let l=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),m=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),n="__ttl_sentinel__";function o(a,b){return`${a}\0${b??n}`}class p{constructor(a,b=m,c=l){this.getBatcher=f.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:i.scheduleOnNextTick}),this.revalidateBatcher=f.Batcher.create({schedulerFn:i.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new g.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===n?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=o(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,j.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,j.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,h.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:f=!1,isRoutePPREnabled:g=!1,isPrefetch:i=!1,waitUntil:k,routeKind:l,invocationID:m}=c,n=await this.getBatcher.batch({key:a,isOnDemandRevalidate:e},({resolve:c})=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:f,isRoutePPREnabled:g,isPrefetch:i,routeKind:l,invocationID:m},c);return k&&k(h),h});if(this.minimal_mode&&(null==n?void 0:n.cacheControl)){let b=o(a,m);this.cache.set(b,{entry:n,expiresAt:Date.now()+this.ttl})}return(0,j.toResponseCacheEntry)(n)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,j.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&-1!==e.isStale&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=c.isPrefetch&&null===e?await this.handleRevalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,f):await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,f);if(!g){if(this.minimal_mode){let b=o(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h){return this.revalidateBatcher.batch(a,()=>{let i=this.handleRevalidate(a,b,c,d,e,f,g);return h&&h(i),i})}async handleRevalidate(a,b,c,d,e,f,g){try{let h=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!h)return null;let i=await (0,j.fromResponseCacheEntry)({...h,isMiss:!f});return i.cacheControl&&!this.minimal_mode&&await b.set(a,i.value,{cacheControl:i.cacheControl,isRoutePPREnabled:c,isFallback:d}),i}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},72949:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={fromResponseCacheEntry:function(){return k},routeKindToIncrementalCacheKind:function(){return m},toResponseCacheEntry:function(){return l}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(98345),h=(d=c(7125))&&d.__esModule?d:{default:d},i=c(62929),j=c(96100);async function k(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function l(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,isFallback:a.isFallback,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function m(a){switch(a){case i.RouteKind.PAGES:return g.IncrementalCacheKind.PAGES;case i.RouteKind.APP_PAGE:return g.IncrementalCacheKind.APP_PAGE;case i.RouteKind.IMAGE:return g.IncrementalCacheKind.IMAGE;case i.RouteKind.APP_ROUTE:return g.IncrementalCacheKind.APP_ROUTE;case i.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},73024:a=>{"use strict";a.exports=require("node:fs")},73346:(a,b,c)=>{var d,e={943:function(e,f){!function(g){"use strict";var h="function",i="undefined",j="object",k="string",l="major",m="model",n="name",o="type",p="vendor",q="version",r="architecture",s="console",t="mobile",u="tablet",v="smarttv",w="wearable",x="embedded",y="Amazon",z="Apple",A="ASUS",B="BlackBerry",C="Browser",D="Chrome",E="Firefox",F="Google",G="Huawei",H="Microsoft",I="Motorola",J="Opera",K="Samsung",L="Sharp",M="Sony",N="Xiaomi",O="Zebra",P="Facebook",Q="Chromium OS",R="Mac OS",S=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},T=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},U=function(a,b){return typeof a===k&&-1!==V(b).indexOf(V(a))},V=function(a){return a.toLowerCase()},W=function(a,b){if(typeof a===k)return a=a.replace(/^\s\s*/,""),typeof b===i?a:a.substring(0,350)},X=function(a,b){for(var c,d,e,f,g,i,k=0;k<b.length&&!g;){var l=b[k],m=b[k+1];for(c=d=0;c<l.length&&!g&&l[c];)if(g=l[c++].exec(a))for(e=0;e<m.length;e++)i=g[++d],typeof(f=m[e])===j&&f.length>0?2===f.length?typeof f[1]==h?this[f[0]]=f[1].call(this,i):this[f[0]]=f[1]:3===f.length?typeof f[1]!==h||f[1].exec&&f[1].test?this[f[0]]=i?i.replace(f[1],f[2]):void 0:this[f[0]]=i?f[1].call(this,i,f[2]):void 0:4===f.length&&(this[f[0]]=i?f[3].call(this,i.replace(f[1],f[2])):void 0):this[f]=i||void 0;k+=2}},Y=function(a,b){for(var c in b)if(typeof b[c]===j&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(U(b[c][d],a))return"?"===c?void 0:c}else if(U(b[c],a))return"?"===c?void 0:c;return a},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[q,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[q,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,q],[/opios[\/ ]+([\w\.]+)/i],[q,[n,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[q,[n,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,q],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[q,[n,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[q,[n,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[q,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[q,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[q,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[q,[n,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+C],q],[/\bfocus\/([\w\.]+)/i],[q,[n,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[q,[n,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[q,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[q,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[q,[n,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[q,[n,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[q,[n,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+C],q],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],q],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[n,q],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,P],q],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[n,q],[/\bgsa\/([\w\.]+) .*safari\//i],[q,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[q,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[q,[n,D+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,D+" WebView"],q],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[q,[n,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,q],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[q,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[q,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[q,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,q],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],q],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[q,[n,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,q],[/(cobalt)\/([\w\.]+)/i],[n,[q,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[r,"amd64"]],[/(ia32(?=;))/i],[[r,V]],[/((?:i[346]|x)86)[;\)]/i],[[r,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[r,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[r,"armhf"]],[/windows (ce|mobile); ppc;/i],[[r,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[r,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[r,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[r,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[p,K],[o,u]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[p,K],[o,t]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[p,z],[o,t]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[p,z],[o,u]],[/(macintosh);/i],[m,[p,z]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[p,L],[o,t]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[p,G],[o,u]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[p,G],[o,t]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,t]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,u]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[p,"OPPO"],[o,t]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[p,"Vivo"],[o,t]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[m,[p,"Realme"],[o,t]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[p,I],[o,t]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[p,I],[o,u]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[p,"LG"],[o,u]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[p,"LG"],[o,t]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[p,"Lenovo"],[o,u]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[p,"Nokia"],[o,t]],[/(pixel c)\b/i],[m,[p,F],[o,u]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[p,F],[o,t]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[p,M],[o,t]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[p,M],[o,u]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[p,"OnePlus"],[o,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[p,y],[o,u]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[p,y],[o,t]],[/(playbook);[-\w\),; ]+(rim)/i],[m,p,[o,u]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[p,B],[o,t]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[p,A],[o,u]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[p,A],[o,t]],[/(nexus 9)/i],[m,[p,"HTC"],[o,u]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[p,[m,/_/g," "],[o,t]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[p,"Acer"],[o,u]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[p,"Meizu"],[o,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[p,m,[o,t]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[p,m,[o,u]],[/(surface duo)/i],[m,[p,H],[o,u]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[p,"Fairphone"],[o,t]],[/(u304aa)/i],[m,[p,"AT&T"],[o,t]],[/\bsie-(\w*)/i],[m,[p,"Siemens"],[o,t]],[/\b(rct\w+) b/i],[m,[p,"RCA"],[o,u]],[/\b(venue[\d ]{2,7}) b/i],[m,[p,"Dell"],[o,u]],[/\b(q(?:mv|ta)\w+) b/i],[m,[p,"Verizon"],[o,u]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[p,"Barnes & Noble"],[o,u]],[/\b(tm\d{3}\w+) b/i],[m,[p,"NuVision"],[o,u]],[/\b(k88) b/i],[m,[p,"ZTE"],[o,u]],[/\b(nx\d{3}j) b/i],[m,[p,"ZTE"],[o,t]],[/\b(gen\d{3}) b.+49h/i],[m,[p,"Swiss"],[o,t]],[/\b(zur\d{3}) b/i],[m,[p,"Swiss"],[o,u]],[/\b((zeki)?tb.*\b) b/i],[m,[p,"Zeki"],[o,u]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[p,"Dragon Touch"],m,[o,u]],[/\b(ns-?\w{0,9}) b/i],[m,[p,"Insignia"],[o,u]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[p,"NextBook"],[o,u]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[p,"Voice"],m,[o,t]],[/\b(lvtel\-)?(v1[12]) b/i],[[p,"LvTel"],m,[o,t]],[/\b(ph-1) /i],[m,[p,"Essential"],[o,t]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[p,"Envizen"],[o,u]],[/\b(trio[-\w\. ]+) b/i],[m,[p,"MachSpeed"],[o,u]],[/\btu_(1491) b/i],[m,[p,"Rotor"],[o,u]],[/(shield[\w ]+) b/i],[m,[p,"Nvidia"],[o,u]],[/(sprint) (\w+)/i],[p,m,[o,t]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[p,H],[o,t]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[p,O],[o,u]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[p,O],[o,t]],[/smart-tv.+(samsung)/i],[p,[o,v]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[p,K],[o,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[p,"LG"],[o,v]],[/(apple) ?tv/i],[p,[m,z+" TV"],[o,v]],[/crkey/i],[[m,D+"cast"],[p,F],[o,v]],[/droid.+aft(\w)( bui|\))/i],[m,[p,y],[o,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[p,L],[o,v]],[/(bravia[\w ]+)( bui|\))/i],[m,[p,M],[o,v]],[/(mitv-\w{5}) bui/i],[m,[p,N],[o,v]],[/Hbbtv.*(technisat) (.*);/i],[p,m,[o,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[p,W],[m,W],[o,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[o,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[p,m,[o,s]],[/droid.+; (shield) bui/i],[m,[p,"Nvidia"],[o,s]],[/(playstation [345portablevi]+)/i],[m,[p,M],[o,s]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[p,H],[o,s]],[/((pebble))app/i],[p,m,[o,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[p,z],[o,w]],[/droid.+; (glass) \d/i],[m,[p,F],[o,w]],[/droid.+; (wt63?0{2,3})\)/i],[m,[p,O],[o,w]],[/(quest( 2| pro)?)/i],[m,[p,P],[o,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[p,[o,x]],[/(aeobc)\b/i],[m,[p,y],[o,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[m,[o,t]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[o,u]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[o,u]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[o,t]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[p,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[q,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[q,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,q],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[q,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,q],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[n,[q,Y,Z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[n,"Windows"],[q,Y,Z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[q,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,R],[q,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[q,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,q],[/\(bb(10);/i],[q,[n,B]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[q,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[q,[n,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[q,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[q,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[q,[n,D+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,Q],q],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,q],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],q],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,q]]},_=function(a,b){if(typeof a===j&&(b=a,a=void 0),!(this instanceof _))return new _(a,b).getResult();var c=typeof g!==i&&g.navigator?g.navigator:void 0,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:void 0,f=b?S($,b):$,s=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[n]=void 0,b[q]=void 0,X.call(b,d,f.browser),b[l]=typeof(a=b[q])===k?a.replace(/[^\d\.]/g,"").split(".")[0]:void 0,s&&c&&c.brave&&typeof c.brave.isBrave==h&&(b[n]="Brave"),b},this.getCPU=function(){var a={};return a[r]=void 0,X.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[p]=void 0,a[m]=void 0,a[o]=void 0,X.call(a,d,f.device),s&&!a[o]&&e&&e.mobile&&(a[o]=t),s&&"Macintosh"==a[m]&&c&&typeof c.standalone!==i&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[m]="iPad",a[o]=u),a},this.getEngine=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.os),s&&!a[n]&&e&&"Unknown"!=e.platform&&(a[n]=e.platform.replace(/chrome os/i,Q).replace(/macos/i,R)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===k&&a.length>350?W(a,350):a,this},this.setUA(d),this};_.VERSION="1.0.35",_.BROWSER=T([n,q,l]),_.CPU=T([r]),_.DEVICE=T([m,p,o,s,t,v,u,w,x]),_.ENGINE=_.OS=T([n,q]),typeof f!==i?(e.exports&&(f=e.exports=_),f.UAParser=_):c.amdO?void 0===(d=(function(){return _}).call(b,c,b,a))||(a.exports=d):typeof g!==i&&(g.UAParser=_);var aa=typeof g!==i&&(g.jQuery||g.Zepto);if(aa&&!aa.ua){var ab=new _;aa.ua=ab.getResult(),aa.ua.get=function(){return ab.getUA()},aa.ua.set=function(a){ab.setUA(a);var b=ab.getResult();for(var c in b)aa.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(943)},73896:(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}},75490:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,d.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,d.arch)()}})(),function(){switch((0,d.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,d.platform)()}}();let f="https://daily-cloudcode-pa.googleapis.com",g="antigravity/ide/2.11.0 darwin/arm64",h={id:"antigravity",priority:30,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{baseUrls:[f],format:"antigravity",headers:{"User-Agent":g},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${f}/v1internal:fetchAvailableModels`,quotaSummaryApiUrls:["https://daily-cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary","https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:retrieveUserQuotaSummary","https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary"],loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.5-flash-high",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"gemini-3-pro-image",name:"Gemini 3 Pro (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"imagen-3.0-generate-002",name:"Imagen 3",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:g,refreshLeadMs:3e5},features:{usage:!0}},i="0.159.0",j={id:"codex",priority:20,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,cliVersion:i,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${i}`},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-6-astra[1m]",name:"GPT 6.0 Astra (extended context)",upstreamModelId:"gpt-6-astra"},{id:"gpt-6-sol",name:"GPT 6.0 Sol"},{id:"gpt-6-sol[1m]",name:"GPT 6.0 Sol (extended context)",upstreamModelId:"gpt-6-sol"},{id:"gpt-6-luna",name:"GPT 6.0 Luna"},{id:"gpt-6-luna[1m]",name:"GPT 6.0 Luna (extended context)",upstreamModelId:"gpt-6-luna"},{id:"gpt-6.1-sol",name:"GPT 6.1 Sol"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol[1m]",name:"GPT 5.6 Sol (extended context)",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra[1m]",name:"GPT 5.6 Terra (extended context)",upstreamModelId:"gpt-5.6-terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna[1m]",name:"GPT 5.6 Luna (extended context)",upstreamModelId:"gpt-5.6-luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-daybreak-blue-latest",name:"GPT Daybreak Blue"},{id:"gpt-reserve",name:"GPT Reserve"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:6e5,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},k={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-flash",name:"DeepSeek V4.1 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},l={id:"glm",priority:140,alias:"glm",display:{name:"Zai GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys",signupUrl:"https://chat.z.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,oauth:{providerId:"zai",cliInitUrl:"https://zcode.z.ai/api/v1/oauth/cli/init",cliPollUrl:"https://zcode.z.ai/api/v1/oauth/cli/poll",businessLoginUrl:"https://api.z.ai/api/auth/z/login",apiBaseUrl:"https://api.z.ai",planApiKeyName:"zcode-api-key"},transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},m="1.0.44",n="https://cli-chat-proxy.grok.com/v1",o="grok-shell",p=`grok-shell/${m} (linux; x86_64)`,q=[{id:"agnes-ai-cn",alias:"agnes-ai-cn",display:{name:"Agnes AI (CN)",icon:"auto_awesome",color:"#111827",textIcon:"AG",website:"https://www.agnes-ai.cn/",notice:{apiKeyUrl:"https://www.agnes-ai.cn/"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.agnes-ai.cn/v1/chat/completions",validateUrl:"https://api.agnes-ai.cn/v1/models"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.agnes-ai.cn/v1/images/generations"},models:[{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",params:["size"],kind:"image",capabilities:["edit"]},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",params:["size"],kind:"image",capabilities:["edit"]}]},{id:"agnes-ai",alias:"agnes-ai",display:{name:"Agnes AI",icon:"auto_awesome",color:"#111827",textIcon:"AG",website:"https://www.agnes-ai.com/",notice:{apiKeyUrl:"https://www.agnes-ai.com/"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://apihub.agnes-ai.com/v1/chat/completions",validateUrl:"https://apihub.agnes-ai.com/v1/models"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/images/generations"},models:[{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-2.5-pro-beta",name:"Agnes 2.5 Pro Beta"},{id:"agnes-3.0-flash",name:"Agnes 3.0 Flash"},{id:"agnes-image-2.0-flash",name:"Agnes Image 2.0 Flash",params:["size"],kind:"image"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",params:["size"],kind:"image",capabilities:["edit"]},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",params:["size"],kind:"image",capabilities:["edit"]}]},{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Coding",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://www.alibabacloud.com/product/coding",notice:{apiKeyUrl:"https://www.alibabacloud.com/product/coding"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alims-intl",priority:11,alias:"alims-intl",display:{name:"Alibaba Studio",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alitp-intl",priority:11,alias:"alitp-intl",display:{name:"Alibaba Token Plan",icon:"cloud",color:"#FF6A00",textIcon:"ATP",website:"https://www.alibabacloud.com/campaign/ai-landing-page-token",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview"},{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"}]},{id:"amd",priority:20,hasFree:!0,alias:"amd",display:{name:"AMD Token Factory",icon:"developer_board",color:"#ED1C24",textIcon:"AMD",website:"https://developer.amd.com.cn/radeon/tokenfactory",notice:{text:"Free shared endpoints (experimental) — 30 RPM per key, 8 concurrent.",apiKeyUrl:"https://developer.amd.com.cn/radeon/modelapis"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://developer.amd.com.cn/radeon/api/v1/chat/completions",validateUrl:"https://developer.amd.com.cn/radeon/api/v1/models"},models:[{id:"DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"DeepSeek-V4-Flash-Vision-Exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"Qwen3.8-Flash-Next",name:"Qwen3.8 Flash Next"},{id:"MiniCPM5-2B",name:"MiniCPM5 2B"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"anthropic-version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},h,{id:"api-airforce",alias:"af",aliases:["airforce"],uiAlias:"af",display:{name:"API.airforce",icon:"flight",color:"#0EA5E9",textIcon:"AF",website:"https://api.airforce",notice:{apiKeyUrl:"https://api.airforce"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.airforce/v1/chat/completions",validateUrl:"https://api.airforce/v1/models",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"anthropic/claude-3.7-sonnet",name:"Claude 3.7 Sonnet (Free)",contextLength:2e5},{id:"moonshot/kimi-k2.6",name:"Kimi K2.6 (Free)",contextLength:262144},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Free)",contextLength:1048576}]},{id:"apinex",alias:"apinex",display:{name:"APInex",icon:"bolt",color:"#C9A227",textIcon:"AX",website:"https://apinex.bond/",notice:{text:"Prepaid USD-credit gateway with gamified rewards (XP/airdrop). free/* models require a DAILY check-in at the airdrop page; paid models bill a prepaid balance (402 otherwise). Third-party reseller — treat as untrusted for sensitive traffic.",apiKeyUrl:"https://apinex.bond/register",inviteCode:"SLEWP68C"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.apinex.bond/v1/chat/completions",validateUrl:"https://api.apinex.bond/v1/models"},serviceKinds:["llm"],hasFree:!0,models:[{id:"claude-fable-5.1",name:"Claude Fable 5.1"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-5.5",name:"Claude Sonnet 5.5"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.3-flash",name:"GLM-5.3 Flash"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-luna",name:"GPT-6 Luna"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol"},{id:"grok-4.7",name:"Grok 4.7"},{id:"kimi-k3",name:"Kimi K3"},{id:"free/claude-opus-4.6",name:"Claude Opus 4.6 (Free)"},{id:"free/claude-sonnet-4.6",name:"Claude Sonnet 4.6 (Free)"},{id:"free/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731 (Free)"},{id:"free/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813 (Free)"},{id:"free/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (Free)"},{id:"free/gemini-3.1-pro",name:"Gemini 3.1 Pro (Free)"},{id:"free/gemini-3.8-flash",name:"Gemini 3.8 Flash (Free)"},{id:"free/glm-5.3-flash",name:"GLM-5.3 Flash (Free)"},{id:"free/gpt-6-luna",name:"GPT-6 Luna (Free)"},{id:"free/hy4",name:"HY4 (Free)"},{id:"free/kimi-k2.8",name:"Kimi K2.8 (Free)"},{id:"free/kimi-k3",name:"Kimi K3 (Free)"},{id:"free/mimo-v2.6-flash",name:"MiMo V2.6 Flash (Free)"},{id:"free/mimo-v2.6-pro",name:"MiMo V2.6 Pro (Free)"},{id:"free/minimax-m3",name:"MiniMax M3 (Free)"},{id:"free/minimax-m3.1",name:"MiniMax M3.1 (Free)"},{id:"free/muse-spark-1.3",name:"Muse Spark 1.3 (Free)"},{id:"free/qwen-3.8-max",name:"Qwen 3.8 Max (Free)"}]},{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"atria",alias:"atria",aliases:["atria-asi"],uiAlias:"atria",display:{name:"Atria Dawn",icon:"flare",color:"#C2410C",textIcon:"AD",website:"https://atria-asi.ai",notice:{apiKeyUrl:"https://api.atria-asi.ai/console"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.atria-asi.ai/v1/chat/completions",validateUrl:"https://api.atria-asi.ai/v1/models"},models:[{id:"Atria-Dawn-Preview",name:"Atria Dawn Preview"}],passthroughModels:!0},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"bai",alias:"bai",aliases:["b.ai","b-ai","bai-llm"],display:{name:"B.AI",icon:"auto_awesome",color:"#3B82F6",textIcon:"B.AI",website:"https://b.ai",notice:{apiKeyUrl:"https://chat.b.ai"}},category:"apikey",transport:{baseUrl:"https://api.b.ai/v1/chat/completions",validateUrl:"https://api.b.ai/v1/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxOutput:384e3,reasoning:!0},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxOutput:384e3,reasoning:!0},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",vision:!0,contextWindow:1e6,maxOutput:384e3},{id:"deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:131072,maxOutput:65536},{id:"deepseek-r1-0528",name:"DeepSeek R1 0528",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"qwen3.8-flash",name:"Qwen3.8-Flash",vision:!0,contextWindow:1e6,maxOutput:131072,reasoning:!0},{id:"qwen3.8-27b",name:"Qwen3.8-27B",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"qwen3.8-max",name:"Qwen3.8-Max",vision:!0,contextWindow:1e6,maxOutput:131072,reasoning:!0},{id:"qwen3.7-max",name:"Qwen3.7-Max",contextWindow:1e6,maxOutput:65536,reasoning:!0},{id:"qwen3.6-27b",name:"Qwen3.6-27B",contextWindow:131072,maxOutput:65536},{id:"gpt-5.5",name:"GPT-5.5",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.4",name:"GPT-5.4",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5",name:"GPT-5",vision:!0,contextWindow:272e3,maxOutput:16384},{id:"gpt-5-mini",name:"GPT-5 Mini",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5-nano",name:"GPT-5 Nano",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5.2",name:"GPT-5.2",vision:!0,contextWindow:272e3,maxOutput:16384},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"grok-4.6",name:"Grok 4.6",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"grok-4.5",name:"Grok 4.5",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"gemini-3-flash",name:"Gemini 3 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:131072,maxOutput:32768,reasoning:!0},{id:"mimo-v2.5",name:"MiMo V2.5",contextWindow:131072,maxOutput:32768,reasoning:!0},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",contextWindow:131072,maxOutput:16384},{id:"glm-5.3",name:"GLM-5.3",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"glm-5.2",name:"GLM-5.2",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"glm-5.1",name:"GLM-5.1",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"minimax-m3",name:"MiniMax M3",contextWindow:1048576,maxOutput:65536},{id:"minimax-m2.7",name:"MiniMax M2.7",contextWindow:1048576,maxOutput:65536},{id:"hy3",name:"Hy3",contextWindow:131072,maxOutput:65536}]},{id:"baidu",alias:"qianfan",aliases:["qianfan","ernie","baidu-qianfan"],uiAlias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}]},{id:"bazaarlink",alias:"bzl",aliases:["bazaar-link"],uiAlias:"bzl",category:"freeTier",authType:"apikey",authModes:["apikey"],display:{name:"Bazaarlink",icon:"storefront",color:"#DC2626",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai"}},transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",validateUrl:"https://bazaarlink.ai/api/v1/models"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7",contextLength:1e6},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:1e6},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5",name:"GPT-5.5",contextLength:105e4},{id:"gpt-5.4",name:"GPT-5.4",contextLength:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextLength:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextLength:4e5},{id:"grok-4.3",name:"Grok 4.3",contextLength:1e6},{id:"grok-4.20",name:"Grok 4.20",contextLength:2e6},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextLength:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",contextLength:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"kimi-k2.5",name:"Kimi K2.5",contextLength:262144},{id:"glm-5.1",name:"GLM 5.1",contextLength:204800},{id:"glm-5",name:"GLM 5",contextLength:204800},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextLength:105e4},{id:"mimo-v2.5",name:"MiMo-V2.5",contextLength:105e4},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576},{id:"minimax-m2.7",name:"MiniMax M2.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",contextLength:1e6},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextLength:1e6}]},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"bluesminds",alias:"bm",aliases:["blue-sminds"],uiAlias:"bm",hidden:!0,display:{name:"BluesMinds",icon:"psychology",color:"#2563EB",textIcon:"BM",website:"https://bluesminds.com",notice:{apiKeyUrl:"https://bluesminds.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4.1",name:"GPT-4.1",contextLength:1048576},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextLength:1048576},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",contextLength:1048576},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextLength:1048576},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)",contextLength:1048576},{id:"qwen-turbo",name:"Qwen Turbo",contextLength:1e6},{id:"kimi-k2",name:"Kimi K2",contextLength:262144},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextLength:262144},{id:"glm-4.7",name:"GLM 4.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)",contextLength:2e5},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)",contextLength:1048576}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.280 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings",profileUrl:"https://api.anthropic.com/api/oauth/profile",resetUrl:"https://api.anthropic.com/api/organizations/{org_id}/reset_rate_limits"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",forceStream:!0,headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",authType:"apikey",authModes:["apikey"],hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com",webUrl:"https://www.workbuddy.cn/app"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",quirks:{sanitizeToolSchema:!0},headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"hy4-preview",name:"Hy4-Preview",rateMultiplier:.29,nightFree:{from:23,to:8}},{id:"hy3",name:"Hy3",rateMultiplier:0},{id:"space-bunny",name:"Space-Bunny",rateMultiplier:.08},{id:"glm-5v-turbo",name:"GLM-5v-Turbo",rateMultiplier:.71},{id:"glm-5.3",name:"GLM-5.3",rateMultiplier:.79},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",rateMultiplier:.06},{id:"glm-5.3-flashx",name:"GLM-5.3-FlashX",rateMultiplier:.14},{id:"glm-5.2",name:"GLM-5.2",rateMultiplier:.79},{id:"glm-5.1",name:"GLM-5.1",rateMultiplier:.79},{id:"minimax-m3",name:"MiniMax-M3",rateMultiplier:.25},{id:"kimi-k3",name:"Kimi-K3",rateMultiplier:1.62},{id:"kimi-k2.7",name:"Kimi-K2.7-Code",rateMultiplier:.57},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview",rateMultiplier:.77,subPriority:!0},{id:"kimi-k2.6",name:"Kimi-K2.6",rateMultiplier:.52},{id:"step-5-preview",name:"Step-5-Preview",rateMultiplier:.43,subPriority:!0},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash",rateMultiplier:.11},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro",rateMultiplier:.51}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai",webUrl:"https://www.codebuddy.ai/agents"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"IDE/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"IDE","X-IDE-Name":"IDE","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"hy4-preview",name:"Hy4-Preview",rateMultiplier:0},{id:"hy3",name:"Hy3",rateMultiplier:0},{id:"gpt-6-astra",name:"GPT 6.0 Astra",rateMultiplier:6.67},{id:"gpt-6-luna",name:"GPT-6-Luna"},{id:"gpt-6-sol",name:"GPT-6-Sol"},{id:"gpt-5.6-sol",name:"GPT-5.6-Sol",rateMultiplier:3.47},{id:"gpt-5.6-terra",name:"GPT-5.6-Terra",rateMultiplier:1.39},{id:"gpt-5.6-luna",name:"GPT-5.6-Luna",rateMultiplier:.14},{id:"gpt-5.5",name:"GPT-5.5",rateMultiplier:3.31},{id:"gpt-5.4",name:"GPT-5.4",rateMultiplier:1.65},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex",rateMultiplier:1.25},{id:"gpt-6.1-sol",name:"GPT-6.1-Sol"},{id:"claude-opus-5.5",name:"Claude-Opus-5.5",rateMultiplier:2.17,paidTier:!0},{id:"claude-sonnet-5.5",name:"Claude-Sonnet-5.5",rateMultiplier:1.33,paidTier:!0},{id:"claude-opus-5",name:"Claude-Opus-5",rateMultiplier:3.33,paidTier:!0},{id:"claude-sonnet-5",name:"Claude-Sonnet-5",rateMultiplier:1.33,paidTier:!0},{id:"claude-opus-4.8",name:"Claude-Opus-4.8",rateMultiplier:3.33,paidTier:!0},{id:"claude-opus-4.7",name:"Claude-Opus-4.7",rateMultiplier:3.33,paidTier:!0},{id:"claude-opus-4.6",name:"Claude-Opus-4.6",rateMultiplier:3.33,paidTier:!0},{id:"claude-sonnet-4.6",name:"Claude-Sonnet-4.6",rateMultiplier:1.33,paidTier:!0},{id:"gemini-3.8-flash",name:"Gemini-3.8-Flash"},{id:"grok-4.7",name:"Grok-4.7",rateMultiplier:1.9},{id:"space-bunny",name:"Space-Bunny",rateMultiplier:.08},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash",rateMultiplier:.99},{id:"glm-5v-turbo",name:"GLM-5v-Turbo",rateMultiplier:.71},{id:"glm-5.3",name:"GLM-5.3",rateMultiplier:.79},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",rateMultiplier:.06},{id:"glm-5.2",name:"GLM-5.2",rateMultiplier:.79},{id:"glm-5.1",name:"GLM-5.1",rateMultiplier:.79},{id:"minimax-m3",name:"MiniMax-M3",rateMultiplier:.25},{id:"kimi-k3",name:"Kimi-K3",rateMultiplier:1.62},{id:"kimi-k2.7",name:"Kimi-K2.7-Code",rateMultiplier:.57},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview",rateMultiplier:.77,subPriority:!0},{id:"kimi-k2.6",name:"Kimi-K2.6",rateMultiplier:.52},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash",rateMultiplier:.11}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},j,{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",features:{usage:!0,usageApikey:!0},usage:{creditsUrl:"https://api.commandcode.ai/alpha/billing/credits",subscriptionsUrl:"https://api.commandcode.ai/alpha/billing/subscriptions"},transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (exp)"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"google/gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"meta/muse-spark-1.1",name:"Muse Spark 1.1"},{id:"meta/muse-spark-1.2",name:"Muse Spark 1.2"},{id:"meta/muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor"},{id:"minimax/minimax-m2.7-free",name:"MiniMax M2.7 (Free)"},{id:"minimax/minimax-m3-free",name:"MiniMax M3 (Free)"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.7-Code-Highspeed",name:"Kimi K2.7 Code HighSpeed"},{id:"moonshotai/Kimi-K3",name:"Kimi K3"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"poolside/laguna-s-2.1-free",name:"Laguna S 2.1"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"Qwen/Qwen3.7-Flash",name:"Qwen 3.7 Flash"},{id:"Qwen/Qwen3.7-Max",name:"Qwen 3.7 Max"},{id:"Qwen/Qwen3.7-Plus",name:"Qwen 3.7 Plus"},{id:"Qwen/Qwen3.8-27B",name:"Qwen 3.8 27B"},{id:"Qwen/Qwen3.8-Flash",name:"Qwen 3.8 Flash"},{id:"Qwen/Qwen3.8-Max",name:"Qwen 3.8 Max"},{id:"sakana/fugu-ultra",name:"Fugu Ultra"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"},{id:"stepfun/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"tencent/hy3-paid",name:"Tencent Hy3"},{id:"tencent/hy4-preview",name:"Tencent Hy4 Preview"},{id:"thinkingmachines/inkling",name:"Inkling"},{id:"thinkingmachines/inkling-small",name:"Inkling Small"},{id:"xiaomi/mimo-v2.5",name:"MiMo V2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"xai/grok-4.5",name:"Grok 4.5"},{id:"xai/grok-4.6",name:"Grok 4.6"},{id:"z-ai/glm-5.3-flash",name:"GLM-5.3 Flash"},{id:"zai-org/GLM-5",name:"GLM-5"},{id:"zai-org/GLM-5.1",name:"GLM-5.1"},{id:"zai-org/GLM-5.2",name:"GLM-5.2"},{id:"zai-org/GLM-5.2-Fast",name:"GLM-5.2 Fast"},{id:"zai-org/GLM-5.3",name:"GLM-5.3"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},k,{id:"devin-cli",alias:"dv",aliases:["devin"],uiAlias:"dv",hidden:!0,display:{name:"Devin CLI",icon:"smart_toy",color:"#6366F1",textIcon:"DV",website:"https://devin.ai",notice:{signupUrl:"https://cli.devin.ai",text:"Install: `curl -fsSL https://cli.devin.ai/install.sh | bash` (macOS: `brew install --cask devin-cli`, Windows PowerShell: `irm https://static.devin.ai/cli/setup.ps1 | iex`). Then run `devin auth login`. No API key needed."}},category:"free",authType:"none",noAuth:!0,authModes:["none"],transport:{baseUrl:"devin://acp/stdio",format:"openai"},models:[{id:"swe-1.6-fast",name:"SWE-1.6 Fast"},{id:"swe-1.6",name:"SWE-1.6"},{id:"swe-1.5-fast",name:"SWE-1.5 Fast"},{id:"swe-1.5",name:"SWE-1.5"},{id:"claude-opus-4.7-max",name:"Claude Opus 4.7 Max",contextLength:2e5},{id:"claude-opus-4.7-high",name:"Claude Opus 4.7 High",contextLength:2e5},{id:"claude-opus-4.7-medium",name:"Claude Opus 4.7 Medium",contextLength:2e5},{id:"claude-opus-4.7-low",name:"Claude Opus 4.7 Low",contextLength:2e5},{id:"claude-sonnet-4.6-thinking-1m",name:"Claude Sonnet 4.6 Thinking 1M",contextLength:1e6},{id:"claude-sonnet-4.6-thinking",name:"Claude Sonnet 4.6 Thinking",contextLength:2e5},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:2e5},{id:"claude-opus-4.6-thinking",name:"Claude Opus 4.6 Thinking",contextLength:2e5},{id:"claude-opus-4.6",name:"Claude Opus 4.6",contextLength:2e5},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5-xhigh",name:"GPT-5.5 XHigh",contextLength:2e5},{id:"gpt-5.5-high",name:"GPT-5.5 High",contextLength:2e5},{id:"gpt-5.5-medium",name:"GPT-5.5 Medium",contextLength:2e5},{id:"gpt-5.5-low",name:"GPT-5.5 Low",contextLength:2e5},{id:"gpt-5.4-high",name:"GPT-5.4 High",contextLength:2e5},{id:"gpt-5.4-medium",name:"GPT-5.4 Medium",contextLength:2e5},{id:"gpt-5.4-low",name:"GPT-5.4 Low",contextLength:2e5},{id:"gpt-5.3-codex-high",name:"GPT-5.3 Codex High",contextLength:2e5},{id:"gpt-5.3-codex-medium",name:"GPT-5.3 Codex Medium",contextLength:2e5},{id:"gpt-5.3-codex-low",name:"GPT-5.3 Codex Low",contextLength:2e5},{id:"gpt-5.2-high",name:"GPT-5.2 High",contextLength:2e5},{id:"gpt-5.2-medium",name:"GPT-5.2 Medium",contextLength:2e5},{id:"gpt-5.2-low",name:"GPT-5.2 Low",contextLength:2e5},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",contextLength:1e6},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low",contextLength:1e6},{id:"gemini-3.0-flash-high",name:"Gemini 3 Flash High",contextLength:1e6},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextLength:1e6},{id:"deepseek-v4",name:"DeepSeek V4",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"glm-5.1",name:"GLM-5.1",contextLength:204800}]},{id:"dots",alias:"dots",display:{name:"Dots",icon:"hub",color:"#FF2442",textIcon:"DT",website:"https://dots.ai",notice:{apiKeyUrl:"https://dots.ai/platform/apikeys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://note3-prev-api.askdiandian.com/v1/chat/completions",auth:{combined:!0,header:"api-key",scheme:"raw"}},models:[{id:"dots3-note-prev",name:"Dots3 Note Prev"}]},{id:"drex",alias:"drex",category:"apikey",display:{name:"Drex",icon:"psychology",color:"#131313",textIcon:"DX",website:"https://drex.nace.ai",notice:{apiKeyUrl:"https://drex.nace.ai/invite/tnzgt5vr"}},models:[{id:"drex-v1.0",name:"Drex v1.0",kind:"systemone"},{id:"drex-v1.1",name:"Drex v1.1",kind:"systemone"},{id:"drex-v1.5",name:"Drex v1.5",kind:"systemone"},{id:"drex-latest",name:"Drex Latest",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://drex.nace.ai/v1/systemone"}},{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"featherless",priority:65,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",validateUrl:"https://api.featherless.ai/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}]},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-native-audio-preview-09-17",name:"Gemini Live Transcription (Realtime)",params:["language","prompt","system_instruction","setup_timeout_ms","turn_timeout_ms"],kind:"stt",transport:"gemini-live"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},l,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-cli",priority:275,alias:"gcli",aliases:["grok-build","gb"],uiAlias:"gcli",display:{name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"},transport:{baseUrl:`${n}/responses`,format:"openai-responses",forceStream:!0,modelsUrl:`${n}/models`,userUrl:`${n}/user`,billingUrl:`${n}/billing`,clientVersion:m,clientIdentifier:o,tokenAuth:"xai-grok-cli",headers:{"User-Agent":p,"x-grok-client-identifier":o,"x-grok-client-version":m},usage:{url:`${n}/billing?format=credits`,userUrl:`${n}/user?include=subscription`},retry:{429:{attempts:2,delayMs:2e3},502:{attempts:2,delayMs:1500},503:{attempts:2,delayMs:1500}}},models:[{id:"grok-build",name:"Grok Build",contextLength:5e5,maxOutputTokens:64e3},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],features:{usage:!0},oauth:{clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:"openid profile email offline_access grok-cli:access api:access conversations:read conversations:write",referrer:"grok-build",refreshLeadMs:3e5}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"keenable",alias:"keenable",display:{name:"Keenable",icon:"travel_explore",color:"#FF7E38",textIcon:"KE",website:"https://www.keenable.ai",notice:{apiKeyUrl:"https://app.keenable.ai/console"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.keenable.ai/v1/search",method:"POST",authType:"apikey",authHeader:"x-api-key",searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.keenable.ai/v1/fetch",method:"GET",authType:"apikey",authHeader:"x-api-key",formats:["markdown","text"],maxCharacters:5e4,timeoutMs:15e3}},{id:"kilo-gateway",alias:"kgw",aliases:["kilo-gateway","kilogateway"],uiAlias:"kgw",category:"freeTier",display:{name:"Kilo Gateway",icon:"login",color:"#8B5CF6",textIcon:"KG",website:"https://kilo.ai",notice:{apiKeyUrl:"https://kilo.ai/dashboard?tab=apiKeys"}},authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/free",name:"Kilo Auto Free",contextLength:256e3},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)",contextLength:262144},{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"Nemotron 3 Ultra 550B (Free)",contextLength:1e6},{id:"kwaipilot/kat-coder-pro-v2.5:free",name:"Kat Coder Pro v2.5 (Free)",contextLength:256e3},{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextLength:1e6},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextLength:1e6}]},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"freeTier",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},{id:"kimi",priority:170,alias:"kimi",aliases:["kimi-coding","kmc"],display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},oauth:{clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5,authorizeDeviceUrl:"https://www.kimi.com/code/authorize_device"},features:{usage:!0,usageApikey:!0}},{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-opus-5.5-thinking",name:"Claude Opus 5.5 (Thinking)"},{id:"claude-opus-5.5-agentic",name:"Claude Opus 5.5 (Agentic)"},{id:"claude-opus-5.5-thinking-agentic",name:"Claude Opus 5.5 (Thinking + Agentic)"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5-thinking",name:"Claude Opus 5 (Thinking)"},{id:"claude-opus-5-agentic",name:"Claude Opus 5 (Agentic)"},{id:"claude-opus-5-thinking-agentic",name:"Claude Opus 5 (Thinking + Agentic)"},{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"gpt-5.6-sol-thinking",name:"GPT 5.6 Sol (Thinking)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking",name:"GPT 5.6 Terra (Thinking)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking",name:"GPT 5.6 Luna (Thinking)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"gpt-5.6-sol-agentic",name:"GPT 5.6 Sol (Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-agentic",name:"GPT 5.6 Terra (Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-agentic",name:"GPT 5.6 Luna (Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT 5.6 Sol (Thinking + Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT 5.6 Terra (Thinking + Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT 5.6 Luna (Thinking + Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"llm7",alias:"llm7",aliases:["llm-7"],uiAlias:"llm7",display:{name:"LLM7",icon:"pool",color:"#7C3AED",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",validateUrl:"https://api.llm7.io/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5 (LLM7)",contextLength:105e4},{id:"claude-opus-5",name:"Claude Opus 5 (LLM7)",contextLength:1e6},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (LLM7)",contextLength:1e6},{id:"grok-4.5",name:"Grok 4.5 (LLM7)",contextLength:5e5},{id:"kimi-k3",name:"Kimi K3 (LLM7)",contextLength:1e6}],passthroughModels:!0},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"longcat-intl",alias:"longcat-intl",uiAlias:"longcat-intl",display:{name:"LongCat Intl",icon:"pets",color:"#F59E0B",textIcon:"LC",website:"https://longcat.ai",notice:{apiKeyUrl:"https://longcat.ai/platform/product"}},category:"apikey",transport:{baseUrl:"https://api.longcat.ai/openai/v1/chat/completions",validateUrl:"https://api.longcat.ai/openai/v1/models"},models:[{id:"LongCat-2.5-Preview",name:"LongCat 2.5 Preview"},{id:"LongCat-2.0",name:"LongCat 2.0"}]},{id:"longcat",alias:"longcat",display:{name:"LongCat",icon:"pets",color:"#F59E0B",textIcon:"LC",website:"https://longcat.chat",notice:{apiKeyUrl:"https://longcat.chat/platform/product?inviteCode=ULW84AMZ"}},category:"apikey",transport:{baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",validateUrl:"https://api.longcat.chat/openai/v1/models"},models:[{id:"LongCat-2.5-Preview",name:"LongCat 2.5 Preview"},{id:"LongCat-2.0",name:"LongCat 2.0"}]},{id:"mimo-desktop",priority:22,alias:"mimo-desktop",aliases:["xmd"],uiAlias:"xmd",display:{name:"MiMo Desktop",icon:"smart_toy",color:"#FF6900",textIcon:"XMD",website:"https://mimo.xiaomimimo.com",notice:{text:"Account-session models. Requires MiMo Desktop to be installed and signed in on this machine — the session cookie is read from it locally and never stored here. No API key is needed for these models.",signupUrl:"https://mimo.xiaomimimo.com/desktop/invite/"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,serviceKinds:["llm"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",rateMultiplier:1,supportedFormats:["openai"],requiresSession:!0},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",rateMultiplier:.4,supportedFormats:["openai"],requiresSession:!0},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed",supportedFormats:["openai"],requiresSession:!0}],features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{id:"mimo-free",hidden:!1,priority:50,hasFree:!0,alias:"mimo-free",uiAlias:"mimo-free",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF",deprecationNotice:"MiMo free API service has ended. This provider is no longer free. It is hidden from the usage topology by default — enable it via the toggle if you still want it shown."},topologyHiddenByDefault:!0,category:"free",noAuth:!0,community:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"minimax-free",priority:57,alias:"minimax-free",uiAlias:"minimax-free",display:{name:"MiniMax Code Free",icon:"bolt",color:"#FF4D00",textIcon:"MM",website:"https://agent.minimax.cn"},category:"free",noAuth:!0,community:!0,exposeStaticModels:!0,transport:{baseUrl:"http://127.0.0.1:47860/gateway/minimax/v1/messages",format:"claude",noAuth:!0},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"}]},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"morph",alias:"morph",aliases:["morphllm"],uiAlias:"morph",display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}]},{id:"muse",priority:120,alias:"muse",aliases:["muse-ai","meta-model-api","muse-code","muse-subscription"],uiAlias:"muse",display:{name:"Muse (Meta Model API)",icon:"auto_awesome",color:"#0866FF",textIcon:"MU",website:"https://muse.ai",notice:{text:"Sign in with your Meta account (Muse Code subscription) or paste a Model API key from dev.meta.ai. Subscription keys are minted per account; Meta may train on contributor-tier data.",apiKeyUrl:"https://dev.meta.ai",signupUrl:"https://muse.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.meta.ai/v1/chat/completions",validateUrl:"https://api.meta.ai/v1/models",modelsUrl:"https://api.meta.ai/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.meta.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},{format:"openai-responses",baseUrl:"https://api.meta.ai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}}],models:[{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.1",name:"Muse Spark 1.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],passthroughModels:!0,oauth:{clientId:"1031625952748946",deviceCodeUrl:"https://auth.meta.com/oidc/device/authorization/",tokenUrl:"https://auth.meta.com/oidc/device/token/"}},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama-search",alias:"ollama-search",display:{name:"Ollama Search",icon:"cloud",color:"#ffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Web search via Ollama Cloud subscription. Reuses the API key from the Ollama (chat) provider.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch"],credentialFallback:"ollama",searchConfig:{baseUrl:"https://ollama.com/api/web_search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"}],serviceKinds:["llm"],features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5-pro",name:"GPT-5.5 Pro"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax, DeepSeek, Grok, GPT and more.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",features:{usage:!0,usageApikey:!0},transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview (Free)",supportedFormats:["openai"]},{id:"space-bunny-free",name:"Space Bunny (Free)",supportedFormats:["openai","claude"]},{id:"space-bunny",name:"Space Bunny",supportedFormats:["openai","claude"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-flash",name:"DeepSeek V4.1 Flash (alias id)",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",supportedFormats:["openai"]},{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"mimo-v2-pro",name:"MiMo V2 Pro",supportedFormats:["openai"]},{id:"mimo-v2-omni",name:"MiMo V2 Omni",supportedFormats:["openai"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"hy3-preview",name:"Hy3 Preview",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["openai","claude"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"omen-alpha",name:"Omen Alpha"}]},{id:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5-5",name:"Claude Opus 5.5",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6.1-sol",name:"GPT 6.1 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-sol",name:"GPT 6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"mistral-large-4",name:"Mistral Large 4",supportedFormats:["openai"]},{id:"union-alpha",name:"Union Alpha",supportedFormats:["claude"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"ling-3.1-flash-free",name:"Ling 3.1 Flash Free",supportedFormats:["openai"]},{id:"fledge-alpha-free",name:"Fledge Alpha Free",supportedFormats:["openai"]},{id:"exo-free",name:"Exo Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,community:!0,topologyHiddenByDefault:!1,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0,forceStream:!0,quirks:{forceAutoToolChoiceModels:["muse-spark-1.3-contributor-free"]}},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"big-pickle",name:"Big Pickle"},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free"},{id:"mimo-v2.5-free",name:"MiMo-V2.5 Free"},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free"},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free"},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"desktop","User-Agent":"opencode/1.18.31"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"},{id:"typesafe/jev-1.13",name:"Jev 1.13 (via OpenRouter)",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-agent",priority:181,alias:"perplexity-agent",aliases:["pplx-agent","pplx-responses","pa"],uiAlias:"pa",display:{name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/responses",validateUrl:"https://api.perplexity.ai/v1/models",format:"openai-responses"},models:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"},modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"poolside",priority:60,alias:"poolside",aliases:["ps"],uiAlias:"ps",display:{name:"Poolside",icon:"water_drop",color:"#0EA5E9",textIcon:"PS",website:"https://poolside.ai",notice:{apiKeyUrl:"https://platform.poolside.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"},{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"}]},{id:"qoder-cn",priority:31,alias:"qdc",uiAlias:"qdc",display:{name:"Qoder CN",icon:"water_drop",color:"#F43F5E",website:"https://qoder.cn",notice:{signupUrl:"https://qoder.cn"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) 来自 https://qoder.cn/account/integrations",modelsJsonUrl:"https://api.github.com/repos/techysy/10router/contents/providers/qoder-cn.json",fallbackModelsJsonUrl:"https://gitee.com/techysy/10router/raw/main/providers/qoder-cn.json",transport:{baseUrl:"https://gateway.qoder.com.cn/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.com.cn/api/v2/quota/usage"}},models:[{id:"auto",name:"Auto"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"q37fmodel",name:"Qwen3.7-Flash"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"gm51model",name:"GLM-5.2"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.com.cn",centerBaseUrl:"https://gateway.qoder.com.cn",chatBaseUrl:"https://gateway.qoder.com.cn",deviceTokenUrl:"https://openapi.qoder.com.cn/api/v1/deviceToken/poll",refreshUrl:"https://gateway.qoder.com.cn/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.com.cn/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.com.cn/api/v2/quota/usage",loginUrl:"https://qoder.cn/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) từ https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"auto",name:"Auto"},{id:"ultimate",name:"Ultimate"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sambanova",alias:"samba",aliases:["sambanova-ai"],uiAlias:"samba",hidden:!0,display:{name:"SambaNova",icon:"memory",color:"#F97316",textIcon:"SN",website:"https://sambanova.ai",notice:{apiKeyUrl:"https://cloud.sambanova.ai/apis"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextLength:196608}]},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:c(41534).Ps,method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"selfhosted-embedding",priority:50,hasFree:!0,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"cloud",color:"#ffffffff",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the OpenAI base URL, e.g. http://host:8080/v1 — /embeddings is appended. The API key is not checked by local servers; any value works."}},models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"http://localhost:8080/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"selfhosted-stt",priority:50,hasFree:!0,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"cloud",color:"#ffffffff",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the full transcriptions URL, e.g. http://host:8080/v1/audio/transcriptions. The API key is not checked by local servers; any value works."}},models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"http://localhost:8080/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,hasFree:!0,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"cloud",color:"#ffffffff",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the server root, e.g. http://host:8080 — /v1/audio/speech is appended. The API key is not checked by local servers; any value works."}},models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{baseUrl:"http://localhost:8880",defaultModel:"kokoro",authType:"apikey",format:"openai-speech"}},{id:"sensenova",alias:"sensenova",display:{name:"SenseNova",icon:"blur_on",color:"#1177E4",textIcon:"SN",website:"https://www.sensenova.cn",notice:{apiKeyUrl:"https://platform.sensenova.cn/console/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://token.sensenova.cn/v1/chat/completions",validateUrl:"https://token.sensenova.cn/v1/models"},models:[{id:"sensenova-6.8-flash-lite",name:"SenseNova 6.8 Flash Lite"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"sensenova-u1.5-lite",name:"SenseNova U1.5 Lite",kind:"image",capabilities:["text2img"]},{id:"sensenova-u1-fast",name:"SenseNova U1 Fast",kind:"image",capabilities:["text2img"]}]},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow-cn",priority:115,alias:"siliconflow-cn",aliases:["sfcn"],uiAlias:"sfcn",display:{name:"SiliconFlow CN",icon:"bolt",color:"#1FA34A",textIcon:"SF",website:"https://siliconflow.cn",notice:{apiKeyUrl:"https://cloud.siliconflow.cn/account/asicKey"}},category:"apikey",authType:"apikey",serviceKinds:["llm","image","video","embedding"],imageConfig:{baseUrl:"https://api.siliconflow.cn/v1/images/generations"},videoConfig:{baseUrl:"https://api.siliconflow.cn/v1/videos/generations"},embeddingConfig:{baseUrl:"https://api.siliconflow.cn/v1/embeddings"},transport:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",validateUrl:"https://api.siliconflow.cn/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"Kwai-Kolors/Kolors",name:"Kolors",params:["size"],kind:"image"},{id:"zai-org/Z-Image-Turbo",name:"Z-Image Turbo",params:["size"],kind:"image"},{id:"Qwen/Qwen-Image",name:"Qwen Image",params:["size"],kind:"image"},{id:"Wan-AI/Wan2.2-T2V-A14B",name:"Wan2.2 T2V",params:["size"],kind:"video"},{id:"Wan-AI/Wan2.2-I2V-A14B",name:"Wan2.2 I2V",params:["size"],kind:"video"}],features:{usage:!0,usageApikey:!0}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"stepfun-cn",priority:65,alias:"step-cn",aliases:["stepfun-cn","sf-cn"],display:{name:"StepFun CN",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.com",notice:{apiKeyUrl:"https://platform.stepfun.com/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.com/v1/chat/completions",validateUrl:"https://api.stepfun.com/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-1o-turbo-vision",name:"Step-1o Turbo Vision"},{id:"stepaudio-3-tts",name:"StepAudio 3 TTS",kind:"tts"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"},{id:"step-tts-2",name:"Step TTS 2",kind:"tts"},{id:"step-tts-mini",name:"Step TTS Mini",kind:"tts"},{id:"stepaudio-2.5-asr",name:"StepAudio 2.5 ASR",kind:"stt"}],serviceKinds:["llm","imageToText","tts","stt"],features:{usage:!0,usageApikey:!0},ttsConfig:{baseUrl:"https://api.stepfun.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"},sttConfig:{baseUrl:"https://api.stepfun.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"stepfun-plan-cn",priority:64,alias:"stepp-cn",aliases:["step-plan-cn","sfp-cn","sfpcn","stepfun-plan-cn"],display:{name:"StepFun CN Plan",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.com/step-plan",notice:{apiKeyUrl:"https://platform.stepfun.com/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.com/step_plan/v1/chat/completions",validateUrl:"https://api.stepfun.com/step_plan/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-router-v1",name:"Step Router V1"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"}],serviceKinds:["llm","imageToText","tts"],features:{},ttsConfig:{baseUrl:"https://api.stepfun.com/step_plan/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"}},{id:"stepfun-plan",priority:66,alias:"stepp",aliases:["step-plan","sfp","stepfun-plan"],display:{name:"StepFun Plan",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.ai/step-plan",notice:{apiKeyUrl:"https://platform.stepfun.ai/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.ai/step_plan/v1/chat/completions",validateUrl:"https://api.stepfun.ai/step_plan/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-router-v1",name:"Step Router V1"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"}],serviceKinds:["llm","imageToText","tts"],features:{},ttsConfig:{baseUrl:"https://api.stepfun.ai/step_plan/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"}},{id:"stepfun",priority:67,alias:"step",aliases:["stepfun","sf"],display:{name:"StepFun",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.ai",notice:{apiKeyUrl:"https://platform.stepfun.ai/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.ai/v1/chat/completions",validateUrl:"https://api.stepfun.ai/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-1o-turbo-vision",name:"Step-1o Turbo Vision"},{id:"stepaudio-3-tts",name:"StepAudio 3 TTS",kind:"tts"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"},{id:"step-tts-2",name:"Step TTS 2",kind:"tts"},{id:"step-tts-mini",name:"Step TTS Mini",kind:"tts"},{id:"stepaudio-2.5-asr",name:"StepAudio 2.5 ASR",kind:"stt"}],serviceKinds:["llm","imageToText","tts","stt"],features:{usage:!0,usageApikey:!0},ttsConfig:{baseUrl:"https://api.stepfun.ai/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"},sttConfig:{baseUrl:"https://api.stepfun.ai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"tencent",alias:"hunyuan",aliases:["hunyuan","tencent-hunyuan"],uiAlias:"hunyuan",display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}]},{id:"tinyfish",alias:"tinyfish",display:{name:"TinyFish",icon:"travel_explore",color:"#D74B28",textIcon:"TF",website:"https://tinyfish.ai",notice:{apiKeyUrl:"https://agent.tinyfish.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.search.tinyfish.ai",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.fetch.tinyfish.ai",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,freeMonthlyQuota:999999,formats:["markdown","text","html"],maxCharacters:1e5,timeoutMs:3e4}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"tokenbom",alias:"tokenbom",display:{name:"TokenBom",icon:"bolt",color:"#6366F1",textIcon:"TB",website:"https://tokenbom.com",notice:{apiKeyUrl:"https://tokenbom.com/login?mode=register&invite=SS-CB5D0A43"}},category:"apikey",transport:{baseUrl:"https://tokenbom.com/v1/chat/completions",validateUrl:"https://tokenbom.com/v1/models"},models:[{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-4.8-opus",name:"Claude Opus 4.8"},{id:"claude-4.7-opus",name:"Claude Opus 4.7"},{id:"claude-4.6-opus",name:"Claude Opus 4.6"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5.3",name:"GLM-5.3"},{id:"kimi-k3",name:"Kimi K3"},{id:"qwen3.8-flash",name:"Qwen3.8-Flash"}]},{id:"tokenharbor",alias:"tokenharbor",aliases:["th","thh"],uiAlias:"tokenharbor",display:{name:"Token Harbor",icon:"anchor",color:"#0F766E",textIcon:"TH",website:"https://tokenharbor.ai",notice:{apiKeyUrl:"https://tokenharbor.ai/dashboard"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://tokenharbor.ai/v1/chat/completions",validateUrl:"https://tokenharbor.ai/v1/models",retry:{429:2}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-5.5:free",name:"Claude Haiku 5.5 (Free)"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-sol",name:"GPT-6 Sol"},{id:"deepseek-v4.1-flash:free",name:"DeepSeek V4.1 Flash (Free)"},{id:"qwen3.8-flash:free",name:"Qwen3.8 Flash (Free)"},{id:"mimo-v2.6-flash:free",name:"MiMo V2.6 Flash (Free)"},{id:"grok-4.7",name:"Grok 4.7"}],modelsFetcher:{url:"https://tokenharbor.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"tokenrouter",alias:"tokenrouter",aliases:[],uiAlias:"tokenrouter",display:{name:"TokenRouter",icon:"hub",color:"#0EA5E9",textIcon:"TR",website:"https://www.tokenrouter.com",notice:{text:"OpenAI-compatible gateway. 300+ models (OpenAI, Claude, Gemini, Qwen, DeepSeek, Kimi, GLM, dsb).",apiKeyUrl:"https://www.tokenrouter.com"}},category:"apikey",thinkingConfig:{options:["low","medium","high","xhigh","max"],defaultMode:"high"},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",thinkingFormat:"tokenrouter"},models:[{id:"MiniMax-Hailuo-2.3",name:"Minimax Hailuo 2.3",kind:"video"},{id:"MiniMax-M3",name:"Minimax M3"},{id:"anthropic/claude-fable-5",name:"Claude Fable 5"},{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-opus-4.7-fast",name:"Claude Opus 4.7 Fast"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 Fast"},{id:"anthropic/claude-opus-5",name:"Claude Opus 5"},{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 Fast"},{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4"},{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5"},{id:"bytedance-seed/seedream-4.5",name:"Seedream 4.5",kind:"image"},{id:"bytedance-seed/seedream-5.0-lite",name:"Seedream 5.0 Lite",kind:"image"},{id:"bytedance-seed/seedream-5.0-pro",name:"Seedream 5.0 Pro",kind:"image"},{id:"claude-haiku-4-5",name:"Claude Haiku 4 5"},{id:"claude-opus-4-8-m-aws",name:"Claude Opus 4 8 M Aws"},{id:"deepseek/deepseek-v3.2",name:"Deepseek V3.2"},{id:"deepseek/deepseek-v4-flash",name:"Deepseek V4 Flash"},{id:"deepseek/deepseek-v4-flash-0731",name:"Deepseek V4 Flash 0731"},{id:"deepseek/deepseek-v4-pro",name:"Deepseek V4 Pro"},{id:"ex/gpt-5.4",name:"Gpt 5.4"},{id:"google/gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image"},{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"google/gemini-3-pro-image-preview",name:"Gemini 3 Pro Image Preview"},{id:"google/gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"google/gemini-3.1-flash-lite-image",name:"Gemini 3.1 Flash Lite Image"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"google/gemini-embedding-2",name:"Gemini Embedding 2"},{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B It"},{id:"happyhorse-1.0-t2v",name:"Happyhorse 1.0 T2V",kind:"video"},{id:"kling-3.0-turbo",name:"Kling 3.0 Turbo",kind:"video"},{id:"kling-v2-6",name:"Kling V2 6",kind:"video"},{id:"kling-v3",name:"Kling V3",kind:"video"},{id:"kling-v3-omni",name:"Kling V3 Omni",kind:"video"},{id:"microsoft/mai-image-2.5",name:"Mai Image 2.5"},{id:"minimax/minimax-m2-her",name:"Minimax M2 Her"},{id:"minimax/minimax-m2.1",name:"Minimax M2.1"},{id:"minimax/minimax-m2.1-highspeed",name:"Minimax M2.1 Highspeed"},{id:"minimax/minimax-m2.5",name:"Minimax M2.5"},{id:"minimax/minimax-m2.7",name:"Minimax M2.7"},{id:"minimax/minimax-m2.7-highspeed",name:"Minimax M2.7 Highspeed"},{id:"miromind/mirothinker-1-7-deepresearch",name:"Mirothinker 1 7 Deepresearch"},{id:"miromind/mirothinker-1-7-deepresearch-mini",name:"Mirothinker 1 7 Deepresearch Mini"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"mistralai/mistral-medium-3-5",name:"Mistral Medium 3 5"},{id:"mistralai/mistral-small-2603",name:"Mistral Small 2603"},{id:"mistralai/voxtral-small-24b-2507",name:"Voxtral Small 24B 2507"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3",name:"Kimi K3"},{id:"moonshotai/kimi-k3-free",name:"Kimi K3 Free"},{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni 30B A3B Reasoning:Free"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B A12B"},{id:"openai/gpt-4o-mini",name:"Gpt 4O Mini"},{id:"openai/gpt-5",name:"Gpt 5"},{id:"openai/gpt-5-image",name:"Gpt 5 Image"},{id:"openai/gpt-5-image-mini",name:"Gpt 5 Image Mini"},{id:"openai/gpt-5-mini",name:"Gpt 5 Mini"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"openai/gpt-5.4",name:"Gpt 5.4"},{id:"openai/gpt-5.4-image-2",name:"Gpt 5.4 Image 2",kind:"image"},{id:"openai/gpt-5.4-mini",name:"Gpt 5.4 Mini"},{id:"openai/gpt-5.4-nano",name:"Gpt 5.4 Nano"},{id:"openai/gpt-5.4-pro",name:"Gpt 5.4 Pro"},{id:"openai/gpt-5.5",name:"Gpt 5.5"},{id:"openai/gpt-5.5-pro",name:"Gpt 5.5 Pro"},{id:"openai/gpt-5.6-luna",name:"Gpt 5.6 Luna"},{id:"openai/gpt-5.6-sol",name:"Gpt 5.6 Sol"},{id:"openai/gpt-5.6-terra",name:"Gpt 5.6 Terra"},{id:"openai/gpt-audio",name:"Gpt Audio",kind:"audio"},{id:"openai/gpt-audio-mini",name:"Gpt Audio Mini",kind:"audio"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen/qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"},{id:"qwen/qwen3.5-35b-a3b",name:"Qwen3.5 35B A3B"},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"qwen/qwen3.5-9b",name:"Qwen3.5 9B"},{id:"qwen/qwen3.5-flash",name:"Qwen3.5 Flash"},{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 02 15"},{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen/qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max"},{id:"qwen3.5-omni-plus",name:"Qwen3.5 Omni Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"sakana/fugu-ultra",name:"Fugu Ultra"},{id:"seed-2-0-code-preview-260328",name:"Seed 2 0 Code Preview 260328"},{id:"seed-2-0-lite-260428",name:"Seed 2 0 Lite 260428"},{id:"seed-2-0-mini-260428",name:"Seed 2 0 Mini 260428"},{id:"seed-2-0-pro-260328",name:"Seed 2 0 Pro 260328"},{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash"},{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash"},{id:"tencent/hy3-preview",name:"Hy3 Preview"},{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta"},{id:"x-ai/grok-4.3",name:"Grok 4.3"},{id:"x-ai/grok-4.5",name:"Grok 4.5"},{id:"x-ai/grok-build-0.1",name:"Grok Build 0.1"},{id:"xiaomi/mimo-v2-flash",name:"Mimo V2 Flash"},{id:"xiaomi/mimo-v2-omni",name:"Mimo V2 Omni"},{id:"xiaomi/mimo-v2-pro",name:"Mimo V2 Pro"},{id:"xiaomi/mimo-v2.5",name:"Mimo V2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"Mimo V2.5 Pro"},{id:"z-ai/glm-4.5-air",name:"Glm 4.5 Air"},{id:"z-ai/glm-4.6",name:"Glm 4.6"},{id:"z-ai/glm-4.6v",name:"Glm 4.6V"},{id:"z-ai/glm-4.7",name:"Glm 4.7"},{id:"z-ai/glm-5",name:"Glm 5"},{id:"z-ai/glm-5-turbo",name:"Glm 5 Turbo"},{id:"z-ai/glm-5.1",name:"Glm 5.1"},{id:"z-ai/glm-5.2",name:"Glm 5.2"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.tokenrouter.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.tokenrouter.com/v1/images/generations"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},passthroughModels:!0},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"trae",alias:"tr",uiAlias:"tr",aliases:["marscode"],category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth"],display:{name:"Trae",icon:"bolt",color:"#FF6A00",textIcon:"TR",website:"https://www.trae.ai",notice:{signupUrl:"https://www.trae.ai"}},transport:{baseUrl:"https://core-normal.trae.ai/api/remote/v1",format:"openai",headers:{"X-Trae-Client-Type":"web","X-Preferenced-Language":"en",Referer:"https://solo.trae.ai/"},auth:{combined:!0,header:"Authorization",scheme:"Cloud-IDE-JWT"},usage:{url:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo"},regions:{cn:"https://api.marscode.com",sg:"https://api.trae.ai",us:"https://www.trae.ai"},defaultRegion:"cn"},oauth:{clientId:"ono9krqynydwx5",clientSecret:"-",platform:"trae",pollInterval:1500,loginGuidanceUrl:"https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance",tokenUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",exchangeTokenUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",refreshUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",userInfoUrl:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo",refresh:{encoding:"json"}},models:[{id:"auto",name:"Auto (Server Picks)"},{id:"work",name:"Work (Fast)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-flash-solo",name:"Gemini 3 Flash"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.2",name:"GPT 5.2"}],features:{usage:!0}},{id:"trae-free",priority:58,alias:"trae-free",uiAlias:"trae-free",display:{name:"Trae Free",icon:"bolt",color:"#FF6A00",textIcon:"TF",website:"https://www.trae.ai"},category:"free",noAuth:!0,community:!0,exposeStaticModels:!0,transport:{baseUrl:"http://127.0.0.1:47860/gateway/trae/v1/messages",format:"claude",noAuth:!0},models:[{id:"Doubao-Seed-Code",name:"Doubao Seed Code"},{id:"Doubao-Seed-2.1-Pro",name:"Doubao Seed 2.1-Pro"},{id:"Doubao-Seed-2.1-Turbo",name:"Doubao Seed 2.1-Turbo"},{id:"Doubao-Seed-Evolving",name:"Doubao Seed Evolving"},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1-Flash"},{id:"DeepSeek-V4-Flash-Official",name:"DeepSeek V4-Flash Official"},{id:"DeepSeek-V4-Pro-Official",name:"DeepSeek V4-Pro Official"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3-Flash"},{id:"glm-5.3-flashx",name:"GLM 5.3-FlashX"},{id:"mimo-v2.6-flash",name:"MiMo V2.6-Flash"},{id:"mimo-v2.6-pro",name:"MiMo V2.6-Pro"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.7-code",name:"Kimi K2.7-Code"},{id:"kimi-k3",name:"Kimi K3"},{id:"minimax-m3",name:"MiniMax M3"},{id:"qwen-3.7-plus",name:"Qwen 3.7-Plus"},{id:"qwen3.8-max",name:"Qwen 3.8-Max"},{id:"step-5-preview",name:"Step 5-Preview"}]},{id:"v1m",priority:45,alias:"v1m",aliases:["systemone","jev"],uiAlias:"v1m",display:{name:"v1m (System One)",icon:"psychology",color:"#6366F1",textIcon:"V1",website:"https://v1m.ir",notice:{text:"v1m System One calibrated decision engine. Fast probabilistic evaluations over state and questions.",apiKeyUrl:"https://v1m.ir"}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,models:[{id:"rev-latest",name:"v1m Rev Latest (Calibrated)",kind:"systemone"},{id:"v1m-decision-engine",name:"v1m Decision Engine",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://v1m.ir/v1/systemone",authType:"apikey",authHeader:"bearer"}},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",aliases:["voyage"],uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"windsurf",alias:"ws",uiAlias:"ws",display:{name:"Windsurf",icon:"surfing",color:"#14B8A6",website:"https://windsurf.com",notice:{signupUrl:"https://windsurf.com"}},category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth","apikey"],transport:{baseUrl:"https://server.codeium.com/exa.language_server_pb.LanguageServerService/GetChatMessage",format:"openai",headers:{"Content-Type":"application/grpc-web+proto",Accept:"application/grpc-web+proto","X-Grpc-Web":"1"},auth:{combined:!0,header:"Authorization",scheme:"Bearer"}},oauth:{clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",firebaseSignInUrl:"https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword",registerUrl:"https://register.windsurf.com/exa.seat_management_pb.SeatManagementService/RegisterUser",apiServerUrl:"https://server.codeium.com",auth1ApiServerUrl:"https://server.self-serve.windsurf.com",platform:"windsurf",quotaUrl:"https://windsurf.com/_backend/exa.seat_management_pb.SeatManagementService/GetPlanStatus"},models:[{id:"swe-1.6-fast",name:"SWE-1.6 Fast"},{id:"swe-1.6",name:"SWE-1.6"},{id:"swe-1.5-fast",name:"SWE-1.5 Fast"},{id:"swe-1.5",name:"SWE-1.5"},{id:"claude-opus-4.7-max",name:"Claude Opus 4.7 Max"},{id:"claude-opus-4.7-xhigh",name:"Claude Opus 4.7 XHigh"},{id:"claude-opus-4.7-high",name:"Claude Opus 4.7 High"},{id:"claude-opus-4.7-medium",name:"Claude Opus 4.7 Medium"},{id:"claude-opus-4.7-low",name:"Claude Opus 4.7 Low"},{id:"claude-opus-4.7-review",name:"Claude Opus 4.7 Review"},{id:"claude-sonnet-4.6-thinking-1m",name:"Claude Sonnet 4.6 Thinking 1M"},{id:"claude-sonnet-4.6-1m",name:"Claude Sonnet 4.6 1M"},{id:"claude-sonnet-4.6-thinking",name:"Claude Sonnet 4.6 Thinking"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"gpt-5.5-xhigh-fast",name:"GPT-5.5 XHigh Fast"},{id:"gpt-5.5-xhigh",name:"GPT-5.5 XHigh"},{id:"gpt-5.5-high-fast",name:"GPT-5.5 High Fast"},{id:"gpt-5.5-high",name:"GPT-5.5 High"},{id:"gpt-5.5-medium-fast",name:"GPT-5.5 Medium Fast"},{id:"gpt-5.5-medium",name:"GPT-5.5 Medium"},{id:"gpt-5.5-low-fast",name:"GPT-5.5 Low Fast"},{id:"gpt-5.5-low",name:"GPT-5.5 Low"},{id:"gpt-5.5-none-fast",name:"GPT-5.5 None Fast"},{id:"gpt-5.5-none",name:"GPT-5.5 None"},{id:"gpt-5.4-xhigh-fast",name:"GPT-5.4 XHigh Fast"},{id:"gpt-5.4-xhigh",name:"GPT-5.4 XHigh"},{id:"gpt-5.4-high-fast",name:"GPT-5.4 High Fast"},{id:"gpt-5.4-high",name:"GPT-5.4 High"},{id:"gpt-5.4-medium-fast",name:"GPT-5.4 Medium Fast"},{id:"gpt-5.4-medium",name:"GPT-5.4 Medium"},{id:"gpt-5.4-low-fast",name:"GPT-5.4 Low Fast"},{id:"gpt-5.4-low",name:"GPT-5.4 Low"},{id:"gpt-5.4-none-fast",name:"GPT-5.4 None Fast"},{id:"gpt-5.4-none",name:"GPT-5.4 None"},{id:"gpt-5.4-mini-xhigh",name:"GPT-5.4 Mini XHigh"},{id:"gpt-5.4-mini-high",name:"GPT-5.4 Mini High"},{id:"gpt-5.4-mini-medium",name:"GPT-5.4 Mini Medium"},{id:"gpt-5.4-mini-low",name:"GPT-5.4 Mini Low"},{id:"gpt-5.3-codex-xhigh-fast",name:"GPT-5.3 Codex XHigh Fast"},{id:"gpt-5.3-codex-xhigh",name:"GPT-5.3 Codex XHigh"},{id:"gpt-5.3-codex-high-fast",name:"GPT-5.3 Codex High Fast"},{id:"gpt-5.3-codex-high",name:"GPT-5.3 Codex High"},{id:"gpt-5.3-codex-medium-fast",name:"GPT-5.3 Codex Medium Fast"},{id:"gpt-5.3-codex-medium",name:"GPT-5.3 Codex Medium"},{id:"gpt-5.3-codex-low-fast",name:"GPT-5.3 Codex Low Fast"},{id:"gpt-5.3-codex-low",name:"GPT-5.3 Codex Low"},{id:"gpt-5.2-xhigh",name:"GPT-5.2 XHigh"},{id:"gpt-5.2-high",name:"GPT-5.2 High"},{id:"gpt-5.2-medium",name:"GPT-5.2 Medium"},{id:"gpt-5.2-low",name:"GPT-5.2 Low"},{id:"gpt-5.2-none",name:"GPT-5.2 None"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.0-flash-high",name:"Gemini 3 Flash High"},{id:"gemini-3.0-flash-medium",name:"Gemini 3 Flash Medium"},{id:"gemini-3.0-flash-low",name:"Gemini 3 Flash Low"},{id:"gemini-3.0-flash-minimal",name:"Gemini 3 Flash Minimal"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"deepseek-v4",name:"DeepSeek V4"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM-5.1"}]},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.3",name:"Grok 4.3"},{id:"grok-4.2",name:"Grok 4.2"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:20,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys",signupUrl:"https://platform.xiaomimimo.com/"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro"},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash"},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"},features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{id:"xiaomi-tokenplan",priority:21,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"MiMo Token Plan",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://platform.xiaomimimo.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys"}},category:"apikey",hasProviderSpecificData:!0,serviceKinds:["llm","tts"],regions:[{id:"cn",label:"China (中国大陆)"},{id:"sgp",label:"Singapore (新加坡)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"cn",transport:{baseUrl:"https://token-plan-cn.xiaomimimo.com/v1/chat/completions",regions:{cn:"https://token-plan-cn.xiaomimimo.com/v1",sgp:"https://token-plan-sgp.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"cn"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro"},{id:"mimo-v2.6-pro-claude",name:"MiMo V2.6 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.6-pro"},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash"},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone",kind:"tts"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design",kind:"tts"}],ttsConfig:{baseUrl:"https://token-plan-cn.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"}},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"zcode-free",priority:56,alias:"zcode-free",uiAlias:"zcode-free",display:{name:"ZCode Free",icon:"rocket_launch",color:"#7C3AED",textIcon:"ZC",website:"https://zcode.z.ai"},category:"free",noAuth:!0,community:!0,exposeStaticModels:!0,transport:{baseUrl:"http://127.0.0.1:47860/gateway/zcode/v1/messages",format:"claude",noAuth:!0},models:[{id:"glm-5.3-flash",name:"GLM 5.3 Flash"}]},{id:"zed",priority:10,alias:"zd",uiAlias:"zd",hidden:!0,display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}}]},75991:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={interceptTestApis:function(){return h},wrapRequestHandler:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g=c(57202);function h(){return(0,g.interceptFetch)(global.fetch)}function i(a){return(b,c)=>(0,f.withRequest)(b,g.reader,()=>a(b,c))}},76309:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestHint:function(){return E},adapter:function(){return I}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=c(99751),h=c(16129),i=c(84573),j=c(17385),k=c(64718),l=c(92729),m=c(76496),n=c(92539),o=c(62192),p=c(32648),q=c(24453),r=c(63033),s=c(61595),t=c(29294),u=c(42776),v=c(12726),w=c(88026),x=c(72029),y=c(7370),z=c(63891),A=c(31574),B=c(6872),C=c(61544),D={get default(){throw Object.defineProperty(new u.InvariantError("Proxy does not support `use cache`, so reading its `default` cacheLife profile is unexpected."),"__NEXT_ERROR_CODE",{value:"E1406",enumerable:!1,configurable:!0})}};class E extends i.NextRequest{constructor(a){super(a.input,a.init),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let F={keys:a=>Array.from(a.keys()),get:(a,b)=>a.get(b)??void 0},G=(a,b)=>(0,v.getTracer)().withPropagatedContext(a.headers,b,F),H=!1;async function I(a){var b,d,e,f;let i,u;!function(){if(!H&&(H=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:a,wrapRequestHandler:b}=c(75991);a(),G=b(G)}}(),await (0,p.ensureInstrumentationRegistered)();let F=void 0!==globalThis.__BUILD_MANIFEST;a.request.url=(0,n.normalizeRscURL)(a.request.url);let I=a.bypassNextUrl?new URL(a.request.url):new l.NextURL(a.request.url,{headers:a.request.headers,nextConfig:a.request.nextConfig});for(let a of[...I.searchParams.keys()]){let b=I.searchParams.getAll(a),c=(0,g.normalizeNextQueryParam)(a);if(c){for(let a of(I.searchParams.delete(c),b))I.searchParams.append(c,a);I.searchParams.delete(a)}}let J=process.env.__NEXT_BUILD_ID||"";"buildId"in I&&(J=I.buildId||"",I.buildId="");let K=(0,g.fromNodeOutgoingHttpHeaders)(a.request.headers),L=K.has("x-nextjs-data"),M=(0,B.isRSCRequestHeader)(K.get(o.RSC_HEADER));L&&"/index"===I.pathname&&(I.pathname="/");let N=new Map;if(!F)for(let a of o.FLIGHT_HEADERS){let b=K.get(a);null!==b&&(N.set(a,b),K.delete(a))}let O=I.searchParams.get(o.NEXT_RSC_UNION_QUERY),P=new E({page:a.page,input:(0,m.stripInternalSearchParams)(I).toString(),init:{body:a.request.body,headers:K,method:a.request.method,nextConfig:a.request.nextConfig,signal:a.request.signal}});a.request.requestMeta&&(0,C.setRequestMeta)(P,a.request.requestMeta),L&&Object.defineProperty(P,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&a.IncrementalCache&&(globalThis.__incrementalCache=new a.IncrementalCache({CurCacheHandler:a.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:a.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:(0,y.getEdgePreviewProps)()})}));let Q=a.request.waitUntil??(null==(b=(0,z.getBuiltinRequestContext)())?void 0:b.waitUntil),R=new h.NextFetchEvent({request:P,page:a.page,context:Q?{waitUntil:Q}:void 0});if((i=await G(P,()=>{if("/middleware"===a.page||"/src/middleware"===a.page||"/proxy"===a.page||"/src/proxy"===a.page){let b=R.waitUntil.bind(R),c=new x.CloseController;return(0,v.getTracer)().trace(w.MiddlewareSpan.execute,{spanName:`middleware ${P.method}`,attributes:{"http.target":P.nextUrl.pathname,"http.method":P.method}},async()=>{try{var d,e;let f=(0,y.getEdgePreviewProps)(),g=await (0,A.getImplicitTags)("/",P.nextUrl.pathname,null),h=(0,q.createRequestStoreForAPI)(P,P.nextUrl,g,a=>{u=a},f,void 0),i=(0,s.createWorkStore)({page:"/",renderOpts:{cacheLifeProfiles:D,staticPageGenerationTimeout:0,cacheComponents:!1,validationLevel:"warning",experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(e=a.request.nextConfig)||null==(d=e.experimental)?void 0:d.authInterrupts),useCacheTimeout:0},supportsDynamicResponse:!0,waitUntil:b,onClose:c.onClose.bind(c),onAfterTaskError:void 0},isPrefetchRequest:"1"===P.headers.get(o.NEXT_ROUTER_PREFETCH_HEADER),buildId:J??"",deploymentId:!1,previouslyRevalidatedTags:[]});return await t.workAsyncStorage.run(i,()=>r.workUnitAsyncStorage.run(h,a.handler,P,R))}finally{setTimeout(()=>{c.dispatchClose()},0)}})}return a.handler(P,R)}))&&!(i instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});i&&u&&i.headers.set("set-cookie",u);let S=null==i?void 0:i.headers.get("x-middleware-rewrite");if(i&&S&&(M||!F)){let b=new l.NextURL(S,{forceLocale:!0,headers:a.request.headers,nextConfig:a.request.nextConfig});F||b.host!==P.nextUrl.host||(b.buildId=J||b.buildId,i.headers.set("x-middleware-rewrite",String(b)));let{url:c,isRelative:g}=(0,k.parseRelativeURL)(b.toString(),I.toString());!F&&L&&i.headers.set("x-nextjs-rewrite",c);let h=!g&&(null==(f=a.request.nextConfig)||null==(e=f.experimental)||null==(d=e.clientParamParsingOrigins)?void 0:d.some(a=>new RegExp(a).test(b.origin)));M&&(g||h)&&(I.pathname!==b.pathname&&i.headers.set(o.NEXT_REWRITTEN_PATH_HEADER,b.pathname),I.search!==b.search&&i.headers.set(o.NEXT_REWRITTEN_QUERY_HEADER,b.search.slice(1)))}if(i&&S&&M&&O){let a=new URL(S);a.searchParams.has(o.NEXT_RSC_UNION_QUERY)||(a.searchParams.set(o.NEXT_RSC_UNION_QUERY,O),i.headers.set("x-middleware-rewrite",a.toString()))}let T=null==i?void 0:i.headers.get("Location");if(i&&T&&!F){let b=new l.NextURL(T,{forceLocale:!1,headers:a.request.headers,nextConfig:a.request.nextConfig});i=new Response(i.body,i),b.host===I.host&&(b.buildId=J||b.buildId,i.headers.set("Location",(0,k.getRelativeURL)(b,I))),L&&(i.headers.delete("Location"),i.headers.set("x-nextjs-redirect",(0,k.getRelativeURL)(b.toString(),I.toString())))}let U=i||j.NextResponse.next(),V=U.headers.get("x-middleware-override-headers"),W=[];if(V){for(let[a,b]of N)U.headers.set(`x-middleware-request-${a}`,b),W.push(a);W.length>0&&U.headers.set("x-middleware-override-headers",V+","+W.join(","))}return{response:U,waitUntil:(0,h.getWaitUntilPromiseFromEvent)(R)??Promise.resolve(),fetchMetrics:P.fetchMetrics}}},76496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={stripInternalQueries:function(){return h},stripInternalSearchParams:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=[f.NEXT_RSC_UNION_QUERY];function h(a){for(let b of g)delete a[b]}function i(a){let b="string"==typeof a,c=b?new URL(a):a;return c.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b?c.toString():c}},76760:a=>{"use strict";a.exports=require("node:path")},76871:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_ID_TO_ALIAS:()=>w,PROVIDER_MODELS:()=>s});var d=c(75490),e=c(41534);let f={baseUrl:"",format:"openai",headers:{},auth:{header:"Authorization",scheme:"bearer",source:["accessToken","apiKey"]},forceStream:!1,urlSuffix:"",quirks:{},passthroughModels:!1,retry:e.cI,timeoutMs:e.pH,executor:"default"};function g(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}let h=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${g(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${g(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${g(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${g(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${g(a[1])}`]];function i(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of h){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}let j={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},k=(...a)=>a.map(a=>({...j[a],type:"tts"})),l=k("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),m=k("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),n=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),o={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":m,"tts-1":l,"tts-1-hd":l},allVoices:m},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":m,"openai/tts-1":l,"openai/tts-1-hd":l},allVoices:m},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":n,"gemini-2.5-flash-preview-tts":n,"gemini-2.5-pro-preview-tts":n},allVoices:n},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(a=>({type:"tts",...a}))}}},p=["clientId","clientSecret","tokenUrl"],q=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),r={},s={},t={},u={};for(let a of d.default){a.transport&&(r[a.id]=function(a,b){let c={...a};if(c.format||(c.format=f.format),b)for(let a of p)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(r[a.id].transports=a.transports)),void 0!==a.models&&(s[a.alias||a.id]=a.models.map(i)),a.oauth&&(t[a.id]=a.oauth);let b={};for(let c of q)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(u[a.id]=b)}Object.assign(s,function(){let a={};for(let[b,c]of Object.entries(o))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=o.openai.allVoices,a["openrouter-tts-voices"]=o.openrouter.allVoices,a}()),r["xiaomi-tokenplan"]?.regions,r["xiaomi-tokenplan"]?.defaultRegion;let v=Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),w=Object.fromEntries(Object.keys(r).map(a=>[a,v[a]||a]))},77150:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={allRequiredBoundariesRendered:function(){return f},createValidationBoundaryTracking:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(){return{requiredIds:new Map,renderedIds:new Set}}function f(a){for(let b of a.requiredIds.keys())if(!a.renderedIds.has(b))return!1;return!0}},77598:a=>{"use strict";a.exports=require("node:crypto")},77714:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(59841);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},77890:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},79285:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},80311:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ClientHookDynamicError:function(){return k},RENDER_STAGES_BY_DATA_KIND:function(){return A},applyOwnerStack:function(){return B},isClientHookDynamicError:function(){return l},isHangingPromiseRejectionError:function(){return g},makeClientHookHangingPromise:function(){return v},makeDevtoolsIOAwarePromise:function(){return z},makeDynamicHangingPromise:function(){return n},makeFallbackParamsHangingPromise:function(){return q},makePromiseFromTrigger:function(){return y},makeRuntimeHangingPromise:function(){return p},makeStageHangingPromise:function(){return r},makeUntrackedHangingPromise:function(){return o},trackFallbackParamsAccessed:function(){return t},trackRuntimeDataAccessed:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(54795);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}c(63033),c(8128);let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j="CLIENT_HOOK_DYNAMIC";class k extends Error{constructor(a,b){super(`Route "${a}": Next.js encountered URL data \`${b}\` in a Client Component outside of \`<Suspense>\`.
140
+ `),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1177",enumerable:!1,configurable:!0})}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1178",enumerable:!1,configurable:!0})}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n "),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1172",enumerable:!1,configurable:!0})}}},69128:(a,b,c)=>{"use strict";c.d(b,{f0:()=>h,kk:()=>g,oO:()=>f});var d=c(77598),e=c.n(d);function f(a){return a&&"string"==typeof a?a.length<=12?a.charAt(0)+"***":a.slice(0,8)+"***"+a.slice(-4):null}function g(a){return a&&"string"==typeof a?e().createHash("sha256").update(a).digest("hex"):null}function h(a){return"string"==typeof a&&a.includes("***")}},69545:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={BailoutToCSRError:function(){return f},isBailoutToCSRError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="BAILOUT_TO_CLIENT_SIDE_RENDERING";class f extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===e}},69687:(a,b)=>{"use strict";function c(a,b){let c;if(b?.host&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},70580:(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(96100),g=c(11042),h=c(73896),i=c(19524),j=c(31385);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?"(?:(/.*)?)":""}$`}}},71185:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseLoaderTree",{enumerable:!0,get:function(){return e}});let d=c(53610);function e(a){let[b,c,e,f]=a,{layout:g,template:h}=e,{page:i}=e;i=b===d.DEFAULT_SEGMENT_KEY?e.defaultPage:i;let j=g?.[1]||h?.[1]||i?.[1];return{page:i,segment:b,modules:e,conventionPath:j,parallelRoutes:c,staticSiblings:f}}},71509:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(59339),e=c(33323);function f(a){return{async get(b,c=null){let f=(await (0,d.cK)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.cK)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.cK)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.cK)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.cK)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},72029:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={CloseController:function(){return g},trackBodyConsumed:function(){return e},trackStreamConsumed:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){return"string"==typeof a?async function*(){let c=new TextEncoder;yield c.encode(a),b()}():f(a,b)}function f(a,b){let c=new TransformStream,d=()=>b();return a.pipeTo(c.writable).then(d,d),c.readable}class g{onClose(a){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",a),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}},72045:(a,b,c)=>{"use strict";c.d(b,{jL:()=>l,nJ:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router",l={main:"db.json",usage:"usage.json",disabled:"disabledModels.json",details:"request-details.json"};function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`)}function n(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let o=function(){let a=process.env.DATA_DIR;if(!a)return!function(){try{let a=m(),b=n();if(!e().existsSync(a)||e().existsSync(g().join(b,"db","data.sqlite"))||Object.values(l).some(a=>e().existsSync(g().join(b,a))))return;e().cpSync(a,b,{recursive:!0,force:!1}),console.log(`[migration] copied legacy data dir ${a} → ${b}`)}catch(a){console.warn(`[migration] failed to migrate ${m()} → ${n()}: ${a?.message}`)}}(),n();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),n();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),n();throw b}}()},72106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return k},throwForSearchParamsAccessInUseCache:function(){return j},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(49540),g=c(19121),h=c(3295);function i(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function j(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function k(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},72394:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return p}});let f=c(77714),g=c(9913),h=c(15e3),i=c(28704),j=c(72949);function k(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}d=c(98345),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})});let l=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),m=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),n="__ttl_sentinel__";function o(a,b){return`${a}\0${b??n}`}class p{constructor(a,b=m,c=l){this.getBatcher=f.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:i.scheduleOnNextTick}),this.revalidateBatcher=f.Batcher.create({schedulerFn:i.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new g.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===n?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=o(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,j.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,j.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,h.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:f=!1,isRoutePPREnabled:g=!1,isPrefetch:i=!1,waitUntil:k,routeKind:l,invocationID:m}=c,n=await this.getBatcher.batch({key:a,isOnDemandRevalidate:e},({resolve:c})=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:f,isRoutePPREnabled:g,isPrefetch:i,routeKind:l,invocationID:m},c);return k&&k(h),h});if(this.minimal_mode&&(null==n?void 0:n.cacheControl)){let b=o(a,m);this.cache.set(b,{entry:n,expiresAt:Date.now()+this.ttl})}return(0,j.toResponseCacheEntry)(n)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,j.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&-1!==e.isStale&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=c.isPrefetch&&null===e?await this.handleRevalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,f):await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,f);if(!g){if(this.minimal_mode){let b=o(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h){return this.revalidateBatcher.batch(a,()=>{let i=this.handleRevalidate(a,b,c,d,e,f,g);return h&&h(i),i})}async handleRevalidate(a,b,c,d,e,f,g){try{let h=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!h)return null;let i=await (0,j.fromResponseCacheEntry)({...h,isMiss:!f});return i.cacheControl&&!this.minimal_mode&&await b.set(a,i.value,{cacheControl:i.cacheControl,isRoutePPREnabled:c,isFallback:d}),i}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},72949:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={fromResponseCacheEntry:function(){return k},routeKindToIncrementalCacheKind:function(){return m},toResponseCacheEntry:function(){return l}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(98345),h=(d=c(7125))&&d.__esModule?d:{default:d},i=c(62929),j=c(96100);async function k(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function l(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,isFallback:a.isFallback,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function m(a){switch(a){case i.RouteKind.PAGES:return g.IncrementalCacheKind.PAGES;case i.RouteKind.APP_PAGE:return g.IncrementalCacheKind.APP_PAGE;case i.RouteKind.IMAGE:return g.IncrementalCacheKind.IMAGE;case i.RouteKind.APP_ROUTE:return g.IncrementalCacheKind.APP_ROUTE;case i.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},73024:a=>{"use strict";a.exports=require("node:fs")},73346:(a,b,c)=>{var d,e={943:function(e,f){!function(g){"use strict";var h="function",i="undefined",j="object",k="string",l="major",m="model",n="name",o="type",p="vendor",q="version",r="architecture",s="console",t="mobile",u="tablet",v="smarttv",w="wearable",x="embedded",y="Amazon",z="Apple",A="ASUS",B="BlackBerry",C="Browser",D="Chrome",E="Firefox",F="Google",G="Huawei",H="Microsoft",I="Motorola",J="Opera",K="Samsung",L="Sharp",M="Sony",N="Xiaomi",O="Zebra",P="Facebook",Q="Chromium OS",R="Mac OS",S=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},T=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},U=function(a,b){return typeof a===k&&-1!==V(b).indexOf(V(a))},V=function(a){return a.toLowerCase()},W=function(a,b){if(typeof a===k)return a=a.replace(/^\s\s*/,""),typeof b===i?a:a.substring(0,350)},X=function(a,b){for(var c,d,e,f,g,i,k=0;k<b.length&&!g;){var l=b[k],m=b[k+1];for(c=d=0;c<l.length&&!g&&l[c];)if(g=l[c++].exec(a))for(e=0;e<m.length;e++)i=g[++d],typeof(f=m[e])===j&&f.length>0?2===f.length?typeof f[1]==h?this[f[0]]=f[1].call(this,i):this[f[0]]=f[1]:3===f.length?typeof f[1]!==h||f[1].exec&&f[1].test?this[f[0]]=i?i.replace(f[1],f[2]):void 0:this[f[0]]=i?f[1].call(this,i,f[2]):void 0:4===f.length&&(this[f[0]]=i?f[3].call(this,i.replace(f[1],f[2])):void 0):this[f]=i||void 0;k+=2}},Y=function(a,b){for(var c in b)if(typeof b[c]===j&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(U(b[c][d],a))return"?"===c?void 0:c}else if(U(b[c],a))return"?"===c?void 0:c;return a},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[q,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[q,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,q],[/opios[\/ ]+([\w\.]+)/i],[q,[n,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[q,[n,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,q],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[q,[n,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[q,[n,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[q,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[q,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[q,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[q,[n,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+C],q],[/\bfocus\/([\w\.]+)/i],[q,[n,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[q,[n,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[q,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[q,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[q,[n,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[q,[n,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[q,[n,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+C],q],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],q],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[n,q],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,P],q],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[n,q],[/\bgsa\/([\w\.]+) .*safari\//i],[q,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[q,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[q,[n,D+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,D+" WebView"],q],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[q,[n,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,q],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[q,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[q,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[q,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,q],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],q],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[q,[n,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,q],[/(cobalt)\/([\w\.]+)/i],[n,[q,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[r,"amd64"]],[/(ia32(?=;))/i],[[r,V]],[/((?:i[346]|x)86)[;\)]/i],[[r,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[r,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[r,"armhf"]],[/windows (ce|mobile); ppc;/i],[[r,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[r,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[r,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[r,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[p,K],[o,u]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[p,K],[o,t]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[p,z],[o,t]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[p,z],[o,u]],[/(macintosh);/i],[m,[p,z]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[p,L],[o,t]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[p,G],[o,u]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[p,G],[o,t]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,t]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,u]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[p,"OPPO"],[o,t]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[p,"Vivo"],[o,t]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[m,[p,"Realme"],[o,t]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[p,I],[o,t]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[p,I],[o,u]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[p,"LG"],[o,u]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[p,"LG"],[o,t]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[p,"Lenovo"],[o,u]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[p,"Nokia"],[o,t]],[/(pixel c)\b/i],[m,[p,F],[o,u]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[p,F],[o,t]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[p,M],[o,t]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[p,M],[o,u]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[p,"OnePlus"],[o,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[p,y],[o,u]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[p,y],[o,t]],[/(playbook);[-\w\),; ]+(rim)/i],[m,p,[o,u]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[p,B],[o,t]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[p,A],[o,u]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[p,A],[o,t]],[/(nexus 9)/i],[m,[p,"HTC"],[o,u]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[p,[m,/_/g," "],[o,t]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[p,"Acer"],[o,u]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[p,"Meizu"],[o,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[p,m,[o,t]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[p,m,[o,u]],[/(surface duo)/i],[m,[p,H],[o,u]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[p,"Fairphone"],[o,t]],[/(u304aa)/i],[m,[p,"AT&T"],[o,t]],[/\bsie-(\w*)/i],[m,[p,"Siemens"],[o,t]],[/\b(rct\w+) b/i],[m,[p,"RCA"],[o,u]],[/\b(venue[\d ]{2,7}) b/i],[m,[p,"Dell"],[o,u]],[/\b(q(?:mv|ta)\w+) b/i],[m,[p,"Verizon"],[o,u]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[p,"Barnes & Noble"],[o,u]],[/\b(tm\d{3}\w+) b/i],[m,[p,"NuVision"],[o,u]],[/\b(k88) b/i],[m,[p,"ZTE"],[o,u]],[/\b(nx\d{3}j) b/i],[m,[p,"ZTE"],[o,t]],[/\b(gen\d{3}) b.+49h/i],[m,[p,"Swiss"],[o,t]],[/\b(zur\d{3}) b/i],[m,[p,"Swiss"],[o,u]],[/\b((zeki)?tb.*\b) b/i],[m,[p,"Zeki"],[o,u]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[p,"Dragon Touch"],m,[o,u]],[/\b(ns-?\w{0,9}) b/i],[m,[p,"Insignia"],[o,u]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[p,"NextBook"],[o,u]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[p,"Voice"],m,[o,t]],[/\b(lvtel\-)?(v1[12]) b/i],[[p,"LvTel"],m,[o,t]],[/\b(ph-1) /i],[m,[p,"Essential"],[o,t]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[p,"Envizen"],[o,u]],[/\b(trio[-\w\. ]+) b/i],[m,[p,"MachSpeed"],[o,u]],[/\btu_(1491) b/i],[m,[p,"Rotor"],[o,u]],[/(shield[\w ]+) b/i],[m,[p,"Nvidia"],[o,u]],[/(sprint) (\w+)/i],[p,m,[o,t]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[p,H],[o,t]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[p,O],[o,u]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[p,O],[o,t]],[/smart-tv.+(samsung)/i],[p,[o,v]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[p,K],[o,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[p,"LG"],[o,v]],[/(apple) ?tv/i],[p,[m,z+" TV"],[o,v]],[/crkey/i],[[m,D+"cast"],[p,F],[o,v]],[/droid.+aft(\w)( bui|\))/i],[m,[p,y],[o,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[p,L],[o,v]],[/(bravia[\w ]+)( bui|\))/i],[m,[p,M],[o,v]],[/(mitv-\w{5}) bui/i],[m,[p,N],[o,v]],[/Hbbtv.*(technisat) (.*);/i],[p,m,[o,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[p,W],[m,W],[o,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[o,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[p,m,[o,s]],[/droid.+; (shield) bui/i],[m,[p,"Nvidia"],[o,s]],[/(playstation [345portablevi]+)/i],[m,[p,M],[o,s]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[p,H],[o,s]],[/((pebble))app/i],[p,m,[o,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[p,z],[o,w]],[/droid.+; (glass) \d/i],[m,[p,F],[o,w]],[/droid.+; (wt63?0{2,3})\)/i],[m,[p,O],[o,w]],[/(quest( 2| pro)?)/i],[m,[p,P],[o,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[p,[o,x]],[/(aeobc)\b/i],[m,[p,y],[o,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[m,[o,t]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[o,u]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[o,u]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[o,t]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[p,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[q,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[q,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,q],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[q,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,q],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[n,[q,Y,Z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[n,"Windows"],[q,Y,Z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[q,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,R],[q,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[q,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,q],[/\(bb(10);/i],[q,[n,B]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[q,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[q,[n,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[q,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[q,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[q,[n,D+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,Q],q],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,q],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],q],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,q]]},_=function(a,b){if(typeof a===j&&(b=a,a=void 0),!(this instanceof _))return new _(a,b).getResult();var c=typeof g!==i&&g.navigator?g.navigator:void 0,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:void 0,f=b?S($,b):$,s=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[n]=void 0,b[q]=void 0,X.call(b,d,f.browser),b[l]=typeof(a=b[q])===k?a.replace(/[^\d\.]/g,"").split(".")[0]:void 0,s&&c&&c.brave&&typeof c.brave.isBrave==h&&(b[n]="Brave"),b},this.getCPU=function(){var a={};return a[r]=void 0,X.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[p]=void 0,a[m]=void 0,a[o]=void 0,X.call(a,d,f.device),s&&!a[o]&&e&&e.mobile&&(a[o]=t),s&&"Macintosh"==a[m]&&c&&typeof c.standalone!==i&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[m]="iPad",a[o]=u),a},this.getEngine=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.os),s&&!a[n]&&e&&"Unknown"!=e.platform&&(a[n]=e.platform.replace(/chrome os/i,Q).replace(/macos/i,R)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===k&&a.length>350?W(a,350):a,this},this.setUA(d),this};_.VERSION="1.0.35",_.BROWSER=T([n,q,l]),_.CPU=T([r]),_.DEVICE=T([m,p,o,s,t,v,u,w,x]),_.ENGINE=_.OS=T([n,q]),typeof f!==i?(e.exports&&(f=e.exports=_),f.UAParser=_):c.amdO?void 0===(d=(function(){return _}).call(b,c,b,a))||(a.exports=d):typeof g!==i&&(g.UAParser=_);var aa=typeof g!==i&&(g.jQuery||g.Zepto);if(aa&&!aa.ua){var ab=new _;aa.ua=ab.getResult(),aa.ua.get=function(){return ab.getUA()},aa.ua.set=function(a){ab.setUA(a);var b=ab.getResult();for(var c in b)aa.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(943)},73896:(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}},75991:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={interceptTestApis:function(){return h},wrapRequestHandler:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g=c(57202);function h(){return(0,g.interceptFetch)(global.fetch)}function i(a){return(b,c)=>(0,f.withRequest)(b,g.reader,()=>a(b,c))}},76309:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestHint:function(){return E},adapter:function(){return I}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=c(99751),h=c(16129),i=c(84573),j=c(17385),k=c(64718),l=c(92729),m=c(76496),n=c(92539),o=c(62192),p=c(32648),q=c(24453),r=c(63033),s=c(61595),t=c(29294),u=c(42776),v=c(12726),w=c(88026),x=c(72029),y=c(7370),z=c(63891),A=c(31574),B=c(6872),C=c(61544),D={get default(){throw Object.defineProperty(new u.InvariantError("Proxy does not support `use cache`, so reading its `default` cacheLife profile is unexpected."),"__NEXT_ERROR_CODE",{value:"E1406",enumerable:!1,configurable:!0})}};class E extends i.NextRequest{constructor(a){super(a.input,a.init),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let F={keys:a=>Array.from(a.keys()),get:(a,b)=>a.get(b)??void 0},G=(a,b)=>(0,v.getTracer)().withPropagatedContext(a.headers,b,F),H=!1;async function I(a){var b,d,e,f;let i,u;!function(){if(!H&&(H=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:a,wrapRequestHandler:b}=c(75991);a(),G=b(G)}}(),await (0,p.ensureInstrumentationRegistered)();let F=void 0!==globalThis.__BUILD_MANIFEST;a.request.url=(0,n.normalizeRscURL)(a.request.url);let I=a.bypassNextUrl?new URL(a.request.url):new l.NextURL(a.request.url,{headers:a.request.headers,nextConfig:a.request.nextConfig});for(let a of[...I.searchParams.keys()]){let b=I.searchParams.getAll(a),c=(0,g.normalizeNextQueryParam)(a);if(c){for(let a of(I.searchParams.delete(c),b))I.searchParams.append(c,a);I.searchParams.delete(a)}}let J=process.env.__NEXT_BUILD_ID||"";"buildId"in I&&(J=I.buildId||"",I.buildId="");let K=(0,g.fromNodeOutgoingHttpHeaders)(a.request.headers),L=K.has("x-nextjs-data"),M=(0,B.isRSCRequestHeader)(K.get(o.RSC_HEADER));L&&"/index"===I.pathname&&(I.pathname="/");let N=new Map;if(!F)for(let a of o.FLIGHT_HEADERS){let b=K.get(a);null!==b&&(N.set(a,b),K.delete(a))}let O=I.searchParams.get(o.NEXT_RSC_UNION_QUERY),P=new E({page:a.page,input:(0,m.stripInternalSearchParams)(I).toString(),init:{body:a.request.body,headers:K,method:a.request.method,nextConfig:a.request.nextConfig,signal:a.request.signal}});a.request.requestMeta&&(0,C.setRequestMeta)(P,a.request.requestMeta),L&&Object.defineProperty(P,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&a.IncrementalCache&&(globalThis.__incrementalCache=new a.IncrementalCache({CurCacheHandler:a.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:a.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:(0,y.getEdgePreviewProps)()})}));let Q=a.request.waitUntil??(null==(b=(0,z.getBuiltinRequestContext)())?void 0:b.waitUntil),R=new h.NextFetchEvent({request:P,page:a.page,context:Q?{waitUntil:Q}:void 0});if((i=await G(P,()=>{if("/middleware"===a.page||"/src/middleware"===a.page||"/proxy"===a.page||"/src/proxy"===a.page){let b=R.waitUntil.bind(R),c=new x.CloseController;return(0,v.getTracer)().trace(w.MiddlewareSpan.execute,{spanName:`middleware ${P.method}`,attributes:{"http.target":P.nextUrl.pathname,"http.method":P.method}},async()=>{try{var d,e;let f=(0,y.getEdgePreviewProps)(),g=await (0,A.getImplicitTags)("/",P.nextUrl.pathname,null),h=(0,q.createRequestStoreForAPI)(P,P.nextUrl,g,a=>{u=a},f,void 0),i=(0,s.createWorkStore)({page:"/",renderOpts:{cacheLifeProfiles:D,staticPageGenerationTimeout:0,cacheComponents:!1,validationLevel:"warning",experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(e=a.request.nextConfig)||null==(d=e.experimental)?void 0:d.authInterrupts),useCacheTimeout:0},supportsDynamicResponse:!0,waitUntil:b,onClose:c.onClose.bind(c),onAfterTaskError:void 0},isPrefetchRequest:"1"===P.headers.get(o.NEXT_ROUTER_PREFETCH_HEADER),buildId:J??"",deploymentId:!1,previouslyRevalidatedTags:[]});return await t.workAsyncStorage.run(i,()=>r.workUnitAsyncStorage.run(h,a.handler,P,R))}finally{setTimeout(()=>{c.dispatchClose()},0)}})}return a.handler(P,R)}))&&!(i instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});i&&u&&i.headers.set("set-cookie",u);let S=null==i?void 0:i.headers.get("x-middleware-rewrite");if(i&&S&&(M||!F)){let b=new l.NextURL(S,{forceLocale:!0,headers:a.request.headers,nextConfig:a.request.nextConfig});F||b.host!==P.nextUrl.host||(b.buildId=J||b.buildId,i.headers.set("x-middleware-rewrite",String(b)));let{url:c,isRelative:g}=(0,k.parseRelativeURL)(b.toString(),I.toString());!F&&L&&i.headers.set("x-nextjs-rewrite",c);let h=!g&&(null==(f=a.request.nextConfig)||null==(e=f.experimental)||null==(d=e.clientParamParsingOrigins)?void 0:d.some(a=>new RegExp(a).test(b.origin)));M&&(g||h)&&(I.pathname!==b.pathname&&i.headers.set(o.NEXT_REWRITTEN_PATH_HEADER,b.pathname),I.search!==b.search&&i.headers.set(o.NEXT_REWRITTEN_QUERY_HEADER,b.search.slice(1)))}if(i&&S&&M&&O){let a=new URL(S);a.searchParams.has(o.NEXT_RSC_UNION_QUERY)||(a.searchParams.set(o.NEXT_RSC_UNION_QUERY,O),i.headers.set("x-middleware-rewrite",a.toString()))}let T=null==i?void 0:i.headers.get("Location");if(i&&T&&!F){let b=new l.NextURL(T,{forceLocale:!1,headers:a.request.headers,nextConfig:a.request.nextConfig});i=new Response(i.body,i),b.host===I.host&&(b.buildId=J||b.buildId,i.headers.set("Location",(0,k.getRelativeURL)(b,I))),L&&(i.headers.delete("Location"),i.headers.set("x-nextjs-redirect",(0,k.getRelativeURL)(b.toString(),I.toString())))}let U=i||j.NextResponse.next(),V=U.headers.get("x-middleware-override-headers"),W=[];if(V){for(let[a,b]of N)U.headers.set(`x-middleware-request-${a}`,b),W.push(a);W.length>0&&U.headers.set("x-middleware-override-headers",V+","+W.join(","))}return{response:U,waitUntil:(0,h.getWaitUntilPromiseFromEvent)(R)??Promise.resolve(),fetchMetrics:P.fetchMetrics}}},76496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={stripInternalQueries:function(){return h},stripInternalSearchParams:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=[f.NEXT_RSC_UNION_QUERY];function h(a){for(let b of g)delete a[b]}function i(a){let b="string"==typeof a,c=b?new URL(a):a;return c.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b?c.toString():c}},76760:a=>{"use strict";a.exports=require("node:path")},76871:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_ID_TO_ALIAS:()=>w,PROVIDER_MODELS:()=>s});var d=c(97303),e=c(41534);let f={baseUrl:"",format:"openai",headers:{},auth:{header:"Authorization",scheme:"bearer",source:["accessToken","apiKey"]},forceStream:!1,urlSuffix:"",quirks:{},passthroughModels:!1,retry:e.cI,timeoutMs:e.pH,executor:"default"};function g(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}let h=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${g(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${g(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${g(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${g(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${g(a[1])}`]];function i(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of h){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}let j={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},k=(...a)=>a.map(a=>({...j[a],type:"tts"})),l=k("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),m=k("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),n=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),o={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":m,"tts-1":l,"tts-1-hd":l},allVoices:m},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":m,"openai/tts-1":l,"openai/tts-1-hd":l},allVoices:m},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":n,"gemini-2.5-flash-preview-tts":n,"gemini-2.5-pro-preview-tts":n},allVoices:n},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(a=>({type:"tts",...a}))}}},p=["clientId","clientSecret","tokenUrl"],q=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","rerankConfig","modelsFetcher","mediaPriority","hiddenKinds"]),r={},s={},t={},u={};for(let a of d.default){a.transport&&(r[a.id]=function(a,b){let c={...a};if(c.format||(c.format=f.format),b)for(let a of p)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(r[a.id].transports=a.transports)),void 0!==a.models&&(s[a.alias||a.id]=a.models.map(i)),a.oauth&&(t[a.id]=a.oauth);let b={};for(let c of q)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(u[a.id]=b)}Object.assign(s,function(){let a={};for(let[b,c]of Object.entries(o))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=o.openai.allVoices,a["openrouter-tts-voices"]=o.openrouter.allVoices,a}()),r["xiaomi-tokenplan"]?.regions,r["xiaomi-tokenplan"]?.defaultRegion;let v=Object.fromEntries(d.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),w=Object.fromEntries(Object.keys(r).map(a=>[a,v[a]||a]))},77150:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={allRequiredBoundariesRendered:function(){return f},createValidationBoundaryTracking:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(){return{requiredIds:new Map,renderedIds:new Set}}function f(a){for(let b of a.requiredIds.keys())if(!a.renderedIds.has(b))return!1;return!0}},77598:a=>{"use strict";a.exports=require("node:crypto")},77714:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(59841);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},77890:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},79285:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},80311:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ClientHookDynamicError:function(){return k},RENDER_STAGES_BY_DATA_KIND:function(){return A},applyOwnerStack:function(){return B},isClientHookDynamicError:function(){return l},isHangingPromiseRejectionError:function(){return g},makeClientHookHangingPromise:function(){return v},makeDevtoolsIOAwarePromise:function(){return z},makeDynamicHangingPromise:function(){return n},makeFallbackParamsHangingPromise:function(){return q},makePromiseFromTrigger:function(){return y},makeRuntimeHangingPromise:function(){return p},makeStageHangingPromise:function(){return r},makeUntrackedHangingPromise:function(){return o},trackFallbackParamsAccessed:function(){return t},trackRuntimeDataAccessed:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(54795);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}c(63033),c(8128);let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j="CLIENT_HOOK_DYNAMIC";class k extends Error{constructor(a,b){super(`Route "${a}": Next.js encountered URL data \`${b}\` in a Client Component outside of \`<Suspense>\`.
141
141
 
142
142
  This blocks prerendering because the value is only available at runtime.
143
143
 
@@ -165,7 +165,7 @@ Ways to fix this:
165
165
  - [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
166
166
  - [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
167
167
 
168
- Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(3295),l=c(28704);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.isRequestClosed=!1,this.initialOnCloseError=null,this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause();try{b(()=>{for(let a of(this.isRequestClosed=!0,this.workUnitStores))a.phase="after"})}catch(a){this.initialOnCloseError={error:a}}}after(a,b){if(this.initialOnCloseError)throw Object.defineProperty(new f.InvariantError("An onClose call failed, which means after() can't work correctly.",{cause:this.initialOnCloseError.error}),"__NEXT_ERROR_CODE",{value:"E1376",enumerable:!1,configurable:!0});if(this.workUnitStores.add(b),(0,g.isThenable)(a))this.addThenable(a);else if("function"==typeof a)this.addCallback(a,b);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addThenable(a){this.waitUntil||n(),this.waitUntil(new Promise(b=>{a.then(()=>{b()},a=>{b(),this.reportTaskError("promise",a)})}))}addCallback(a,b){this.waitUntil||n();let c=k.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await k.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return this.isRequestClosed?await new Promise(a=>(0,l.scheduleImmediate)(a)):await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;let a=h.workAsyncStorage.getStore();if(!a)throw Object.defineProperty(new f.InvariantError("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(Object.defineProperty(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function n(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},quotaVisibility:{},topologyVisibility:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},comboRetryOnEmpty:!1,comboRetryOnEmptyLimit:2,capacityAdapter:{vision:{enabled:!0,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!0,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},requireLogin:!0,hideLoginOffBanner:!1,autoUpdateCheck:!0,requireApiKey:!0,dailyTokenLimitEnabled:!0,autoCompactEnabled:!0,autoCompactRatio:.95,autoCompactKeepMessages:8,apiKeyRotation:!1,tunnelDashboardAccess:!0,authMode:"password",ssoType:"oidc",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",samlEntryPoint:"",samlIssuer:"urn:10router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,codeBuddyCheckin:!1,codeBuddyIntlSession:!1,codeBuddyDailyDone:{},qoderCheckin:!1,qoderDailyDone:{},channelBlocks:{}};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Object.defineProperty(Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("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)},86231:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aY,handler:()=>aX});var e={};c.r(e),c.d(e,{config:()=>aQ,default:()=>aP}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(95226),k=c(2886),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(77598),q=c.n(p),r=c(72045);let s=o().join(r.nJ,"machine-id"),t=o().join(r.nJ,"auth"),u=o().join(t,"cli-secret"),v=null,w=null;async function x(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(v)return v;try{if(v=m().readFileSync(s,"utf8").trim())return v}catch{}try{v=(0,k.machineIdSync)()}catch{v=q().randomUUID()}try{m().mkdirSync(r.nJ,{recursive:!0}),m().writeFileSync(s,v,{mode:384})}catch{}return v}(),d="9r-cli-auth"===b?function(){if(w)return w;try{if(w=m().readFileSync(u,"utf8").trim())return w}catch{}w=q().randomBytes(32).toString("hex");try{m().mkdirSync(t,{recursive:!0}),m().writeFileSync(u,w,{mode:384})}catch{}return w}():"";return q().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let y=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function z(a,b,c){return b instanceof Uint8Array?crypto.subtle.importKey("raw",b,a.subtle,!1,[c]):(!function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw y(b.name);if(b.hash&&d.hash?.name!==b.hash)throw y(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw y(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw y(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a.subtle,c),a.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(a.alg,b),b)}async function A(a,b,c,d){let e=await z(a,b,"verify");try{return await crypto.subtle.verify(a.signing,e,c,d)}catch{return!1}}class B extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class C extends B{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class D extends B{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class E extends B{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class F extends B{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class G extends B{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class H extends B{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class I extends B{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let J=[["verify"],["sign"]];function K(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:J}}function L(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:J,minRsaBits:2048}}function M(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:J}}function N(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:J}}function O(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:J}}let P=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:K(256),HS384:K(384),HS512:K(512),RS256:L(256),RS384:L(384),RS512:L(512),PS256:L(256,32),PS384:L(384,48),PS512:L(512,64),ES256:M("P-256",256),ES384:M("P-384",384),ES512:M("P-521",512),EdDSA:N(),Ed25519:N(),"ML-DSA-44":O(44),"ML-DSA-65":O(65),"ML-DSA-87":O(87)});new TextEncoder;let Q=new TextDecoder,R=new TextDecoder("utf-8",{fatal:!0});function S(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}let T="The input to be decoded is not correctly encoded.";function U(a){if(Uint8Array.fromBase64)try{return Uint8Array.fromBase64("string"==typeof a?a:Q.decode(a),{alphabet:"base64url"})}catch(a){throw TypeError(T,{cause:a})}let b=a;if(b instanceof Uint8Array&&(b=Q.decode(b)),b.includes("+")||b.includes("/"))throw TypeError(T);b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError(T)}}function V(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);return null===b||null===Object.getPrototypeOf(b)}function W(a,b,c){try{return U(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}Symbol();let X={__proto__:null,b64:!0},Y=(a,b,...c)=>(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a})(`Key for the ${a} algorithm must be `,b,...c),Z=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}};async function $(a,b){if("RSA"===b.kty&&"oth"in b&&void 0!==b.oth)throw new F('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');if(!a.kty.includes(b.kty))throw new F('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let c=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,d=!!(b.d||b.priv),e={...b};return"AKP"!==e.kty&&delete e.alg,delete e.use,crypto.subtle.importKey("jwk",e,c,b.ext??!d,b.key_ops??a.usages[+!!d])}let _=a=>a[Symbol.toStringTag],aa={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"};function ab(a,b,c){let e=(d||=new WeakMap).get(a);return c&&(e?e[b]=c:d.set(a,{[b]:c})),c??e?.[b]}let ac=async(a,b,c)=>ab(a,c.alg)??ab(a,c.alg,await $(c,{...b,alg:c.alg}));async function ad(a,b,c){let d=function(a,b,c){let{alg:d,secret:e}=a,f="decrypt"===c||"sign"===c;if(e&&b instanceof Uint8Array)return[0,b];if(V(b)){let g=function(a){let b={__proto__:null,...a};if(void 0!==b.ext&&"boolean"!=typeof b.ext)throw TypeError('"ext" (Extractable) Parameter must be a boolean');if(void 0!==b.key_ops){let a=b.key_ops,c=Array.isArray(a)?[...a]:void 0;if(!c||c.some(a=>"string"!=typeof a)||new Set(c).size!==c.length)throw TypeError('"key_ops" (Key Operations) Parameter must be an array of unique strings');b.key_ops=c}return b}(b);if("string"!=typeof g.kty)throw TypeError(e?Y(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Y(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(!(e?"oct"===g.kty&&"string"==typeof g.k:"oct"!==g.kty&&(f?"AKP"===g.kty&&"string"==typeof g.priv||"string"==typeof g.d:void 0===g.d&&void 0===g.priv)))throw TypeError(e?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${f?"private":"public"} JWK`);return((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,g,c),[3,b,g]}if(!(Z(b)||b?.[Symbol.toStringTag]==="KeyObject"))throw TypeError(e?Y(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Y(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(e){if("secret"!==b.type)throw TypeError(`${_(b)} instances for symmetric algorithms must be of type "secret"`)}else{if("secret"===b.type)throw TypeError(`${_(b)} instances for asymmetric algorithms must not be of type "secret"`);let a=f?"private":"public";if(("public"===b.type||"private"===b.type)&&b.type!==a){let d="sign"===c?"signing":"verify"===c?"verifying":`${c.slice(0,-1)}tion`;throw TypeError(`${_(b)} instances for asymmetric algorithm ${d} must be of type "${a}"`)}}return Z(b)?[1,b]:[2,b]}(a,b,c);switch(d[0]){case 0:case 1:return d[1];case 3:{let b=d[1],c=d[2];if("oct"===c.kty)return U(c.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}return ac(b,c,a)}case 2:{let b=d[1];if("secret"===b.type)return b.export();if("toCryptoKey"in b&&"function"==typeof b.toCryptoKey)return((a,b)=>{let c=ab(a,b.alg);if(c)return c;let d="public"===a.type,e=b.usages[+!d],{asymmetricKeyType:f}=a,g=aa[a.asymmetricKeyDetails?.namedCurve],h=b.resolve?.({crv:g,asymmetricKeyType:f})??b.subtle;return ab(a,b.alg,a.toCryptoKey(h,d,e))})(b,a);return ac(b,b.export({format:"jwk"}),a)}}}async function ae(a,b,c,d,e,f,g){let h=!1;"function"==typeof c&&(c=await c(e,a),h=!0);let i="string"==typeof g,j=function(a){let b="string"==typeof a?P[a]:void 0;if(!b)throw new F(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(f),k=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==d?S(d):new Uint8Array,S("."),i?b[2]??=function(a,b,c){try{return S(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(g,"payload",G):g),l=W(a.signature,"signature",G),m=await ad(j,c,"verify");if(!await A(j,m,l,k))throw new I;return[i?W(g,"payload",G):g,e,i,m,h]}async function af(a,b,c){if(a instanceof Uint8Array&&(a=Q.decode(a)),"string"!=typeof a)throw new G("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new G("Invalid Compact JWS");let h=function(a,b=void 0===a?{}:function(a,b,c){let d;try{d=JSON.parse(R.decode(U(a)))}catch{throw new b(c)}if(!V(d))throw new b(c);return d}(a,G,"JWS Protected Header is invalid")){return b}(d),[i,j]=function(a,b,c){let d=function(a,b){if(b.includes("b64")){let b=a.b64;if("boolean"!=typeof b)throw new G('The "b64" (base64url-encode payload) Header Parameter must be a boolean');return b}return!0}(a,function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new F(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(G,X,c[1],a,b)),e=b.alg;if("string"!=typeof e||!e)throw new G('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(c[0]&&!c[0].has(e))throw new E('"alg" (Algorithm) Header Parameter value not allowed');return[d,e]}(h,h,b),k=i?e:function(a){try{return S(a)}catch{throw new G("JWS Compact Serialization payload must use only ASCII characters")}}(e);return ae({payload:e,protected:d,signature:f},b,c,d,h,j,k)}let ag={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},ah=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,ai="check_failed";function aj(){throw TypeError("Invalid time period format")}function ak(a){"string"!=typeof a&&aj();let b=ah.exec(a);(!b||b[4]&&b[1])&&aj();let c=Math.round(parseFloat(b[2])*ag[b[3][0].toLowerCase()]);return(Number.isFinite(c)||aj(),"-"===b[1]||"ago"===b[4])?-c:c}function al(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let am=a=>{let b=a.toLowerCase();return a.includes("/")?b:`application/${b}`};function an(a,b,c=!1){let d=a[b];if(void 0!==d||c){if("number"!=typeof d)throw new C(`"${b}" claim must be a number`,a,b,"invalid");return d}}function ao(a,b){throw new C(`unexpected "${b}" claim value`,a,b,ai)}async function ap(a,b,c){let d=await af(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new H("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f;try{f=JSON.parse(R.decode(b))}catch{}if(!V(f))throw new H("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(void 0!==g&&("string"!=typeof a.typ||am(a.typ)!==am(g)))throw new C('unexpected "typ" JWT header value',f,"typ",ai);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(f,a))throw new C(`missing required "${a}" claim`,f,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(f.iss)||ao(f,"iss"),void 0!==j&&f.sub!==j&&ao(f,"sub"),void 0===k||(d=f.aud,e="string"==typeof k?[k]:k,"string"==typeof d?e.includes(d):!!Array.isArray(d)&&e.some(a=>d.includes(a)))||ao(f,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=ak(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}al("clockTolerance option",o);let{currentDate:p}=c,q=al("currentDate option",Math.floor((void 0===p?new Date:p).getTime()/1e3)),r=an(f,"iat",void 0!==l),s=an(f,"nbf");if(void 0!==s&&s>q+o)throw new C('"nbf" claim timestamp check failed',f,"nbf",ai);let t=an(f,"exp");if(void 0!==t&&t<=q-o)throw new D('"exp" claim timestamp check failed',f,"exp",ai);if(void 0!==l){let a=q-r;if(a-o>al("maxTokenAge option","number"==typeof l?l:ak(l)))throw new D('"iat" claim timestamp check failed (too far in the past)',f,"iat",ai);if(a<-o)throw new C('"iat" claim timestamp check failed (it should be in the past)',f,"iat",ai)}return f}(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);var aq=c(2071);function ar(a){var b;let c;return"string"==typeof(c=process.env.INITIAL_PASSWORD)&&!!c.trim()||(b=a,!!(b?.password||String(b?.oidcIssuerUrl||"").trim()&&String(b?.oidcClientId||"").trim()&&String(b?.oidcClientSecret||"").trim())||!!(b?.samlEntryPoint&&b?.samlCert))}let as=new Set(["change-me-to-a-long-random-secret","10router-default-secret-change-me","change-me-to-a-random-string","change-me"]),at=new TextEncoder().encode(function(){let a=process.env.JWT_SECRET;if(a){if(!as.has(a))return a;console.warn("[auth] JWT_SECRET is a known placeholder value — ignoring it. Leave JWT_SECRET unset (a random secret is generated to "+o().join(r.nJ,"jwt-secret")+") or set a long random value.")}let b=o().join(r.nJ,"jwt-secret");try{return m().readFileSync(b,"utf8").trim()}catch{}m().mkdirSync(r.nJ,{recursive:!0});let c=q().randomBytes(32).toString("hex");return m().writeFileSync(b,c,{mode:384}),(0,aq.E)(b),c}());async function au(a){if(!a)return!1;try{return await ap(a,at),!0}catch{return!1}}let av=null;async function aw(){return av||(av=await x("9r-cli-auth")),av}async function ax(a){let b=a.headers.get("x-10r-cli-token")||a.headers.get("x-9r-cli-token")||null;return!!b&&b===await aw()}let ay=["/api/health","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/auth/saml","/api/auth/verify-password","/api/settings/require-login"],az=["/api/version","/api/init"],aA=["/v1","/v1beta","/api/v1","/api/v1beta","/codex","/responses"],aB=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/version/shell-update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/oauth/xiaomi-mimo/desktop-status","/api/oauth/xiaomi-mimo/desktop-kill","/api/oauth/xiaomi-mimo/auto-import","/api/oauth/transfer/"],aC=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/oauth/xiaomi-mimo/auto-import","/api/oauth/xiaomi-mimo/desktop-status","/api/oauth/xiaomi-mimo/desktop-kill","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop","/api/headroom/proxy"],aD=new Set(["localhost","127.0.0.1","::1"]);function aE(a){if(!a)return!1;let b=String(a).trim().toLowerCase();if(b.startsWith("[")){let a=b.indexOf("]");if(-1===a)return!1;b=b.slice(1,a)}else -1!==b.indexOf(":")&&b.indexOf(":")===b.lastIndexOf(":")&&(b=b.slice(0,b.indexOf(":")));return b.startsWith("::ffff:")&&(b=b.slice(7)),aD.has(b)}function aF(a){let b;if(a.headers.get("x-10r-via-proxy")||!((b=process.env.TENROUTER_PEER_TOKEN)&&a.headers.get("x-10r-peer-token")===b&&aE(a.headers.get("x-10r-real-ip"))))return!1;let c=a.headers.get("origin");if(c)try{if(!aE(new URL(c).hostname))return!1}catch{return!1}return!0}function aG(a){return aA.some(b=>a===b||a.startsWith(`${b}/`))}function aH(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}async function aI(a){let b=aH(a);return!!b&&await (0,j.ek)(b)}async function aJ(a){return!!(aF(a)||await ax(a))||await aI(a)}async function aK(a){return!!(await ax(a)||aF(a)&&await aN(a))}async function aL(a){let b=a.cookies.get("auth_token")?.value;return await au(b)}async function aM(){try{return await (0,j.mt)()}catch{return null}}async function aN(a){if(await aL(a))return!0;let b=await aM();return!!(b&&!1===b.requireLogin||!ar(b)&&aF(a))}async function aO(a){let{pathname:b}=a.nextUrl;if(!aG(b)){let b=await aM();if(b?.dashboardLocalOnly===!0&&!aF(a))return i.NextResponse.json({error:"The dashboard is set to local-only access (Experimental → Security). Turn it off from the machine running 10Router to manage it remotely."},{status:403})}if(("/api/oauth/xiaomi-mimo/auto-import"===b||"/api/oauth/xiaomi-mimo/desktop-status"===b||"/api/oauth/xiaomi-mimo/desktop-kill"===b&&"POST"===a.method)&&aF(a)&&await aN(a))return i.NextResponse.next();if(aC.some(a=>b.startsWith(a))&&!await aK(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if("POST"===a.method&&"/api/settings/database/import-usage"===b&&(a.headers.get("x-10r-password")||a.headers.get("x-9r-password")||aH(a))||"POST"===a.method&&("/api/oauth/transfer/import"===b||"/api/oauth/transfer/export"===b)&&aF(a)&&await aN(a))return i.NextResponse.next();if(aB.some(a=>b.startsWith(a)))return await ax(a)||await aL(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aG(b))return await aJ(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(az.some(a=>b===a||b.startsWith(`${a}/`)))return aF(a)||await ax(a)||await aN(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if("GET"===a.method&&"/api/usage/quotas"===b&&await aI(a)||"POST"===a.method&&("/api/provider-nodes"===b||"/api/providers"===b)&&await aI(a))return i.NextResponse.next();if(b.startsWith("/api/"))return aG(b)||ay.some(a=>b===a||b.startsWith(`${a}/`))||await ax(a)||await aN(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){let b=!0,c=null;try{let d=await aM();if(c=d,d&&(b=!1!==d.requireLogin,!0!==d.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=d.tunnelUrl?new URL(d.tunnelUrl).hostname.toLowerCase():"",e=d.tailscaleUrl?new URL(d.tailscaleUrl).hostname.toLowerCase():"";if(c&&b===c||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b||!ar(c)&&aF(a))return i.NextResponse.next();let d=a.cookies.get("auth_token")?.value;return d&&await au(d)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function aP(a){return aO(a)}let aQ={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aR=c(99751);let aS={...e},aT="/src/proxy",aU=(0,aS.proxy||aS.default);class aV extends Error{constructor(a){super(a),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.stack=""}}if("function"!=typeof aU)throw new aV(`The Proxy file "${aT}" must export a function named \`proxy\` or a default function.`);let aW=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aT,handler:async(...a)=>{try{return await aU(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function aX(a,b){let c=await aW({request:{url:a.url,method:a.method,headers:(0,aR.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aT},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aY=aW},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i.waitShellReady="AppRender.waitShellReady",i.renderToNodeFizzStream="AppRender.renderToNodeFizzStream",i.instantInsights="AppRender.instantInsights",i.instantInsightsPrepareValidation="AppRender.instantInsights.prepareValidation",i.instantInsightsRunValidation="AppRender.instantInsights.runValidation",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return k}});let e=c(72394),f=(d=c(40694))&&d.__esModule?d:{default:d},g=c(96100),h=c(36820),i=c(90925),j=c(94143);class k{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?k.memoryCache?k.debug&&console.log("FileSystemCache: memory store already initialized"):(k.debug&&console.log("FileSystemCache: using memory store for fetch cache"),k.memoryCache=(0,j.getMemoryCache)(a.maxMemoryCacheSize)):k.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,k.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=h.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),h.tagsManifest.set(d,e)}else h.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,f,i,j,l,m,n;let[o,p]=a,{kind:q}=p,r=null==(b=k.memoryCache)?void 0:b.get(o);if(k.debug&&(q===e.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",o,p.tags,q,!!r):console.log("FileSystemCache: get",o,q,!!r)),!r)try{if(q===e.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${o}.body`,e.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,g.NEXT_META_SUFFIX),"utf8"));r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status}}}else{let a=this.getFilePath(q===e.IncrementalCacheKind.FETCH?o:`${o}.html`,q),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(q===e.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:f}=p;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(r={lastModified:g,value:h},(null==(j=r.value)?void 0:j.kind)===e.CachedRouteKind.FETCH){let b=null==(l=r.value)?void 0:l.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(k.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(o,r.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:f}))}}else if(q===e.IncrementalCacheKind.APP_PAGE){let d,f,h;try{d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,g.NEXT_META_SUFFIX),"utf8"))}catch{}if(null==d?void 0:d.segmentPaths){let a=new Map;f=a;let b=o+g.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(d.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+g.RSC_SEGMENT_SUFFIX,e.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}p.isFallback||p.isRoutePPREnabled&&(null==d?void 0:d.postponed)!=null||(h=await this.fs.readFile(this.getFilePath(`${o}${g.RSC_SUFFIX}`,e.IncrementalCacheKind.APP_PAGE))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_PAGE,html:b,rscData:h,postponed:null==d?void 0:d.postponed,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status,segmentData:f}}}else if(q===e.IncrementalCacheKind.PAGES){let a,d={};p.isFallback||(d=JSON.parse(await this.fs.readFile(this.getFilePath(`${o}${g.NEXT_DATA_SUFFIX}`,e.IncrementalCacheKind.PAGES),"utf8"))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.PAGES,html:b,pageData:d,headers:null==a?void 0:a.headers,status:null==a?void 0:a.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${q} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}r&&(null==(m=k.memoryCache)||m.set(o,r))}catch{return null}if((null==r||null==(c=r.value)?void 0:c.kind)===e.CachedRouteKind.APP_PAGE||(null==r||null==(d=r.value)?void 0:d.kind)===e.CachedRouteKind.APP_ROUTE||(null==r||null==(f=r.value)?void 0:f.kind)===e.CachedRouteKind.PAGES){let a=null==(n=r.value.headers)?void 0:n[g.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,h.areTagsExpired)(b,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",b),null}}else if((null==r||null==(i=r.value)?void 0:i.kind)===e.CachedRouteKind.FETCH){let a=p.kind===e.IncrementalCacheKind.FETCH?[...p.tags||[],...p.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return k.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,h.areTagsExpired)(a,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",a),null}return r??null}async set(a,b,c){var d;if(null==(d=k.memoryCache)||d.set(a,{value:b,lastModified:Date.now()}),k.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;let f=new i.MultiFileWriter(this.fs);if(b.kind===e.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,e.IncrementalCacheKind.APP_ROUTE);f.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};f.append(c.replace(/\.body$/,g.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===e.CachedRouteKind.PAGES||b.kind===e.CachedRouteKind.APP_PAGE){let d=b.kind===e.CachedRouteKind.APP_PAGE,h=this.getFilePath(`${a}.html`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES);if(f.append(h,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||f.append(this.getFilePath(`${a}${d?g.RSC_SUFFIX:g.NEXT_DATA_SUFFIX}`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===e.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=h.replace(/\.html$/,g.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+g.RSC_SEGMENT_SUFFIX;f.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0};f.append(h.replace(/\.html$/,g.NEXT_META_SUFFIX),JSON.stringify(c))}}else if(b.kind===e.CachedRouteKind.FETCH){let d=this.getFilePath(a,e.IncrementalCacheKind.FETCH);f.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await f.wait()}getFilePath(a,b){let c;switch(b){case e.IncrementalCacheKind.FETCH:c=f.default.join(this.serverDistDir,"..","cache","fetch-cache");break;case e.IncrementalCacheKind.PAGES:c=f.default.join(this.serverDistDir,"pages");break;case e.IncrementalCacheKind.IMAGE:case e.IncrementalCacheKind.APP_PAGE:case e.IncrementalCacheKind.APP_ROUTE:c=f.default.join(this.serverDistDir,"app");break;default:throw Object.defineProperty(Error(`Unexpected file path kind: ${b}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}let d=f.default.join(c,a);if(!(d.startsWith(c+f.default.sep)||d===c))throw Object.defineProperty(Error(`Invalid file path: ${d}`),"__NEXT_ERROR_CODE",{value:"E1468",enumerable:!1,configurable:!0});return d}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return t},IncrementalCache:function(){return v}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(72394),h=(d=c(88266))&&d.__esModule?d:{default:d},i=c(26670),j=c(96100),k=c(6892),l=c(97538),m=c(63033),n=c(42776),o=c(55122),p=c(29294),q=c(59841),r=c(36820);function s(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class t{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function u(a){return c(55511).createHash("sha256").update(a).digest("hex")}class v{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,getPrerenderManifest:i,fetchCacheKeyPrefix:k,CurCacheHandler:m,allowedRevalidateHeaderKeys:n}){var p,q,r,s;this.locks=new Map,this.hasCustomCacheHandler=!!m;const t=Symbol.for("@next/cache-handlers"),u=globalThis;if(m)v.debug&&console.log("IncrementalCache: using custom cache handler",m.name);else{const b=u[t];(null==b?void 0:b.FetchCache)?(m=b.FetchCache,v.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(v.debug&&console.log("IncrementalCache: using filesystem cache handler"),m=h.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=n,this.prerenderManifest=i(),this.cacheControls=new l.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=k;let w=[];f[j.PRERENDER_REVALIDATE_HEADER]===(null==(q=this.prerenderManifest)||null==(p=q.preview)?void 0:p.previewModeId)&&(this.isOnDemandRevalidate=!0),d&&(w=this.revalidatedTags=(0,o.getPreviouslyRevalidatedTags)(f,null==(s=this.prerenderManifest)||null==(r=s.preview)?void 0:r.previewModeId)),m&&(this.cacheHandler=new m({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:w,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:k}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=this.cacheControls.get((0,k.toRoute)(a)),f=e?e.revalidate:!d&&1;return"number"==typeof f?1e3*f+b:f}_getPathname(a,b){return b?a:(0,i.normalizePagePath)(a)}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(v.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=new q.DetachedPromise;return v.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${s(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${s(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${s(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${s(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof f}`),"__NEXT_ERROR_CODE",{value:"E1443",enumerable:!1,configurable:!0});let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,h,i,l;let o,q;if(b.kind===g.IncrementalCacheKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===g.CachedRouteKind.FETCH){let d=p.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};v.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else v.debug&&console.log("IncrementalCache: rdc:miss",a)}else v.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==g.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;a=this._getPathname(a,b.kind===g.IncrementalCacheKind.FETCH);let s=await (null==(c=this.cacheHandler)?void 0:c.get(a,b));if(b.kind===g.IncrementalCacheKind.FETCH){if(!s)return null;if((null==(e=s.value)?void 0:e.kind)!==g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=s.value)?void 0:f.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let c=p.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: expired tag",a),null;let h=m.workUnitAsyncStorage.getStore();if(h){let b=(0,m.getResumeDataCache)(h);(null==b?void 0:b.mutable)&&(v.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,s.value))}let i=b.revalidate||s.value.revalidate,j=(performance.timeOrigin+performance.now()-(s.lastModified||0))/1e3>i,k=s.value.data;return(0,r.areTagsExpired)(d,s.lastModified)?null:((0,r.areTagsStale)(d,s.lastModified)&&(j=!0),{isStale:j,value:{kind:g.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==s||null==(d=s.value)?void 0:d.kind)===g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let t=null,{isFallback:u}=b,w=this.cacheControls.get((0,k.toRoute)(a));if((null==s?void 0:s.lastModified)===-1)o=-1,q=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let c=performance.timeOrigin+performance.now(),d=(null==s?void 0:s.lastModified)||c;q=this.calculateRevalidate(a,d,this.dev??!1,b.isFallback);let e="number"==typeof(null==w?void 0:w.expire)?1e3*w.expire+d:void 0;if(void 0!==e&&e<c)o=-1;else if(void 0===(o=!1!==q&&q<c||void 0)&&((null==s||null==(h=s.value)?void 0:h.kind)===g.CachedRouteKind.APP_PAGE||(null==s||null==(i=s.value)?void 0:i.kind)===g.CachedRouteKind.APP_ROUTE)){let a=null==(l=s.value.headers)?void 0:l[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,r.areTagsExpired)(b,d)?o=-1:(0,r.areTagsStale)(b,d)&&(o=!0))}}}return s&&(t={isStale:o,cacheControl:w,revalidateAfter:q,value:s.value,isFallback:u}),!s&&this.prerenderManifest.notFoundRoutes.includes(a)&&(t={isStale:o,value:null,cacheControl:w,revalidateAfter:q,isFallback:u},this.set(a,t.value,{...b,cacheControl:w})),t}async set(a,b,c){if((null==b?void 0:b.kind)===g.CachedRouteKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getResumeDataCache)(c):null;(null==d?void 0:d.mutable)&&(v.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;a=this._getPathname(a,c.fetchCache);let d=JSON.stringify(b).length;if(c.fetchCache&&d>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${d} bytes)`;if(this.dev)throw Object.defineProperty(Error(b),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(b);return}try{var e;!c.fetchCache&&c.cacheControl&&this.cacheControls.set((0,k.toRoute)(a),c.cacheControl),await (null==(e=this.cacheHandler)?void 0:e.set(a,b,c))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("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)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){return g?g.bind(a):f.bind(a)}function j(){return g?g.snapshot():function(a,...b){return a(...b)}}},90132:a=>{(()=>{"use strict";var b={234:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},274:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},294:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},838:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(294);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},138:(a,b,c)=>{let d=c(274);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(b===1/0)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(234),b=d(138),c=d(838),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=a.intervalCap===1/0||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let h of d(f))e.call(a,h)||void 0===h||b(a,h,{get:()=>f[h],enumerable:!(g=c(f,h))||g.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;const b=a.get("cookie");if(b)for(const[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;const e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(const a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){const b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
168
+ Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(3295),l=c(28704);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.isRequestClosed=!1,this.initialOnCloseError=null,this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause();try{b(()=>{for(let a of(this.isRequestClosed=!0,this.workUnitStores))a.phase="after"})}catch(a){this.initialOnCloseError={error:a}}}after(a,b){if(this.initialOnCloseError)throw Object.defineProperty(new f.InvariantError("An onClose call failed, which means after() can't work correctly.",{cause:this.initialOnCloseError.error}),"__NEXT_ERROR_CODE",{value:"E1376",enumerable:!1,configurable:!0});if(this.workUnitStores.add(b),(0,g.isThenable)(a))this.addThenable(a);else if("function"==typeof a)this.addCallback(a,b);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addThenable(a){this.waitUntil||n(),this.waitUntil(new Promise(b=>{a.then(()=>{b()},a=>{b(),this.reportTaskError("promise",a)})}))}addCallback(a,b){this.waitUntil||n();let c=k.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await k.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return this.isRequestClosed?await new Promise(a=>(0,l.scheduleImmediate)(a)):await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;let a=h.workAsyncStorage.getStore();if(!a)throw Object.defineProperty(new f.InvariantError("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(Object.defineProperty(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function n(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>i,getSettings:()=>h});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},quotaVisibility:{},topologyVisibility:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},comboRetryOnEmpty:!1,comboRetryOnEmptyLimit:2,capacityAdapter:{vision:{enabled:!0,roundRobin:!1,models:[]},pdf:{enabled:!1,roundRobin:!1,models:[]},audioInput:{enabled:!0,roundRobin:!1,models:[]},videoInput:{enabled:!1,roundRobin:!1,models:[]}},requireLogin:!0,hideLoginOffBanner:!1,autoUpdateCheck:!0,requireApiKey:!0,dailyTokenLimitEnabled:!0,autoCompactEnabled:!0,autoCompactRatio:.95,autoCompactKeepMessages:8,apiKeyRotation:!1,tunnelDashboardAccess:!0,authMode:"password",ssoType:"oidc",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",samlEntryPoint:"",samlIssuer:"urn:10router:sp",samlCert:"",samlLoginLabel:"Sign in with SAML SSO",samlAttributeEmail:"email",samlAttributeName:"name",enableObservability:!1,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,codeBuddyCheckin:!1,codeBuddyIntlSession:!1,codeBuddyDailyDone:{},qoderCheckin:!1,qoderDailyDone:{},channelBlocks:{}};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}async function h(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Object.defineProperty(Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("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)},86231:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aY,handler:()=>aX});var e={};c.r(e),c.d(e,{config:()=>aQ,default:()=>aP}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(95226),k=c(2886),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(77598),q=c.n(p),r=c(72045);let s=o().join(r.nJ,"machine-id"),t=o().join(r.nJ,"auth"),u=o().join(t,"cli-secret"),v=null,w=null;async function x(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(v)return v;try{if(v=m().readFileSync(s,"utf8").trim())return v}catch{}try{v=(0,k.machineIdSync)()}catch{v=q().randomUUID()}try{m().mkdirSync(r.nJ,{recursive:!0}),m().writeFileSync(s,v,{mode:384})}catch{}return v}(),d="9r-cli-auth"===b?function(){if(w)return w;try{if(w=m().readFileSync(u,"utf8").trim())return w}catch{}w=q().randomBytes(32).toString("hex");try{m().mkdirSync(t,{recursive:!0}),m().writeFileSync(u,w,{mode:384})}catch{}return w}():"";return q().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let y=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);async function z(a,b,c){return b instanceof Uint8Array?crypto.subtle.importKey("raw",b,a.subtle,!1,[c]):(!function(a,b,c){let d=a.algorithm;if(d.name!==b.name)throw y(b.name);if(b.hash&&d.hash?.name!==b.hash)throw y(b.hash,"algorithm.hash");if(b.namedCurve&&d.namedCurve!==b.namedCurve)throw y(b.namedCurve,"algorithm.namedCurve");if(void 0!==b.length&&d.length!==b.length)throw y(b.length,"algorithm.length");if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a.subtle,c),a.minRsaBits&&function(a,b){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}(a.alg,b),b)}async function A(a,b,c,d){let e=await z(a,b,"verify");try{return await crypto.subtle.verify(a.signing,e,c,d)}catch{return!1}}class B extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class C extends B{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class D extends B{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class E extends B{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class F extends B{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class G extends B{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class H extends B{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class I extends B{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let J=[["verify"],["sign"]];function K(a){let b={name:"HMAC",hash:`SHA-${a}`};return{kty:["oct"],secret:!0,subtle:b,signing:b,usages:J}}function L(a,b){let c={name:b?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:`SHA-${a}`};return{kty:["RSA"],subtle:c,signing:b?{...c,saltLength:b}:c,usages:J,minRsaBits:2048}}function M(a,b){return{kty:["EC"],crv:a,subtle:{name:"ECDSA",namedCurve:a},signing:{name:"ECDSA",hash:`SHA-${b}`},usages:J}}function N(){let a={name:"Ed25519"};return{kty:["OKP"],crv:"Ed25519",subtle:a,signing:a,usages:J}}function O(a){let b={name:`ML-DSA-${a}`};return{kty:["AKP"],subtle:b,signing:b,usages:J}}let P=function(a){let b={__proto__:null};for(let c in a)b[c]={...a[c],alg:c};return b}({HS256:K(256),HS384:K(384),HS512:K(512),RS256:L(256),RS384:L(384),RS512:L(512),PS256:L(256,32),PS384:L(384,48),PS512:L(512,64),ES256:M("P-256",256),ES384:M("P-384",384),ES512:M("P-521",512),EdDSA:N(),Ed25519:N(),"ML-DSA-44":O(44),"ML-DSA-65":O(65),"ML-DSA-87":O(87)});new TextEncoder;let Q=new TextDecoder,R=new TextDecoder("utf-8",{fatal:!0});function S(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}let T="The input to be decoded is not correctly encoded.";function U(a){if(Uint8Array.fromBase64)try{return Uint8Array.fromBase64("string"==typeof a?a:Q.decode(a),{alphabet:"base64url"})}catch(a){throw TypeError(T,{cause:a})}let b=a;if(b instanceof Uint8Array&&(b=Q.decode(b)),b.includes("+")||b.includes("/"))throw TypeError(T);b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError(T)}}function V(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;let b=Object.getPrototypeOf(a);return null===b||null===Object.getPrototypeOf(b)}function W(a,b,c){try{return U(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}Symbol();let X={__proto__:null,b64:!0},Y=(a,b,...c)=>(function(a,b,...c){if(c.length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a})(`Key for the ${a} algorithm must be `,b,...c),Z=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}};async function $(a,b){if("RSA"===b.kty&&"oth"in b&&void 0!==b.oth)throw new F('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');if(!a.kty.includes(b.kty))throw new F('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');let c=a.resolve?.({kty:b.kty,crv:b.crv})??a.subtle,d=!!(b.d||b.priv),e={...b};return"AKP"!==e.kty&&delete e.alg,delete e.use,crypto.subtle.importKey("jwk",e,c,b.ext??!d,b.key_ops??a.usages[+!!d])}let _=a=>a[Symbol.toStringTag],aa={__proto__:null,prime256v1:"P-256",secp384r1:"P-384",secp521r1:"P-521"};function ab(a,b,c){let e=(d||=new WeakMap).get(a);return c&&(e?e[b]=c:d.set(a,{[b]:c})),c??e?.[b]}let ac=async(a,b,c)=>ab(a,c.alg)??ab(a,c.alg,await $(c,{...b,alg:c.alg}));async function ad(a,b,c){let d=function(a,b,c){let{alg:d,secret:e}=a,f="decrypt"===c||"sign"===c;if(e&&b instanceof Uint8Array)return[0,b];if(V(b)){let g=function(a){let b={__proto__:null,...a};if(void 0!==b.ext&&"boolean"!=typeof b.ext)throw TypeError('"ext" (Extractable) Parameter must be a boolean');if(void 0!==b.key_ops){let a=b.key_ops,c=Array.isArray(a)?[...a]:void 0;if(!c||c.some(a=>"string"!=typeof a)||new Set(c).size!==c.length)throw TypeError('"key_ops" (Key Operations) Parameter must be an array of unique strings');b.key_ops=c}return b}(b);if("string"!=typeof g.kty)throw TypeError(e?Y(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Y(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(!(e?"oct"===g.kty&&"string"==typeof g.k:"oct"!==g.kty&&(f?"AKP"===g.kty&&"string"==typeof g.priv||"string"==typeof g.d:void 0===g.d&&void 0===g.priv)))throw TypeError(e?'JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present':`JSON Web Key for this operation must be a ${f?"private":"public"} JWK`);return((a,b,c)=>{let{alg:d}=a;if(void 0!==b.use){let a="sign"===c||"verify"===c?"sig":"enc";if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==d)throw TypeError(`Invalid key for this operation, its "alg" must be "${d}" when present`);if(Array.isArray(b.key_ops)){let d="encrypt"===c||"decrypt"===c?a.ops?.[+("encrypt"!==c)]:c;if(d&&!b.key_ops.includes(d))throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}})(a,g,c),[3,b,g]}if(!(Z(b)||b?.[Symbol.toStringTag]==="KeyObject"))throw TypeError(e?Y(d,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"):Y(d,b,"CryptoKey","KeyObject","JSON Web Key"));if(e){if("secret"!==b.type)throw TypeError(`${_(b)} instances for symmetric algorithms must be of type "secret"`)}else{if("secret"===b.type)throw TypeError(`${_(b)} instances for asymmetric algorithms must not be of type "secret"`);let a=f?"private":"public";if(("public"===b.type||"private"===b.type)&&b.type!==a){let d="sign"===c?"signing":"verify"===c?"verifying":`${c.slice(0,-1)}tion`;throw TypeError(`${_(b)} instances for asymmetric algorithm ${d} must be of type "${a}"`)}}return Z(b)?[1,b]:[2,b]}(a,b,c);switch(d[0]){case 0:case 1:return d[1];case 3:{let b=d[1],c=d[2];if("oct"===c.kty)return U(c.k);if(!Object.isFrozen(b)){let{key_ops:a}=b;Array.isArray(a)&&Object.freeze(a),Object.freeze(b)}return ac(b,c,a)}case 2:{let b=d[1];if("secret"===b.type)return b.export();if("toCryptoKey"in b&&"function"==typeof b.toCryptoKey)return((a,b)=>{let c=ab(a,b.alg);if(c)return c;let d="public"===a.type,e=b.usages[+!d],{asymmetricKeyType:f}=a,g=aa[a.asymmetricKeyDetails?.namedCurve],h=b.resolve?.({crv:g,asymmetricKeyType:f})??b.subtle;return ab(a,b.alg,a.toCryptoKey(h,d,e))})(b,a);return ac(b,b.export({format:"jwk"}),a)}}}async function ae(a,b,c,d,e,f,g){let h=!1;"function"==typeof c&&(c=await c(e,a),h=!0);let i="string"==typeof g,j=function(a){let b="string"==typeof a?P[a]:void 0;if(!b)throw new F(`alg ${a} is not supported either by JOSE or your javascript runtime`);return b}(f),k=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==d?S(d):new Uint8Array,S("."),i?b[2]??=function(a,b,c){try{return S(a)}catch{throw new c(`The ${b} is not a valid base64url string`)}}(g,"payload",G):g),l=W(a.signature,"signature",G),m=await ad(j,c,"verify");if(!await A(j,m,l,k))throw new I;return[i?W(g,"payload",G):g,e,i,m,h]}async function af(a,b,c){if(a instanceof Uint8Array&&(a=Q.decode(a)),"string"!=typeof a)throw new G("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new G("Invalid Compact JWS");let h=function(a,b=void 0===a?{}:function(a,b,c){let d;try{d=JSON.parse(R.decode(U(a)))}catch{throw new b(c)}if(!V(d))throw new b(c);return d}(a,G,"JWS Protected Header is invalid")){return b}(d),[i,j]=function(a,b,c){let d=function(a,b){if(b.includes("b64")){let b=a.b64;if("boolean"!=typeof b)throw new G('The "b64" (base64url-encode payload) Header Parameter must be a boolean');return b}return!0}(a,function(a,b,c,d,e){if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return[];if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let f=void 0===c?b:{__proto__:null,...c,...b};for(let b of d.crit){if(!(b in f))throw new F(`Extension Header Parameter "${b}" is not recognized`);if(!Object.hasOwn(e,b)||void 0===e[b])throw new a(`Extension Header Parameter "${b}" is missing`);if(f[b]&&(!Object.hasOwn(d,b)||void 0===d[b]))throw new a(`Extension Header Parameter "${b}" MUST be integrity protected`)}return d.crit}(G,X,c[1],a,b)),e=b.alg;if("string"!=typeof e||!e)throw new G('JWS "alg" (Algorithm) Header Parameter missing or invalid');if(c[0]&&!c[0].has(e))throw new E('"alg" (Algorithm) Header Parameter value not allowed');return[d,e]}(h,h,b),k=i?e:function(a){try{return S(a)}catch{throw new G("JWS Compact Serialization payload must use only ASCII characters")}}(e);return ae({payload:e,protected:d,signature:f},b,c,d,h,j,k)}let ag={s:1,m:60,h:3600,d:86400,w:604800,y:0x1e187e0},ah=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i,ai="check_failed";function aj(){throw TypeError("Invalid time period format")}function ak(a){"string"!=typeof a&&aj();let b=ah.exec(a);(!b||b[4]&&b[1])&&aj();let c=Math.round(parseFloat(b[2])*ag[b[3][0].toLowerCase()]);return(Number.isFinite(c)||aj(),"-"===b[1]||"ago"===b[4])?-c:c}function al(a,b){if(!Number.isFinite(b))throw TypeError(`Invalid ${a} input`);return b}let am=a=>{let b=a.toLowerCase();return a.includes("/")?b:`application/${b}`};function an(a,b,c=!1){let d=a[b];if(void 0!==d||c){if("number"!=typeof d)throw new C(`"${b}" claim must be a number`,a,b,"invalid");return d}}function ao(a,b){throw new C(`unexpected "${b}" claim value`,a,b,ai)}async function ap(a,b,c){let d=await af(a,[c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms),c?.crit],b);if(!d[2])throw new H("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f;try{f=JSON.parse(R.decode(b))}catch{}if(!V(f))throw new H("JWT Claims Set must be a top-level JSON object");let{typ:g}=c;if(void 0!==g&&("string"!=typeof a.typ||am(a.typ)!==am(g)))throw new C('unexpected "typ" JWT header value',f,"typ",ai);let{requiredClaims:h=[],issuer:i,subject:j,audience:k,maxTokenAge:l}=c,m=[...h];for(let a of(void 0!==l&&m.push("iat"),void 0!==k&&m.push("aud"),void 0!==j&&m.push("sub"),void 0!==i&&m.push("iss"),new Set(m.reverse())))if(!Object.hasOwn(f,a))throw new C(`missing required "${a}" claim`,f,a,"missing");void 0===i||(Array.isArray(i)?i:[i]).includes(f.iss)||ao(f,"iss"),void 0!==j&&f.sub!==j&&ao(f,"sub"),void 0===k||(d=f.aud,e="string"==typeof k?[k]:k,"string"==typeof d?e.includes(d):!!Array.isArray(d)&&e.some(a=>d.includes(a)))||ao(f,"aud");let{clockTolerance:n}=c,o=0;if("string"==typeof n)o=ak(n);else if(void 0!==n){if("number"!=typeof n)throw TypeError("Invalid clockTolerance option type");o=n}al("clockTolerance option",o);let{currentDate:p}=c,q=al("currentDate option",Math.floor((void 0===p?new Date:p).getTime()/1e3)),r=an(f,"iat",void 0!==l),s=an(f,"nbf");if(void 0!==s&&s>q+o)throw new C('"nbf" claim timestamp check failed',f,"nbf",ai);let t=an(f,"exp");if(void 0!==t&&t<=q-o)throw new D('"exp" claim timestamp check failed',f,"exp",ai);if(void 0!==l){let a=q-r;if(a-o>al("maxTokenAge option","number"==typeof l?l:ak(l)))throw new D('"iat" claim timestamp check failed (too far in the past)',f,"iat",ai);if(a<-o)throw new C('"iat" claim timestamp check failed (it should be in the past)',f,"iat",ai)}return f}(d[1],d[0],c),protectedHeader:d[1]};return"function"==typeof b?{...e,key:d[3]}:e}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);var aq=c(2071);function ar(a){var b;let c;return"string"==typeof(c=process.env.INITIAL_PASSWORD)&&!!c.trim()||(b=a,!!(b?.password||String(b?.oidcIssuerUrl||"").trim()&&String(b?.oidcClientId||"").trim()&&String(b?.oidcClientSecret||"").trim())||!!(b?.samlEntryPoint&&b?.samlCert))}let as=new Set(["change-me-to-a-long-random-secret","10router-default-secret-change-me","change-me-to-a-random-string","change-me"]),at=new TextEncoder().encode(function(){let a=process.env.JWT_SECRET;if(a){if(!as.has(a))return a;console.warn("[auth] JWT_SECRET is a known placeholder value — ignoring it. Leave JWT_SECRET unset (a random secret is generated to "+o().join(r.nJ,"jwt-secret")+") or set a long random value.")}let b=o().join(r.nJ,"jwt-secret");try{return m().readFileSync(b,"utf8").trim()}catch{}m().mkdirSync(r.nJ,{recursive:!0});let c=q().randomBytes(32).toString("hex");return m().writeFileSync(b,c,{mode:384}),(0,aq.E)(b),c}());async function au(a){if(!a)return!1;try{return await ap(a,at),!0}catch{return!1}}let av=null;async function aw(){return av||(av=await x("9r-cli-auth")),av}async function ax(a){let b=a.headers.get("x-10r-cli-token")||a.headers.get("x-9r-cli-token")||null;return!!b&&b===await aw()}let ay=["/api/health","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/auth/saml","/api/auth/verify-password","/api/settings/require-login"],az=["/api/version","/api/init"],aA=["/v1","/v1beta","/api/v1","/api/v1beta","/codex","/responses"],aB=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/version/shell-update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/oauth/xiaomi-mimo/desktop-status","/api/oauth/xiaomi-mimo/desktop-kill","/api/oauth/xiaomi-mimo/auto-import","/api/oauth/transfer/"],aC=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/zed/auto-import","/api/oauth/xiaomi-mimo/auto-import","/api/oauth/xiaomi-mimo/desktop-status","/api/oauth/xiaomi-mimo/desktop-kill","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop","/api/headroom/proxy"],aD=new Set(["localhost","127.0.0.1","::1"]);function aE(a){if(!a)return!1;let b=String(a).trim().toLowerCase();if(b.startsWith("[")){let a=b.indexOf("]");if(-1===a)return!1;b=b.slice(1,a)}else -1!==b.indexOf(":")&&b.indexOf(":")===b.lastIndexOf(":")&&(b=b.slice(0,b.indexOf(":")));return b.startsWith("::ffff:")&&(b=b.slice(7)),aD.has(b)}function aF(a){let b;if(a.headers.get("x-10r-via-proxy")||!((b=process.env.TENROUTER_PEER_TOKEN)&&a.headers.get("x-10r-peer-token")===b&&aE(a.headers.get("x-10r-real-ip"))))return!1;let c=a.headers.get("origin");if(c)try{if(!aE(new URL(c).hostname))return!1}catch{return!1}return!0}function aG(a){return aA.some(b=>a===b||a.startsWith(`${b}/`))}function aH(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}async function aI(a){let b=aH(a);return!!b&&await (0,j.ek)(b)}async function aJ(a){return!!(aF(a)||await ax(a))||await aI(a)}async function aK(a){return!!(await ax(a)||aF(a)&&await aN(a))}async function aL(a){let b=a.cookies.get("auth_token")?.value;return await au(b)}async function aM(){try{return await (0,j.mt)()}catch{return null}}async function aN(a){if(await aL(a))return!0;let b=await aM();return!!(b&&!1===b.requireLogin||!ar(b)&&aF(a))}async function aO(a){let{pathname:b}=a.nextUrl;if(!aG(b)){let b=await aM();if(b?.dashboardLocalOnly===!0&&!aF(a))return i.NextResponse.json({error:"The dashboard is set to local-only access (Experimental → Security). Turn it off from the machine running 10Router to manage it remotely."},{status:403})}if(("/api/oauth/xiaomi-mimo/auto-import"===b||"/api/oauth/xiaomi-mimo/desktop-status"===b||"/api/oauth/xiaomi-mimo/desktop-kill"===b&&"POST"===a.method)&&aF(a)&&await aN(a))return i.NextResponse.next();if(aC.some(a=>b.startsWith(a))&&!await aK(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if("POST"===a.method&&"/api/settings/database/import-usage"===b&&(a.headers.get("x-10r-password")||a.headers.get("x-9r-password")||aH(a))||"POST"===a.method&&("/api/oauth/transfer/import"===b||"/api/oauth/transfer/export"===b)&&aF(a)&&await aN(a))return i.NextResponse.next();if(aB.some(a=>b.startsWith(a)))return await ax(a)||await aL(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aG(b))return await aJ(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(az.some(a=>b===a||b.startsWith(`${a}/`)))return aF(a)||await ax(a)||await aN(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if("GET"===a.method&&"/api/usage/quotas"===b&&await aI(a)||("POST"===a.method||"DELETE"===a.method)&&b.startsWith("/api/external-quota/")&&(await aI(a)||await ax(a))||"POST"===a.method&&("/api/provider-nodes"===b||"/api/providers"===b)&&await aI(a))return i.NextResponse.next();if(b.startsWith("/api/"))return aG(b)||ay.some(a=>b===a||b.startsWith(`${a}/`))||await ax(a)||await aN(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(b.startsWith("/dashboard")){let b=!0,c=null;try{let d=await aM();if(c=d,d&&(b=!1!==d.requireLogin,!0!==d.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=d.tunnelUrl?new URL(d.tunnelUrl).hostname.toLowerCase():"",e=d.tailscaleUrl?new URL(d.tailscaleUrl).hostname.toLowerCase():"";if(c&&b===c||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b||!ar(c)&&aF(a))return i.NextResponse.next();let d=a.cookies.get("auth_token")?.value;return d&&await au(d)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function aP(a){return aO(a)}let aQ={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aR=c(99751);let aS={...e},aT="/src/proxy",aU=(0,aS.proxy||aS.default);class aV extends Error{constructor(a){super(a),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.stack=""}}if("function"!=typeof aU)throw new aV(`The Proxy file "${aT}" must export a function named \`proxy\` or a default function.`);let aW=async a=>{var b,d;{let{join:e,relative:f}=c(76760),{ensureInstrumentationRegistered:g}=c(7465),h=e(process.cwd(),(null==(b=a.request.requestMeta)?void 0:b.relativeProjectDir)||""),i=null==(d=a.request.requestMeta)?void 0:d.distDir,j=i?f(h,i):".next";await g(h,j)}return(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aT,handler:async(...a)=>{try{return await aU(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}})};async function aX(a,b){let c=await aW({request:{url:a.url,method:a.method,headers:(0,aR.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aT},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aY=aW},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i.waitShellReady="AppRender.waitShellReady",i.renderToNodeFizzStream="AppRender.renderToNodeFizzStream",i.instantInsights="AppRender.instantInsights",i.instantInsightsPrepareValidation="AppRender.instantInsights.prepareValidation",i.instantInsightsRunValidation="AppRender.instantInsights.runValidation",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return k}});let e=c(72394),f=(d=c(40694))&&d.__esModule?d:{default:d},g=c(96100),h=c(36820),i=c(90925),j=c(94143);class k{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?k.memoryCache?k.debug&&console.log("FileSystemCache: memory store already initialized"):(k.debug&&console.log("FileSystemCache: using memory store for fetch cache"),k.memoryCache=(0,j.getMemoryCache)(a.maxMemoryCacheSize)):k.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,k.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=h.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),h.tagsManifest.set(d,e)}else h.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,f,i,j,l,m,n;let[o,p]=a,{kind:q}=p,r=null==(b=k.memoryCache)?void 0:b.get(o);if(k.debug&&(q===e.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",o,p.tags,q,!!r):console.log("FileSystemCache: get",o,q,!!r)),!r)try{if(q===e.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${o}.body`,e.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,g.NEXT_META_SUFFIX),"utf8"));r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status}}}else{let a=this.getFilePath(q===e.IncrementalCacheKind.FETCH?o:`${o}.html`,q),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(q===e.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:f}=p;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(r={lastModified:g,value:h},(null==(j=r.value)?void 0:j.kind)===e.CachedRouteKind.FETCH){let b=null==(l=r.value)?void 0:l.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(k.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(o,r.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:f}))}}else if(q===e.IncrementalCacheKind.APP_PAGE){let d,f,h;try{d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,g.NEXT_META_SUFFIX),"utf8"))}catch{}if(null==d?void 0:d.segmentPaths){let a=new Map;f=a;let b=o+g.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(d.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+g.RSC_SEGMENT_SUFFIX,e.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}p.isFallback||p.isRoutePPREnabled&&(null==d?void 0:d.postponed)!=null||(h=await this.fs.readFile(this.getFilePath(`${o}${g.RSC_SUFFIX}`,e.IncrementalCacheKind.APP_PAGE))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_PAGE,html:b,rscData:h,postponed:null==d?void 0:d.postponed,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status,segmentData:f}}}else if(q===e.IncrementalCacheKind.PAGES){let a,d={};p.isFallback||(d=JSON.parse(await this.fs.readFile(this.getFilePath(`${o}${g.NEXT_DATA_SUFFIX}`,e.IncrementalCacheKind.PAGES),"utf8"))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.PAGES,html:b,pageData:d,headers:null==a?void 0:a.headers,status:null==a?void 0:a.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${q} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}r&&(null==(m=k.memoryCache)||m.set(o,r))}catch{return null}if((null==r||null==(c=r.value)?void 0:c.kind)===e.CachedRouteKind.APP_PAGE||(null==r||null==(d=r.value)?void 0:d.kind)===e.CachedRouteKind.APP_ROUTE||(null==r||null==(f=r.value)?void 0:f.kind)===e.CachedRouteKind.PAGES){let a=null==(n=r.value.headers)?void 0:n[g.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,h.areTagsExpired)(b,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",b),null}}else if((null==r||null==(i=r.value)?void 0:i.kind)===e.CachedRouteKind.FETCH){let a=p.kind===e.IncrementalCacheKind.FETCH?[...p.tags||[],...p.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return k.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,h.areTagsExpired)(a,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",a),null}return r??null}async set(a,b,c){var d;if(null==(d=k.memoryCache)||d.set(a,{value:b,lastModified:Date.now()}),k.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;let f=new i.MultiFileWriter(this.fs);if(b.kind===e.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,e.IncrementalCacheKind.APP_ROUTE);f.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};f.append(c.replace(/\.body$/,g.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===e.CachedRouteKind.PAGES||b.kind===e.CachedRouteKind.APP_PAGE){let d=b.kind===e.CachedRouteKind.APP_PAGE,h=this.getFilePath(`${a}.html`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES);if(f.append(h,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||f.append(this.getFilePath(`${a}${d?g.RSC_SUFFIX:g.NEXT_DATA_SUFFIX}`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===e.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=h.replace(/\.html$/,g.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+g.RSC_SEGMENT_SUFFIX;f.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0};f.append(h.replace(/\.html$/,g.NEXT_META_SUFFIX),JSON.stringify(c))}}else if(b.kind===e.CachedRouteKind.FETCH){let d=this.getFilePath(a,e.IncrementalCacheKind.FETCH);f.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await f.wait()}getFilePath(a,b){let c;switch(b){case e.IncrementalCacheKind.FETCH:c=f.default.join(this.serverDistDir,"..","cache","fetch-cache");break;case e.IncrementalCacheKind.PAGES:c=f.default.join(this.serverDistDir,"pages");break;case e.IncrementalCacheKind.IMAGE:case e.IncrementalCacheKind.APP_PAGE:case e.IncrementalCacheKind.APP_ROUTE:c=f.default.join(this.serverDistDir,"app");break;default:throw Object.defineProperty(Error(`Unexpected file path kind: ${b}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}let d=f.default.join(c,a);if(!(d.startsWith(c+f.default.sep)||d===c))throw Object.defineProperty(Error(`Invalid file path: ${d}`),"__NEXT_ERROR_CODE",{value:"E1468",enumerable:!1,configurable:!0});return d}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return t},IncrementalCache:function(){return v}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(72394),h=(d=c(88266))&&d.__esModule?d:{default:d},i=c(26670),j=c(96100),k=c(6892),l=c(97538),m=c(63033),n=c(42776),o=c(55122),p=c(29294),q=c(59841),r=c(36820);function s(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class t{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function u(a){return c(55511).createHash("sha256").update(a).digest("hex")}class v{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,getPrerenderManifest:i,fetchCacheKeyPrefix:k,CurCacheHandler:m,allowedRevalidateHeaderKeys:n}){var p,q,r,s;this.locks=new Map,this.hasCustomCacheHandler=!!m;const t=Symbol.for("@next/cache-handlers"),u=globalThis;if(m)v.debug&&console.log("IncrementalCache: using custom cache handler",m.name);else{const b=u[t];(null==b?void 0:b.FetchCache)?(m=b.FetchCache,v.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(v.debug&&console.log("IncrementalCache: using filesystem cache handler"),m=h.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=n,this.prerenderManifest=i(),this.cacheControls=new l.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=k;let w=[];f[j.PRERENDER_REVALIDATE_HEADER]===(null==(q=this.prerenderManifest)||null==(p=q.preview)?void 0:p.previewModeId)&&(this.isOnDemandRevalidate=!0),d&&(w=this.revalidatedTags=(0,o.getPreviouslyRevalidatedTags)(f,null==(s=this.prerenderManifest)||null==(r=s.preview)?void 0:r.previewModeId)),m&&(this.cacheHandler=new m({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:w,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:k}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=this.cacheControls.get((0,k.toRoute)(a)),f=e?e.revalidate:!d&&1;return"number"==typeof f?1e3*f+b:f}_getPathname(a,b){return b?a:(0,i.normalizePagePath)(a)}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(v.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=new q.DetachedPromise;return v.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${s(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${s(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${s(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${s(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof f}`),"__NEXT_ERROR_CODE",{value:"E1443",enumerable:!1,configurable:!0});let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,h,i,l;let o,q;if(b.kind===g.IncrementalCacheKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===g.CachedRouteKind.FETCH){let d=p.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};v.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else v.debug&&console.log("IncrementalCache: rdc:miss",a)}else v.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==g.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;a=this._getPathname(a,b.kind===g.IncrementalCacheKind.FETCH);let s=await (null==(c=this.cacheHandler)?void 0:c.get(a,b));if(b.kind===g.IncrementalCacheKind.FETCH){if(!s)return null;if((null==(e=s.value)?void 0:e.kind)!==g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=s.value)?void 0:f.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let c=p.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: expired tag",a),null;let h=m.workUnitAsyncStorage.getStore();if(h){let b=(0,m.getResumeDataCache)(h);(null==b?void 0:b.mutable)&&(v.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,s.value))}let i=b.revalidate||s.value.revalidate,j=(performance.timeOrigin+performance.now()-(s.lastModified||0))/1e3>i,k=s.value.data;return(0,r.areTagsExpired)(d,s.lastModified)?null:((0,r.areTagsStale)(d,s.lastModified)&&(j=!0),{isStale:j,value:{kind:g.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==s||null==(d=s.value)?void 0:d.kind)===g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let t=null,{isFallback:u}=b,w=this.cacheControls.get((0,k.toRoute)(a));if((null==s?void 0:s.lastModified)===-1)o=-1,q=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let c=performance.timeOrigin+performance.now(),d=(null==s?void 0:s.lastModified)||c;q=this.calculateRevalidate(a,d,this.dev??!1,b.isFallback);let e="number"==typeof(null==w?void 0:w.expire)?1e3*w.expire+d:void 0;if(void 0!==e&&e<c)o=-1;else if(void 0===(o=!1!==q&&q<c||void 0)&&((null==s||null==(h=s.value)?void 0:h.kind)===g.CachedRouteKind.APP_PAGE||(null==s||null==(i=s.value)?void 0:i.kind)===g.CachedRouteKind.APP_ROUTE)){let a=null==(l=s.value.headers)?void 0:l[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,r.areTagsExpired)(b,d)?o=-1:(0,r.areTagsStale)(b,d)&&(o=!0))}}}return s&&(t={isStale:o,cacheControl:w,revalidateAfter:q,value:s.value,isFallback:u}),!s&&this.prerenderManifest.notFoundRoutes.includes(a)&&(t={isStale:o,value:null,cacheControl:w,revalidateAfter:q,isFallback:u},this.set(a,t.value,{...b,cacheControl:w})),t}async set(a,b,c){if((null==b?void 0:b.kind)===g.CachedRouteKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getResumeDataCache)(c):null;(null==d?void 0:d.mutable)&&(v.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;a=this._getPathname(a,c.fetchCache);let d=JSON.stringify(b).length;if(c.fetchCache&&d>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${d} bytes)`;if(this.dev)throw Object.defineProperty(Error(b),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(b);return}try{var e;!c.fetchCache&&c.cacheControl&&this.cacheControls.set((0,k.toRoute)(a),c.cacheControl),await (null==(e=this.cacheHandler)?void 0:e.set(a,b,c))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("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)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){return g?g.bind(a):f.bind(a)}function j(){return g?g.snapshot():function(a,...b){return a(...b)}}},90132:a=>{(()=>{"use strict";var b={234:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},274:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},294:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},838:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(294);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},138:(a,b,c)=>{let d=c(274);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(b===1/0)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(234),b=d(138),c=d(838),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=a.intervalCap===1/0||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let h of d(f))e.call(a,h)||void 0===h||b(a,h,{get:()=>f[h],enumerable:!(g=c(f,h))||g.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;const b=a.get("cookie");if(b)for(const[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;const e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(const a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){const b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
169
169
  VALUES(?, ?, ?, ?, ?, ?)
170
170
  ON CONFLICT(id) DO UPDATE SET
171
- type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.cK)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.cK)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.cK)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.cK)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},95226:(a,b,c)=>{"use strict";c.d(b,{mt:()=>e.getSettings,ek:()=>f.validateApiKey});var d=c(59339);c(34393);var e=c(85304);c(56840),c(95160);var f=c(17343),g=c(71509);(0,g.U)("modelAliases"),(0,g.U)("customModels"),(0,g.U)("mitmAlias"),c(36241),c(50809);var h=c(94735);c(91117),c(69128);var i=c(75490);let j="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(i.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:j}:b]}));let k=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],l=a=>Object.fromEntries(i.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),k))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=j),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...a.topologyHiddenByDefault?{topologyHiddenByDefault:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.exposeStaticModels?{exposeStaticModels:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.community?{community:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),m=l("free"),n=l("freeTier"),o=l("oauth"),p=l("apikey"),q=l("webCookie"),r={...m,...n,...o,...p,...q};Object.values(r).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(r).reduce((a,b)=>(a[b.id]=b.alias,a),{}),i.default.filter(a=>a.features?.usage).map(a=>a.id),i.default.filter(a=>a.features?.usageApikey).map(a=>a.id);var s=c(76871);Object.entries(r).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(s.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),Object.freeze(["gemini-live"]),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new h.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsEmitter;var t=c(33323);let u=null,v=0;async function w(){if(u&&Date.now()-v<5e3)return u;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return u={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},v=Date.now(),u;let e="false"!==process.env.OBSERVABILITY_ENABLED;u={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{u={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return v=Date.now(),u}let x=[],y=null,z=!1;function A(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function B(){if(!z&&0!==x.length){z=!0;try{for(;x.length>0;){let a=x.splice(0,x.length),b=await (0,d.cK)(),c=await w();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:A(d.request,c.maxJsonSize),providerRequest:A(d.providerRequest,c.maxJsonSize),providerResponse:A(d.providerResponse,c.maxJsonSize),response:A(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,t.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{z=!1}}}let C=async()=>{y&&(clearTimeout(y),y=null),x.length>0&&await B()};process.off("beforeExit",C),process.off("SIGINT",C),process.off("SIGTERM",C),process.off("exit",C),process.on("beforeExit",C),process.on("SIGINT",C),process.on("SIGTERM",C),process.on("exit",C)},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Object.defineProperty(Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination')."),"__NEXT_ERROR_CODE",{value:"E389",enumerable:!1,configurable:!0});return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){if("function"==typeof a.get){let c=f.HeadersAdapter.from(a);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}return{isOnDemandRevalidate:a[g.PRERENDER_REVALIDATE_HEADER]===b.previewModeId,revalidateOnlyGenerated:a.hasOwnProperty(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},97757:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getClientComponentLoaderMetrics:function(){return i},wrapClientComponentLoader:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=0,g=0;function h(a,b){return"performance"in globalThis&&(process.env.NEXT_OTEL_PERFORMANCE_PREFIX||b)?{require:(...b)=>{let c=performance.now();0===e&&(e=c);try{return g+=1,a.__next_app__.require(...b)}finally{f+=performance.now()-c}},loadChunk:(...b)=>{let c=performance.now(),d=a.__next_app__.loadChunk(...b);return d.finally(()=>{f+=performance.now()-c}),d}}:a.__next_app__}function i(a={}){let b=0===e?void 0:{clientComponentLoadStart:e,clientComponentLoadTimes:f,clientComponentLoadCount:g};return a.reset&&(e=0,f=0,g=0),b}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},98995:a=>{"use strict";a.exports=require("node:module")},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=86231);module.exports=c})();
171
+ type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.cK)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.cK)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.cK)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.cK)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.cK)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},95226:(a,b,c)=>{"use strict";c.d(b,{mt:()=>e.getSettings,ek:()=>f.validateApiKey});var d=c(59339);c(34393);var e=c(85304);c(56840),c(95160);var f=c(17343),g=c(71509);(0,g.U)("modelAliases"),(0,g.U)("customModels"),(0,g.U)("mitmAlias"),c(36241),c(50809);var h=c(94735);c(91117),c(69128);var i=c(97303);let j="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(i.default.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:j}:b]}));let k=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","rerankConfig","modelsFetcher","mediaPriority","hiddenKinds"],l=a=>Object.fromEntries(i.default.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),k))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=j),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...a.topologyHiddenByDefault?{topologyHiddenByDefault:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.exposeStaticModels?{exposeStaticModels:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.community?{community:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),m=l("free"),n=l("freeTier"),o=l("oauth"),p=l("apikey"),q=l("webCookie"),r={...m,...n,...o,...p,...q};Object.values(r).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(r).reduce((a,b)=>(a[b.id]=b.alias,a),{}),i.default.filter(a=>a.features?.usage).map(a=>a.id),i.default.filter(a=>a.features?.usageApikey).map(a=>a.id),i.default.filter(a=>a.features?.usageCookie).map(a=>a.id);var s=c(76871);Object.entries(r).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(s.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),Object.freeze(["gemini-live"]),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new h.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsEmitter;var t=c(33323);let u=null,v=0;async function w(){if(u&&Date.now()-v<5e3)return u;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return u={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},v=Date.now(),u;let e="false"!==process.env.OBSERVABILITY_ENABLED;u={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{u={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return v=Date.now(),u}let x=[],y=null,z=!1;function A(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function B(){if(!z&&0!==x.length){z=!0;try{for(;x.length>0;){let a=x.splice(0,x.length),b=await (0,d.cK)(),c=await w();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:A(d.request,c.maxJsonSize),providerRequest:A(d.providerRequest,c.maxJsonSize),providerResponse:A(d.providerResponse,c.maxJsonSize),response:A(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,t.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{z=!1}}}let C=async()=>{y&&(clearTimeout(y),y=null),x.length>0&&await B()};process.off("beforeExit",C),process.off("SIGINT",C),process.off("SIGTERM",C),process.off("exit",C),process.on("beforeExit",C),process.on("SIGINT",C),process.on("SIGTERM",C),process.on("exit",C)},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Object.defineProperty(Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination')."),"__NEXT_ERROR_CODE",{value:"E389",enumerable:!1,configurable:!0});return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){if("function"==typeof a.get){let c=f.HeadersAdapter.from(a);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}return{isOnDemandRevalidate:a[g.PRERENDER_REVALIDATE_HEADER]===b.previewModeId,revalidateOnlyGenerated:a.hasOwnProperty(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97303:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,d.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,d.arch)()}})(),function(){switch((0,d.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,d.platform)()}}();let f="https://daily-cloudcode-pa.googleapis.com",g="antigravity/ide/2.11.0 darwin/arm64",h={id:"antigravity",priority:30,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{baseUrls:[f],format:"antigravity",headers:{"User-Agent":g},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${f}/v1internal:fetchAvailableModels`,quotaSummaryApiUrls:["https://daily-cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary","https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:retrieveUserQuotaSummary","https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary"],loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.5-flash-high",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)",upstreamModelId:"gemini-pro-agent"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"gemini-3-pro-image",name:"Gemini 3 Pro (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]},{id:"imagen-3.0-generate-002",name:"Imagen 3",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:g,refreshLeadMs:3e5},features:{usage:!0}},i="0.159.0",j={id:"codex",priority:20,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,cliVersion:i,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${i}`},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-6-astra[1m]",name:"GPT 6.0 Astra (extended context)",upstreamModelId:"gpt-6-astra"},{id:"gpt-6-sol",name:"GPT 6.0 Sol"},{id:"gpt-6-sol[1m]",name:"GPT 6.0 Sol (extended context)",upstreamModelId:"gpt-6-sol"},{id:"gpt-6-luna",name:"GPT 6.0 Luna"},{id:"gpt-6-luna[1m]",name:"GPT 6.0 Luna (extended context)",upstreamModelId:"gpt-6-luna"},{id:"gpt-6.1-sol",name:"GPT 6.1 Sol"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol[1m]",name:"GPT 5.6 Sol (extended context)",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra[1m]",name:"GPT 5.6 Terra (extended context)",upstreamModelId:"gpt-5.6-terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna[1m]",name:"GPT 5.6 Luna (extended context)",upstreamModelId:"gpt-5.6-luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-daybreak-blue-latest",name:"GPT Daybreak Blue"},{id:"gpt-reserve",name:"GPT Reserve"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:6e5,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},k={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-flash",name:"DeepSeek V4.1 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},l={id:"glm",priority:140,alias:"glm",display:{name:"Zai GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys",signupUrl:"https://chat.z.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,oauth:{providerId:"zai",cliInitUrl:"https://zcode.z.ai/api/v1/oauth/cli/init",cliPollUrl:"https://zcode.z.ai/api/v1/oauth/cli/poll",businessLoginUrl:"https://api.z.ai/api/auth/z/login",apiBaseUrl:"https://api.z.ai",planApiKeyName:"zcode-api-key"},transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},m="1.0.44",n="https://cli-chat-proxy.grok.com/v1",o="grok-shell",p=`grok-shell/${m} (linux; x86_64)`,q=[{id:"agnes-ai-cn",alias:"agnes-ai-cn",display:{name:"Agnes AI (CN)",icon:"auto_awesome",color:"#111827",textIcon:"AG",website:"https://www.agnes-ai.cn/",notice:{apiKeyUrl:"https://www.agnes-ai.cn/"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.agnes-ai.cn/v1/chat/completions",validateUrl:"https://api.agnes-ai.cn/v1/models"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.agnes-ai.cn/v1/images/generations"},models:[{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",params:["size"],kind:"image",capabilities:["edit"]},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",params:["size"],kind:"image",capabilities:["edit"]}]},{id:"agnes-ai",alias:"agnes-ai",display:{name:"Agnes AI",icon:"auto_awesome",color:"#111827",textIcon:"AG",website:"https://www.agnes-ai.com/",notice:{apiKeyUrl:"https://www.agnes-ai.com/"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://apihub.agnes-ai.com/v1/chat/completions",validateUrl:"https://apihub.agnes-ai.com/v1/models"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/images/generations"},models:[{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash"},{id:"agnes-2.5-pro",name:"Agnes 2.5 Pro"},{id:"agnes-2.5-pro-beta",name:"Agnes 2.5 Pro Beta"},{id:"agnes-3.0-flash",name:"Agnes 3.0 Flash"},{id:"agnes-image-2.0-flash",name:"Agnes Image 2.0 Flash",params:["size"],kind:"image"},{id:"agnes-image-2.1-flash",name:"Agnes Image 2.1 Flash",params:["size"],kind:"image",capabilities:["edit"]},{id:"agnes-image-2.5-flash",name:"Agnes Image 2.5 Flash",params:["size"],kind:"image",capabilities:["edit"]}]},{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Coding",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://www.alibabacloud.com/product/coding",notice:{apiKeyUrl:"https://www.alibabacloud.com/product/coding"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alims-intl",priority:11,alias:"alims-intl",display:{name:"Alibaba Studio",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alitp-intl",priority:11,alias:"alitp-intl",display:{name:"Alibaba Token Plan",icon:"cloud",color:"#FF6A00",textIcon:"ATP",website:"https://www.alibabacloud.com/campaign/ai-landing-page-token",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview"},{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"}]},{id:"amd",priority:20,hasFree:!0,alias:"amd",display:{name:"AMD Token Factory",icon:"developer_board",color:"#ED1C24",textIcon:"AMD",website:"https://developer.amd.com.cn/radeon/tokenfactory",notice:{text:"Free shared endpoints (experimental) — 30 RPM per key, 8 concurrent.",apiKeyUrl:"https://developer.amd.com.cn/radeon/modelapis"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://developer.amd.com.cn/radeon/api/v1/chat/completions",validateUrl:"https://developer.amd.com.cn/radeon/api/v1/models"},models:[{id:"DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"DeepSeek-V4-Flash-Vision-Exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"Qwen3.8-Flash-Next",name:"Qwen3.8 Flash Next"},{id:"MiniCPM5-2B",name:"MiniCPM5 2B"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"anthropic-version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},h,{id:"api-airforce",alias:"af",aliases:["airforce"],uiAlias:"af",display:{name:"API.airforce",icon:"flight",color:"#0EA5E9",textIcon:"AF",website:"https://api.airforce",notice:{apiKeyUrl:"https://api.airforce"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.airforce/v1/chat/completions",validateUrl:"https://api.airforce/v1/models",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"anthropic/claude-3.7-sonnet",name:"Claude 3.7 Sonnet (Free)",contextLength:2e5},{id:"moonshot/kimi-k2.6",name:"Kimi K2.6 (Free)",contextLength:262144},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Free)",contextLength:1048576}]},{id:"apinex",alias:"apinex",display:{name:"APInex",icon:"bolt",color:"#C9A227",textIcon:"AX",website:"https://apinex.bond/",notice:{text:"Prepaid USD-credit gateway with gamified rewards (XP/airdrop). free/* models require a DAILY check-in at the airdrop page; paid models bill a prepaid balance (402 otherwise). Third-party reseller — treat as untrusted for sensitive traffic.",apiKeyUrl:"https://apinex.bond/register",inviteCode:"SLEWP68C"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.apinex.bond/v1/chat/completions",validateUrl:"https://api.apinex.bond/v1/models"},serviceKinds:["llm"],hasFree:!0,models:[{id:"claude-fable-5.1",name:"Claude Fable 5.1"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-5.5",name:"Claude Sonnet 5.5"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"glm-5.3",name:"GLM-5.3"},{id:"glm-5.3-flash",name:"GLM-5.3 Flash"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-luna",name:"GPT-6 Luna"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol"},{id:"grok-4.7",name:"Grok 4.7"},{id:"kimi-k3",name:"Kimi K3"},{id:"free/claude-opus-4.6",name:"Claude Opus 4.6 (Free)"},{id:"free/claude-sonnet-4.6",name:"Claude Sonnet 4.6 (Free)"},{id:"free/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731 (Free)"},{id:"free/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813 (Free)"},{id:"free/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (Free)"},{id:"free/gemini-3.1-pro",name:"Gemini 3.1 Pro (Free)"},{id:"free/gemini-3.8-flash",name:"Gemini 3.8 Flash (Free)"},{id:"free/glm-5.3-flash",name:"GLM-5.3 Flash (Free)"},{id:"free/gpt-6-luna",name:"GPT-6 Luna (Free)"},{id:"free/hy4",name:"HY4 (Free)"},{id:"free/kimi-k2.8",name:"Kimi K2.8 (Free)"},{id:"free/kimi-k3",name:"Kimi K3 (Free)"},{id:"free/mimo-v2.6-flash",name:"MiMo V2.6 Flash (Free)"},{id:"free/mimo-v2.6-pro",name:"MiMo V2.6 Pro (Free)"},{id:"free/minimax-m3",name:"MiniMax M3 (Free)"},{id:"free/minimax-m3.1",name:"MiniMax M3.1 (Free)"},{id:"free/muse-spark-1.3",name:"Muse Spark 1.3 (Free)"},{id:"free/qwen-3.8-max",name:"Qwen 3.8 Max (Free)"}]},{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"atria",alias:"atria",aliases:["atria-asi"],uiAlias:"atria",display:{name:"Atria Dawn",icon:"flare",color:"#C2410C",textIcon:"AD",website:"https://atria-asi.ai",notice:{apiKeyUrl:"https://api.atria-asi.ai/console"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.atria-asi.ai/v1/chat/completions",validateUrl:"https://api.atria-asi.ai/v1/models"},models:[{id:"Atria-Dawn-Preview",name:"Atria Dawn Preview"}],passthroughModels:!0},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"bai",alias:"bai",aliases:["b.ai","b-ai","bai-llm"],display:{name:"B.AI",icon:"auto_awesome",color:"#3B82F6",textIcon:"B.AI",website:"https://b.ai",notice:{apiKeyUrl:"https://chat.b.ai"}},category:"apikey",transport:{baseUrl:"https://api.b.ai/v1/chat/completions",validateUrl:"https://api.b.ai/v1/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxOutput:384e3,reasoning:!0},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxOutput:384e3,reasoning:!0},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",vision:!0,contextWindow:1e6,maxOutput:384e3},{id:"deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:131072,maxOutput:65536},{id:"deepseek-r1-0528",name:"DeepSeek R1 0528",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"qwen3.8-flash",name:"Qwen3.8-Flash",vision:!0,contextWindow:1e6,maxOutput:131072,reasoning:!0},{id:"qwen3.8-27b",name:"Qwen3.8-27B",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"qwen3.8-max",name:"Qwen3.8-Max",vision:!0,contextWindow:1e6,maxOutput:131072,reasoning:!0},{id:"qwen3.7-max",name:"Qwen3.7-Max",contextWindow:1e6,maxOutput:65536,reasoning:!0},{id:"qwen3.6-27b",name:"Qwen3.6-27B",contextWindow:131072,maxOutput:65536},{id:"gpt-5.5",name:"GPT-5.5",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.4",name:"GPT-5.4",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5",name:"GPT-5",vision:!0,contextWindow:272e3,maxOutput:16384},{id:"gpt-5-mini",name:"GPT-5 Mini",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5-nano",name:"GPT-5 Nano",vision:!0,contextWindow:128e3,maxOutput:16384},{id:"gpt-5.2",name:"GPT-5.2",vision:!0,contextWindow:272e3,maxOutput:16384},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",vision:!0,contextWindow:105e4,maxOutput:128e3,reasoning:!0},{id:"grok-4.6",name:"Grok 4.6",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"grok-4.5",name:"Grok 4.5",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"gemini-3-flash",name:"Gemini 3 Flash",vision:!0,contextWindow:1048576,maxOutput:65536},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:131072,maxOutput:32768,reasoning:!0},{id:"mimo-v2.5",name:"MiMo V2.5",contextWindow:131072,maxOutput:32768,reasoning:!0},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",contextWindow:131072,maxOutput:16384},{id:"glm-5.3",name:"GLM-5.3",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"glm-5.2",name:"GLM-5.2",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"glm-5.1",name:"GLM-5.1",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:131072,maxOutput:65536,reasoning:!0},{id:"minimax-m3",name:"MiniMax M3",contextWindow:1048576,maxOutput:65536},{id:"minimax-m2.7",name:"MiniMax M2.7",contextWindow:1048576,maxOutput:65536},{id:"hy3",name:"Hy3",contextWindow:131072,maxOutput:65536}]},{id:"baidu",alias:"qianfan",aliases:["qianfan","ernie","baidu-qianfan"],uiAlias:"qianfan",category:"apikey",authType:"apikey",authModes:["apikey"],display:{name:"Baidu Qianfan",icon:"search",color:"#2932E1",textIcon:"BD",website:"https://cloud.baidu.com/product/qianfan.html",notice:{apiKeyUrl:"https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application"}},transport:{baseUrl:"https://qianfan.baidubce.com/v2/chat/completions",validateUrl:"https://qianfan.baidubce.com/v2/models"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextLength:1048576},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextLength:1048576},{id:"glm-5.2",name:"GLM 5.2",contextLength:512e3},{id:"glm-5.1",name:"GLM 5.1",contextLength:198e3},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"qwen3.5-397b-a17b",name:"Qwen 3.5 397B A17B",contextLength:262144},{id:"qwen3.5-27b",name:"Qwen 3.5 27B",contextLength:262144}]},{id:"bazaarlink",alias:"bzl",aliases:["bazaar-link"],uiAlias:"bzl",category:"freeTier",authType:"apikey",authModes:["apikey"],display:{name:"Bazaarlink",icon:"storefront",color:"#DC2626",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai"}},transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",validateUrl:"https://bazaarlink.ai/api/v1/models"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7",contextLength:1e6},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:1e6},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5",name:"GPT-5.5",contextLength:105e4},{id:"gpt-5.4",name:"GPT-5.4",contextLength:105e4},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",contextLength:4e5},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",contextLength:4e5},{id:"grok-4.3",name:"Grok 4.3",contextLength:1e6},{id:"grok-4.20",name:"Grok 4.20",contextLength:2e6},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextLength:1048576},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash",contextLength:1048576},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"kimi-k2.5",name:"Kimi K2.5",contextLength:262144},{id:"glm-5.1",name:"GLM 5.1",contextLength:204800},{id:"glm-5",name:"GLM 5",contextLength:204800},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextLength:105e4},{id:"mimo-v2.5",name:"MiMo-V2.5",contextLength:105e4},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576},{id:"minimax-m2.7",name:"MiniMax M2.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",contextLength:1e6},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextLength:1e6}]},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"bluesminds",alias:"bm",aliases:["blue-sminds"],uiAlias:"bm",hidden:!0,display:{name:"BluesMinds",icon:"psychology",color:"#2563EB",textIcon:"BM",website:"https://bluesminds.com",notice:{apiKeyUrl:"https://bluesminds.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4.1",name:"GPT-4.1",contextLength:1048576},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini",contextLength:1048576},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano",contextLength:1048576},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextLength:1048576},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)",contextLength:1048576},{id:"qwen-turbo",name:"Qwen Turbo",contextLength:1e6},{id:"kimi-k2",name:"Kimi K2",contextLength:262144},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextLength:262144},{id:"glm-4.7",name:"GLM 4.7",contextLength:204800},{id:"minimax-m2.5",name:"MiniMax M2.5",contextLength:204800},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)",contextLength:2e5},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)",contextLength:1048576}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.280 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings",profileUrl:"https://api.anthropic.com/api/oauth/profile",resetUrl:"https://api.anthropic.com/api/organizations/{org_id}/reset_rate_limits"}},models:[{id:"claude-opus-5-5",name:"Claude Opus 5.5"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",forceStream:!0,headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",authType:"apikey",authModes:["apikey"],hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com",webUrl:"https://www.workbuddy.cn/app"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",quirks:{sanitizeToolSchema:!0},headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"hy4-preview",name:"Hy4-Preview",rateMultiplier:.29,nightFree:{from:23,to:8}},{id:"hy3",name:"Hy3",rateMultiplier:0},{id:"space-bunny",name:"Space-Bunny",rateMultiplier:.08},{id:"glm-5v-turbo",name:"GLM-5v-Turbo",rateMultiplier:.71},{id:"glm-5.3",name:"GLM-5.3",rateMultiplier:.79},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",rateMultiplier:.06},{id:"glm-5.3-flashx",name:"GLM-5.3-FlashX",rateMultiplier:.14},{id:"glm-5.2",name:"GLM-5.2",rateMultiplier:.79},{id:"glm-5.1",name:"GLM-5.1",rateMultiplier:.79},{id:"minimax-m3",name:"MiniMax-M3",rateMultiplier:.25},{id:"kimi-k3",name:"Kimi-K3",rateMultiplier:1.62},{id:"kimi-k2.7",name:"Kimi-K2.7-Code",rateMultiplier:.57},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview",rateMultiplier:.77,subPriority:!0},{id:"kimi-k2.6",name:"Kimi-K2.6",rateMultiplier:.52},{id:"step-5-preview",name:"Step-5-Preview",rateMultiplier:.43,subPriority:!0},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash",rateMultiplier:.11},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro",rateMultiplier:.51}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai",webUrl:"https://www.codebuddy.ai/agents"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"IDE/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"IDE","X-IDE-Name":"IDE","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"hy4-preview",name:"Hy4-Preview",rateMultiplier:0},{id:"hy3",name:"Hy3",rateMultiplier:0},{id:"gpt-6-astra",name:"GPT 6.0 Astra",rateMultiplier:6.67},{id:"gpt-6-luna",name:"GPT-6-Luna"},{id:"gpt-6-sol",name:"GPT-6-Sol"},{id:"gpt-5.6-sol",name:"GPT-5.6-Sol",rateMultiplier:3.47},{id:"gpt-5.6-terra",name:"GPT-5.6-Terra",rateMultiplier:1.39},{id:"gpt-5.6-luna",name:"GPT-5.6-Luna",rateMultiplier:.14},{id:"gpt-5.5",name:"GPT-5.5",rateMultiplier:3.31},{id:"gpt-5.4",name:"GPT-5.4",rateMultiplier:1.65},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex",rateMultiplier:1.25},{id:"gpt-6.1-sol",name:"GPT-6.1-Sol"},{id:"claude-opus-5.5",name:"Claude-Opus-5.5",rateMultiplier:2.17,paidTier:!0},{id:"claude-sonnet-5.5",name:"Claude-Sonnet-5.5",rateMultiplier:1.33,paidTier:!0},{id:"claude-opus-5",name:"Claude-Opus-5",rateMultiplier:3.33,paidTier:!0},{id:"claude-sonnet-5",name:"Claude-Sonnet-5",rateMultiplier:1.33,paidTier:!0},{id:"claude-opus-4.8",name:"Claude-Opus-4.8",rateMultiplier:3.33,paidTier:!0},{id:"claude-opus-4.7",name:"Claude-Opus-4.7",rateMultiplier:3.33,paidTier:!0},{id:"claude-opus-4.6",name:"Claude-Opus-4.6",rateMultiplier:3.33,paidTier:!0},{id:"claude-sonnet-4.6",name:"Claude-Sonnet-4.6",rateMultiplier:1.33,paidTier:!0},{id:"gemini-3.8-flash",name:"Gemini-3.8-Flash"},{id:"grok-4.7",name:"Grok-4.7",rateMultiplier:1.9},{id:"space-bunny",name:"Space-Bunny",rateMultiplier:.08},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash",rateMultiplier:.99},{id:"glm-5v-turbo",name:"GLM-5v-Turbo",rateMultiplier:.71},{id:"glm-5.3",name:"GLM-5.3",rateMultiplier:.79},{id:"glm-5.3-flash",name:"GLM-5.3-Flash",rateMultiplier:.06},{id:"glm-5.2",name:"GLM-5.2",rateMultiplier:.79},{id:"glm-5.1",name:"GLM-5.1",rateMultiplier:.79},{id:"minimax-m3",name:"MiniMax-M3",rateMultiplier:.25},{id:"kimi-k3",name:"Kimi-K3",rateMultiplier:1.62},{id:"kimi-k2.7",name:"Kimi-K2.7-Code",rateMultiplier:.57},{id:"kimi-k2.8-preview",name:"Kimi-K2.8-Preview",rateMultiplier:.77,subPriority:!0},{id:"kimi-k2.6",name:"Kimi-K2.6",rateMultiplier:.52},{id:"deepseek-v4.1-flash",name:"DeepSeek-V4.1-Flash",rateMultiplier:.11}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},j,{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",serviceKinds:["llm","rerank"],rerankConfig:{baseUrl:"https://api.cohere.com/v2/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"rerank-v4.0-pro",name:"Rerank v4.0 Pro"},{id:"rerank-v3.5",name:"Rerank v3.5"}]},transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",features:{usage:!0,usageApikey:!0},usage:{creditsUrl:"https://api.commandcode.ai/alpha/billing/credits",subscriptionsUrl:"https://api.commandcode.ai/alpha/billing/subscriptions"},transport:{baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},models:[{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (exp)"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"google/gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"meta/muse-spark-1.1",name:"Muse Spark 1.1"},{id:"meta/muse-spark-1.2",name:"Muse Spark 1.2"},{id:"meta/muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor"},{id:"minimax/minimax-m2.7-free",name:"MiniMax M2.7 (Free)"},{id:"minimax/minimax-m3-free",name:"MiniMax M3 (Free)"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.7-Code-Highspeed",name:"Kimi K2.7 Code HighSpeed"},{id:"moonshotai/Kimi-K3",name:"Kimi K3"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"poolside/laguna-s-2.1-free",name:"Laguna S 2.1"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"Qwen/Qwen3.7-Flash",name:"Qwen 3.7 Flash"},{id:"Qwen/Qwen3.7-Max",name:"Qwen 3.7 Max"},{id:"Qwen/Qwen3.7-Plus",name:"Qwen 3.7 Plus"},{id:"Qwen/Qwen3.8-27B",name:"Qwen 3.8 27B"},{id:"Qwen/Qwen3.8-Flash",name:"Qwen 3.8 Flash"},{id:"Qwen/Qwen3.8-Max",name:"Qwen 3.8 Max"},{id:"sakana/fugu-ultra",name:"Fugu Ultra"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"},{id:"stepfun/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"tencent/hy3-paid",name:"Tencent Hy3"},{id:"tencent/hy4-preview",name:"Tencent Hy4 Preview"},{id:"thinkingmachines/inkling",name:"Inkling"},{id:"thinkingmachines/inkling-small",name:"Inkling Small"},{id:"xiaomi/mimo-v2.5",name:"MiMo V2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"xai/grok-4.5",name:"Grok 4.5"},{id:"xai/grok-4.6",name:"Grok 4.6"},{id:"z-ai/glm-5.3-flash",name:"GLM-5.3 Flash"},{id:"zai-org/GLM-5",name:"GLM-5"},{id:"zai-org/GLM-5.1",name:"GLM-5.1"},{id:"zai-org/GLM-5.2",name:"GLM-5.2"},{id:"zai-org/GLM-5.2-Fast",name:"GLM-5.2 Fast"},{id:"zai-org/GLM-5.3",name:"GLM-5.3"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},k,{id:"devin-cli",alias:"dv",aliases:["devin"],uiAlias:"dv",hidden:!0,display:{name:"Devin CLI",icon:"smart_toy",color:"#6366F1",textIcon:"DV",website:"https://devin.ai",notice:{signupUrl:"https://cli.devin.ai",text:"Install: `curl -fsSL https://cli.devin.ai/install.sh | bash` (macOS: `brew install --cask devin-cli`, Windows PowerShell: `irm https://static.devin.ai/cli/setup.ps1 | iex`). Then run `devin auth login`. No API key needed."}},category:"free",authType:"none",noAuth:!0,authModes:["none"],transport:{baseUrl:"devin://acp/stdio",format:"openai"},models:[{id:"swe-1.6-fast",name:"SWE-1.6 Fast"},{id:"swe-1.6",name:"SWE-1.6"},{id:"swe-1.5-fast",name:"SWE-1.5 Fast"},{id:"swe-1.5",name:"SWE-1.5"},{id:"claude-opus-4.7-max",name:"Claude Opus 4.7 Max",contextLength:2e5},{id:"claude-opus-4.7-high",name:"Claude Opus 4.7 High",contextLength:2e5},{id:"claude-opus-4.7-medium",name:"Claude Opus 4.7 Medium",contextLength:2e5},{id:"claude-opus-4.7-low",name:"Claude Opus 4.7 Low",contextLength:2e5},{id:"claude-sonnet-4.6-thinking-1m",name:"Claude Sonnet 4.6 Thinking 1M",contextLength:1e6},{id:"claude-sonnet-4.6-thinking",name:"Claude Sonnet 4.6 Thinking",contextLength:2e5},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:2e5},{id:"claude-opus-4.6-thinking",name:"Claude Opus 4.6 Thinking",contextLength:2e5},{id:"claude-opus-4.6",name:"Claude Opus 4.6",contextLength:2e5},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextLength:2e5},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5},{id:"gpt-5.5-xhigh",name:"GPT-5.5 XHigh",contextLength:2e5},{id:"gpt-5.5-high",name:"GPT-5.5 High",contextLength:2e5},{id:"gpt-5.5-medium",name:"GPT-5.5 Medium",contextLength:2e5},{id:"gpt-5.5-low",name:"GPT-5.5 Low",contextLength:2e5},{id:"gpt-5.4-high",name:"GPT-5.4 High",contextLength:2e5},{id:"gpt-5.4-medium",name:"GPT-5.4 Medium",contextLength:2e5},{id:"gpt-5.4-low",name:"GPT-5.4 Low",contextLength:2e5},{id:"gpt-5.3-codex-high",name:"GPT-5.3 Codex High",contextLength:2e5},{id:"gpt-5.3-codex-medium",name:"GPT-5.3 Codex Medium",contextLength:2e5},{id:"gpt-5.3-codex-low",name:"GPT-5.3 Codex Low",contextLength:2e5},{id:"gpt-5.2-high",name:"GPT-5.2 High",contextLength:2e5},{id:"gpt-5.2-medium",name:"GPT-5.2 Medium",contextLength:2e5},{id:"gpt-5.2-low",name:"GPT-5.2 Low",contextLength:2e5},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",contextLength:1e6},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low",contextLength:1e6},{id:"gemini-3.0-flash-high",name:"Gemini 3 Flash High",contextLength:1e6},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextLength:1e6},{id:"deepseek-v4",name:"DeepSeek V4",contextLength:1048576},{id:"kimi-k2.6",name:"Kimi K2.6",contextLength:262144},{id:"glm-5.1",name:"GLM-5.1",contextLength:204800}]},{id:"dots",alias:"dots",display:{name:"Dots",icon:"hub",color:"#FF2442",textIcon:"DT",website:"https://dots.ai",notice:{apiKeyUrl:"https://dots.ai/platform/apikeys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://note3-prev-api.askdiandian.com/v1/chat/completions",auth:{combined:!0,header:"api-key",scheme:"raw"}},models:[{id:"dots3-note-prev",name:"Dots3 Note Prev"}]},{id:"drex",alias:"drex",category:"apikey",display:{name:"Drex",icon:"psychology",color:"#131313",textIcon:"DX",website:"https://drex.nace.ai",notice:{apiKeyUrl:"https://drex.nace.ai/invite/tnzgt5vr"}},models:[{id:"drex-v1.0",name:"Drex v1.0",kind:"systemone"},{id:"drex-v1.1",name:"Drex v1.1",kind:"systemone"},{id:"drex-v1.5",name:"Drex v1.5",kind:"systemone"},{id:"drex-latest",name:"Drex Latest",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://drex.nace.ai/v1/systemone"}},{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts","stt"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]},sttConfig:{baseUrl:"https://api.elevenlabs.io/v1/speech-to-text",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"scribe_v1",name:"Scribe v1"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"featherless",priority:65,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",validateUrl:"https://api.featherless.ai/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}]},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-native-audio-preview-09-17",name:"Gemini Live Transcription (Realtime)",params:["language","prompt","system_instruction","setup_timeout_ms","turn_timeout_ms"],kind:"stt",transport:"gemini-live"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},l,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-cli",priority:275,alias:"gcli",aliases:["grok-build","gb"],uiAlias:"gcli",display:{name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,thinkingConfig:{options:["low","medium","high","xhigh"],defaultMode:"high"},transport:{baseUrl:`${n}/responses`,format:"openai-responses",forceStream:!0,modelsUrl:`${n}/models`,userUrl:`${n}/user`,billingUrl:`${n}/billing`,clientVersion:m,clientIdentifier:o,tokenAuth:"xai-grok-cli",headers:{"User-Agent":p,"x-grok-client-identifier":o,"x-grok-client-version":m},usage:{url:`${n}/billing?format=credits`,userUrl:`${n}/user?include=subscription`},retry:{429:{attempts:2,delayMs:2e3},502:{attempts:2,delayMs:1500},503:{attempts:2,delayMs:1500}}},models:[{id:"grok-build",name:"Grok Build",contextLength:5e5,maxOutputTokens:64e3},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],features:{usage:!0},oauth:{clientId:"b1a00492-073a-47ea-816f-4c329264a828",deviceCodeUrl:"https://auth.x.ai/oauth2/device/code",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",scope:"openid profile email offline_access grok-cli:access api:access conversations:read conversations:write",referrer:"grok-build",refreshLeadMs:3e5}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding","rerank"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]},rerankConfig:{baseUrl:"https://api.jina.ai/v1/rerank",authType:"apikey",authHeader:"bearer",models:[{id:"jina-reranker-v3.5",name:"Jina Reranker v3.5"},{id:"jina-reranker-v2-base-multilingual",name:"Jina Reranker v2 Multilingual"}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"keenable",alias:"keenable",display:{name:"Keenable",icon:"travel_explore",color:"#FF7E38",textIcon:"KE",website:"https://www.keenable.ai",notice:{apiKeyUrl:"https://app.keenable.ai/console"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.keenable.ai/v1/search",method:"POST",authType:"apikey",authHeader:"x-api-key",searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.keenable.ai/v1/fetch",method:"GET",authType:"apikey",authHeader:"x-api-key",formats:["markdown","text"],maxCharacters:5e4,timeoutMs:15e3}},{id:"kilo-gateway",alias:"kgw",aliases:["kilo-gateway","kilogateway"],uiAlias:"kgw",category:"freeTier",display:{name:"Kilo Gateway",icon:"login",color:"#8B5CF6",textIcon:"KG",website:"https://kilo.ai",notice:{apiKeyUrl:"https://kilo.ai/dashboard?tab=apiKeys"}},authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/free",name:"Kilo Auto Free",contextLength:256e3},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)",contextLength:262144},{id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"Nemotron 3 Ultra 550B (Free)",contextLength:1e6},{id:"kwaipilot/kat-coder-pro-v2.5:free",name:"Kat Coder Pro v2.5 (Free)",contextLength:256e3},{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextLength:1e6},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextLength:1e6}]},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"freeTier",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},{id:"kimi",priority:170,alias:"kimi",aliases:["kimi-coding","kmc"],display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"responses",baseUrl:"https://api.kimi.com/coding/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},oauth:{clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5,authorizeDeviceUrl:"https://www.kimi.com/code/authorize_device"},features:{usage:!0,usageApikey:!0}},{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-opus-5.5-thinking",name:"Claude Opus 5.5 (Thinking)"},{id:"claude-opus-5.5-agentic",name:"Claude Opus 5.5 (Agentic)"},{id:"claude-opus-5.5-thinking-agentic",name:"Claude Opus 5.5 (Thinking + Agentic)"},{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-opus-5-thinking",name:"Claude Opus 5 (Thinking)"},{id:"claude-opus-5-agentic",name:"Claude Opus 5 (Agentic)"},{id:"claude-opus-5-thinking-agentic",name:"Claude Opus 5 (Thinking + Agentic)"},{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"gpt-5.6-sol-thinking",name:"GPT 5.6 Sol (Thinking)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking",name:"GPT 5.6 Terra (Thinking)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking",name:"GPT 5.6 Luna (Thinking)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"gpt-5.6-sol-agentic",name:"GPT 5.6 Sol (Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-agentic",name:"GPT 5.6 Terra (Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-agentic",name:"GPT 5.6 Luna (Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT 5.6 Sol (Thinking + Agentic)",contextLength:272e3,rateMultiplier:2.4,upstreamModelId:"gpt-5.6-sol",description:"Experimental preview of OpenAI GPT 5.6 Sol with 272k context window"},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT 5.6 Terra (Thinking + Agentic)",contextLength:272e3,rateMultiplier:1.2,upstreamModelId:"gpt-5.6-terra",description:"Experimental preview of OpenAI GPT 5.6 Terra with 272k context window"},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT 5.6 Luna (Thinking + Agentic)",contextLength:272e3,rateMultiplier:.6,upstreamModelId:"gpt-5.6-luna",description:"Experimental preview of OpenAI GPT 5.6 Luna with 272k context window"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"llm7",alias:"llm7",aliases:["llm-7"],uiAlias:"llm7",display:{name:"LLM7",icon:"pool",color:"#7C3AED",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",validateUrl:"https://api.llm7.io/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5 (LLM7)",contextLength:105e4},{id:"claude-opus-5",name:"Claude Opus 5 (LLM7)",contextLength:1e6},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (LLM7)",contextLength:1e6},{id:"grok-4.5",name:"Grok 4.5 (LLM7)",contextLength:5e5},{id:"kimi-k3",name:"Kimi K3 (LLM7)",contextLength:1e6}],passthroughModels:!0},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"longcat-intl",alias:"longcat-intl",uiAlias:"longcat-intl",display:{name:"LongCat Intl",icon:"pets",color:"#F59E0B",textIcon:"LC",website:"https://longcat.ai",notice:{apiKeyUrl:"https://longcat.ai/platform/product"}},category:"apikey",transport:{baseUrl:"https://api.longcat.ai/openai/v1/chat/completions",validateUrl:"https://api.longcat.ai/openai/v1/models"},models:[{id:"LongCat-2.5-Preview",name:"LongCat 2.5 Preview"},{id:"LongCat-2.0",name:"LongCat 2.0"}]},{id:"longcat",alias:"longcat",display:{name:"LongCat",icon:"pets",color:"#F59E0B",textIcon:"LC",website:"https://longcat.chat",notice:{apiKeyUrl:"https://longcat.chat/platform/product?inviteCode=ULW84AMZ"}},category:"apikey",features:{usage:!0,usageApikey:!0},transport:{baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",validateUrl:"https://api.longcat.chat/openai/v1/models"},models:[{id:"LongCat-2.5-Preview",name:"LongCat 2.5 Preview"},{id:"LongCat-2.0",name:"LongCat 2.0"}]},{id:"mimo-desktop",priority:22,alias:"mimo-desktop",aliases:["xmd"],uiAlias:"xmd",display:{name:"MiMo Desktop",icon:"smart_toy",color:"#FF6900",textIcon:"XMD",website:"https://mimo.xiaomimimo.com",notice:{text:"Account-session models. Requires MiMo Desktop to be installed and signed in on this machine — the session cookie is read from it locally and never stored here. No API key is needed for these models.",signupUrl:"https://mimo.xiaomimimo.com/desktop/invite/"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,serviceKinds:["llm"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",rateMultiplier:1,supportedFormats:["openai"],requiresSession:!0},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",rateMultiplier:.4,supportedFormats:["openai"],requiresSession:!0},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed",supportedFormats:["openai"],requiresSession:!0}],features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{id:"mimo-free",hidden:!1,priority:50,hasFree:!0,alias:"mimo-free",uiAlias:"mimo-free",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF",deprecationNotice:"MiMo free API service has ended. This provider is no longer free. It is hidden from the usage topology by default — enable it via the toggle if you still want it shown."},topologyHiddenByDefault:!0,category:"free",noAuth:!0,community:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"minimax-code-global",priority:84,alias:"minimax-code-global",aliases:["mmg","mmcode"],uiAlias:"mmg",display:{name:"MiniMax Code (Global)",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.io"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},transport:{baseUrl:"https://agent.minimax.io/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.io/oauth2/device/code",tokenUrl:"https://account.minimax.io/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"minimax-code",priority:82,alias:"mcode",aliases:["mm","mcode"],uiAlias:"mcode",display:{name:"MiniMax Code",icon:"smart_toy",color:"#FF4D4F",textIcon:"MM",website:"https://agent.minimax.cn"},category:"oauth",authModes:["oauth"],hasOAuth:!0,features:{usage:!0},transport:{baseUrl:"https://agent.minimax.cn/mavis/api/v1/llm/v1/messages",format:"claude",thinkingFormat:"claude-adaptive",headers:{"User-Agent":"MiniMaxAgent","X-Mavis-Agent-Id":"main"},auth:{combined:!0,header:"Authorization",scheme:"bearer",anthropicVersion:!0}},oauth:{clientId:"mcode-public",deviceUrl:"https://account.minimax.cn/oauth2/device/code",tokenUrl:"https://account.minimax.cn/oauth2/token",scope:"agent.default",audience:"agent-backend",refreshLeadMs:6e5},models:[{id:"MiniMax-M3.1-Flash-Preview",name:"MiniMax M3.1 Flash Preview"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7-highspeed",name:"MiniMax M2.7 Highspeed"}]},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"morph",alias:"morph",aliases:["morphllm"],uiAlias:"morph",display:{name:"Morph",icon:"change_history",color:"#14B8A6",textIcon:"MP",website:"https://morphllm.com",notice:{apiKeyUrl:"https://morphllm.com"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph v3 Large"},{id:"morph-v3-fast",name:"Morph v3 Fast"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B (Morph)",contextLength:262144},{id:"morph-minimax27-230b",name:"MiniMax M2.7 (Morph)",contextLength:200704},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B (Morph)",contextLength:262144},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash (Morph)",contextLength:1048576}]},{id:"muse",priority:120,alias:"muse",aliases:["muse-ai","meta-model-api","muse-code","muse-subscription"],uiAlias:"muse",display:{name:"Muse (Meta Model API)",icon:"auto_awesome",color:"#0866FF",textIcon:"MU",website:"https://muse.ai",notice:{text:"Sign in with your Meta account (Muse Code subscription) or paste a Model API key from dev.meta.ai. Subscription keys are minted per account; Meta may train on contributor-tier data.",apiKeyUrl:"https://dev.meta.ai",signupUrl:"https://muse.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.meta.ai/v1/chat/completions",validateUrl:"https://api.meta.ai/v1/models",modelsUrl:"https://api.meta.ai/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.meta.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}},{format:"openai-responses",baseUrl:"https://api.meta.ai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["museHeaders"]}}],models:[{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.1",name:"Muse Spark 1.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],passthroughModels:!0,oauth:{clientId:"1031625952748946",deviceCodeUrl:"https://auth.meta.com/oidc/device/authorization/",tokenUrl:"https://auth.meta.com/oidc/device/token/"}},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama-search",alias:"ollama-search",display:{name:"Ollama Search",icon:"cloud",color:"#ffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Web search via Ollama Cloud subscription. Reuses the API key from the Ollama (chat) provider.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"apikey",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch"],credentialFallback:"ollama",searchConfig:{baseUrl:"https://ollama.com/api/web_search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"}],serviceKinds:["llm"],features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5-pro",name:"GPT-5.5 Pro"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax, DeepSeek, Grok, GPT and more.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",features:{usage:!0,usageApikey:!0},transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview (Free)",supportedFormats:["openai"]},{id:"space-bunny-free",name:"Space Bunny (Free)",supportedFormats:["openai","claude"]},{id:"space-bunny",name:"Space Bunny",supportedFormats:["openai","claude"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-flash",name:"DeepSeek V4.1 Flash (alias id)",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",supportedFormats:["openai"]},{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"mimo-v2-pro",name:"MiMo V2 Pro",supportedFormats:["openai"]},{id:"mimo-v2-omni",name:"MiMo V2 Omni",supportedFormats:["openai"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"hy3-preview",name:"Hy3 Preview",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["openai","claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["openai","claude"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"omen-alpha",name:"Omen Alpha"}]},{id:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/zen/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://opencode.ai/zen/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/zen/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5-5",name:"Claude Opus 5.5",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6.1-sol",name:"GPT 6.1 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-sol",name:"GPT 6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",supportedFormats:["claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"mistral-large-4",name:"Mistral Large 4",supportedFormats:["openai"]},{id:"union-alpha",name:"Union Alpha",supportedFormats:["claude"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"ling-3.1-flash-free",name:"Ling 3.1 Flash Free",supportedFormats:["openai"]},{id:"fledge-alpha-free",name:"Fledge Alpha Free",supportedFormats:["openai"]},{id:"exo-free",name:"Exo Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,community:!0,topologyHiddenByDefault:!1,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"cli"},noAuth:!0,forceStream:!0,reasoningInject:{scope:"all"},quirks:{forceAutoToolChoiceModels:["muse-spark-1.3-contributor-free"]}},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"big-pickle",name:"Big Pickle"},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free"},{id:"mimo-v2.5-free",name:"MiMo-V2.5 Free"},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free"},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free"},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/zen/v1/systemone",headers:{"x-opencode-client":"cli","User-Agent":"opencode/1.18.35"}},modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"},{id:"typesafe/jev-1.13",name:"Jev 1.13 (via OpenRouter)",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-agent",priority:181,alias:"perplexity-agent",aliases:["pplx-agent","pplx-responses","pa"],uiAlias:"pa",display:{name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/responses",validateUrl:"https://api.perplexity.ai/v1/models",format:"openai-responses"},models:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"},modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"poolside",priority:60,alias:"poolside",aliases:["ps"],uiAlias:"ps",display:{name:"Poolside",icon:"water_drop",color:"#0EA5E9",textIcon:"PS",website:"https://poolside.ai",notice:{apiKeyUrl:"https://platform.poolside.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"},{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"}]},{id:"qoder-cn",priority:31,alias:"qdc",uiAlias:"qdc",display:{name:"Qoder CN",icon:"water_drop",color:"#F43F5E",website:"https://qoder.cn",notice:{signupUrl:"https://qoder.cn"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) 来自 https://qoder.cn/account/integrations",modelsJsonUrl:"https://api.github.com/repos/techysy/10router/contents/providers/qoder-cn.json",fallbackModelsJsonUrl:"https://gitee.com/techysy/10router/raw/main/providers/qoder-cn.json",transport:{baseUrl:"https://gateway.qoder.com.cn/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.com.cn/api/v2/quota/usage"}},models:[{id:"auto",name:"Auto"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"q37fmodel",name:"Qwen3.7-Flash"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"gm51model",name:"GLM-5.2"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.com.cn",centerBaseUrl:"https://gateway.qoder.com.cn",chatBaseUrl:"https://gateway.qoder.com.cn",deviceTokenUrl:"https://openapi.qoder.com.cn/api/v1/deviceToken/poll",refreshUrl:"https://gateway.qoder.com.cn/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.com.cn/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.com.cn/api/v2/quota/usage",loginUrl:"https://qoder.cn/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) từ https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"auto",name:"Auto"},{id:"ultimate",name:"Ultimate"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"river",priority:68,alias:"river",aliases:["rv"],display:{name:"River AI",icon:"bolt",color:"#2563EB",textIcon:"RV",website:"https://river.ai",notice:{apiKeyUrl:"https://console.river.ai/keys"}},category:"apikey",transport:{baseUrl:"https://api.river.ai/v1/chat/completions",validateUrl:"https://api.river.ai/v1/models"},transports:[{format:"openai",baseUrl:"https://api.river.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"responses",baseUrl:"https://api.river.ai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",contextWindow:1048576,maxOutput:384e3},{id:"zai-org/GLM-5.3-Flash",name:"GLM 5.3 Flash",contextWindow:1048576,maxOutput:131072}],features:{usage:!0,usageApikey:!0}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sambanova",alias:"samba",aliases:["sambanova-ai"],uiAlias:"samba",hidden:!0,display:{name:"SambaNova",icon:"memory",color:"#F97316",textIcon:"SN",website:"https://sambanova.ai",notice:{apiKeyUrl:"https://cloud.sambanova.ai/apis"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},models:[{id:"MiniMax-M2.7",name:"MiniMax M2.7",contextLength:196608}]},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:c(41534).Ps,method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"selfhosted-embedding",priority:50,hasFree:!0,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"cloud",color:"#ffffffff",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the OpenAI base URL, e.g. http://host:8080/v1 — /embeddings is appended. The API key is not checked by local servers; any value works."}},models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"http://localhost:8080/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"selfhosted-stt",priority:50,hasFree:!0,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"cloud",color:"#ffffffff",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the full transcriptions URL, e.g. http://host:8080/v1/audio/transcriptions. The API key is not checked by local servers; any value works."}},models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"http://localhost:8080/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,hasFree:!0,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"cloud",color:"#ffffffff",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",auth:{apiKey:{text:"Set providerSpecificData.baseUrl to the server root, e.g. http://host:8080 — /v1/audio/speech is appended. The API key is not checked by local servers; any value works."}},models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{baseUrl:"http://localhost:8880",defaultModel:"kokoro",authType:"apikey",format:"openai-speech"}},{id:"sensenova",alias:"sensenova",display:{name:"SenseNova",icon:"blur_on",color:"#1177E4",textIcon:"SN",website:"https://www.sensenova.cn",notice:{apiKeyUrl:"https://platform.sensenova.cn/console/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://token.sensenova.cn/v1/chat/completions",validateUrl:"https://token.sensenova.cn/v1/models"},models:[{id:"sensenova-6.8-flash-lite",name:"SenseNova 6.8 Flash Lite"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"glm-5.2",name:"GLM 5.2"},{id:"sensenova-u1.5-lite",name:"SenseNova U1.5 Lite",kind:"image",capabilities:["text2img"]},{id:"sensenova-u1-fast",name:"SenseNova U1 Fast",kind:"image",capabilities:["text2img"]}]},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow-cn",priority:115,alias:"siliconflow-cn",aliases:["sfcn"],uiAlias:"sfcn",display:{name:"SiliconFlow CN",icon:"bolt",color:"#1FA34A",textIcon:"SF",website:"https://siliconflow.cn",notice:{apiKeyUrl:"https://cloud.siliconflow.cn/account/asicKey"}},category:"apikey",authType:"apikey",serviceKinds:["llm","image","video","embedding","rerank"],imageConfig:{baseUrl:"https://api.siliconflow.cn/v1/images/generations"},videoConfig:{baseUrl:"https://api.siliconflow.cn/v1/videos/generations"},embeddingConfig:{baseUrl:"https://api.siliconflow.cn/v1/embeddings"},rerankConfig:{baseUrl:"https://api.siliconflow.cn/v1/rerank"},transport:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",validateUrl:"https://api.siliconflow.cn/v1/models"},models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"Kwai-Kolors/Kolors",name:"Kolors",params:["size"],kind:"image"},{id:"zai-org/Z-Image-Turbo",name:"Z-Image Turbo",params:["size"],kind:"image"},{id:"Qwen/Qwen-Image",name:"Qwen Image",params:["size"],kind:"image"},{id:"Wan-AI/Wan2.2-T2V-A14B",name:"Wan2.2 T2V",params:["size"],kind:"video"},{id:"Wan-AI/Wan2.2-I2V-A14B",name:"Wan2.2 I2V",params:["size"],kind:"video"},{id:"BAAI/bge-reranker-v2-m3",name:"BGE Reranker v2 M3",kind:"rerank"},{id:"BAAI/bge-reranker-v2-gemma",name:"BGE Reranker v2 Gemma",kind:"rerank"}],features:{usage:!0,usageApikey:!0}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"stepfun-cn",priority:65,alias:"step-cn",aliases:["stepfun-cn","sf-cn"],display:{name:"StepFun CN",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.com",notice:{apiKeyUrl:"https://platform.stepfun.com/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.com/v1/chat/completions",validateUrl:"https://api.stepfun.com/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-1o-turbo-vision",name:"Step-1o Turbo Vision"},{id:"stepaudio-3-tts",name:"StepAudio 3 TTS",kind:"tts"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"},{id:"step-tts-2",name:"Step TTS 2",kind:"tts"},{id:"step-tts-mini",name:"Step TTS Mini",kind:"tts"},{id:"stepaudio-2.5-asr",name:"StepAudio 2.5 ASR",kind:"stt"}],serviceKinds:["llm","imageToText","tts","stt"],features:{usage:!0,usageApikey:!0},ttsConfig:{baseUrl:"https://api.stepfun.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"},sttConfig:{baseUrl:"https://api.stepfun.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"stepfun-plan-cn",priority:64,alias:"stepp-cn",aliases:["step-plan-cn","sfp-cn","sfpcn","stepfun-plan-cn"],display:{name:"StepFun CN Plan",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.com/step-plan",notice:{apiKeyUrl:"https://platform.stepfun.com/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.com/step_plan/v1/chat/completions",validateUrl:"https://api.stepfun.com/step_plan/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-router-v1",name:"Step Router V1"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"}],serviceKinds:["llm","imageToText","tts"],features:{},ttsConfig:{baseUrl:"https://api.stepfun.com/step_plan/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"}},{id:"stepfun-plan",priority:66,alias:"stepp",aliases:["step-plan","sfp","stepfun-plan"],display:{name:"StepFun Plan",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.ai/step-plan",notice:{apiKeyUrl:"https://platform.stepfun.ai/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.ai/step_plan/v1/chat/completions",validateUrl:"https://api.stepfun.ai/step_plan/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-router-v1",name:"Step Router V1"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"}],serviceKinds:["llm","imageToText","tts"],features:{},ttsConfig:{baseUrl:"https://api.stepfun.ai/step_plan/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"}},{id:"stepfun",priority:67,alias:"step",aliases:["stepfun","sf"],display:{name:"StepFun",icon:"bolt",color:"#2E5BFF",textIcon:"SF",website:"https://platform.stepfun.ai",notice:{apiKeyUrl:"https://platform.stepfun.ai/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.stepfun.ai/v1/chat/completions",validateUrl:"https://api.stepfun.ai/v1/models"},models:[{id:"step-5-preview",name:"Step 5 Preview"},{id:"step-3.7-flash",name:"Step 3.7 Flash"},{id:"step-3.5-flash",name:"Step 3.5 Flash"},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603"},{id:"step-1o-turbo-vision",name:"Step-1o Turbo Vision"},{id:"stepaudio-3-tts",name:"StepAudio 3 TTS",kind:"tts"},{id:"stepaudio-2.5-tts",name:"StepAudio 2.5 TTS",kind:"tts"},{id:"step-tts-2",name:"Step TTS 2",kind:"tts"},{id:"step-tts-mini",name:"Step TTS Mini",kind:"tts"},{id:"stepaudio-2.5-asr",name:"StepAudio 2.5 ASR",kind:"stt"}],serviceKinds:["llm","imageToText","tts","stt"],features:{usage:!0,usageApikey:!0},ttsConfig:{baseUrl:"https://api.stepfun.ai/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultVoice:"cixingnansheng"},sttConfig:{baseUrl:"https://api.stepfun.ai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"tencent",alias:"hunyuan",aliases:["hunyuan","tencent-hunyuan"],uiAlias:"hunyuan",display:{name:"Tencent Hunyuan",icon:"cloud",color:"#0052D9",textIcon:"HY",website:"https://cloud.tencent.com/product/hunyuan",notice:{apiKeyUrl:"https://console.cloud.tencent.com/hunyuan/api-key"}},category:"apikey",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://api.hunyuan.cloud.tencent.com/v1/chat/completions",validateUrl:"https://api.hunyuan.cloud.tencent.com/v1/models"},models:[{id:"hunyuan-turbos-latest",name:"Hunyuan TurboS Latest",contextLength:2e5},{id:"hunyuan-t1-latest",name:"Hunyuan T1 Latest",contextLength:256e3}]},{id:"tinyfish",alias:"tinyfish",display:{name:"TinyFish",icon:"travel_explore",color:"#D74B28",textIcon:"TF",website:"https://tinyfish.ai",notice:{apiKeyUrl:"https://agent.tinyfish.ai/api-keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.search.tinyfish.ai",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.fetch.tinyfish.ai",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:0,freeMonthlyQuota:999999,formats:["markdown","text","html"],maxCharacters:1e5,timeoutMs:3e4}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"tokenbom",alias:"tokenbom",display:{name:"TokenBom",icon:"bolt",color:"#6366F1",textIcon:"TB",website:"https://tokenbom.com",notice:{apiKeyUrl:"https://tokenbom.com/login?mode=register&invite=SS-CB5D0A43"}},category:"apikey",transport:{baseUrl:"https://tokenbom.com/v1/chat/completions",validateUrl:"https://tokenbom.com/v1/models"},models:[{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-4.8-opus",name:"Claude Opus 4.8"},{id:"claude-4.7-opus",name:"Claude Opus 4.7"},{id:"claude-4.6-opus",name:"Claude Opus 4.6"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"glm-5.3-flash",name:"GLM-5.3-Flash"},{id:"glm-5.3",name:"GLM-5.3"},{id:"kimi-k3",name:"Kimi K3"},{id:"qwen3.8-flash",name:"Qwen3.8-Flash"}]},{id:"tokenharbor",alias:"tokenharbor",aliases:["th","thh"],uiAlias:"tokenharbor",display:{name:"Token Harbor",icon:"anchor",color:"#0F766E",textIcon:"TH",website:"https://tokenharbor.ai",notice:{apiKeyUrl:"https://tokenharbor.ai/dashboard"}},category:"apikey",authType:"apikey",priority:45,transport:{baseUrl:"https://tokenharbor.ai/v1/chat/completions",validateUrl:"https://tokenharbor.ai/v1/models",retry:{429:2}},models:[{id:"claude-opus-5.5",name:"Claude Opus 5.5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-5.5:free",name:"Claude Haiku 5.5 (Free)"},{id:"gpt-6-astra",name:"GPT-6 Astra"},{id:"gpt-6-sol",name:"GPT-6 Sol"},{id:"deepseek-v4.1-flash:free",name:"DeepSeek V4.1 Flash (Free)"},{id:"qwen3.8-flash:free",name:"Qwen3.8 Flash (Free)"},{id:"mimo-v2.6-flash:free",name:"MiMo V2.6 Flash (Free)"},{id:"grok-4.7",name:"Grok 4.7"}],modelsFetcher:{url:"https://tokenharbor.ai/v1/models",type:"openai"},passthroughModels:!0},{id:"tokenrouter",alias:"tokenrouter",aliases:[],uiAlias:"tokenrouter",display:{name:"TokenRouter",icon:"hub",color:"#0EA5E9",textIcon:"TR",website:"https://www.tokenrouter.com",notice:{text:"OpenAI-compatible gateway. 300+ models (OpenAI, Claude, Gemini, Qwen, DeepSeek, Kimi, GLM, dsb).",apiKeyUrl:"https://www.tokenrouter.com"}},category:"apikey",thinkingConfig:{options:["low","medium","high","xhigh","max"],defaultMode:"high"},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",validateUrl:"https://api.tokenrouter.com/v1/models",thinkingFormat:"tokenrouter"},models:[{id:"MiniMax-Hailuo-2.3",name:"Minimax Hailuo 2.3",kind:"video"},{id:"MiniMax-M3",name:"Minimax M3"},{id:"anthropic/claude-fable-5",name:"Claude Fable 5"},{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-opus-4.7-fast",name:"Claude Opus 4.7 Fast"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 Fast"},{id:"anthropic/claude-opus-5",name:"Claude Opus 5"},{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 Fast"},{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4"},{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5"},{id:"bytedance-seed/seedream-4.5",name:"Seedream 4.5",kind:"image"},{id:"bytedance-seed/seedream-5.0-lite",name:"Seedream 5.0 Lite",kind:"image"},{id:"bytedance-seed/seedream-5.0-pro",name:"Seedream 5.0 Pro",kind:"image"},{id:"claude-haiku-4-5",name:"Claude Haiku 4 5"},{id:"claude-opus-4-8-m-aws",name:"Claude Opus 4 8 M Aws"},{id:"deepseek/deepseek-v3.2",name:"Deepseek V3.2"},{id:"deepseek/deepseek-v4-flash",name:"Deepseek V4 Flash"},{id:"deepseek/deepseek-v4-flash-0731",name:"Deepseek V4 Flash 0731"},{id:"deepseek/deepseek-v4-pro",name:"Deepseek V4 Pro"},{id:"ex/gpt-5.4",name:"Gpt 5.4"},{id:"google/gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image"},{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"google/gemini-3-pro-image-preview",name:"Gemini 3 Pro Image Preview"},{id:"google/gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"google/gemini-3.1-flash-lite-image",name:"Gemini 3.1 Flash Lite Image"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"google/gemini-embedding-2",name:"Gemini Embedding 2"},{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B It"},{id:"happyhorse-1.0-t2v",name:"Happyhorse 1.0 T2V",kind:"video"},{id:"kling-3.0-turbo",name:"Kling 3.0 Turbo",kind:"video"},{id:"kling-v2-6",name:"Kling V2 6",kind:"video"},{id:"kling-v3",name:"Kling V3",kind:"video"},{id:"kling-v3-omni",name:"Kling V3 Omni",kind:"video"},{id:"microsoft/mai-image-2.5",name:"Mai Image 2.5"},{id:"minimax/minimax-m2-her",name:"Minimax M2 Her"},{id:"minimax/minimax-m2.1",name:"Minimax M2.1"},{id:"minimax/minimax-m2.1-highspeed",name:"Minimax M2.1 Highspeed"},{id:"minimax/minimax-m2.5",name:"Minimax M2.5"},{id:"minimax/minimax-m2.7",name:"Minimax M2.7"},{id:"minimax/minimax-m2.7-highspeed",name:"Minimax M2.7 Highspeed"},{id:"miromind/mirothinker-1-7-deepresearch",name:"Mirothinker 1 7 Deepresearch"},{id:"miromind/mirothinker-1-7-deepresearch-mini",name:"Mirothinker 1 7 Deepresearch Mini"},{id:"mistralai/devstral-2512",name:"Devstral 2512"},{id:"mistralai/mistral-medium-3-5",name:"Mistral Medium 3 5"},{id:"mistralai/mistral-small-2603",name:"Mistral Small 2603"},{id:"mistralai/voxtral-small-24b-2507",name:"Voxtral Small 24B 2507"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3",name:"Kimi K3"},{id:"moonshotai/kimi-k3-free",name:"Kimi K3 Free"},{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni 30B A3B Reasoning:Free"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B A12B"},{id:"openai/gpt-4o-mini",name:"Gpt 4O Mini"},{id:"openai/gpt-5",name:"Gpt 5"},{id:"openai/gpt-5-image",name:"Gpt 5 Image"},{id:"openai/gpt-5-image-mini",name:"Gpt 5 Image Mini"},{id:"openai/gpt-5-mini",name:"Gpt 5 Mini"},{id:"openai/gpt-5.2",name:"Gpt 5.2"},{id:"openai/gpt-5.4",name:"Gpt 5.4"},{id:"openai/gpt-5.4-image-2",name:"Gpt 5.4 Image 2",kind:"image"},{id:"openai/gpt-5.4-mini",name:"Gpt 5.4 Mini"},{id:"openai/gpt-5.4-nano",name:"Gpt 5.4 Nano"},{id:"openai/gpt-5.4-pro",name:"Gpt 5.4 Pro"},{id:"openai/gpt-5.5",name:"Gpt 5.5"},{id:"openai/gpt-5.5-pro",name:"Gpt 5.5 Pro"},{id:"openai/gpt-5.6-luna",name:"Gpt 5.6 Luna"},{id:"openai/gpt-5.6-sol",name:"Gpt 5.6 Sol"},{id:"openai/gpt-5.6-terra",name:"Gpt 5.6 Terra"},{id:"openai/gpt-audio",name:"Gpt Audio",kind:"audio"},{id:"openai/gpt-audio-mini",name:"Gpt Audio Mini",kind:"audio"},{id:"openai/gpt-oss-120b",name:"Gpt Oss 120B"},{id:"qwen/qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen/qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"},{id:"qwen/qwen3.5-35b-a3b",name:"Qwen3.5 35B A3B"},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"qwen/qwen3.5-9b",name:"Qwen3.5 9B"},{id:"qwen/qwen3.5-flash",name:"Qwen3.5 Flash"},{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 02 15"},{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen/qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max"},{id:"qwen3.5-omni-plus",name:"Qwen3.5 Omni Plus"},{id:"qwen3.6-flash",name:"Qwen3.6 Flash"},{id:"sakana/fugu-ultra",name:"Fugu Ultra"},{id:"seed-2-0-code-preview-260328",name:"Seed 2 0 Code Preview 260328"},{id:"seed-2-0-lite-260428",name:"Seed 2 0 Lite 260428"},{id:"seed-2-0-mini-260428",name:"Seed 2 0 Mini 260428"},{id:"seed-2-0-pro-260328",name:"Seed 2 0 Pro 260328"},{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash"},{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash"},{id:"tencent/hy3-preview",name:"Hy3 Preview"},{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta"},{id:"x-ai/grok-4.3",name:"Grok 4.3"},{id:"x-ai/grok-4.5",name:"Grok 4.5"},{id:"x-ai/grok-build-0.1",name:"Grok Build 0.1"},{id:"xiaomi/mimo-v2-flash",name:"Mimo V2 Flash"},{id:"xiaomi/mimo-v2-omni",name:"Mimo V2 Omni"},{id:"xiaomi/mimo-v2-pro",name:"Mimo V2 Pro"},{id:"xiaomi/mimo-v2.5",name:"Mimo V2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"Mimo V2.5 Pro"},{id:"z-ai/glm-4.5-air",name:"Glm 4.5 Air"},{id:"z-ai/glm-4.6",name:"Glm 4.6"},{id:"z-ai/glm-4.6v",name:"Glm 4.6V"},{id:"z-ai/glm-4.7",name:"Glm 4.7"},{id:"z-ai/glm-5",name:"Glm 5"},{id:"z-ai/glm-5-turbo",name:"Glm 5 Turbo"},{id:"z-ai/glm-5.1",name:"Glm 5.1"},{id:"z-ai/glm-5.2",name:"Glm 5.2"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.tokenrouter.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.tokenrouter.com/v1/images/generations"},modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"openai"},passthroughModels:!0},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"trae-free",priority:58,alias:"trae-free",uiAlias:"trae-free",display:{name:"Trae Free",icon:"bolt",color:"#FF6A00",textIcon:"TF",website:"https://www.trae.ai"},category:"free",noAuth:!0,community:!0,exposeStaticModels:!0,transport:{baseUrl:"http://127.0.0.1:47860/gateway/trae/v1/messages",format:"claude",noAuth:!0},models:[{id:"Doubao-Seed-Code",name:"Doubao Seed Code"},{id:"Doubao-Seed-2.1-Pro",name:"Doubao Seed 2.1-Pro"},{id:"Doubao-Seed-2.1-Turbo",name:"Doubao Seed 2.1-Turbo"},{id:"Doubao-Seed-Evolving",name:"Doubao Seed Evolving"},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1-Flash"},{id:"DeepSeek-V4-Flash-Official",name:"DeepSeek V4-Flash Official"},{id:"DeepSeek-V4-Pro-Official",name:"DeepSeek V4-Pro Official"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3-Flash"},{id:"glm-5.3-flashx",name:"GLM 5.3-FlashX"},{id:"mimo-v2.6-flash",name:"MiMo V2.6-Flash"},{id:"mimo-v2.6-pro",name:"MiMo V2.6-Pro"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.7-code",name:"Kimi K2.7-Code"},{id:"kimi-k3",name:"Kimi K3"},{id:"minimax-m3",name:"MiniMax M3"},{id:"qwen-3.7-plus",name:"Qwen 3.7-Plus"},{id:"qwen3.8-max",name:"Qwen 3.8-Max"},{id:"step-5-preview",name:"Step 5-Preview"}]},{id:"trae",alias:"tr",uiAlias:"tr",aliases:["marscode"],category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth"],display:{name:"Trae",icon:"bolt",color:"#FF6A00",textIcon:"TR",website:"https://www.trae.ai",notice:{signupUrl:"https://www.trae.ai"}},transport:{baseUrl:"https://core-normal.trae.ai/api/remote/v1",format:"openai",headers:{"X-Trae-Client-Type":"web","X-Preferenced-Language":"en",Referer:"https://solo.trae.ai/"},auth:{combined:!0,header:"Authorization",scheme:"Cloud-IDE-JWT"},usage:{url:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo"},regions:{cn:"https://api.marscode.com",sg:"https://api.trae.ai",us:"https://www.trae.ai"},defaultRegion:"cn"},oauth:{clientId:"ono9krqynydwx5",clientSecret:"-",platform:"trae",pollInterval:1500,loginGuidanceUrl:"https://api.marscode.com/cloudide/api/v3/trae/GetLoginGuidance",tokenUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",exchangeTokenUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",refreshUrl:"https://api.marscode.com/cloudide/api/v3/trae/oauth/ExchangeToken",userInfoUrl:"https://api.marscode.com/cloudide/api/v3/trae/GetUserInfo",refresh:{encoding:"json"}},models:[{id:"auto",name:"Auto (Server Picks)"},{id:"work",name:"Work (Fast)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-flash-solo",name:"Gemini 3 Flash"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.2",name:"GPT 5.2"}],features:{usage:!0}},{id:"v1m",priority:45,alias:"v1m",aliases:["systemone","jev"],uiAlias:"v1m",display:{name:"v1m (System One)",icon:"psychology",color:"#6366F1",textIcon:"V1",website:"https://v1m.ir",notice:{text:"v1m System One calibrated decision engine. Fast probabilistic evaluations over state and questions.",apiKeyUrl:"https://v1m.ir"}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,models:[{id:"rev-latest",name:"v1m Rev Latest (Calibrated)",kind:"systemone"},{id:"v1m-decision-engine",name:"v1m Decision Engine",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://v1m.ir/v1/systemone",authType:"apikey",authHeader:"bearer"}},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",aliases:["voyage"],uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"windsurf",alias:"ws",uiAlias:"ws",display:{name:"Windsurf",icon:"surfing",color:"#14B8A6",website:"https://windsurf.com",notice:{signupUrl:"https://windsurf.com"}},category:"oauth",authType:"oauth",hasOAuth:!0,authModes:["oauth","apikey"],transport:{baseUrl:"https://server.codeium.com/exa.language_server_pb.LanguageServerService/GetChatMessage",format:"openai",headers:{"Content-Type":"application/grpc-web+proto",Accept:"application/grpc-web+proto","X-Grpc-Web":"1"},auth:{combined:!0,header:"Authorization",scheme:"Bearer"}},oauth:{clientId:"3GUryQ7ldAeKEuD2obYnppsnmj58eP5u",firebaseApiKey:"AIzaSyDsOl-1XpT5err0Tcn0TFFod1H8gVGIycY",firebaseSignInUrl:"https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword",registerUrl:"https://register.windsurf.com/exa.seat_management_pb.SeatManagementService/RegisterUser",apiServerUrl:"https://server.codeium.com",auth1ApiServerUrl:"https://server.self-serve.windsurf.com",platform:"windsurf",quotaUrl:"https://windsurf.com/_backend/exa.seat_management_pb.SeatManagementService/GetPlanStatus"},models:[{id:"swe-1.6-fast",name:"SWE-1.6 Fast"},{id:"swe-1.6",name:"SWE-1.6"},{id:"swe-1.5-fast",name:"SWE-1.5 Fast"},{id:"swe-1.5",name:"SWE-1.5"},{id:"claude-opus-4.7-max",name:"Claude Opus 4.7 Max"},{id:"claude-opus-4.7-xhigh",name:"Claude Opus 4.7 XHigh"},{id:"claude-opus-4.7-high",name:"Claude Opus 4.7 High"},{id:"claude-opus-4.7-medium",name:"Claude Opus 4.7 Medium"},{id:"claude-opus-4.7-low",name:"Claude Opus 4.7 Low"},{id:"claude-opus-4.7-review",name:"Claude Opus 4.7 Review"},{id:"claude-sonnet-4.6-thinking-1m",name:"Claude Sonnet 4.6 Thinking 1M"},{id:"claude-sonnet-4.6-1m",name:"Claude Sonnet 4.6 1M"},{id:"claude-sonnet-4.6-thinking",name:"Claude Sonnet 4.6 Thinking"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 Thinking"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 Thinking"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"gpt-5.5-xhigh-fast",name:"GPT-5.5 XHigh Fast"},{id:"gpt-5.5-xhigh",name:"GPT-5.5 XHigh"},{id:"gpt-5.5-high-fast",name:"GPT-5.5 High Fast"},{id:"gpt-5.5-high",name:"GPT-5.5 High"},{id:"gpt-5.5-medium-fast",name:"GPT-5.5 Medium Fast"},{id:"gpt-5.5-medium",name:"GPT-5.5 Medium"},{id:"gpt-5.5-low-fast",name:"GPT-5.5 Low Fast"},{id:"gpt-5.5-low",name:"GPT-5.5 Low"},{id:"gpt-5.5-none-fast",name:"GPT-5.5 None Fast"},{id:"gpt-5.5-none",name:"GPT-5.5 None"},{id:"gpt-5.4-xhigh-fast",name:"GPT-5.4 XHigh Fast"},{id:"gpt-5.4-xhigh",name:"GPT-5.4 XHigh"},{id:"gpt-5.4-high-fast",name:"GPT-5.4 High Fast"},{id:"gpt-5.4-high",name:"GPT-5.4 High"},{id:"gpt-5.4-medium-fast",name:"GPT-5.4 Medium Fast"},{id:"gpt-5.4-medium",name:"GPT-5.4 Medium"},{id:"gpt-5.4-low-fast",name:"GPT-5.4 Low Fast"},{id:"gpt-5.4-low",name:"GPT-5.4 Low"},{id:"gpt-5.4-none-fast",name:"GPT-5.4 None Fast"},{id:"gpt-5.4-none",name:"GPT-5.4 None"},{id:"gpt-5.4-mini-xhigh",name:"GPT-5.4 Mini XHigh"},{id:"gpt-5.4-mini-high",name:"GPT-5.4 Mini High"},{id:"gpt-5.4-mini-medium",name:"GPT-5.4 Mini Medium"},{id:"gpt-5.4-mini-low",name:"GPT-5.4 Mini Low"},{id:"gpt-5.3-codex-xhigh-fast",name:"GPT-5.3 Codex XHigh Fast"},{id:"gpt-5.3-codex-xhigh",name:"GPT-5.3 Codex XHigh"},{id:"gpt-5.3-codex-high-fast",name:"GPT-5.3 Codex High Fast"},{id:"gpt-5.3-codex-high",name:"GPT-5.3 Codex High"},{id:"gpt-5.3-codex-medium-fast",name:"GPT-5.3 Codex Medium Fast"},{id:"gpt-5.3-codex-medium",name:"GPT-5.3 Codex Medium"},{id:"gpt-5.3-codex-low-fast",name:"GPT-5.3 Codex Low Fast"},{id:"gpt-5.3-codex-low",name:"GPT-5.3 Codex Low"},{id:"gpt-5.2-xhigh",name:"GPT-5.2 XHigh"},{id:"gpt-5.2-high",name:"GPT-5.2 High"},{id:"gpt-5.2-medium",name:"GPT-5.2 Medium"},{id:"gpt-5.2-low",name:"GPT-5.2 Low"},{id:"gpt-5.2-none",name:"GPT-5.2 None"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.0-flash-high",name:"Gemini 3 Flash High"},{id:"gemini-3.0-flash-medium",name:"Gemini 3 Flash Medium"},{id:"gemini-3.0-flash-low",name:"Gemini 3 Flash Low"},{id:"gemini-3.0-flash-minimal",name:"Gemini 3 Flash Minimal"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"deepseek-v4",name:"DeepSeek V4"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM-5.1"}]},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.3",name:"Grok 4.3"},{id:"grok-4.2",name:"Grok 4.2"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xiaomi-mimo",priority:20,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys",signupUrl:"https://platform.xiaomimimo.com/"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro"},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash"},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"},features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{id:"xiaomi-tokenplan",priority:21,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"MiMo Token Plan",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://platform.xiaomimimo.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys"}},category:"apikey",hasProviderSpecificData:!0,serviceKinds:["llm","tts"],regions:[{id:"cn",label:"China (中国大陆)"},{id:"sgp",label:"Singapore (新加坡)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"cn",transport:{baseUrl:"https://token-plan-cn.xiaomimimo.com/v1/chat/completions",regions:{cn:"https://token-plan-cn.xiaomimimo.com/v1",sgp:"https://token-plan-sgp.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"cn"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro"},{id:"mimo-v2.6-pro-claude",name:"MiMo V2.6 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.6-pro"},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash"},{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone",kind:"tts"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design",kind:"tts"}],ttsConfig:{baseUrl:"https://token-plan-cn.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"}},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"zcode-free",priority:56,alias:"zcode-free",uiAlias:"zcode-free",display:{name:"ZCode Free",icon:"rocket_launch",color:"#7C3AED",textIcon:"ZC",website:"https://zcode.z.ai"},category:"free",noAuth:!0,community:!0,exposeStaticModels:!0,transport:{baseUrl:"http://127.0.0.1:47860/gateway/zcode/v1/messages",format:"claude",noAuth:!0},models:[{id:"glm-5.3-flash",name:"GLM 5.3 Flash"}]},{id:"zed",priority:10,alias:"zd",uiAlias:"zd",hidden:!0,display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"modelscope",priority:69,alias:"modelscope",aliases:["ms"],display:{name:"ModelScope",icon:"layers",color:"#624AFF",textIcon:"MS",website:"https://modelscope.cn",notice:{apiKeyUrl:"https://modelscope.cn/my/myaccesstoken"}},category:"apikey",transport:{baseUrl:"https://api-inference.modelscope.cn/v1/chat/completions",validateUrl:"https://api-inference.modelscope.cn/v1/chat/completions"},models:[{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",contextWindow:1e6,maxOutput:384e3},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxOutput:384e3},{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro (0813)",contextWindow:1e6,maxOutput:384e3},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1",contextWindow:128e3,maxOutput:64e3},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:128e3,maxOutput:64e3},{id:"Qwen/Qwen3.8-Flash-Next",name:"Qwen 3.8 Flash Next",contextWindow:262144,maxOutput:64e3},{id:"Qwen/Qwen3.8-27B",name:"Qwen 3.8 27B",contextWindow:262144,maxOutput:64e3},{id:"Qwen/Qwen3.5-397B",name:"Qwen 3.5 397B",contextWindow:1e6,maxOutput:65536},{id:"Qwen/Qwen3.5-122B",name:"Qwen 3.5 122B",contextWindow:1e6,maxOutput:65536},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B Instruct",contextWindow:1e6,maxOutput:64e3},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B Instruct",contextWindow:262144,maxOutput:64e3},{id:"Qwen/QwQ-32B",name:"QwQ 32B (Reasoning)",contextWindow:131072,maxOutput:64e3},{id:"ZhipuAI/glm-5.2",name:"GLM 5.2",contextWindow:1e6,maxOutput:131072},{id:"ZhipuAI/glm-5.3",name:"GLM 5.3",contextWindow:1e6,maxOutput:131072},{id:"ZhipuAI/glm-5.3-flash",name:"GLM 5.3 Flash",contextWindow:1e6,maxOutput:131072},{id:"MiniMax/MiniMax-M3",name:"MiniMax M3",contextWindow:1e6,maxOutput:131072},{id:"Moonshot/Kimi-K3",name:"Kimi K3",contextWindow:1048576,maxOutput:131072},{id:"stepfun-ai/Step-3.7-Flash",name:"Step 3.7 Flash",contextWindow:128e3,maxOutput:64e3},{id:"baidu/ERNIE-4.5-300B",name:"ERNIE 4.5 300B",contextWindow:2e5,maxOutput:64e3}],passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"codiv",priority:44,alias:"codiv",aliases:["cdv"],display:{name:"Codiv",icon:"psychology",color:"#101D30",textIcon:"CD",website:"https://codiv.ai",notice:{text:"Codiv serves open System One decision models that answer typed questions with calibrated probabilities, plus DiffusionGemma text generation.",apiKeyUrl:"https://codiv.ai/dashboard"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.codiv.ai/v1/chat/completions",validateUrl:"https://api.codiv.ai/v1/models"},models:[{id:"openjev-latest",name:"OpenJev Latest (Calibrated)",kind:"systemone"},{id:"openjev-0.1",name:"OpenJev 0.1",kind:"systemone"},{id:"laya-1.0",name:"Laya 1.0 (ModernBERT)",kind:"systemone"},{id:"verdict-1.4",name:"Verdict 1.4 (ModernBERT)",kind:"systemone"},{id:"clm-v0.1",name:"CLM v0.1 (Qwen3-8B)",kind:"systemone"},{id:"jevk5-0.3",name:"JevK5 v0.3 (Qwen3.5-4B)",kind:"systemone"},{id:"clef-flash-1.0",name:"Clef Flash 1.0 (Cloudflare)",kind:"systemone"},{id:"diffusiongemma-26b",name:"DiffusionGemma 26B"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://api.codiv.ai/v1/systemone",authType:"apikey",authHeader:"bearer"}},{id:"thx",alias:"thx",aliases:["hal-x","halx"],category:"apikey",display:{name:"THX-01 (HAL-X)",icon:"psychology",color:"#0EA5E9",textIcon:"TX",website:"https://api.hal-x.ai",notice:{text:"THX-01 decision model: calibrated answers to typed questions in ~10 ms per request.",apiKeyUrl:"https://api.hal-x.ai"}},models:[{id:"thx-01",name:"THX-01",kind:"systemone"}],serviceKinds:["systemone"],systemoneConfig:{baseUrl:"https://api.hal-x.ai/v1/systemone"}}]},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},97757:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getClientComponentLoaderMetrics:function(){return i},wrapClientComponentLoader:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=0,g=0;function h(a,b){return"performance"in globalThis&&(process.env.NEXT_OTEL_PERFORMANCE_PREFIX||b)?{require:(...b)=>{let c=performance.now();0===e&&(e=c);try{return g+=1,a.__next_app__.require(...b)}finally{f+=performance.now()-c}},loadChunk:(...b)=>{let c=performance.now(),d=a.__next_app__.loadChunk(...b);return d.finally(()=>{f+=performance.now()-c}),d}}:a.__next_app__}function i(a={}){let b=0===e?void 0:{clientComponentLoadStart:e,clientComponentLoadTimes:f,clientComponentLoadCount:g};return a.reset&&(e=0,f=0,g=0),b}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},98995:a=>{"use strict";a.exports=require("node:module")},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=86231);module.exports=c})();