@marimo-team/frontend 0.25.3-dev91 → 0.25.3-dev94

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 (163) hide show
  1. package/dist/assets/{CellStatus-DYRvLOiP.js → CellStatus-CplYFNTy.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-D9UK8o9A.js → ConnectedDataExplorerComponent-Dft8R6l5.js} +1 -1
  3. package/dist/assets/{ErrorBoundary-BKQo68Df.js → ErrorBoundary-CdGuz4a_.js} +2 -2
  4. package/dist/assets/{JsonOutput-DryOywaN.js → JsonOutput-Csbov8Fx.js} +3 -3
  5. package/dist/assets/{MarimoErrorOutput-XrTcOYTI.js → MarimoErrorOutput-czclLlOn.js} +1 -1
  6. package/dist/assets/{RenderHTML-DaVbCAsb.js → RenderHTML-CNDedpS4.js} +1 -1
  7. package/dist/assets/{RunButton-D3ScLvwb.js → RunButton-CRfdOxVd.js} +1 -1
  8. package/dist/assets/__vite-browser-external-8vDMR0Kk.js +1 -0
  9. package/dist/assets/__vite-browser-external-mKcnhO20.js +1 -0
  10. package/dist/assets/{add-cell-with-ai-BKk0pvon.js → add-cell-with-ai-BAIX7r0P.js} +1 -1
  11. package/dist/assets/{add-connection-dialog-CNIwGJVL.js → add-connection-dialog-DrDuM-tI.js} +1 -1
  12. package/dist/assets/{agent-panel-6t16-QG0.js → agent-panel-CoXq_rlA.js} +1 -1
  13. package/dist/assets/{ai-model-dropdown-prnCk5hq.js → ai-model-dropdown-COvWn46z.js} +2 -2
  14. package/dist/assets/{app-config-button-O_yI5nzB.js → app-config-button-CtxoYG4F.js} +1 -1
  15. package/dist/assets/{blob-FjxwDE1i.js → blob-DCjrjZKW.js} +1 -1
  16. package/dist/assets/{cache-panel-Byolv2ht.js → cache-panel-CbWZcBu0.js} +1 -1
  17. package/dist/assets/{cell-editor-CM_kQ_VW.js → cell-editor-BnL0Sorl.js} +1 -1
  18. package/dist/assets/{cell-link-D8EbRFJJ.js → cell-link-BFbgKiRH.js} +1 -1
  19. package/dist/assets/{cells-DfF1DLV_.js → cells-yOs72eZm.js} +2 -2
  20. package/dist/assets/{chat-display-BtQI9LeB.js → chat-display-DwRM41t_.js} +1 -1
  21. package/dist/assets/{chat-panel-tuUN0wet.js → chat-panel-DeTEdjxF.js} +1 -1
  22. package/dist/assets/{chat-ui-Bb-HxAv4.js → chat-ui-D6XucD07.js} +1 -1
  23. package/dist/assets/{code-visibility-ny5n3-GH.js → code-visibility-DYDagVy7.js} +1 -1
  24. package/dist/assets/{column-preview-CqFSXTtf.js → column-preview-DXM8SqGY.js} +1 -1
  25. package/dist/assets/{command-palette-CkDj29px.js → command-palette-CA6yfNLb.js} +1 -1
  26. package/dist/assets/{common-D2oGA09G.js → common-B-ZYnO1x.js} +1 -1
  27. package/dist/assets/{components-CJRBUI2s.js → components-CBE8cOLK.js} +1 -1
  28. package/dist/assets/{components-DrU8dOzy.js → components-DCo7mAWO.js} +1 -1
  29. package/dist/assets/{components-1zsrzJ_K.js → components-vu2jLG08.js} +1 -1
  30. package/dist/assets/{config-BWKfkUWA.js → config-CD1IuZFJ.js} +1 -1
  31. package/dist/assets/{config-CP8Y8_R0.js → config-DMz7oN0r.js} +1 -1
  32. package/dist/assets/{config-DGX7JYor.js → config-DpY86_Yq.js} +1 -1
  33. package/dist/assets/{createReducer-HKXUbqyz.js → createReducer-CaI_Oa0v.js} +1 -1
  34. package/dist/assets/{datasource-rV_-mqbc.js → datasource-BakEOWsf.js} +1 -1
  35. package/dist/assets/{dependency-graph-panel-By-cv0Nw.js → dependency-graph-panel-DCGB3_id.js} +1 -1
  36. package/dist/assets/{documentation-panel-DHMjvOPt.js → documentation-panel-CpGZ2Dfn.js} +1 -1
  37. package/dist/assets/{download-CMTzX3rG.js → download-CV1k4XQ4.js} +1 -1
  38. package/dist/assets/{edit-page-Bgkov1Jy.js → edit-page-By7n2M84.js} +5 -5
  39. package/dist/assets/{error-entries-BGCjRkVy.js → error-entries-JgrZYMbe.js} +1 -1
  40. package/dist/assets/{error-panel-BDTFHLEt.js → error-panel-DS7HWph-.js} +1 -1
  41. package/dist/assets/feedback-button-Dgs_HOOC.js +1 -0
  42. package/dist/assets/{feedback-button-C-ScLxY2.js → feedback-button-eYsTCK-g.js} +1 -1
  43. package/dist/assets/{file-explorer-panel-B9jBSwhj.js → file-explorer-panel-BTLwwwD4.js} +1 -1
  44. package/dist/assets/{file-name-input-DIvrcC82.js → file-name-input-BaR4h2Ud.js} +1 -1
  45. package/dist/assets/{floating-outline-DJnZ45VA.js → floating-outline-Drd73Quo.js} +1 -1
  46. package/dist/assets/{gallery-page-CHJD1mdU.js → gallery-page-DXUD11Rm.js} +1 -1
  47. package/dist/assets/{glide-data-editor-BsE9Em-a.js → glide-data-editor-DqBBoQBl.js} +1 -1
  48. package/dist/assets/{home-page-CCbdig5p.js → home-page-DrRto2-v.js} +1 -1
  49. package/dist/assets/{hooks-yjSoxKTw.js → hooks-D25kP4Sr.js} +1 -1
  50. package/dist/assets/{index-0pnwTVch.js → index-vBuAUWEe.js} +6 -6
  51. package/dist/assets/{input-BZdRe7pb.js → input-DmHMEZGh.js} +1 -1
  52. package/dist/assets/kiosk-mode-DFS6HopF.js +1 -0
  53. package/dist/assets/{layout-B2MJFBFp.js → layout-DLHIGZTK.js} +3 -3
  54. package/dist/assets/links-DX2w97N9.js +1 -0
  55. package/dist/assets/{logs-panel-B34vxRV7.js → logs-panel-D5AAD2s9.js} +1 -1
  56. package/dist/assets/{markdown-renderer-CkN_xAjW.js → markdown-renderer--CwVm4kJ.js} +1 -1
  57. package/dist/assets/{mermaid-B6mqMm5_.js → mermaid-BKXlWk4F.js} +1 -1
  58. package/dist/assets/{name-cell-input-eyYneuGK.js → name-cell-input-BFKZaNI5.js} +1 -1
  59. package/dist/assets/{outline-panel-rpjpMDYX.js → outline-panel-qcwRnl0R.js} +1 -1
  60. package/dist/assets/{package-data-dv4FBHxR.js → package-data-CKPmBDtg.js} +1 -1
  61. package/dist/assets/{packages-panel-gXdFgCro.js → packages-panel-DnSryNcz.js} +1 -1
  62. package/dist/assets/{panel-accordion-state-CImIsdc8.js → panel-accordion-state-BwJpDMVt.js} +1 -1
  63. package/dist/assets/{panels-DI8gAi31.js → panels-Aqzwb3UR.js} +1 -1
  64. package/dist/assets/{process-output-BClx23Jv.js → process-output-DuUfHYSr.js} +1 -1
  65. package/dist/assets/{readonly-code-display-JC_YsLL_.js → readonly-code-display-BY-9I_Yk.js} +1 -1
  66. package/dist/assets/{readonly-python-code-DeBED4OB.js → readonly-python-code-DSyr-yE2.js} +1 -1
  67. package/dist/assets/{renderShortcut-H60uiHBp.js → renderShortcut-rUwGqKgC.js} +1 -1
  68. package/dist/assets/{requests-lt0JK8Jt.js → requests-BIFR-h4M.js} +1 -1
  69. package/dist/assets/requests-DuLJN9Tf.js +1 -0
  70. package/dist/assets/{reveal-component-BoGgZrdo.js → reveal-component-C_Lb7Mom.js} +1 -1
  71. package/dist/assets/{run-page-DnvqkxCy.js → run-page-ZTw-kCU-.js} +1 -1
  72. package/dist/assets/{runs-6lJxKV1w.js → runs-C49hleBy.js} +1 -1
  73. package/dist/assets/{runtime-details-state-7JHj3efu.js → runtime-details-state-B7gpnuXx.js} +1 -1
  74. package/dist/assets/{save-worker-BbUSwZRG.js → save-worker-pCkSHhuz.js} +1 -1
  75. package/dist/assets/{scratchpad-panel-DZDmNIPw.js → scratchpad-panel-D2IHkKoG.js} +1 -1
  76. package/dist/assets/{secrets-panel-Dh3v7XPE.js → secrets-panel-bcfEKxRx.js} +1 -1
  77. package/dist/assets/{session-B8Y-GJnS.js → session-CMLIzZKw.js} +1 -1
  78. package/dist/assets/session-panel-cOSO3WCX.js +1 -0
  79. package/dist/assets/{snippets-panel-BNjtDbnR.js → snippets-panel-BNadUJLU.js} +1 -1
  80. package/dist/assets/{state-BY4_P6ko.js → state-3mcyTS9q.js} +1 -1
  81. package/dist/assets/{state-C0irhlOZ.js → state-B_MCKzBL.js} +1 -1
  82. package/dist/assets/state-BaYudep3.js +3 -0
  83. package/dist/assets/{state-DaWgt-rn.js → state-C5WAeuTu.js} +1 -1
  84. package/dist/assets/{state-Ck7FMD5A.js → state-Cv2JW3l9.js} +1 -1
  85. package/dist/assets/{state-DhaPGGBO.js → state-_1LTGJQM.js} +1 -1
  86. package/dist/assets/{switch-IoWE8PbW.js → switch-DYjBfpNJ.js} +1 -1
  87. package/dist/assets/{terminal-BwLC9HS5.js → terminal-Ca-kubKb.js} +1 -1
  88. package/dist/assets/{tracing-Ch4LR62-.js → tracing-DbTgS4u9.js} +1 -1
  89. package/dist/assets/{tracing-panel-B8fX4PhX.js → tracing-panel-CjlrpXPy.js} +2 -2
  90. package/dist/assets/{tree-actions-Zg3Ycse4.js → tree-actions-C_KYlaSv.js} +1 -1
  91. package/dist/assets/{useAddCell-BX9lq_0J.js → useAddCell-C0J8quGE.js} +1 -1
  92. package/dist/assets/{useAsyncData-DhhdOGGd.js → useAsyncData-qvoPYHtx.js} +1 -1
  93. package/dist/assets/{useBoolean-WABMLM83.js → useBoolean-Dd2nWXFJ.js} +1 -1
  94. package/dist/assets/{useCellActionButton-D7Ruyes-.js → useCellActionButton-CbkOj6BE.js} +1 -1
  95. package/dist/assets/{useDebounce-k9QTpQ9-.js → useDebounce-DwTQ_1Pu.js} +1 -1
  96. package/dist/assets/{useDeepCompareMemoize-DFIVN9dn.js → useDeepCompareMemoize-B2DVK2De.js} +1 -1
  97. package/dist/assets/{useDeleteCell-AbkQI6-c.js → useDeleteCell-DHkF5wgS.js} +1 -1
  98. package/dist/assets/{useDependencyPanelTab-B0b2KkvS.js → useDependencyPanelTab--yXJW6X5.js} +1 -1
  99. package/dist/assets/{useEvent-Dfcbgjhg.js → useEvent-BDjgaBtz.js} +1 -1
  100. package/dist/assets/{useInstallPackage-CWcPxSLP.js → useInstallPackage-wcDq9hYT.js} +1 -1
  101. package/dist/assets/{useNotebookActions-DJuAUAGI.js → useNotebookActions-dJQalORg.js} +1 -1
  102. package/dist/assets/{useRunCells-CV81rge-.js → useRunCells-C_IwVJR_.js} +1 -1
  103. package/dist/assets/{useSplitCell-BTwCB3JS.js → useSplitCell-Ci4MEUj8.js} +1 -1
  104. package/dist/assets/{useTheme-DLtPc-39.js → useTheme-BAA27lh7.js} +1 -1
  105. package/dist/assets/{vega-component-CY6HmM06.js → vega-component-BeyxAJad.js} +1 -1
  106. package/dist/assets/{worker-DTQ7oH2A.js → worker-bSCjCvwz.js} +1 -1
  107. package/dist/assets/{write-secret-modal-7DzehGyr.js → write-secret-modal-BEx-EUlh.js} +1 -1
  108. package/dist/index.html +40 -40
  109. package/package.json +1 -1
  110. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  111. package/src/components/data-table/cell-selection/feature.ts +2 -2
  112. package/src/components/data-table/cell-selection/types.ts +2 -2
  113. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  114. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  115. package/src/components/datasources/datasources.tsx +35 -21
  116. package/src/components/editor/SortableCell.tsx +1 -3
  117. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  118. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  119. package/src/components/editor/output/MarimoTracebackOutput.tsx +1 -1
  120. package/src/components/icons/spinner.tsx +1 -1
  121. package/src/components/ui/alert-dialog.tsx +1 -1
  122. package/src/core/ai/context/providers/datasource.ts +6 -2
  123. package/src/core/cells/session.ts +1 -1
  124. package/src/core/codemirror/__tests__/setup.test.ts +1 -1
  125. package/src/core/codemirror/keymaps/vim.ts +2 -6
  126. package/src/core/codemirror/language/languages/markdown.ts +1 -1
  127. package/src/core/codemirror/language/languages/python.ts +3 -3
  128. package/src/core/document/__tests__/draft.test.ts +322 -0
  129. package/src/core/document/__tests__/fixtures.ts +92 -0
  130. package/src/core/document/__tests__/model.test.ts +434 -0
  131. package/src/core/document/__tests__/submission.test.ts +334 -0
  132. package/src/core/document/draft.ts +472 -0
  133. package/src/core/document/model.ts +395 -0
  134. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  135. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  136. package/src/core/state/jotai.ts +1 -1
  137. package/src/core/wasm/bridge.ts +2 -2
  138. package/src/core/wasm/store.ts +3 -3
  139. package/src/core/wasm/worker/bootstrap.ts +1 -1
  140. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  141. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  142. package/src/plugins/impl/RangeSliderPlugin.tsx +0 -1
  143. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  144. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  145. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +0 -1
  146. package/src/plugins/impl/panel/PanelPlugin.tsx +1 -1
  147. package/src/plugins/impl/vega/make-selectable.ts +1 -1
  148. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  149. package/src/stories/form-wrapper.stories.tsx +2 -2
  150. package/src/stories/select.stories.tsx +2 -2
  151. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  152. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  153. package/src/utils/blob.ts +1 -1
  154. package/src/utils/zod-utils.ts +1 -3
  155. package/dist/assets/__vite-browser-external-CYO_P3S8.js +0 -1
  156. package/dist/assets/__vite-browser-external-FeDVGZU8.js +0 -1
  157. package/dist/assets/feedback-button-CLRAP9DE.js +0 -1
  158. package/dist/assets/kiosk-mode-BGmMSc7A.js +0 -1
  159. package/dist/assets/links-CXcpNIM0.js +0 -1
  160. package/dist/assets/requests-CgSY1X4a.js +0 -1
  161. package/dist/assets/session-panel-B1QB5LN7.js +0 -1
  162. package/dist/assets/state-DUP4ToPd.js +0 -3
  163. package/src/core/state/__tests__/jotai.test.ts +0 -25
@@ -1,5 +1,5 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{a as t,c as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-Dfcbgjhg.js";import{t as c}from"./react-DVplv7_D.js";import{$i as l,$n as u,$t as d,An as f,Ar as p,Bn as m,Ca as h,En as g,G as _,Hr as v,Ia as y,Ka as b,On as x,Or as S,Qn as C,Qr as w,Qt as T,Sa as E,Sr as D,Xn as O,Xt as k,Yt as A,Zn as j,Zt as M,_r as N,cn as P,dn as F,do as I,ea as L,en as R,kr as z,nn as B,no as V,oo as H,tn as U,to as ee,un as W,uo as G,wr as te,xr as K,ya as ne}from"./cells-DfF1DLV_.js";import{t as re}from"./react-dom-_LrxgvjW.js";import{t as ie}from"./compiler-runtime-BrajqUja.js";import{t as ae}from"./get-DjNf4SIX.js";import{A as oe,C as se,T as ce,h as le,j as ue,k as de,l as fe,m as pe,t as me,u as he,x as ge,y as _e}from"./config-DGX7JYor.js";import{t as ve}from"./has-sKqQhP6r.js";import{_ as ye,f as be,g as q,l as xe,m as Se,t as Ce}from"./useEventListener-CjDeLqFC.js";import{t as we}from"./objects-rLPlQ3X_.js";import{t as Te}from"./invariant-Ci2dTZ72.js";import{a as Ee,i as De,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne}from"./config-CP8Y8_R0.js";import{r as Pe,v as Fe}from"./session-B8Y-GJnS.js";import{M as Ie,O as Le,S as Re,n as ze,o as Be,r as Ve}from"./config-BWKfkUWA.js";import{t as He}from"./state-C0irhlOZ.js";import{t as Ue}from"./cn-ldLVeaqm.js";import{t as We}from"./jsx-runtime-B74pBk57.js";import{a as Ge,c as Ke,d as qe,f as Je,p as Ye,r as Xe,s as Ze,t as Qe,u as $e}from"./dropdown-menu-DS6umAnH.js";import{d as et,i as tt,l as nt,n as rt,r as it,s as at,t as ot}from"./select-3CVGlYrC.js";import{a as st,d as ct,f as lt,g as ut,h as dt,i as ft,l as pt,m as mt,n as ht,p as gt,t as _t,u as vt}from"./switch-IoWE8PbW.js";import{i as yt,n as bt,r as xt,t as St}from"./tabs-CY8E4r9U.js";import{t as Ct}from"./tooltip-CkGm8X7m.js";import{n as wt,r as Tt,t as Et}from"./button-D8gVKwe-.js";import{t as Dt}from"./createLucideIcon-DfJ2oMlA.js";import{t as Ot}from"./check-BQNapYaf.js";import{a as kt,r as At}from"./useNumberFormatter-D7O_26UI.js";import{t as jt}from"./chevron-right-eAtVhbNZ.js";import{s as Mt}from"./toDate-DOj9Q6uC.js";import{t as Nt}from"./copy-Djr5m5ac.js";import{C as Pt,b as Ft,p as It}from"./write-secret-modal-7DzehGyr.js";import{n as Lt,t as Rt}from"./spinner-DyNE-o8o.js";import{t as zt}from"./plus-C5silF6g.js";import{t as Bt}from"./refresh-cw-Qw1f8Jhy.js";import{$ as Vt,$t as Ht,At as Ut,Ct as Wt,E as Gt,Et as Kt,F as qt,Ft as Jt,G as Yt,Gt as Xt,H as Zt,Ht as Qt,J as $t,Jt as en,Kt as tn,L as nn,Nt as rn,O as an,P as on,Pt as sn,Qt as cn,R as ln,Rt as un,St as dn,T as fn,Ut as pn,V as mn,W as hn,Wt as gn,X as _n,Xt as vn,Yt as yn,Zt as bn,_t as xn,at as Sn,bt as Cn,ct as wn,en as Tn,et as En,ht as Dn,it as On,jt as kn,lt as An,nt as jn,o as Mn,q as Nn,qt as Pn,r as Fn,st as In,tn as Ln,tt as Rn,wt as zn,xt as Bn,zt as Vn}from"./input-BZdRe7pb.js";import{t as Hn}from"./trash-2-DcgaW8fn.js";import{t as Un}from"./triangle-alert-DmIqR8sY.js";import{n as Wn}from"./copy-KlhazlhB.js";import{t as Gn}from"./use-toast-Wu434mLr.js";import{Et as Kn,Jt as qn,st as Jn,ut as Yn}from"./dist-Cny7_yZb.js";import{F as Xn,L as Zn,M as Qn,N as $n,P as er,R as tr,b as nr,f as rr,g as ir,h as ar,k as or,p as sr,x as cr,y as lr}from"./dist-DBMV4gqt.js";import{s as ur}from"./arrays-0R2reF2y.js";import{n as dr}from"./once-6KNTRW0u.js";import{i as fr,n as pr,r as mr,t as hr}from"./strings-C25fhMR_.js";import{r as gr,t as _r}from"./requests-lt0JK8Jt.js";import{t as vr}from"./badge-crT3E0Rm.js";import{t as yr}from"./useTheme-DLtPc-39.js";import{r as br,t as xr}from"./I18nProvider-Cg2I_s1_.js";import{t as Sr}from"./shim-CjjJUhDo.js";import{n as Cr,t as wr}from"./shell-Fj8a65ii.js";import{r as Tr}from"./useDebounce-k9QTpQ9-.js";import{n as Er}from"./useAsyncData-DhhdOGGd.js";import{a as Dr}from"./errors-CNsgAw6m.js";import{t as Or}from"./kbd-pdKBv96t.js";import{n as kr,r as Ar,t as jr}from"./alert-DTaqCu_d.js";import{n as Mr,t as Nr}from"./error-banner-B5kzVf_0.js";import{a as Pr,i as Fr,n as Ir,o as Lr,r as Rr,t as zr}from"./table-vrvqpuKJ.js";import{t as Br}from"./renderShortcut-H60uiHBp.js";import{n as Vr,t as Hr}from"./azure-Dcn397wY.js";import{a as Ur,i as Wr,n as Gr,r as Kr,t as qr}from"./card-DOABds5l.js";var Jr=Dt(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),Yr=Dt(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Xr=Dt(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Zr=Dt(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),Qr=Dt(`folder-cog`,[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`,key:`128dxu`}],[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),$r=Dt(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),ei=Dt(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ti=Dt(`square-check-big`,[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`,key:`2acyp4`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),J=e(c(),1),ni=e(re(),1),ri=`react-aria-clear-focus`,ii=`react-aria-focus`;function ai(e){let t=ci(Ut(e));t!==e&&(t&&oi(t,e),e&&si(e,t))}function oi(e,t){e.dispatchEvent(new FocusEvent(`blur`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusout`,{bubbles:!0,relatedTarget:t}))}function si(e,t){e.dispatchEvent(new FocusEvent(`focus`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusin`,{bubbles:!0,relatedTarget:t}))}function ci(e){let t=zn(e),n=t?.getAttribute(`aria-activedescendant`);return n&&e.getElementById(n)||t}var li=class{constructor(e){this.value=null,this.level=0,this.hasChildNodes=!1,this.rendered=null,this.textValue=``,this[`aria-label`]=void 0,this.index=0,this.parentKey=null,this.prevKey=null,this.nextKey=null,this.firstChildKey=null,this.lastChildKey=null,this.props={},this.colSpan=null,this.colIndex=null,this.type=this.constructor.type,this.key=e}get childNodes(){throw Error(`childNodes is not supported`)}clone(){let e=new this.constructor(this.key);return e.value=this.value,e.level=this.level,e.hasChildNodes=this.hasChildNodes,e.rendered=this.rendered,e.textValue=this.textValue,e[`aria-label`]=this[`aria-label`],e.index=this.index,e.parentKey=this.parentKey,e.prevKey=this.prevKey,e.nextKey=this.nextKey,e.firstChildKey=this.firstChildKey,e.lastChildKey=this.lastChildKey,e.props=this.props,e.render=this.render,e.colSpan=this.colSpan,e.colIndex=this.colIndex,e}filter(e,t,n){let r=this.clone();return t.addDescendants(r,e),r}},ui=class extends li{filter(e,t,n){let[r,i]=mi(e,t,this.firstChildKey,n),a=this.clone();return a.firstChildKey=r,a.lastChildKey=i,a}};(class extends li{static{this.type=`header`}});var di=class extends li{static{this.type=`loader`}},fi=class extends ui{static{this.type=`item`}filter(e,t,n){if(n(this.textValue,this)){let n=this.clone();return t.addDescendants(n,e),n}return null}};(class extends ui{static{this.type=`section`}filter(e,t,n){let r=super.filter(e,t,n);if(r&&r.lastChildKey!==null){let t=e.getItem(r.lastChildKey);if(t&&t.type!==`header`)return r}return null}});var pi=class{get size(){return this.itemCount}getKeys(){return this.keyMap.keys()}*[Symbol.iterator](){let e=this.firstKey==null?void 0:this.keyMap.get(this.firstKey);for(;e;)yield e,e=e.nextKey==null?void 0:this.keyMap.get(e.nextKey)}getChildren(e){let t=this.keyMap;return{*[Symbol.iterator](){let n=t.get(e),r=n?.firstChildKey==null?null:t.get(n.firstChildKey);for(;r;)yield r,r=r.nextKey==null?void 0:t.get(r.nextKey)}}}getKeyBefore(e){let t=this.keyMap.get(e);if(!t)return null;if(t.prevKey!=null){for(t=this.keyMap.get(t.prevKey);t&&t.type!==`item`&&t.lastChildKey!=null;)t=this.keyMap.get(t.lastChildKey);return t?.key??null}return t.parentKey}getKeyAfter(e){let t=this.keyMap.get(e);if(!t)return null;if(t.type!==`item`&&t.firstChildKey!=null)return t.firstChildKey;for(;t;){if(t.nextKey!=null)return t.nextKey;if(t.parentKey!=null)t=this.keyMap.get(t.parentKey);else return null}return null}getFirstKey(){return this.firstKey}getLastKey(){let e=this.lastKey==null?null:this.keyMap.get(this.lastKey);for(;e?.lastChildKey!=null;)e=this.keyMap.get(e.lastChildKey);return e?.key??null}getItem(e){return this.keyMap.get(e)??null}at(){throw Error(`Not implemented`)}clone(){let e=this.constructor,t=new e;return t.keyMap=new Map(this.keyMap),t.firstKey=this.firstKey,t.lastKey=this.lastKey,t.itemCount=this.itemCount,t}addNode(e){if(this.frozen)throw Error(`Cannot add a node to a frozen collection`);e.type===`item`&&this.keyMap.get(e.key)==null&&this.itemCount++,this.keyMap.set(e.key,e)}addDescendants(e,t){this.addNode(e);let n=t.getChildren(e.key);for(let e of n)this.addDescendants(e,t)}removeNode(e){if(this.frozen)throw Error(`Cannot remove a node to a frozen collection`);let t=this.keyMap.get(e);t!=null&&t.type===`item`&&this.itemCount--,this.keyMap.delete(e)}commit(e,t,n=!1){if(this.frozen)throw Error(`Cannot commit a frozen collection`);this.firstKey=e,this.lastKey=t,this.frozen=!n}filter(e){let t=new this.constructor,[n,r]=mi(this,t,this.firstKey,e);return t?.commit(n,r),t}constructor(){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.frozen=!1,this.itemCount=0}};function mi(e,t,n,r){if(n==null)return[null,null];let i=null,a=null,o=e.getItem(n);for(;o!=null;){let n=o.filter(e,t,r);n!=null&&(n.nextKey=null,a&&(n.prevKey=a.key,a.nextKey=n.key),i??=n,t.addNode(n),a=n),o=o.nextKey==null?null:e.getItem(o.nextKey)}if(a&&a.type===`separator`){let e=a.prevKey;t.removeNode(a.key),e==null?a=null:(a=t.getItem(e),a.nextKey=null)}return[i?.key??null,a?.key??null]}var hi=class{constructor(e){this._firstChild=null,this._lastChild=null,this._previousSibling=null,this._nextSibling=null,this._parentNode=null,this._minInvalidChildIndex=null,this.ownerDocument=e}*[Symbol.iterator](){let e=this.firstChild;for(;e;)yield e,e=e.nextSibling}get firstChild(){return this._firstChild}set firstChild(e){this._firstChild=e,this.ownerDocument.markDirty(this)}get lastChild(){return this._lastChild}set lastChild(e){this._lastChild=e,this.ownerDocument.markDirty(this)}get previousSibling(){return this._previousSibling}set previousSibling(e){this._previousSibling=e,this.ownerDocument.markDirty(this)}get nextSibling(){return this._nextSibling}set nextSibling(e){this._nextSibling=e,this.ownerDocument.markDirty(this)}get parentNode(){return this._parentNode}set parentNode(e){this._parentNode=e,this.ownerDocument.markDirty(this)}get isConnected(){return this.parentNode?.isConnected||!1}invalidateChildIndices(e){(this._minInvalidChildIndex==null||!this._minInvalidChildIndex.isConnected||e.index<this._minInvalidChildIndex.index)&&(this._minInvalidChildIndex=e,this.ownerDocument.markDirty(this))}updateChildIndices(){let e=this._minInvalidChildIndex;for(;e;)e.index=e.previousSibling?e.previousSibling.index+1:0,e=e.nextSibling;this._minInvalidChildIndex=null}appendChild(e){e.parentNode&&e.parentNode.removeChild(e),this.firstChild??=e,this.lastChild?(this.lastChild.nextSibling=e,e.index=this.lastChild.index+1,e.previousSibling=this.lastChild):(e.previousSibling=null,e.index=0),e.parentNode=this,e.nextSibling=null,this.lastChild=e,this.ownerDocument.markDirty(this),this.isConnected&&this.ownerDocument.queueUpdate()}insertBefore(e,t){if(t==null)return this.appendChild(e);e.parentNode&&e.parentNode.removeChild(e),e.nextSibling=t,e.previousSibling=t.previousSibling,e.index=t.index-1,this.firstChild===t?this.firstChild=e:t.previousSibling&&(t.previousSibling.nextSibling=e),t.previousSibling=e,e.parentNode=t.parentNode,this.invalidateChildIndices(e),this.isConnected&&this.ownerDocument.queueUpdate()}removeChild(e){e.parentNode===this&&(this._minInvalidChildIndex===e&&(this._minInvalidChildIndex=null),e.nextSibling&&(this.invalidateChildIndices(e.nextSibling),e.nextSibling.previousSibling=e.previousSibling),e.previousSibling&&(e.previousSibling.nextSibling=e.nextSibling),this.firstChild===e&&(this.firstChild=e.nextSibling),this.lastChild===e&&(this.lastChild=e.previousSibling),e.parentNode=null,e.nextSibling=null,e.previousSibling=null,e.index=0,this.ownerDocument.markDirty(e),this.isConnected&&this.ownerDocument.queueUpdate())}addEventListener(){}removeEventListener(){}get previousVisibleSibling(){let e=this.previousSibling;for(;e&&e.isHidden;)e=e.previousSibling;return e}get nextVisibleSibling(){let e=this.nextSibling;for(;e&&e.isHidden;)e=e.nextSibling;return e}get firstVisibleChild(){let e=this.firstChild;for(;e&&e.isHidden;)e=e.nextSibling;return e}get lastVisibleChild(){let e=this.lastChild;for(;e&&e.isHidden;)e=e.previousSibling;return e}},gi=class e extends hi{constructor(e,t){super(t),this.nodeType=8,this.isMutated=!0,this._index=0,this.isHidden=!1,this.node=null}get index(){return this._index}set index(e){this._index=e,this.ownerDocument.markDirty(this)}get level(){return this.parentNode instanceof e?this.parentNode.level+ +(this.parentNode.node?.type===`item`):0}getMutableNode(){return this.node==null?null:(this.isMutated||=(this.node=this.node.clone(),!0),this.ownerDocument.markDirty(this),this.node)}updateNode(){let t=this.nextVisibleSibling,n=this.getMutableNode();if(n!=null&&(n.index=this.index,n.level=this.level,n.parentKey=this.parentNode instanceof e?this.parentNode.node?.key??null:null,n.prevKey=this.previousVisibleSibling?.node?.key??null,n.nextKey=t?.node?.key??null,n.hasChildNodes=!!this.firstChild,n.firstChildKey=this.firstVisibleChild?.node?.key??null,n.lastChildKey=this.lastVisibleChild?.node?.key??null,(n.colSpan!=null||n.colIndex!=null)&&t)){let e=(n.colIndex??n.index)+(n.colSpan??1);if(t.node!=null&&e!==t.node.colIndex){let n=t.getMutableNode();n.colIndex=e}}}setProps(e,t,n,r,i){let a,{value:o,textValue:s,id:c,...l}=e;if(this.node==null?(a=new n(c??`react-aria-${++this.ownerDocument.nodeId}`),this.node=a):a=this.getMutableNode(),l.ref=t,a.props=l,a.rendered=r,a.render=i,a.value=o,e[`aria-label`]&&(a[`aria-label`]=e[`aria-label`]),a.textValue=s||(typeof l.children==`string`?l.children:``)||e[`aria-label`]||``,c!=null&&c!==a.key)throw Error(`Cannot change the id of an item`);l.colSpan!=null&&(a.colSpan=l.colSpan),this.isConnected&&this.ownerDocument.queueUpdate()}get style(){let e=this;return{get display(){return e.isHidden?`none`:``},set display(t){let n=t===`none`;if(e.isHidden!==n){(e.parentNode?.firstVisibleChild===e||e.parentNode?.lastVisibleChild===e)&&e.ownerDocument.markDirty(e.parentNode);let t=e.previousVisibleSibling,r=e.nextVisibleSibling;t&&e.ownerDocument.markDirty(t),r&&e.ownerDocument.markDirty(r),e.isHidden=n,e.ownerDocument.markDirty(e)}}}}hasAttribute(){}setAttribute(){}setAttributeNS(){}removeAttribute(){}},_i=class extends hi{constructor(e){super(null),this.nodeType=11,this.ownerDocument=this,this.dirtyNodes=new Set,this.isSSR=!1,this.nodeId=0,this.nodesByProps=new WeakMap,this.nextCollection=null,this.subscriptions=new Set,this.queuedRender=!1,this.inSubscription=!1,this.collection=e,this.nextCollection=e}get isConnected(){return!0}createElement(e){return new gi(e,this)}getMutableCollection(){return this.nextCollection||=this.collection.clone(),this.nextCollection}markDirty(e){this.dirtyNodes.add(e)}addNode(e){if(e.isHidden||e.node==null)return;let t=this.getMutableCollection();if(!t.getItem(e.node.key))for(let t of e)this.addNode(t);t.addNode(e.node)}removeNode(e){for(let t of e)this.removeNode(t);e.node&&this.getMutableCollection().removeNode(e.node.key)}getCollection(){return this.inSubscription?this.collection:(this.queuedRender=!1,this.updateCollection(),this.collection)}updateCollection(){for(let e of this.dirtyNodes)e instanceof gi&&(!e.isConnected||e.isHidden)?this.removeNode(e):e.updateChildIndices();for(let e of this.dirtyNodes)e instanceof gi?(e.isConnected&&!e.isHidden&&(e.updateNode(),this.addNode(e)),e.node&&this.dirtyNodes.delete(e),e.isMutated=!1):this.dirtyNodes.delete(e);this.nextCollection&&(this.nextCollection.commit(this.firstVisibleChild?.node?.key??null,this.lastVisibleChild?.node?.key??null,this.isSSR),this.isSSR||(this.collection=this.nextCollection,this.nextCollection=null))}queueUpdate(){if(!(this.dirtyNodes.size===0||this.queuedRender)){this.queuedRender=!0,this.inSubscription=!0,this.isSSR||(this.collection=this.collection.clone());for(let e of this.subscriptions)e();this.inSubscription=!1}}subscribe(e){return this.subscriptions.add(e),this.queuedRender&&e(),()=>this.subscriptions.delete(e)}resetAfterSSR(){this.isSSR&&(this.isSSR=!1,this.firstChild=null,this.lastChild=null,this.nodeId=0)}};function vi(e){let{children:t,items:n,idScope:r,addIdAndValue:i,dependencies:a=[]}=e,o=(0,J.useMemo)(()=>void 0,[t]),s=(0,J.useMemo)(()=>new WeakMap,[...a,o]);return(0,J.useMemo)(()=>{if(n&&typeof t==`function`){let e=[];for(let a of n){let n=yi(a)?a:null,o=n?s.get(n):null;if(!o){o=t(a);let c=o.props.id??a?.key??a?.id;r!=null&&o.props.id==null&&c!=null&&(c=r+`:`+c);let l=c??e.length;o=(0,J.cloneElement)(o,i?{key:l,id:c,value:a}:{key:l}),n&&s.set(n,o)}e.push(o)}return e}if(typeof t!=`function`)return t},[t,n,s,r,i])}function yi(e){switch(typeof e){case`object`:return e!=null;case`function`:case`symbol`:return!0;default:return!1}}var bi=Sr(),xi=(0,J.createContext)(!1),Si=(0,J.createContext)(null);function Ci(e){if((0,J.useContext)(Si))return e.content;let{collection:t,document:n}=Di(e.createCollection);return J.createElement(J.Fragment,null,J.createElement(Zt,null,J.createElement(Si.Provider,{value:n},e.content)),J.createElement(wi,{render:e.children,collection:t}))}function wi({collection:e,render:t}){return t(e)}function Ti(e,t,n){let r=br(),i=(0,J.useRef)(r);i.current=r;let a=(0,J.useCallback)(()=>i.current?n():t(),[t,n]);return(0,bi.useSyncExternalStore)(e,a)}var Ei=typeof J.useSyncExternalStore==`function`?J.useSyncExternalStore:Ti;function Di(e){let[t]=(0,J.useState)(()=>new _i(e?.()||new pi));return{collection:Ei((0,J.useCallback)(e=>t.subscribe(e),[t]),(0,J.useCallback)(()=>{let e=t.getCollection();return t.isSSR&&t.resetAfterSSR(),e},[t]),(0,J.useCallback)(()=>(t.isSSR=!0,t.getCollection()),[t])),document:t}}var Oi=(0,J.createContext)(null);function ki(e){return class extends li{static{this.type=e}}}function Ai(e,t,n,r,i,a){typeof e==`string`&&(e=ki(e));let o=(0,J.useCallback)(i=>{i?.setProps(t,n,e,r,a)},[t,n,r,a,e]),s=(0,J.useContext)(Oi);if(s){let o=s.ownerDocument.nodesByProps.get(t);return o||(o=s.ownerDocument.createElement(e.type),o.setProps(t,n,e,r,a),s.appendChild(o),s.ownerDocument.updateCollection(),s.ownerDocument.nodesByProps.set(t,o)),i?J.createElement(Oi.Provider,{value:o},i):null}return J.createElement(e.type,{ref:o},i)}function ji(e,t){let n=({node:e})=>t(e.props,e.props.ref,e),r=(0,J.forwardRef)((r,i)=>{let a=(0,J.useContext)(hn);if(!(0,J.useContext)(xi)){if(t.length>=3)throw Error(t.name+` cannot be rendered outside a collection.`);return t(r,i)}return Ai(e,r,i,`children`in r?r.children:null,null,e=>J.createElement(hn.Provider,{value:a},J.createElement(n,{node:e})))});return r.displayName=t.name,r}function Mi(e,t,n=Ni){let r=({node:e})=>t(e.props,e.props.ref,e),i=(0,J.forwardRef)((t,i)=>Ai(e,t,i,null,n(t),e=>J.createElement(r,{node:e}))??J.createElement(J.Fragment,null));return i.displayName=t.name,i}function Ni(e){return vi({...e,addIdAndValue:!0})}var Pi=(0,J.createContext)(null);function Fi(e){let t=(0,J.useContext)(Pi),n=(t?.dependencies||[]).concat(e.dependencies),r=e.idScope??t?.idScope,i=Ni({...e,idScope:r,dependencies:n});return(0,J.useContext)(Si)&&(i=J.createElement(Ii,null,i)),t=(0,J.useMemo)(()=>({dependencies:n,idScope:r}),[r,...n]),J.createElement(Pi.Provider,{value:t},i)}function Ii({children:e}){let t=(0,J.useContext)(Si),n=(0,J.useMemo)(()=>J.createElement(Si.Provider,{value:null},J.createElement(xi.Provider,{value:!0},e)),[e]);return br()?J.createElement(Oi.Provider,{value:t},n):(0,ni.createPortal)(n,t)}var Li=(0,J.createContext)(null),Ri={CollectionRoot({collection:e,renderDropIndicator:t}){return zi(e,null,t)},CollectionBranch({collection:e,parent:t,renderDropIndicator:n}){return zi(e,t,n)}};function zi(e,t,n){return vi({items:t?e.getChildren(t.key):e,dependencies:[n],children(t){if(t.type===`content`)return J.createElement(J.Fragment,null);let r=t.render(t);return!n||t.type!==`item`?r:J.createElement(J.Fragment,null,n({type:`item`,key:t.key,dropPosition:`before`}),r,Bi(e,t,n))}})}function Bi(e,t,n){let r=t.key,i=e.getKeyAfter(r),a=i==null?null:e.getItem(i);for(;a!=null&&a.type!==`item`;)i=e.getKeyAfter(a.key),a=i==null?null:e.getItem(i);let o=t.nextKey==null?null:e.getItem(t.nextKey);for(;o!=null&&o.type!==`item`;)o=o.nextKey==null?null:e.getItem(o.nextKey);let s=[];if(o==null){let r=t;for(;r?.type===`item`&&(!a||r.parentKey!==a.parentKey&&a.level<r.level);){let t=n({type:`item`,key:r.key,dropPosition:`after`});(0,J.isValidElement)(t)&&s.push((0,J.cloneElement)(t,{key:`${r.key}-after`})),r=r.parentKey==null?null:e.getItem(r.parentKey)}}return s}var Vi=(0,J.createContext)(Ri),Hi=(0,J.createContext)(null),Ui=(0,J.createContext)(null),Wi=(0,J.createContext)({}),Gi=(0,J.createContext)(null),Ki=(0,J.forwardRef)(function(e,t){let{render:n}=(0,J.useContext)(Gi);return J.createElement(J.Fragment,null,n(e,t))});function qi(e,t){let n=e?.renderDropIndicator,r=e?.isVirtualDragging?.(),i=(0,J.useCallback)(e=>{if(r||t?.isDropTarget(e))return n?n(e):J.createElement(Ki,{target:e})},[t?.target,r,n]);return e?.useDropIndicator?i:void 0}function Ji(e,t,n){let r=e.focusedKey,i=null;if(t?.isVirtualDragging?.()&&n?.target?.type===`item`&&(i=n.target.key,n.target.dropPosition===`after`)){let e=n.collection.getKeyAfter(i),t=null;if(e!=null){let r=n.collection.getItem(i)?.level??0;for(;e!=null;){let i=n.collection.getItem(e);if(!i)break;if(i.type!==`item`){e=n.collection.getKeyAfter(e);continue}if((i.level??0)<=r)break;t=e,e=n.collection.getKeyAfter(e)}}i=e??t??i}return(0,J.useMemo)(()=>new Set([r,i].filter(e=>e!=null)),[r,i])}var Yi=(0,J.createContext)(null);function Xi(e){let t=(0,J.useRef)({});return J.createElement(Yi.Provider,{value:t},e.children)}function Zi(e){return xn()?e.altKey:e.ctrlKey}function Qi(e,t){let n=`[data-key="${CSS.escape(String(t))}"]`,r=e.current?.dataset.collection;return r&&(n=`[data-collection="${CSS.escape(r)}"]${n}`),e.current?.querySelector(n)}var $i=new WeakMap;function ea(e){let t=Xt();return $i.set(e,t),t}function ta(e){return $i.get(e)}var na=1e3;function ra(e){let{keyboardDelegate:t,selectionManager:n,onTypeSelect:r}=e,i=(0,J.useRef)({search:``,timeout:void 0});return(0,J.useEffect)(()=>{let e=i.current.timeout;return()=>{clearTimeout(e)}},[i]),{typeSelectProps:{onKeyDownCapture:t.getKeyForSearch?e=>{if(i.current.search.length>0&&e.key===` `){if(e.preventDefault(),(!(`continuePropagation`in e)||`continuePropagation`in e&&!e.isPropagationStopped())&&e.stopPropagation(),i.current.search+=` `,t.getKeyForSearch!=null){let e=t.getKeyForSearch(i.current.search,n.focusedKey);e??=t.getKeyForSearch(i.current.search),e!=null&&(n.setFocusedKey(e),r&&r(e))}clearTimeout(i.current.timeout),i.current.timeout=setTimeout(()=>{i.current.search=``},na)}}:void 0,onKeyDown:t.getKeyForSearch?e=>{let a=ia(e.key);if(!(!a||e.ctrlKey||e.metaKey||e.altKey||!dn(e.currentTarget,Kt(e))||i.current.search.length===0&&a===` `)){if(i.current.search+=a,t.getKeyForSearch!=null){let a=t.getKeyForSearch(i.current.search,n.focusedKey);if(a??=t.getKeyForSearch(i.current.search),a!=null)n.setFocusedKey(a),r&&r(a),e.preventDefault(),`continuePropagation`in e||e.stopPropagation();else{i.current.search=``,clearTimeout(i.current.timeout),i.current.timeout=void 0;return}}clearTimeout(i.current.timeout),i.current.timeout=setTimeout(()=>{i.current.search=``},na)}}:void 0}}}function ia(e){return e.length===1||!/^[A-Z]/i.test(e)?e:``}function aa(e,t){let n=(0,J.useRef)(!0),r=(0,J.useRef)(null);tn(()=>(n.current=!0,()=>{n.current=!1}),[]),tn(()=>{n.current?n.current=!1:(!r.current||t.some((e,t)=>!Object.is(e,r[t])))&&e(),r.current=t},t)}function oa(e){let{selectionManager:t,keyboardDelegate:n,ref:r,autoFocus:i=!1,shouldFocusWrap:a=!1,disallowEmptySelection:o=!1,disallowSelectAll:s=!1,escapeKeyBehavior:c=`clearSelection`,selectOnFocus:l=t.selectionBehavior===`replace`,disallowTypeAhead:u=!1,shouldUseVirtualFocus:d,allowsTabNavigation:f=!1,scrollRef:p=r,linkBehavior:m=`action`,UNSTABLE_focusOnEntry:h}=e,{direction:g}=xr(),_=wn(),v=(e,n,i)=>{if(n!=null){if(t.isLink(n)&&m===`selection`&&l&&!Zi(e)){(0,ni.flushSync)(()=>{t.setFocusedKey(n,i)});let a=Qi(r,n),o=t.getItemProps(n);if(a){_.open(a,e,o.href,o.routerOptions);return}return!1}if(t.setFocusedKey(n,i),t.isLink(n)&&m===`override`)return!1;if(e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(n);return}if(l&&!Zi(e)){t.replaceSelection(n);return}}return!1},y=e=>{if(n.getKeyBelow){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyBelow?.(t.focusedKey);if(r==null&&a&&(r=n.getFirstKey?.(t.focusedKey)),r!=null){v(e,r);return}}return!1},b=e=>{if(n.getKeyAbove){let r=t.focusedKey==null?n.getLastKey?.():n.getKeyAbove?.(t.focusedKey);if(r==null&&a&&(r=n.getLastKey?.(t.focusedKey)),r!=null){v(e,r);return}}return!1},x=e=>{if(n.getFirstKey){if(t.focusedKey===null&&e.shiftKey)return!1;let r=n.getFirstKey(t.focusedKey,ut(e));if(t.setFocusedKey(r),r!=null){if(ut(e)&&e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(r);return}if(l){t.replaceSelection(r);return}}}return!1},S=e=>{if(n.getKeyLeftOf){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyLeftOf?.(t.focusedKey);if(r==null&&a&&(r=g===`rtl`?n.getFirstKey?.(t.focusedKey):n.getLastKey?.(t.focusedKey)),r!=null){v(e,r,g===`rtl`?`first`:`last`);return}}return!1},C=e=>{if(n.getKeyRightOf){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyRightOf?.(t.focusedKey);if(r==null&&a&&(r=g===`rtl`?n.getLastKey?.(t.focusedKey):n.getFirstKey?.(t.focusedKey)),r!=null){v(e,r,g===`rtl`?`last`:`first`);return}}return!1},w=e=>{if(n.getLastKey){if(t.focusedKey===null&&e.shiftKey)return!1;let r=n.getLastKey(t.focusedKey,ut(e));if(t.setFocusedKey(r),r!=null){if(ut(e)&&e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(r);return}if(l){t.replaceSelection(r);return}}}return!1},T=e=>{if(n.getKeyPageBelow&&t.focusedKey!=null){let r=n.getKeyPageBelow(t.focusedKey);if(r!=null)return v(e,r)}return!1},E=e=>{if(n.getKeyPageAbove&&t.focusedKey!=null){let r=n.getKeyPageAbove(t.focusedKey);if(r!=null)return v(e,r)}return!1},D=()=>{if(t.selectionMode===`multiple`&&s!==!0){t.selectAll();return}return!1},O=()=>{if(c===`clearSelection`&&!o&&t.selectedKeys.size!==0){t.clearSelection();return}return!1},k=()=>{if(!f&&r.current){let e=st(r.current,{tabbable:!0}),t,n;do n=e.lastChild(),n&&(t=n);while(n);let i=zn();t&&(!Wt(t)||i&&!Cn(i))&&Bn(t)}return{shouldContinuePropagation:!0,shouldPreventDefault:!1}},A=()=>(!f&&r.current&&r.current.focus(),{shouldContinuePropagation:!0,shouldPreventDefault:!1}),j=(e,t)=>({[Dn()?e+`+Shift+Alt`:e+`+Shift+Control`]:t,[e+`+Shift`]:t,[Dn()?e+`+Alt`:e+`+Control`]:t,[e]:t}),{keyboardProps:M}=Yt({shortcuts:{...j(`ArrowDown`,y),...j(`ArrowUp`,b),...j(`ArrowLeft`,S),...j(`ArrowRight`,C),...j(`PageDown`,T),...j(`PageUp`,E)},allowRepeats:!0}),{keyboardProps:N}=Yt({shortcuts:{...j(`Home`,x),...j(`End`,w),"Mod+A":D,Escape:O,Tab:k,"Tab+Shift":A}}),P=(0,J.useRef)({top:0,left:0});En(p,`scroll`,()=>{P.current={top:p.current?.scrollTop??0,left:p.current?.scrollLeft??0}});let F=e=>{if(t.isFocused){dn(e.currentTarget,Kt(e))||t.setFocused(!1);return}if(!dn(e.currentTarget,Kt(e)))return;let i=jn();t.setFocused(!0);let a=e=>{e!=null&&(t.setFocusedKey(e),l&&!t.isSelected(e)&&t.replaceSelection(e))};if(h&&(i===`keyboard`||i===`virtual`))a(h===`first`?n.getFirstKey?.():n.getLastKey?.());else if(t.focusedKey==null){let r=e.relatedTarget;r&&e.currentTarget.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING?a(t.lastSelectedKey??n.getLastKey?.()):a(t.firstSelectedKey??n.getFirstKey?.())}else p.current&&(p.current.scrollTop=P.current.top,p.current.scrollLeft=P.current.left);if(t.focusedKey!=null&&p.current){let e=Qi(r,t.focusedKey);e instanceof HTMLElement&&(!Wt(e)&&!d&&Bn(e),(i===`keyboard`||h&&i===`virtual`)&&lt(e,{containingElement:r.current}))}},I=e=>{dn(e.currentTarget,e.relatedTarget)||t.setFocused(!1)},L=(0,J.useRef)(!1);En(r,ii,d?e=>{let{detail:n}=e;e.stopPropagation(),t.setFocused(!0),n?.focusStrategy===`first`&&(L.current=!0)}:void 0);let R=n.getFirstKey?.()??null;aa(()=>{if(L.current){if(R==null){let e=zn();ai(r.current),si(e,null),t.collection.size>0&&(L.current=!1)}else t.setFocusedKey(R),L.current=!1}},[R,t.collection.size]),aa(()=>{t.collection.size>0&&(L.current=!1)},[t.focusedKey]),En(r,ri,d?e=>{e.stopPropagation(),t.setFocused(!1),e.detail?.clearFocusKey&&t.setFocusedKey(null)}:void 0);let z=(0,J.useRef)(i),B=(0,J.useRef)(!1);(0,J.useEffect)(()=>{if(z.current){let e=null;i===`first`&&(e=n.getFirstKey?.()??null),i===`last`&&(e=n.getLastKey?.()??null);let a=t.selectedKeys;if(a.size){for(let n of a)if(t.canSelectItem(n)){e=n;break}}t.setFocused(!0),t.setFocusedKey(e),e!=null&&l&&!a.size&&t.canSelectItem(e)&&t.replaceSelection(e),e==null&&!d&&r.current&&Nn(r.current),t.collection.size>0&&(z.current=!1,B.current=!0)}});let V=(0,J.useRef)(t.focusedKey),H=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(t.isFocused&&t.focusedKey!=null&&(t.focusedKey!==V.current||B.current)&&p.current&&r.current){let e=jn(),n=Qi(r,t.focusedKey);if(!(n instanceof HTMLElement))return;(e===`keyboard`||B.current)&&(H.current&&cancelAnimationFrame(H.current),H.current=requestAnimationFrame(()=>{p.current&&(ct(p.current,n),e!==`virtual`&&lt(n,{containingElement:r.current}))}))}!d&&t.isFocused&&t.focusedKey==null&&V.current!=null&&r.current&&Nn(r.current),V.current=t.focusedKey,B.current=!1}),(0,J.useEffect)(()=>()=>{H.current&&cancelAnimationFrame(H.current)},[]),En(r,`react-aria-focus-scope-restore`,e=>{e.preventDefault(),t.setFocused(!0)});let U={...pn(N,M),onFocus:F,onBlur:I,onMouseDown(e){p.current===Kt(e)&&e.preventDefault()}},{typeSelectProps:ee}=ra({keyboardDelegate:n,selectionManager:t});u||(U=pn(ee,U));let W;d||(W=t.focusedKey==null?0:-1);let G=ea(t.collection);return{collectionProps:pn(U,{tabIndex:W,"data-collection":G})}}var sa=class{constructor(e){this.ref=e}getItemRect(e){let t=this.ref.current;if(!t)return null;let n=e==null?null:Qi(this.ref,e);if(!n)return null;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect();return{x:i.left-r.left-t.clientLeft+t.scrollLeft,y:i.top-r.top-t.clientTop+t.scrollTop,width:i.width,height:i.height}}getContentSize(){let e=this.ref.current;return{width:e?.scrollWidth??0,height:e?.scrollHeight??0}}getVisibleRect(){let e=this.ref.current;return{x:e?.scrollLeft??0,y:e?.scrollTop??0,width:e?.clientWidth??0,height:e?.clientHeight??0}}},ca=class{constructor(...e){if(e.length===1){let t=e[0];this.collection=t.collection,this.ref=t.ref,this.collator=t.collator,this.disabledKeys=t.disabledKeys||new Set,this.disabledBehavior=t.disabledBehavior||`all`,this.orientation=t.orientation||`vertical`,this.direction=t.direction,this.layout=t.layout||`stack`,this.layoutDelegate=t.layoutDelegate||new sa(t.ref)}else this.collection=e[0],this.disabledKeys=e[1],this.ref=e[2],this.collator=e[3],this.layout=`stack`,this.orientation=`vertical`,this.disabledBehavior=`all`,this.layoutDelegate=new sa(this.ref);this.layout===`stack`&&this.orientation===`vertical`&&(this.getKeyLeftOf=void 0,this.getKeyRightOf=void 0)}isDisabled(e){return this.disabledBehavior===`all`&&(e.props?.isDisabled||this.disabledKeys.has(e.key))&&e.props?.disabledBehavior!==`selection`}findNextNonDisabled(e,t,n=!1){let r=e;for(;r!=null;){let e=this.collection.getItem(r);if(e?.type===`item`&&(n||!this.isDisabled(e)))return r;r=t(r)}return null}getNextKey(e,t){let n=e;return n=this.collection.getKeyAfter(n),this.findNextNonDisabled(n,e=>this.collection.getKeyAfter(e),t?.includeDisabled)}getPreviousKey(e,t){let n=e;return n=this.collection.getKeyBefore(n),this.findNextNonDisabled(n,e=>this.collection.getKeyBefore(e),t?.includeDisabled)}findKey(e,t,n){let r=e,i=this.layoutDelegate.getItemRect(r);if(!i||r==null)return null;let a=i;do{if(r=t(r),r==null)break;i=this.layoutDelegate.getItemRect(r)}while(i&&n(a,i)&&r!=null);return r}isSameRow(e,t){return e.y===t.y||e.x!==t.x}isSameColumn(e,t){return e.x===t.x||e.y!==t.y}isReversed(e){let t=this.getNextKey(e),n=Qi(this.ref,e);if(t!=null){let e=Qi(this.ref,t);return!n||!e?!1:n.getBoundingClientRect().top>e.getBoundingClientRect().top}let r=this.getPreviousKey(e);if(r!=null){let e=Qi(this.ref,r);return!n||!e?!1:e.getBoundingClientRect().top>n.getBoundingClientRect().top}return!1}getKeyBelow(e,t){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getNextKey(e,t),this.isSameRow):this.orientation===`vertical`&&this.isReversed(e)?this.getPreviousKey(e,t):this.getNextKey(e,t)}getKeyAbove(e,t){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getPreviousKey(e,t),this.isSameRow):this.orientation===`vertical`&&this.isReversed(e)?this.getNextKey(e,t):this.getPreviousKey(e,t)}getNextColumn(e,t,n){return t?this.getPreviousKey(e,n):this.getNextKey(e,n)}getKeyRightOf(e,t){let n=this.direction===`ltr`?`getKeyRightOf`:`getKeyLeftOf`;return this.layoutDelegate[n]?(e=this.layoutDelegate[n](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[n](e),t?.includeDisabled)):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`rtl`,t):this.findKey(e,e=>this.getNextColumn(e,this.direction===`rtl`,t),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`rtl`,t):null}getKeyLeftOf(e,t){let n=this.direction===`ltr`?`getKeyLeftOf`:`getKeyRightOf`;return this.layoutDelegate[n]?(e=this.layoutDelegate[n](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[n](e),t?.includeDisabled)):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`ltr`,t):this.findKey(e,e=>this.getNextColumn(e,this.direction===`ltr`,t),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`ltr`,t):null}getFirstKey(){let e=this.collection.getFirstKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyAfter(e))}getLastKey(){let e=this.collection.getLastKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyBefore(e))}getKeyPageAbove(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;let r=this.isReversed(e);if(t&&!mt(t))return this.getFirstKey();let i=e;if(this.orientation===`horizontal`){let e=Math.max(0,n.x+n.width-this.layoutDelegate.getVisibleRect().width);for(;n&&n.x>e&&i!=null;)i=this.getKeyAbove(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}else{let e=this.layoutDelegate.getVisibleRect(),t=r?n.y-e.height:Math.max(0,n.y+n.height-e.height);for(;n&&n.y>t&&i!=null;)i=this.getKeyAbove(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}return i??(r?this.getLastKey():this.getFirstKey())}getKeyPageBelow(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;let r=this.isReversed(e);if(t&&!mt(t))return this.getLastKey();let i=e;if(this.orientation===`horizontal`){let e=Math.min(this.layoutDelegate.getContentSize().width,n.x-n.width+this.layoutDelegate.getVisibleRect().width);for(;n&&n.x<e&&i!=null;)i=this.getKeyBelow(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}else{let e=Math.min(this.layoutDelegate.getContentSize().height,n.y-n.height+this.layoutDelegate.getVisibleRect().height);for(;n&&n.y<e&&i!=null;)i=this.getKeyBelow(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}return i??(r?this.getFirstKey():this.getLastKey())}getKeyForSearch(e,t){if(!this.collator)return null;let n=this.collection,r=t||this.getFirstKey();for(;r!=null;){let t=n.getItem(r);if(!t)return null;let i=t.textValue.slice(0,e.length);if(t.textValue&&this.collator.compare(i,e)===0)return r;r=this.getNextKey(r)}return null}};function la(e){let{selectionManager:t,collection:n,disabledKeys:r,ref:i,keyboardDelegate:a,layoutDelegate:o,orientation:s}=e,c=ht({usage:`search`,sensitivity:`base`}),l=t.disabledBehavior,u=(0,J.useMemo)(()=>a||new ca({collection:n,disabledKeys:r,disabledBehavior:l,ref:i,collator:c,layoutDelegate:o,orientation:s}),[a,o,n,r,i,c,l,s]),{collectionProps:d}=oa({...e,ref:i,selectionManager:t,keyboardDelegate:u});return{listProps:d}}var ua=500;function da(e){let{isDisabled:t,pointerType:n,onLongPressStart:r,onLongPressEnd:i,onLongPress:a,threshold:o=ua,accessibilityDescription:s}=e,c=(0,J.useRef)(void 0),{addGlobalListener:l,removeAllGlobalListeners:u}=ln(),d=e=>n?e.pointerType===n:e.pointerType===`mouse`||e.pointerType===`touch`,{pressProps:f}=nn({isDisabled:t,onPressStart(e){if(e.continuePropagation(),d(e)){r&&r({...e,type:`longpressstart`}),c.current=setTimeout(()=>{e.target.dispatchEvent(new PointerEvent(`pointercancel`,{bubbles:!0})),l(e.target,`click`,e=>e.preventDefault(),{once:!0}),Ut(e.target).activeElement!==e.target&&Bn(e.target),a&&a({...e,type:`longpress`}),c.current=void 0},o),e.pointerType===`touch`&&l(e.target,`contextmenu`,e=>e.preventDefault(),{once:!0});let t=kn(e.target);l(t,`pointerup`,()=>{setTimeout(()=>{u()},100)},{once:!0})}},onPressEnd(e){c.current&&clearTimeout(c.current),i&&d(e)&&i({...e,type:`longpressend`})}}),p=vt(a&&!t?s:void 0);return{longPressProps:pn(f,p)}}function fa(e){let{id:t,selectionManager:n,key:r,ref:i,shouldSelectOnPressUp:a,shouldUseVirtualFocus:o,focus:s,isDisabled:c,onAction:l,allowsDifferentPressOrigin:u,linkBehavior:d=`action`}=e,f=wn();t=Xt(t);let p=e=>{if(e.pointerType===`keyboard`&&Zi(e))n.toggleSelection(r);else{if(n.selectionMode===`none`)return;if(n.isLink(r)){if(d===`selection`&&i.current){let t=n.getItemProps(r);f.open(i.current,e,t.href,t.routerOptions),n.setSelectedKeys(n.selectedKeys);return}if(d===`override`||d===`none`)return}n.selectionMode===`single`?n.isSelected(r)&&!n.disallowEmptySelection?n.toggleSelection(r):n.replaceSelection(r):e&&e.shiftKey?n.extendSelection(r):n.selectionBehavior===`toggle`||e&&(ut(e)||e.pointerType===`touch`||e.pointerType===`virtual`)?n.toggleSelection(r):n.replaceSelection(r)}};(0,J.useEffect)(()=>{r===n.focusedKey&&n.isFocused&&(o?ai(i.current):s?s():zn()!==i.current&&i.current&&Nn(i.current))},[i,r,n.focusedKey,n.childFocusStrategy,n.isFocused,o]),c||=n.isDisabled(r);let m={};!o&&!c?m={tabIndex:r===n.focusedKey?0:-1,onFocus(e){Kt(e)===i.current&&n.setFocusedKey(r)}}:c&&(m.onMouseDown=e=>{e.preventDefault()}),(0,J.useEffect)(()=>{c&&n.focusedKey===r&&n.setFocusedKey(null)},[n,c,r]);let h=n.isLink(r)&&d===`override`,g=l&&e.UNSTABLE_itemBehavior===`action`,_=n.isLink(r)&&d!==`selection`&&d!==`none`,v=!c&&n.canSelectItem(r)&&!h&&!g,y=(l||_)&&!c,b=y&&(n.selectionBehavior===`replace`?!v:!v||n.isEmpty),x=y&&v&&n.selectionBehavior===`replace`,S=b||x,C=(0,J.useRef)(null),w=S&&v,T=(0,J.useRef)(!1),E=(0,J.useRef)(!1),D=n.getItemProps(r),O=e=>{l&&(l(),i.current?.dispatchEvent(new CustomEvent(`react-aria-item-action`,{bubbles:!0}))),_&&i.current&&f.open(i.current,e,D.href,D.routerOptions)},k={ref:i};a?(k.onPressStart=e=>{C.current=e.pointerType,T.current=w,e.pointerType===`keyboard`&&(!S||ma(e.key))&&p(e)},u?(k.onPressUp=b?void 0:e=>{e.pointerType===`mouse`&&v&&p(e)},k.onPress=b?O:e=>{e.pointerType!==`keyboard`&&e.pointerType!==`mouse`&&v&&p(e)}):k.onPress=e=>{if(b||x&&e.pointerType!==`mouse`){if(e.pointerType===`keyboard`&&!pa(e.key))return;O(e)}else e.pointerType!==`keyboard`&&v&&p(e)}):(k.onPressStart=e=>{C.current=e.pointerType,T.current=w,E.current=b,v&&(e.pointerType===`mouse`&&!b||e.pointerType===`keyboard`&&(!y||ma(e.key)))&&p(e)},k.onPress=e=>{(e.pointerType===`touch`||e.pointerType===`pen`||e.pointerType===`virtual`||e.pointerType===`keyboard`&&S&&pa(e.key)||e.pointerType===`mouse`&&E.current)&&(S?O(e):v&&p(e))});let A=ta(n.collection);if(m[`data-collection`]=A,m[`data-key`]=r,k.preventFocusOnPress=o,o&&(k=pn(k,{onPressStart(e){e.pointerType!==`touch`&&(n.setFocused(!0),n.setFocusedKey(r))},onPress(e){e.pointerType===`touch`&&(n.setFocused(!0),n.setFocusedKey(r))}})),D)for(let e of[`onPressStart`,`onPressEnd`,`onPressChange`,`onPress`,`onPressUp`,`onClick`])D[e]&&(k[e]=Pn(k[e],D[e]));let{pressProps:j,isPressed:M}=nn(k),N=x?e=>{C.current===`mouse`&&(e.stopPropagation(),e.preventDefault(),O(e))}:void 0,{longPressProps:P}=da({isDisabled:!w,onLongPress(e){e.pointerType===`touch`&&(p(e),n.setSelectionBehavior(`toggle`))}}),F=e=>{C.current===`touch`&&T.current&&e.preventDefault()},I=d!==`none`&&n.isLink(r)?e=>{In.isOpening||e.preventDefault()}:void 0,L=pn(m,v||b||o&&!c?j:{},w?P:{},{onDoubleClick:N,onDragStartCapture:F,onClick:I,id:t},o?{onMouseDown:e=>e.preventDefault()}:void 0),R=e=>{let t=e;for(;t&&t!==i.current;){let e=t.getAttribute(`data-collection`);if(e!=null)return e!==A;t=t.parentElement}return Cn(e)},z=L.onPointerDown;L.onPointerDown=e=>{let t=Kt(e);if(t&&t!==i.current&&R(t)){e.stopPropagation();return}z?.(e)};let B=L.onMouseDown;return L.onMouseDown=e=>{let t=Kt(e);if(t&&t!==i.current&&R(t)){e.stopPropagation();return}B?.(e)},{itemProps:L,isPressed:M,isSelected:n.isSelected(r),isFocused:n.isFocused&&n.focusedKey===r,isDisabled:c,allowsSelection:v,hasAction:S}}function pa(e){return e===`Enter`}function ma(e){return e===` `}function ha(e,t){return typeof t.getChildren==`function`?t.getChildren(e.key):e.childNodes}function ga(e){return _a(e,0)}function _a(e,t){if(t<0)return;let n=0;for(let r of e){if(n===t)return r;n++}}function va(e,t,n){if(t.parentKey===n.parentKey)return t.index-n.index;let r=[...ya(e,t),t],i=[...ya(e,n),n],a=r.slice(0,i.length).findIndex((e,t)=>e!==i[t]);return a===-1?r.findIndex(e=>e===n)>=0?1:(i.findIndex(e=>e===t),-1):(t=r[a],n=i[a],t.index-n.index)}function ya(e,t){let n=[],r=t;for(;r?.parentKey!=null;)r=e.getItem(r.parentKey),r&&n.unshift(r);return n}function ba(e){let t=J.version.split(`.`);return parseInt(t[0],10)>=19?e:e?`true`:void 0}var xa=class e extends Set{constructor(t,n,r){super(t),t instanceof e?(this.anchorKey=n??t.anchorKey,this.currentKey=r??t.currentKey):(this.anchorKey=n??null,this.currentKey=r??null)}};function Sa(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ca(e){let{selectionMode:t=`none`,disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:r,selectionBehavior:i=`toggle`,disabledBehavior:a=`all`}=e,o=(0,J.useRef)(!1),[,s]=(0,J.useState)(!1),c=(0,J.useRef)(null),l=(0,J.useRef)(null),[,u]=(0,J.useState)(null),d=(0,J.useMemo)(()=>wa(e.selectedKeys),[e.selectedKeys]),f=(0,J.useMemo)(()=>wa(e.defaultSelectedKeys,new xa),[e.defaultSelectedKeys]),[p,m]=$t(d,f,e.onSelectionChange),h=(0,J.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[g,_]=(0,J.useState)(i);i===`replace`&&g===`toggle`&&typeof p==`object`&&p.size===0&&_(`replace`);let v=(0,J.useRef)(i);return(0,J.useEffect)(()=>{i!==v.current&&(_(i),v.current=i)},[i]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:g,setSelectionBehavior:_,get isFocused(){return o.current},setFocused(e){o.current=e,s(e)},get focusedKey(){return c.current},get childFocusStrategy(){return l.current},setFocusedKey(e,t=`first`){c.current=e,l.current=t,u(e)},selectedKeys:p,setSelectedKeys(e){(r||!Sa(e,p))&&m(e)},disabledKeys:h,disabledBehavior:a}}function wa(e,t){return e?e===`all`?`all`:new xa(e):t}var Ta=class e{constructor(e,t,n){this.collection=e,this.state=t,this.allowsCellSelection=n?.allowsCellSelection??!1,this._isSelectAll=null,this.layoutDelegate=n?.layoutDelegate||null,this.fullCollection=n?.fullCollection||null}get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(e){this.state.setSelectionBehavior(e)}get isFocused(){return this.state.isFocused}setFocused(e){this.state.setFocused(e)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(e,t){(e==null||this.collection.getItem(e))&&this.state.setFocusedKey(e,t)}get selectedKeys(){return this.state.selectedKeys===`all`?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(e){if(this.state.selectionMode===`none`)return!1;let t=this.getKey(e);return t==null?!1:this.state.selectedKeys===`all`?this.canSelectItem(t):this.state.selectedKeys.has(t)}get isEmpty(){return this.state.selectedKeys!==`all`&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys===`all`)return!0;if(this._isSelectAll!=null)return this._isSelectAll;let e=this.getSelectAllKeys(),t=this.state.selectedKeys;return this._isSelectAll=e.every(e=>t.has(e)),this._isSelectAll}get firstSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&va(this.collection,n,e)<0)&&(e=n)}return e?.key??null}get lastSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&va(this.collection,n,e)>0)&&(e=n)}return e?.key??null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n;if(this.state.selectedKeys===`all`)n=new xa([t],t,t);else{let e=this.state.selectedKeys,r=e.anchorKey??t;n=new xa(e,r,t);for(let i of this.getKeyRange(r,e.currentKey??t))n.delete(i);for(let e of this.getKeyRange(t,r))this.canSelectItem(e)&&n.add(e)}this.state.setSelectedKeys(n)}getKeyRange(e,t){let n=this.collection.getItem(e),r=this.collection.getItem(t);return n&&r?va(this.collection,n,r)<=0?this.getKeyRangeInternal(e,t):this.getKeyRangeInternal(t,e):[]}getKeyRangeInternal(e,t){if(this.layoutDelegate?.getKeyRange)return this.layoutDelegate.getKeyRange(e,t);let n=[],r=e;for(;r!=null;){let e=this.collection.getItem(r);if(e&&(e.type===`item`||e.type===`cell`&&this.allowsCellSelection)&&n.push(r),r===t)return n;r=this.collection.getKeyAfter(r)}return[]}getKey(e){let t=this.collection.getItem(e);if(!t||t.type===`cell`&&this.allowsCellSelection)return e;for(;t&&t.type!==`item`&&t.parentKey!=null;)t=this.collection.getItem(t.parentKey);return!t||t.type!==`item`?null:t.key}toggleSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`&&!this.isSelected(e)){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n=new xa(this.state.selectedKeys===`all`?this.getSelectAllKeys():this.state.selectedKeys);n.has(t)?n.delete(t):this.canSelectItem(t)&&(n.add(t),n.anchorKey=t,n.currentKey=t),!(this.disallowEmptySelection&&n.size===0)&&this.state.setSelectedKeys(n)}replaceSelection(e){if(this.selectionMode===`none`)return;let t=this.getKey(e);if(t==null)return;let n=this.canSelectItem(t)?new xa([t],t,t):new xa;this.state.setSelectedKeys(n)}setSelectedKeys(e){if(this.selectionMode===`none`)return;let t=new xa;for(let n of e){let e=this.getKey(n);if(e!=null&&(t.add(e),this.selectionMode===`single`))break}this.state.setSelectedKeys(t)}getSelectAllKeys(){let e=this.fullCollection??this.collection,t=[],n=r=>{for(;r!=null;){if(this.canSelectItemIn(r,e)){let i=e.getItem(r);i?.type===`item`&&t.push(r),i?.hasChildNodes&&(this.allowsCellSelection||i.type!==`item`)&&n(ga(ha(i,e))?.key??null)}r=e.getKeyAfter(r)}};return n(e.getFirstKey()),t}selectAll(){!this.isSelectAll&&this.selectionMode===`multiple`&&this.state.setSelectedKeys(`all`)}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys===`all`||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new xa)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(e,t){this.selectionMode!==`none`&&(this.selectionMode===`single`?this.isSelected(e)&&!this.disallowEmptySelection?this.toggleSelection(e):this.replaceSelection(e):this.selectionBehavior===`toggle`||t&&(t.pointerType===`touch`||t.pointerType===`virtual`)?this.toggleSelection(e):this.replaceSelection(e))}isSelectionEqual(e){if(e===this.state.selectedKeys)return!0;let t=this.selectedKeys;if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;for(let n of t)if(!e.has(n))return!1;return!0}canSelectItem(e){return this.canSelectItemIn(e,this.collection)}canSelectItemIn(e,t){if(this.state.selectionMode===`none`||this.state.disabledKeys.has(e))return!1;let n=t.getItem(e);return!(!n||n?.props?.isDisabled||n.type===`cell`&&!this.allowsCellSelection)}isDisabled(e){let t=this.collection.getItem(e);return this.state.disabledBehavior===`all`&&(this.state.disabledKeys.has(e)||!!t?.props?.isDisabled)&&t?.props?.disabledBehavior!==`selection`}isLink(e){return!!this.collection.getItem(e)?.props?.href}getItemProps(e){return this.collection.getItem(e)?.props}withCollection(t){return new e(t,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0,fullCollection:this.fullCollection??this.collection})}},Ea=class{build(e,t){return this.context=t,Da(()=>this.iterateCollection(e))}*iterateCollection(e){let{children:t,items:n}=e;if(J.isValidElement(t)&&t.type===J.Fragment)yield*this.iterateCollection({children:t.props.children,items:n});else if(typeof t==`function`){if(!n)throw Error(`props.children was a function but props.items is missing`);let e=0;for(let r of n)yield*this.getFullNode({value:r,index:e},{renderer:t}),e++}else{let e=[];J.Children.forEach(t,t=>{t&&e.push(t)});let n=0;for(let t of e){let e=this.getFullNode({element:t,index:n},{});for(let t of e)n++,yield t}}}getKey(e,t,n,r){if(e.key!=null)return e.key;if(t.type===`cell`&&t.key!=null)return`${r}${t.key}`;let i=t.value;if(i!=null){let e=i.key??i.id;if(e==null)throw Error(`No key found for item`);return e}return r?`${r}.${t.index}`:`$.${t.index}`}getChildState(e,t){return{renderer:t.renderer||e.renderer}}*getFullNode(e,t,n,r){if(J.isValidElement(e.element)&&e.element.type===J.Fragment){let i=[];J.Children.forEach(e.element.props.children,e=>{i.push(e)});let a=e.index??0;for(let e of i)yield*this.getFullNode({element:e,index:a++},t,n,r);return}let i=e.element;if(!i&&e.value&&t&&t.renderer){let n=this.cache.get(e.value);if(n&&(!n.shouldInvalidate||!n.shouldInvalidate(this.context))){n.index=e.index,n.parentKey=r?r.key:null,yield n;return}i=t.renderer(e.value)}if(J.isValidElement(i)){let a=i.type;if(typeof a!=`function`&&typeof a.getCollectionNode!=`function`){let e=i.type;throw Error(`Unknown element <${e}> in collection.`)}let o=a.getCollectionNode(i.props,this.context),s=e.index??0,c=o.next();for(;!c.done&&c.value;){let a=c.value;e.index=s;let l=a.key??null;l??=a.element?null:this.getKey(i,e,t,n);let u=[...this.getFullNode({...a,key:l,index:s,wrapper:Oa(e.wrapper,a.wrapper)},this.getChildState(t,a),n?`${n}${i.key}`:i.key,r)];for(let t of u){if(t.value=a.value??e.value??null,t.value&&this.cache.set(t.value,t),e.type&&t.type!==e.type)throw Error(`Unsupported type <${ka(t.type)}> in <${ka(r?.type??`unknown parent type`)}>. Only <${ka(e.type)}> is supported.`);s++,yield t}c=o.next(u)}return}if(e.key==null||e.type==null)return;let a=this,o={type:e.type,props:e.props,key:e.key,parentKey:r?r.key:null,value:e.value??null,level:(r?.level??0)+ +(r?.type===`item`),index:e.index,rendered:e.rendered,textValue:e.textValue??``,"aria-label":e[`aria-label`],wrapper:e.wrapper,shouldInvalidate:e.shouldInvalidate,hasChildNodes:e.hasChildNodes||!1,childNodes:Da(function*(){if(!e.hasChildNodes||!e.childNodes)return;let n=0;for(let r of e.childNodes()){r.key!=null&&(r.key=`${o.key}${r.key}`);let e=a.getFullNode({...r,index:n},a.getChildState(t,r),o.key,o);for(let t of e)n++,yield t}})};yield o}constructor(){this.cache=new WeakMap}};function Da(e){let t=[],n=null;return{*[Symbol.iterator](){for(let e of t)yield e;n||=e();for(let e of n)t.push(e),yield e}}}function Oa(e,t){if(e&&t)return n=>e(t(n));if(e)return e;if(t)return t}function ka(e){return e[0].toUpperCase()+e.slice(1)}function Aa(e,t,n){let r=(0,J.useMemo)(()=>new Ea,[]),{children:i,items:a,collection:o}=e;return(0,J.useMemo)(()=>o||t(r.build({children:i,items:a},n)),[r,i,a,o,n,t])}function ja(e,t){let{collection:n,onLoadMore:r,scrollOffset:i=1,direction:a=`end`}=e,o=(0,J.useRef)(null),s=Rn(e=>{for(let t of e)t.isIntersecting&&r&&r()});tn(()=>{if(t.current){let e=100*i,n=a===`start`?`${e}% 0px 0px 0px`:`0px ${e}% ${e}% ${e}%`;o.current=new IntersectionObserver(s,{root:gt(t?.current),rootMargin:n}),o.current.observe(t.current)}return()=>{o.current&&o.current.disconnect()}},[n,t,i,a])}var Ma=class{constructor(e,{expandedKeys:t}={}){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=e,t||=new Set;let n=e=>{if(this.keyMap.set(e.key,e),e.childNodes&&(e.type===`section`||t.has(e.key)))for(let t of e.childNodes)n(t)};for(let t of e)n(t);let r=null,i=0;for(let[e,t]of this.keyMap)r?(r.nextKey=e,t.prevKey=r.key):(this.firstKey=e,t.prevKey=void 0),t.type===`item`&&(t.index=i++),r=t,r.nextKey=void 0;this.lastKey=r?.key??null}*[Symbol.iterator](){yield*this.iterable}get size(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(e){let t=this.keyMap.get(e);return t?t.prevKey??null:null}getKeyAfter(e){let t=this.keyMap.get(e);return t?t.nextKey??null:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(e){return this.keyMap.get(e)??null}at(e){let t=[...this.getKeys()];return this.getItem(t[e])}};function Na(e){let{onExpandedChange:t}=e,[n,r]=$t(e.expandedKeys?new Set(e.expandedKeys):void 0,e.defaultExpandedKeys?new Set(e.defaultExpandedKeys):new Set,t),i=Ca(e),a=(0,J.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),o=Aa(e,(0,J.useCallback)(e=>new Ma(e,{expandedKeys:n}),[n]),null);return(0,J.useEffect)(()=>{i.focusedKey!=null&&!o.getItem(i.focusedKey)&&i.setFocusedKey(null)},[o,i.focusedKey]),{collection:o,expandedKeys:n,disabledKeys:a,toggleKey:e=>{r(Pa(n,e))},setExpandedKeys:r,selectionManager:new Ta(o,i)}}function Pa(e,t){let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}var Fa=new WeakMap;function Ia(e,t){let{id:n}=Fa.get(e)??{};if(!n)throw Error(`Unknown list`);return`${n}-${La(t)}`}function La(e){return typeof e==`string`?e.replace(/\s*/g,``):``+e}var Ra={};Ra={deselectedItem:e=>`${e.item} \u{63A}\u{64A}\u{631} \u{627}\u{644}\u{645}\u{62D}\u{62F}\u{62F}`,longPressToSelect:`اضغط مطولًا للدخول إلى وضع التحديد.`,select:`تحديد`,selectedAll:`جميع العناصر المحددة.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`لم يتم تحديد عناصر`,one:()=>`${t.number(e.count)} \u{639}\u{646}\u{635}\u{631} \u{645}\u{62D}\u{62F}\u{62F}`,other:()=>`${t.number(e.count)} \u{639}\u{646}\u{635}\u{631} \u{645}\u{62D}\u{62F}\u{62F}`})}.`,selectedItem:e=>`${e.item} \u{627}\u{644}\u{645}\u{62D}\u{62F}\u{62F}`};var za={};za={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{435} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`,longPressToSelect:`Натиснете и задръжте за да влезете в избирателен режим.`,select:`Изберете`,selectedAll:`Всички елементи са избрани.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Няма избрани елементи`,one:()=>`${t.number(e.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}`,other:()=>`${t.number(e.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{438}`})}.`,selectedItem:e=>`${e.item} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`};var Ba={};Ba={deselectedItem:e=>`Polo\u{17E}ka ${e.item} nen\xed vybr\xe1na.`,longPressToSelect:`Dlouhým stisknutím přejdete do režimu výběru.`,select:`Vybrat`,selectedAll:`Vybrány všechny položky.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nevybrány žádné položky`,one:()=>`Vybr\xe1na ${t.number(e.count)} polo\u{17E}ka`,other:()=>`Vybr\xe1no ${t.number(e.count)} polo\u{17E}ek`})}.`,selectedItem:e=>`Vybr\xe1na polo\u{17E}ka ${e.item}.`};var Va={};Va={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:`Lav et langt tryk for at aktivere valgtilstand.`,select:`Vælg`,selectedAll:`Alle elementer valgt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ingen elementer valgt`,one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var Ha={};Ha={deselectedItem:e=>`${e.item} nicht ausgew\xe4hlt.`,longPressToSelect:`Gedrückt halten, um Auswahlmodus zu öffnen.`,select:`Auswählen`,selectedAll:`Alle Elemente ausgewählt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Keine Elemente ausgewählt`,one:()=>`${t.number(e.count)} Element ausgew\xe4hlt`,other:()=>`${t.number(e.count)} Elemente ausgew\xe4hlt`})}.`,selectedItem:e=>`${e.item} ausgew\xe4hlt.`};var Ua={};Ua={deselectedItem:e=>`\u{394}\u{3B5}\u{3BD} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} \u{3C4}\u{3BF} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF} ${e.item}.`,longPressToSelect:`Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.`,select:`Επιλογή`,selectedAll:`Επιλέχθηκαν όλα τα στοιχεία.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Δεν επιλέχθηκαν στοιχεία`,one:()=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} ${t.number(e.count)} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF}`,other:()=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B1}\u{3BD} ${t.number(e.count)} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3B1}`})}.`,selectedItem:e=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} \u{3C4}\u{3BF} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF} ${e.item}.`};var Wa={};Wa={deselectedItem:e=>`${e.item} not selected.`,select:`Select`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`No items selected`,one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:`All items selected.`,selectedItem:e=>`${e.item} selected.`,longPressToSelect:`Long press to enter selection mode.`};var Ga={};Ga={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:`Mantenga pulsado para abrir el modo de selección.`,select:`Seleccionar`,selectedAll:`Todos los elementos seleccionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ningún elemento seleccionado`,one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var Ka={};Ka={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:`Valikurežiimi sisenemiseks vajutage pikalt.`,select:`Vali`,selectedAll:`Kõik üksused valitud.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Üksusi pole valitud`,one:()=>`${t.number(e.count)} \xfcksus valitud`,other:()=>`${t.number(e.count)} \xfcksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var qa={};qa={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:`Siirry valintatilaan painamalla pitkään.`,select:`Valitse`,selectedAll:`Kaikki kohteet valittu.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ei yhtään kohdetta valittu`,one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var Ja={};Ja={deselectedItem:e=>`${e.item} non s\xe9lectionn\xe9.`,longPressToSelect:`Appuyez de manière prolongée pour passer en mode de sélection.`,select:`Sélectionner`,selectedAll:`Tous les éléments sélectionnés.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Aucun élément sélectionné`,one:()=>`${t.number(e.count)} \xe9l\xe9ment s\xe9lectionn\xe9`,other:()=>`${t.number(e.count)} \xe9l\xe9ments s\xe9lectionn\xe9s`})}.`,selectedItem:e=>`${e.item} s\xe9lectionn\xe9.`};var Ya={};Ya={deselectedItem:e=>`${e.item} \u{5DC}\u{5D0} \u{5E0}\u{5D1}\u{5D7}\u{5E8}.`,longPressToSelect:`הקשה ארוכה לכניסה למצב בחירה.`,select:`בחר`,selectedAll:`כל הפריטים נבחרו.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`לא נבחרו פריטים`,one:()=>`\u{5E4}\u{5E8}\u{5D9}\u{5D8} ${t.number(e.count)} \u{5E0}\u{5D1}\u{5D7}\u{5E8}`,other:()=>`${t.number(e.count)} \u{5E4}\u{5E8}\u{5D9}\u{5D8}\u{5D9}\u{5DD} \u{5E0}\u{5D1}\u{5D7}\u{5E8}\u{5D5}`})}.`,selectedItem:e=>`${e.item} \u{5E0}\u{5D1}\u{5D7}\u{5E8}.`};var Xa={};Xa={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:`Dugo pritisnite za ulazak u način odabira.`,select:`Odaberite`,selectedAll:`Odabrane su sve stavke.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nije odabrana nijedna stavka`,one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Za={};Za={deselectedItem:e=>`${e.item} nincs kijel\xf6lve.`,longPressToSelect:`Nyomja hosszan a kijelöléshez.`,select:`Kijelölés`,selectedAll:`Az összes elem kijelölve.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Egy elem sincs kijelölve`,one:()=>`${t.number(e.count)} elem kijel\xf6lve`,other:()=>`${t.number(e.count)} elem kijel\xf6lve`})}.`,selectedItem:e=>`${e.item} kijel\xf6lve.`};var Qa={};Qa={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:`Premi a lungo per passare alla modalità di selezione.`,select:`Seleziona`,selectedAll:`Tutti gli elementi selezionati.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nessun elemento selezionato`,one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var $a={};$a={deselectedItem:e=>`${e.item} \u{304C}\u{9078}\u{629E}\u{3055}\u{308C}\u{3066}\u{3044}\u{307E}\u{305B}\u{3093}\u{3002}`,longPressToSelect:`長押しして選択モードを開きます。`,select:`選択`,selectedAll:`すべての項目を選択しました。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`項目が選択されていません`,one:()=>`${t.number(e.count)} \u{9805}\u{76EE}\u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}`,other:()=>`${t.number(e.count)} \u{9805}\u{76EE}\u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}`})}\u{3002}`,selectedItem:e=>`${e.item} \u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}\u{3002}`};var eo={};eo={deselectedItem:e=>`${e.item}\u{C774}(\u{AC00}) \u{C120}\u{D0DD}\u{B418}\u{C9C0} \u{C54A}\u{C558}\u{C2B5}\u{B2C8}\u{B2E4}.`,longPressToSelect:`선택 모드로 들어가려면 길게 누르십시오.`,select:`선택`,selectedAll:`모든 항목이 선택되었습니다.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`선택된 항목이 없습니다`,one:()=>`${t.number(e.count)}\u{AC1C} \u{D56D}\u{BAA9}\u{C774} \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}`,other:()=>`${t.number(e.count)}\u{AC1C} \u{D56D}\u{BAA9}\u{C774} \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}`})}.`,selectedItem:e=>`${e.item}\u{C774}(\u{AC00}) \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}.`};var to={};to={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:`Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.`,select:`Pasirinkti`,selectedAll:`Pasirinkti visi elementai.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nepasirinktas nė vienas elementas`,one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta element\u{173}: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var no={};no={deselectedItem:e=>`Vienums ${e.item} nav atlas\u{12B}ts.`,longPressToSelect:`Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.`,select:`Atlasīt`,selectedAll:`Atlasīti visi vienumi.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nav atlasīts neviens vienums`,one:()=>`Atlas\u{12B}to vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlas\u{12B}to vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlas\u{12B}ts vienums ${e.item}.`};var ro={};ro={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:`Bruk et langt trykk for å gå inn i valgmodus.`,select:`Velg`,selectedAll:`Alle elementer er valgt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ingen elementer er valgt`,one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var io={};io={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:`Druk lang om de selectiemodus te openen.`,select:`Selecteren`,selectedAll:`Alle items geselecteerd.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Geen items geselecteerd`,one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var ao={};ao={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:`Naciśnij i przytrzymaj, aby wejść do trybu wyboru.`,select:`Zaznacz`,selectedAll:`Wszystkie zaznaczone elementy.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nie zaznaczono żadnych elementów`,one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych element\xf3w`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var oo={};oo={deselectedItem:e=>`${e.item} n\xe3o selecionado.`,longPressToSelect:`Mantenha pressionado para entrar no modo de seleção.`,select:`Selecionar`,selectedAll:`Todos os itens selecionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nenhum item selecionado`,one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var so={};so={deselectedItem:e=>`${e.item} n\xe3o selecionado.`,longPressToSelect:`Prima continuamente para entrar no modo de seleção.`,select:`Selecionar`,selectedAll:`Todos os itens selecionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nenhum item selecionado`,one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var co={};co={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:`Apăsați lung pentru a intra în modul de selectare.`,select:`Selectare`,selectedAll:`Toate elementele selectate.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Niciun element selectat`,one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var lo={};lo={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`,longPressToSelect:`Нажмите и удерживайте для входа в режим выбора.`,select:`Выбрать`,selectedAll:`Выбраны все элементы.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Нет выбранных элементов`,one:()=>`${t.number(e.count)} \u{44D}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}`,other:()=>`${t.number(e.count)} \u{44D}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{43E}\u{432} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}`})}.`,selectedItem:e=>`${e.item} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`};var uo={};uo={deselectedItem:e=>`Nevybrat\xe9 polo\u{17E}ky: ${e.item}.`,longPressToSelect:`Dlhším stlačením prejdite do režimu výberu.`,select:`Vybrať`,selectedAll:`Všetky vybraté položky.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Žiadne vybraté položky`,one:()=>`${t.number(e.count)} vybrat\xe1 polo\u{17E}ka`,other:()=>`Po\u{10D}et vybrat\xfdch polo\u{17E}iek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybrat\xe9 polo\u{17E}ky: ${e.item}.`};var fo={};fo={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:`Za izbirni način pritisnite in dlje časa držite.`,select:`Izberite`,selectedAll:`Vsi elementi so izbrani.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Noben element ni izbran`,one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var po={};po={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:`Dugo pritisnite za ulazak u režim biranja.`,select:`Izaberite`,selectedAll:`Izabrane su sve stavke.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nije izabrana nijedna stavka`,one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var mo={};mo={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:`Tryck länge när du vill öppna väljarläge.`,select:`Markera`,selectedAll:`Alla markerade objekt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Inga markerade objekt`,one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var ho={};ho={deselectedItem:e=>`${e.item} se\xe7ilmedi.`,longPressToSelect:`Seçim moduna girmek için uzun basın.`,select:`Seç`,selectedAll:`Tüm ögeler seçildi.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Hiçbir öge seçilmedi`,one:()=>`${t.number(e.count)} \xf6ge se\xe7ildi`,other:()=>`${t.number(e.count)} \xf6ge se\xe7ildi`})}.`,selectedItem:e=>`${e.item} se\xe7ildi.`};var go={};go={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`,longPressToSelect:`Виконайте довге натиснення, щоб перейти в режим вибору.`,select:`Вибрати`,selectedAll:`Усі елементи вибрано.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Жодних елементів не вибрано`,one:()=>`${t.number(e.count)} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}`,other:()=>`\u{412}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{456}\u{432}: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`};var _o={};_o={deselectedItem:e=>`\u{672A}\u{9009}\u{62E9} ${e.item}\u{3002}`,longPressToSelect:`长按以进入选择模式。`,select:`选择`,selectedAll:`已选择所有项目。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`未选择项目`,one:()=>`\u{5DF2}\u{9009}\u{62E9} ${t.number(e.count)} \u{4E2A}\u{9879}\u{76EE}`,other:()=>`\u{5DF2}\u{9009}\u{62E9} ${t.number(e.count)} \u{4E2A}\u{9879}\u{76EE}`})}\u{3002}`,selectedItem:e=>`\u{5DF2}\u{9009}\u{62E9} ${e.item}\u{3002}`};var vo={};vo={deselectedItem:e=>`\u{672A}\u{9078}\u{53D6}\u{300C}${e.item}\u{300D}\u{3002}`,longPressToSelect:`長按以進入選擇模式。`,select:`選取`,selectedAll:`已選取所有項目。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`未選取任何項目`,one:()=>`\u{5DF2}\u{9078}\u{53D6} ${t.number(e.count)} \u{500B}\u{9805}\u{76EE}`,other:()=>`\u{5DF2}\u{9078}\u{53D6} ${t.number(e.count)} \u{500B}\u{9805}\u{76EE}`})}\u{3002}`,selectedItem:e=>`\u{5DF2}\u{9078}\u{53D6}\u{300C}${e.item}\u{300D}\u{3002}`};var yo={};yo={"ar-AE":Ra,"bg-BG":za,"cs-CZ":Ba,"da-DK":Va,"de-DE":Ha,"el-GR":Ua,"en-US":Wa,"es-ES":Ga,"et-EE":Ka,"fi-FI":qa,"fr-FR":Ja,"he-IL":Ya,"hr-HR":Xa,"hu-HU":Za,"it-IT":Qa,"ja-JP":$a,"ko-KR":eo,"lt-LT":to,"lv-LV":no,"nb-NO":ro,"nl-NL":io,"pl-PL":ao,"pt-BR":oo,"pt-PT":so,"ro-RO":co,"ru-RU":lo,"sk-SK":uo,"sl-SI":fo,"sr-SP":po,"sv-SE":mo,"tr-TR":ho,"uk-UA":go,"zh-CN":_o,"zh-TW":vo};function bo(e){return e&&e.__esModule?e.default:e}function xo(e,t){let{getRowText:n=e=>t.collection.getTextValue?.(e)??t.collection.getItem(e)?.textValue}=e,r=_n(bo(yo),`@react-aria/grid`),i=t.selectionManager.rawSelection,a=(0,J.useRef)(i),o=(0,J.useCallback)(()=>{if(!t.selectionManager.isFocused||i===a.current){a.current=i;return}let e=So(i,a.current),o=So(a.current,i),s=t.selectionManager.selectionBehavior===`replace`,c=[];if(t.selectionManager.selectedKeys.size===1&&s){let e=t.selectionManager.selectedKeys.keys().next().value;if(e!=null&&t.collection.getItem(e)){let t=n(e);t&&c.push(r.format(`selectedItem`,{item:t}))}}else if(e.size===1&&o.size===0){let t=e.keys().next().value;if(t!=null){let e=n(t);e&&c.push(r.format(`selectedItem`,{item:e}))}}else if(o.size===1&&e.size===0){let e=o.keys().next().value;if(e!=null&&t.collection.getItem(e)){let t=n(e);t&&c.push(r.format(`deselectedItem`,{item:t}))}}t.selectionManager.selectionMode===`multiple`&&(c.length===0||i===`all`||i.size>1||a.current===`all`||a.current?.size>1)&&c.push(i===`all`?r.format(`selectedAll`):r.format(`selectedCount`,{count:i.size})),c.length>0&&an(c.join(` `)),a.current=i},[i,t.selectionManager.selectedKeys,t.selectionManager.isFocused,t.selectionManager.selectionBehavior,t.selectionManager.selectionMode,t.collection,n,r]);dt(()=>{if(t.selectionManager.isFocused)o();else{let e=requestAnimationFrame(o);return()=>cancelAnimationFrame(e)}},[i,t.selectionManager.isFocused])}function So(e,t){let n=new Set;if(e===`all`||t===`all`)return n;for(let r of e.keys())t.has(r)||n.add(r);return n}function Co(e,t){let n=t?.isDisabled,[r,i]=(0,J.useState)(!1);return tn(()=>{if(e?.current&&!n){let t=()=>{if(e.current){let t=st(e.current,{tabbable:!0});i(!!t.nextNode())}};t();let n=new MutationObserver(t);return n.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`tabIndex`,`disabled`]}),()=>{n.disconnect()}}}),!n&&r}function wo(e){return e&&e.__esModule?e.default:e}function To(e){let t=_n(wo(yo),`@react-aria/grid`),n=On(),r=(n===`pointer`||n===`virtual`||n==null)&&typeof window<`u`&&`ontouchstart`in window,i=(0,J.useMemo)(()=>{let n=e.selectionManager.selectionMode,i=e.selectionManager.selectionBehavior,a;return r&&(a=t.format(`longPressToSelect`)),i===`replace`&&n!==`none`&&e.hasItemActions?a:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,r]);return vt(i)}function Eo(e,t,n){let{isVirtualized:r,keyboardDelegate:i,layoutDelegate:a,onAction:o,disallowTypeAhead:s,linkBehavior:c=`action`,keyboardNavigationBehavior:l=`arrow`,escapeKeyBehavior:u=`clearSelection`,shouldSelectOnPressUp:d}=e;!e[`aria-label`]&&!e[`aria-labelledby`]&&console.warn(`An aria-label or aria-labelledby prop is required for accessibility.`);let{listProps:f}=la({selectionManager:t.selectionManager,collection:t.collection,disabledKeys:t.disabledKeys,ref:n,keyboardDelegate:i,layoutDelegate:a,isVirtualized:r,selectOnFocus:t.selectionManager.selectionBehavior===`replace`,shouldFocusWrap:e.shouldFocusWrap,linkBehavior:c,disallowTypeAhead:s,autoFocus:e.autoFocus,escapeKeyBehavior:u,UNSTABLE_focusOnEntry:e.UNSTABLE_focusOnEntry}),p=Xt(e.id);Fa.set(t,{id:p,onAction:o,linkBehavior:c,keyboardNavigationBehavior:l,shouldSelectOnPressUp:d});let m=To({selectionManager:t.selectionManager,hasItemActions:!!o}),h=Co(n,{isDisabled:t.collection.size!==0}),g=mn(e,{labelable:!0}),_=pn(g,{role:`grid`,id:p,"aria-multiselectable":t.selectionManager.selectionMode===`multiple`?`true`:void 0},t.collection.size===0?{tabIndex:h?-1:0}:f,m);return r&&(_[`aria-rowcount`]=t.collection.size,_[`aria-colcount`]=1),xo({},t),{gridProps:_}}var Do={expand:{ltr:`ArrowRight`,rtl:`ArrowLeft`},collapse:{ltr:`ArrowLeft`,rtl:`ArrowRight`}};function Oo(e,t,n){let{node:r,isVirtualized:i,focusMode:a=`row`,allowsArrowNavigation:o}=e,{direction:s}=xr(),{onAction:c,linkBehavior:l,keyboardNavigationBehavior:u,shouldSelectOnPressUp:d}=Fa.get(t),f=gn(),p=(0,J.useRef)(null),m=()=>{if(n.current!==null){if(a===`child`){if(Wt(n.current)&&n.current!==zn(Ut(n.current)))return;let e=st(n.current,{tabbable:!0}).firstChild();if(e){Nn(e),lt(e,{containingElement:gt(e)});return}}(p.current!=null&&r.key!==p.current||!Wt(n.current))&&Nn(n.current)}},h={},g=e.hasChildItems,_=t.selectionManager.isLink(r.key);if(r!=null&&`expandedKeys`in t){let e=t.collection.getChildren?.(r.key);g||=[...e??[]].length>1,c==null&&!_&&t.selectionManager.selectionMode===`none`&&g&&(c=()=>t.toggleKey(r.key));let n=g?t.expandedKeys.has(r.key):void 0,i=1,a=r.index;if(r.level>=0&&r?.parentKey!=null){let e=t.collection.getItem(r.parentKey);if(e){let n=jo(e,t.collection);i=[...n].filter(e=>e.type===`item`).length,a>0&&n[0].type!==`item`&&--a}}else i=[...t.collection].filter(e=>e.level===0&&e.type===`item`).length;h={"aria-expanded":n,"aria-level":r.level+1,"aria-posinset":a+1,"aria-setsize":i}}let{itemProps:v,...y}=fa({selectionManager:t.selectionManager,key:r.key,ref:n,isVirtualized:i,shouldSelectOnPressUp:e.shouldSelectOnPressUp||d,onAction:c||r.props?.onAction?Pn(r.props?.onAction,c?()=>c(r.key):void 0):void 0,focus:m,linkBehavior:l}),b=e=>{let i=zn(Ut(n.current));if(!dn(e.currentTarget,Kt(e))||!n.current||!i)return;let a=st(n.current);if(a.currentNode=i,!ko(e,t,r,g,s,i,n.current,o))switch(e.key){case`ArrowLeft`:if(u===`arrow`){let t=s===`rtl`?a.nextNode():a.previousNode();if(t)e.preventDefault(),e.stopPropagation(),Nn(t),lt(t,{containingElement:gt(n.current)});else if(e.preventDefault(),e.stopPropagation(),s===`rtl`)Nn(n.current),lt(n.current,{containingElement:gt(n.current)});else{a.currentNode=n.current;let e=Ao(a);e&&(Nn(e),lt(e,{containingElement:gt(n.current)}))}}break;case`ArrowRight`:if(u===`arrow`){let t=s===`rtl`?a.previousNode():a.nextNode();if(t)e.preventDefault(),e.stopPropagation(),Nn(t),lt(t,{containingElement:gt(n.current)});else if(e.preventDefault(),e.stopPropagation(),s===`ltr`)Nn(n.current),lt(n.current,{containingElement:gt(n.current)});else{a.currentNode=n.current;let e=Ao(a);e&&(Nn(e),lt(e,{containingElement:gt(n.current)}))}}break;case`ArrowUp`:case`ArrowDown`:!e.altKey&&dn(n.current,Kt(e))&&(e.stopPropagation(),e.preventDefault(),n.current.parentElement?.dispatchEvent(new KeyboardEvent(e.nativeEvent.type,e.nativeEvent)))}},x=e=>{if(p.current=r.key,Kt(e)!==n.current){Sn()||t.selectionManager.setFocusedKey(r.key);return}a===`child`&&e.relatedTarget&&dn(n.current,e.relatedTarget)||requestAnimationFrame(()=>{a===`child`&&zn(Ut(n.current))===n.current&&m()})},S=e=>{let i=zn(Ut(n.current));if(!(!dn(e.currentTarget,Kt(e))||!n.current||!i)){if(u===`tab`){if(Kt(e)!==n.current&&e.key!==`Tab`){e.stopPropagation();return}if(ko(e,t,r,g,s,i,n.current,o))return}if(e.key===`Tab`&&u===`tab`){let t=st(n.current,{tabbable:!0});t.currentNode=i,(e.shiftKey?t.previousNode():t.nextNode())&&e.stopPropagation()}}},C=An(r.props),w=y.hasAction?C:{},T=pn(v,w,{role:`row`,onKeyDownCapture:u===`arrow`||o?b:void 0,onFocus:x,"aria-label":r[`aria-label`]||r.textValue||void 0,"aria-selected":t.selectionManager.canSelectItem(r.key)?t.selectionManager.isSelected(r.key):void 0,"aria-disabled":t.selectionManager.isDisabled(r.key)||void 0,"aria-labelledby":f&&(r[`aria-label`]||r.textValue)?`${Ia(t,r.key)} ${f}`:void 0,id:Ia(t,r.key)});a===`child`&&o&&u===`tab`&&(T.tabIndex=-1);let E=T.onKeyDown;if(T.onKeyDown=e=>{S(e),e.isPropagationStopped()||E?.(e)},i){let{collection:e}=t;T[`aria-rowindex`]=[...e].find(e=>e.type===`section`)?[...e.getKeys()].filter(t=>e.getItem(t)?.type!==`section`).findIndex(e=>e===r.key)+1:r.index+1}let D={role:`gridcell`,"aria-colindex":1};return{rowProps:{...pn(T,h)},gridCellProps:D,descriptionProps:{id:f},...y}}function ko(e,t,n,r,i,a,o,s){if(!(`expandedKeys`in t)||!s&&a!==o)return!1;if(e.key===Do.expand[i]&&t.selectionManager.focusedKey===n.key&&r&&!t.expandedKeys.has(n.key))return t.toggleKey(n.key),e.stopPropagation(),!0;if(e.key===Do.collapse[i]&&t.selectionManager.focusedKey===n.key){if(r&&t.expandedKeys.has(n.key))return t.toggleKey(n.key),e.stopPropagation(),!0;if(!t.expandedKeys.has(n.key)&&n.parentKey&&t.collection.getItem(n.parentKey)?.type===`item`)return t.selectionManager.setFocusedKey(n.parentKey),e.stopPropagation(),!0}return!1}function Ao(e){let t=null,n=null;do n=e.lastChild(),n&&(t=n);while(n);return t}function jo(e,t){let n=t.getChildren?.(e.key),r=n?Array.from(n):[],i=r.length>0?r[0]:null,a=[];for(;i;)a.push(i),i=i.nextKey==null?null:t.getItem(i.nextKey);return a}function Mo(e){return e&&e.__esModule?e.default:e}function No(e,t){let{key:n}=e,r=t.selectionManager,i=Xt(),a=!t.selectionManager.canSelectItem(n),o=t.selectionManager.isSelected(n);return{checkboxProps:{id:i,"aria-label":_n(Mo(yo),`@react-aria/grid`).format(`select`),isSelected:o,isDisabled:a,onChange:()=>r.toggleSelection(n)}}}function Po(e,t){let{key:n}=e,{checkboxProps:r}=No(e,t);return{checkboxProps:{...r,"aria-labelledby":`${r.id} ${Ia(t,n)}`}}}var Fo=10,Io=5,Lo=class{setup(e,t,n){this.delegate=e,this.state=t,this.direction=n}getDropTargetFromPoint(e,t,n){let r=this.delegate.getDropTargetFromPoint(e,t,n);return!r||r.type===`root`?r:this.resolveDropTarget(r,e,t,n)}resolveDropTarget(e,t,n,r){let i=this.pointerTracking,a=n-i.lastY,o=t-i.lastX,s=i.yDirection,c=i.xDirection;if(Math.abs(a)>Io&&(s=a>0?`down`:`up`,i.yDirection=s,i.lastY=n),Math.abs(o)>Fo&&(c=o>0?`right`:`left`,i.xDirection=c,i.lastX=t),e.dropPosition===`before`){let t=this.state.collection.getKeyBefore(e.key);for(;t!=null;){let e=this.state.collection.getItem(t);if(e?.type===`item`)break;t=e?.parentKey??null}if(t!=null){let n={type:`item`,key:t,dropPosition:`after`};r(n)&&(e=n)}}let l=this.getPotentialTargets(e,r);if(l.length===0)return{type:`root`};let u;return l.length>1?u=this.selectTarget(l,e,t,n,s,c):(u=l[0],i.boundaryContext=null),u}getPotentialTargets(e,t){if(e.dropPosition===`on`)return[e];let n=e,r=this.state.collection,i=r.getItem(n.key);for(;i&&i?.type!==`item`&&i.nextKey!=null;)n.key=i.nextKey,i=r.getItem(i.nextKey);let a=[n];if(i&&i.hasChildNodes&&this.state.expandedKeys.has(i.key)&&r.getChildren&&n.dropPosition===`after`){let e=i.firstChildKey==null?null:r.getItem(i.firstChildKey);for(;e&&e.type!==`item`;)e=e.nextKey==null?null:r.getItem(e.nextKey);if(e?.type===`item`){let n={type:`item`,key:e.key,dropPosition:`before`};return t(n)?[n]:[]}}if(i?.nextKey!=null)return[e];let o=i?.parentKey,s=[];for(;o!=null;){let e=r.getItem(o),n=e?.nextKey==null?null:r.getItem(e.nextKey);if(!n||n.parentKey!==o){if(e?.type===`item`){let e={type:`item`,key:o,dropPosition:`after`};t(e)&&s.push(e)}if(n)break}o=e?.parentKey}if(s.length>0&&a.push(...s),a.length===1){let e=r.getKeyAfter(n.key),a=e==null?null:r.getItem(e);if(e!=null&&a&&i&&a.level!=null&&i.level!=null&&a.level>i.level){let n={type:`item`,key:e,dropPosition:`before`};if(t(n))return[n]}}return a.filter(t)}selectTarget(e,t,n,r,i,a){if(e.length<2)return e[0];let o=this.pointerTracking,s=this.state.collection.getItem(t.key)?.parentKey;if(s==null)return e[0];(!o.boundaryContext||o.boundaryContext.parentKey!==s)&&(o.boundaryContext={parentKey:s,preferredTargetIndex:o.yDirection===`up`?e.length-1:0,lastSwitchY:r,lastSwitchX:n});let c=o.boundaryContext,l=Math.abs(n-c.lastSwitchX);if(Math.abs(r-c.lastSwitchY)>Io&&i){let t=c.preferredTargetIndex||0;i===`down`&&t===0?c.preferredTargetIndex=e.length-1:i===`up`&&t===e.length-1&&(c.preferredTargetIndex=0),o.xDirection=null}if(l>Fo&&a){let t=c.preferredTargetIndex||0;a===`left`?this.direction===`ltr`?t<e.length-1&&(c.preferredTargetIndex=t+1,c.lastSwitchX=n):t>0&&(c.preferredTargetIndex=t-1,c.lastSwitchX=n):a===`right`&&(this.direction===`ltr`?t>0&&(c.preferredTargetIndex=t-1,c.lastSwitchX=n):t<e.length-1&&(c.preferredTargetIndex=t+1,c.lastSwitchX=n)),o.yDirection=null}return e[Math.max(0,Math.min(c.preferredTargetIndex||0,e.length-1))]}constructor(){this.delegate=null,this.state=null,this.direction=`ltr`,this.pointerTracking={lastY:0,lastX:0,yDirection:null,xDirection:null,boundaryContext:null}}};function Ro(e,t,n){let{gridProps:r}=Eo(e,t,n);return r.role=`treegrid`,{gridProps:r}}var zo={};zo={collapse:`طي`,expand:`تمديد`};var Bo={};Bo={collapse:`Свиване`,expand:`Разширяване`};var Vo={};Vo={collapse:`Sbalit`,expand:`Roztáhnout`};var Ho={};Ho={collapse:`Skjul`,expand:`Udvid`};var Uo={};Uo={collapse:`Reduzieren`,expand:`Erweitern`};var Wo={};Wo={collapse:`Σύμπτυξη`,expand:`Ανάπτυξη`};var Go={};Go={expand:`Expand`,collapse:`Collapse`};var Ko={};Ko={collapse:`Contraer`,expand:`Expandir`};var qo={};qo={collapse:`Ahenda`,expand:`Laienda`};var Jo={};Jo={collapse:`Pienennä`,expand:`Laajenna`};var Yo={};Yo={collapse:`Réduire`,expand:`Développer`};var Xo={};Xo={collapse:`כווץ`,expand:`הרחב`};var Zo={};Zo={collapse:`Sažmi`,expand:`Proširi`};var Qo={};Qo={collapse:`Összecsukás`,expand:`Kibontás`};var $o={};$o={collapse:`Comprimi`,expand:`Espandi`};var es={};es={collapse:`折りたたむ`,expand:`展開`};var ts={};ts={collapse:`접기`,expand:`펼치기`};var ns={};ns={collapse:`Sutraukti`,expand:`Išskleisti`};var rs={};rs={collapse:`Sakļaut`,expand:`Izvērst`};var is={};is={collapse:`Skjul`,expand:`Utvid`};var as={};as={collapse:`Samenvouwen`,expand:`Uitvouwen`};var os={};os={collapse:`Zwiń`,expand:`Rozwiń`};var ss={};ss={collapse:`Recolher`,expand:`Expandir`};var cs={};cs={collapse:`Colapsar`,expand:`Expandir`};var ls={};ls={collapse:`Restrângeți`,expand:`Extindeți`};var us={};us={collapse:`Свернуть`,expand:`Развернуть`};var ds={};ds={collapse:`Zbaliť`,expand:`Rozbaliť`};var fs={};fs={collapse:`Strni`,expand:`Razširi`};var ps={};ps={collapse:` Skupi`,expand:`Proširi`};var ms={};ms={collapse:`Dölj`,expand:`Expandera`};var hs={};hs={collapse:`Daralt`,expand:`Genişlet`};var gs={};gs={collapse:`Згорнути`,expand:`Розгорнути`};var _s={};_s={collapse:`折叠`,expand:`扩展`};var vs={};vs={collapse:`收合`,expand:`展開`};var ys={};ys={"ar-AE":zo,"bg-BG":Bo,"cs-CZ":Vo,"da-DK":Ho,"de-DE":Uo,"el-GR":Wo,"en-US":Go,"es-ES":Ko,"et-EE":qo,"fi-FI":Jo,"fr-FR":Yo,"he-IL":Xo,"hr-HR":Zo,"hu-HU":Qo,"it-IT":$o,"ja-JP":es,"ko-KR":ts,"lt-LT":ns,"lv-LV":rs,"nb-NO":is,"nl-NL":as,"pl-PL":os,"pt-BR":ss,"pt-PT":cs,"ro-RO":ls,"ru-RU":us,"sk-SK":ds,"sl-SI":fs,"sr-SP":ps,"sv-SE":ms,"tr-TR":hs,"uk-UA":gs,"zh-CN":_s,"zh-TW":vs};function bs(e){return e&&e.__esModule?e.default:e}function xs(e,t,n){let{node:r}=e,i=Oo(e,t,n),a=i.rowProps[`aria-expanded`]===!0,o=_n(bs(ys),`@react-aria/tree`),s={onPress:()=>{i.isDisabled||(t.toggleKey(r.key),t.selectionManager.setFocused(!0),t.selectionManager.setFocusedKey(r.key))},excludeFromTabOrder:!0,preventFocusOnPress:!0,"data-react-aria-prevent-focus":!0,...Vt({"aria-label":a?o.format(`collapse`):o.format(`expand`),"aria-labelledby":i.rowProps.id})};return{...i,expandButtonProps:s}}var Ss=class e extends pi{withExpandedKeys(t,n){let r=this.clone();return r.expandedKeys=n,e.cloneAncestorSections(n,t,r),e.cloneAncestorSections(t,n,r),r.frozen=this.frozen,r}static cloneAncestorSections(e,t,n){for(let r of e)if(!t.has(r)){let e=r;for(;e!=null;){let t=n.getItem(e);if(t?.type===`section`){n.keyMap.set(e,t.clone());break}e=t?.parentKey??null}}}*[Symbol.iterator](){let e=this.getFirstKey(),t=e==null?null:this.getItem(e);for(;t;)if(yield t,t.type===`section`)t=t.nextKey==null?null:this.getItem(t.nextKey);else{let e=this.getKeyAfter(t.key);t=e==null?null:this.getItem(e)}}getLastKey(){let e=this.lastKey;if(e==null)return null;let t=this.getItem(e);for(;t?.lastChildKey!=null&&(t.type!==`item`||this.expandedKeys.has(t.key));)t=this.getItem(t.lastChildKey);return t?.key}getKeyAfter(e){let t=this.getItem(e);if(!t)return null;if((this.expandedKeys.has(t.key)||t.type!==`item`)&&t.firstChildKey!=null)return t.firstChildKey;for(;t;){if(t.nextKey!=null)return t.nextKey;if(t.parentKey!=null)t=this.getItem(t.parentKey);else return null}return null}getKeyBefore(e){let t=this.getItem(e);if(!t)return null;if(t.prevKey!=null){for(t=this.getItem(t.prevKey);t&&(t.type!==`item`||this.expandedKeys.has(t.key))&&t.lastChildKey!=null;)t=this.getItem(t.lastChildKey);return t?.key??null}return t.parentKey}getChildren(e){let t=this;return{*[Symbol.iterator](){let n=t.getItem(e),r=n?.firstChildKey==null?null:t.getItem(n.firstChildKey);if(n&&n.type===`section`&&r)for(;r&&r.key!==n.nextKey;){yield t.getItem(r.key);let e=t.getKeyAfter(r.key);r=e==null?null:t.getItem(e)}else for(;r;)yield r,r=r.nextKey==null?null:t.getItem(r.nextKey)}}}getTextValue(e){let t=this.getItem(e);return t?t.textValue:``}constructor(...e){super(...e),this.expandedKeys=new Set}},Cs=(0,J.createContext)(null),ws=(0,J.createContext)(null),Ts=(0,J.forwardRef)(function(e,t){return[e,t]=sn(e,t,Cs),J.createElement(Ci,{content:J.createElement(Fi,e),createCollection:()=>new Ss},n=>J.createElement(Ds,{props:e,collection:n,treeRef:t}))}),Es={expand:{ltr:`ArrowRight`,rtl:`ArrowLeft`},collapse:{ltr:`ArrowLeft`,rtl:`ArrowRight`}};function Ds({props:e,collection:t,treeRef:n}){let{dragAndDropHooks:r}=e,{direction:i}=xr(),a=ht({usage:`search`,sensitivity:`base`}),o=!!r?.useDraggableCollectionState,s=!!r?.useDroppableCollectionState,c=(0,J.useRef)(o),l=(0,J.useRef)(s);(0,J.useEffect)(()=>{c.current!==o&&console.warn(`Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.`),l.current!==s&&console.warn(`Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.`)},[o,s]);let{selectionMode:u=`none`,expandedKeys:d,defaultExpandedKeys:f,onExpandedChange:p,disabledBehavior:m=`all`}=e,{CollectionRoot:h,isVirtualized:g,layoutDelegate:_,dropTargetDelegate:v}=(0,J.useContext)(Vi),[y,b]=$t(d?new Set(d):void 0,f?new Set(f):new Set,p),[x,S]=(0,J.useState)(t),[C,w]=(0,J.useState)(y),[T,E]=(0,J.useState)(()=>t.withExpandedKeys(C,y));(!Fs(C,y)||t!==x)&&(E(t.withExpandedKeys(C,y)),S(t),w(y));let D=Na({...e,selectionMode:u,expandedKeys:y,onExpandedChange:b,collection:T,children:void 0,disabledBehavior:m}),{gridProps:O}=Ro({...e,isVirtualized:g,layoutDelegate:_},D,n),k,A,j,M=!1,N=null,P=(0,J.useRef)(null);if(o&&r){k=r.useDraggableCollectionState({collection:D.collection,selectionManager:D.selectionManager,preview:r.renderDragPreview?P:void 0}),r.useDraggableCollection({},k,n);let e=r.DragPreview;N=r.renderDragPreview?J.createElement(e,{ref:P},r.renderDragPreview):null}let[F]=(0,J.useState)(()=>new Lo);if(s&&r){A=r.useDroppableCollectionState({collection:D.collection,selectionManager:D.selectionManager});let e=r.dropTargetDelegate||v||new r.ListDropTargetDelegate(D.collection,n,{direction:i});F.setup(e,D,i);let t=new ca({collection:D.collection,collator:a,ref:n,disabledKeys:D.selectionManager.disabledKeys,disabledBehavior:D.selectionManager.disabledBehavior,direction:i,layoutDelegate:_});j=r.useDroppableCollection({keyboardDelegate:t,dropTargetDelegate:F,onDropActivate:e=>{if(e.target.type===`item`){let t=e.target.key,n=D.collection.getItem(t),i=y.has(t);n&&n.hasChildNodes&&(!i||r?.isVirtualDragging?.())&&D.toggleKey(t)}},onKeyDown:e=>{let t=A?.target;if(t&&t.type===`item`&&t.dropPosition===`on`){let n=D.collection.getItem(t.key);(e.key===Es.expand[i]&&n?.hasChildNodes&&!D.expandedKeys.has(t.key)||e.key===Es.collapse[i]&&n?.hasChildNodes&&D.expandedKeys.has(t.key))&&D.toggleKey(t.key)}}},A,n),M=A.isDropTarget({type:`root`})}let I=!!(o&&!k?.isDisabled),{focusProps:L,isFocused:R,isFocusVisible:z}=qt(),B={isEmpty:D.collection.size===0,isFocused:R,isFocusVisible:z,isDropTarget:M,selectionMode:D.selectionManager.selectionMode,allowsDragging:!!I,state:D},V=Jt({...e,children:void 0,defaultClassName:`react-aria-Tree`,values:B}),H=null;if(D.collection.size===0&&e.renderEmptyState){let{isEmpty:t,...n}=B,r=e.renderEmptyState({...n});H=J.createElement(`div`,{role:`row`,style:{display:`contents`},"aria-level":1},J.createElement(`div`,{role:`gridcell`,style:{display:`contents`}},r))}let U=mn(e,{global:!0});return J.createElement(J.Fragment,null,J.createElement(ft,null,J.createElement(Vn.div,{...pn(U,V,O,L,j?.collectionProps),ref:n,slot:e.slot||void 0,"data-empty":D.collection.size===0||void 0,"data-focused":R||void 0,"data-drop-target":M||void 0,"data-focus-visible":z||void 0,"data-selection-mode":D.selectionManager.selectionMode===`none`?void 0:D.selectionManager.selectionMode,"data-allows-dragging":!!I||void 0},J.createElement(rn,{values:[[ws,D],[Wi,{dragAndDropHooks:r,dragState:k,dropState:A}],[Gi,{render:js}]]},s&&J.createElement(Ps,null),J.createElement(Xi,null,J.createElement(h,{collection:D.collection,persistedKeys:Ji(D.selectionManager,r,A),scrollRef:n,renderDropIndicator:qi(r,A)}))),H)),N)}var Os=ji(class extends li{static{this.type=`content`}},function(e){let t=(0,J.useContext)(ks),n=Jt({children:e.children,values:t});return J.createElement(Vi.Provider,{value:Ri},n.children)}),ks=(0,J.createContext)(null),As=Mi(class extends li{static{this.type=`item`}},(e,t,n)=>{let r=(0,J.useContext)(ws);t=Qt(t);let{dragAndDropHooks:i,dragState:a,dropState:o}=(0,J.useContext)(Wi),s=a&&!(a.isDisabled||a.selectionManager.isDisabled(n.key)),{rowProps:c,gridCellProps:l,expandButtonProps:u,descriptionProps:d,...f}=xs({node:n,shouldSelectOnPressUp:!!a,focusMode:e.focusMode,allowsArrowNavigation:e.allowsArrowNavigation},r,t),p=c[`aria-expanded`]===!0,m=e.hasChildItems||[...r.collection.getChildren(n.key)].length>1,h=c[`aria-level`]||1,{hoverProps:g,isHovered:_}=on({isDisabled:!f.allowsSelection&&!f.hasAction&&!s,onHoverStart:e.onHoverStart,onHoverChange:e.onHoverChange,onHoverEnd:e.onHoverEnd}),{isFocusVisible:v,focusProps:y}=qt(),{isFocusVisible:b,focusProps:x}=qt({within:!0}),{checkboxProps:S}=Po({key:n.key},r),C=null;a&&i&&(C=i.useDraggableItem({key:n.key,hasDragButton:!0},a));let w=null,T=(0,J.useRef)(null),E=(0,J.useRef)(null),D=(0,J.useRef)(null),{visuallyHiddenProps:O}=pt();o&&i&&(w=i.useDropIndicator({target:{type:`item`,key:n.key,dropPosition:`on`},activateButtonRef:D},o,E));let k=a&&a.isDragging(n.key),A=w?.isDropTarget,j=r.selectionManager.selectionMode,M=r.selectionManager.selectionBehavior,N=J.useMemo(()=>({...f,isHovered:_,isFocusVisible:v,isExpanded:p,hasChildItems:m,level:h,selectionMode:j,selectionBehavior:M,isFocusVisibleWithin:b,state:r,id:n.key,allowsDragging:!!a,isDragging:k,isDropTarget:A}),[f,_,v,p,m,h,b,r,n.key,a,k,A,M,j]),P=Jt({...e,id:void 0,children:n.rendered,defaultClassName:`react-aria-TreeItem`,defaultStyle:{"--tree-item-level":h},values:N});(0,J.useEffect)(()=>{n.textValue},[n.textValue]),(0,J.useEffect)(()=>{m&&T.current},[]);let F=(0,J.useRef)(null);(0,J.useEffect)(()=>{a&&F.current},[]);let I=vi({items:r.collection.getChildren(n.key),children:e=>{switch(e.type){case`content`:return e.render(e);case`loader`:case`item`:return J.createElement(J.Fragment,null);default:throw Error(`Unsupported element type in TreeRow: `+e.type)}}}),L=Xt(),R=mn(e,{global:!0});return delete R.id,delete R.onClick,J.createElement(J.Fragment,null,w&&!w.isHidden&&J.createElement(`div`,{role:`row`,"aria-level":c[`aria-level`],"aria-expanded":c[`aria-expanded`],"aria-label":w.dropIndicatorProps[`aria-label`]},J.createElement(`div`,{role:`gridcell`,"aria-colindex":1,style:{display:`contents`}},J.createElement(`div`,{role:`button`,...O,...w.dropIndicatorProps,ref:E}),c[`aria-expanded`]==null?null:J.createElement(`div`,{role:`button`,...O,id:L,"aria-label":u[`aria-label`],"aria-labelledby":`${L} ${c.id}`,tabIndex:-1,ref:D}))),J.createElement(Vn.div,{...pn(R,c,y,g,x,C?.dragProps),...P,ref:t,"data-expanded":m&&p||void 0,"data-has-child-items":m||void 0,"data-level":h,"data-selected":f.isSelected||void 0,"data-disabled":f.isDisabled||void 0,"data-hovered":_||void 0,"data-focused":f.isFocused||void 0,"data-focus-visible":v||void 0,"data-pressed":f.isPressed||void 0,"data-selection-mode":r.selectionManager.selectionMode===`none`?void 0:r.selectionManager.selectionMode,"data-allows-dragging":!!a||void 0,"data-dragging":k||void 0,"data-drop-target":A||void 0},J.createElement(`div`,{...l,style:{display:`contents`}},J.createElement(rn,{values:[[Hi,{slots:{[un]:{},selection:S}}],[Ui,{slots:{[un]:{},selection:S}}],[fn,{slots:{[un]:{},chevron:{...u,ref:T},drag:{...C?.dragButtonProps,ref:F,style:{pointerEvents:`none`}}}}],[ks,{...N}],[Cr,{isSelected:f.isSelected}]]},I))))});ji(di,function(e,t,n){let{isVirtualized:r}=(0,J.useContext)(Vi),i=(0,J.useContext)(ws),{isLoading:a,onLoadMore:o,scrollOffset:s,...c}=e,l=(0,J.useRef)(null);ja((0,J.useMemo)(()=>({onLoadMore:o,collection:i?.collection,sentinelRef:l,scrollOffset:s}),[o,s,i?.collection]),l),t=Qt(t);let{rowProps:u,gridCellProps:d}=xs({node:n},i,t),f=u[`aria-level`]||1,p={role:`row`,"aria-level":u[`aria-level`]},m=Jt({...c,id:void 0,children:n.rendered,defaultClassName:`react-aria-TreeLoader`,values:{level:f}}),h={};return r&&(h={display:`contents`}),J.createElement(J.Fragment,null,J.createElement(`div`,{style:{position:`relative`,width:0,height:0},inert:ba(!0)},J.createElement(`div`,{"data-testid":`loadMoreSentinel`,ref:l,style:{position:`absolute`,height:1,width:1}})),a&&m.children&&J.createElement(Vn.div,{ref:t,...pn(mn(e),p),...m,"data-level":f},J.createElement(`div`,{...d,style:h},m.children)))});function js(e,t){t=Qt(t);let{dragAndDropHooks:n,dropState:r}=(0,J.useContext)(Wi),i=(0,J.useRef)(null),{dropIndicatorProps:a,isHidden:o,isDropTarget:s}=n.useDropIndicator(e,r,i);if(o)return null;let c=r&&e.target.type===`item`?(r.collection.getItem(e.target.key)?.level||0)+1:1;return J.createElement(Ns,{...e,dropIndicatorProps:a,isDropTarget:s,ref:t,buttonRef:i,level:c})}function Ms(e,t){let{dropIndicatorProps:n,isDropTarget:r,buttonRef:i,level:a,...o}=e,{visuallyHiddenProps:s}=pt(),c=Jt({...o,defaultClassName:`react-aria-DropIndicator`,defaultStyle:{position:`relative`,"--tree-item-level":a},values:{isDropTarget:r}});return J.createElement(Vn.div,{...c,role:`row`,"aria-level":a,ref:t,"data-drop-target":r||void 0},J.createElement(`div`,{role:`gridcell`},J.createElement(`div`,{...s,role:`button`,...n,ref:i}),c.children))}var Ns=(0,J.forwardRef)(Ms);function Ps(){let{dragAndDropHooks:e,dropState:t}=(0,J.useContext)(Wi),n=(0,J.useRef)(null),{dropIndicatorProps:r}=e.useDropIndicator({target:{type:`root`}},t,n),i=t.isDropTarget({type:`root`}),{visuallyHiddenProps:a}=pt();return!i&&r[`aria-hidden`]?null:J.createElement(`div`,{role:`row`,"aria-hidden":r[`aria-hidden`],style:{position:`absolute`}},J.createElement(`div`,{role:`gridcell`},J.createElement(`div`,{role:`button`,...a,...r,ref:n})))}function Fs(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}var Is=[`openai`,`github`,`anthropic`,`google`,`ollama`,`bedrock`,`deepseek`,`azure`,`openrouter`,`wandb`,`opencode-go`,`marimo`],Ls=class e{providerId;shortModelId;constructor(e,t){this.providerId=e,this.shortModelId=t}get id(){return`${this.providerId}/${this.shortModelId}`}static parse(t){if(!t.includes(`/`)){let n=Rs(t);return new e(n,t)}let[n,...r]=t.split(`/`);return new e(n,r.join(`/`))}};function Rs(e){return e.startsWith(`gpt`)||e.startsWith(`o3`)||e.startsWith(`o1`)?`openai`:e.startsWith(`claude`)?`anthropic`:e.startsWith(`gemini`)||e.startsWith(`google`)?`google`:e.startsWith(`deepseek`)?`deepseek`:`ollama`}function zs(e){return Is.includes(e)}var Bs=JSON.parse(`{"anthropic":[{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5","model":"claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5","model":"claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-07","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 4.6","model":"claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Haiku 4.5","model":"claude-haiku-4-5","description":"Fast and efficient Claude model, delivering near-frontier intelligence at a fraction of the cost and latency of larger Claude models","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2025-10-15","cost":{"input":1,"output":5},"reasoning_options":[{"type":"budget_tokens","min":1024}],"limits":{"context":200000,"output":64000}}],"openai":[{"name":"GPT-6.1 Sol","model":"gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Sol","model":"gpt-6-sol","description":"OpenAI reasoning model for demanding tasks that balances capability, latency, and cost","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Daybreak Blue","model":"gpt-daybreak-blue-latest","description":"OpenAI model alias for authorized defensive cybersecurity work with reduced refusals","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-07","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Daybreak Red","model":"gpt-daybreak-red-latest","description":"OpenAI model alias for advanced authorized cybersecurity work, including penetration testing and exploit validation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-07","cost":{"input":12.5,"output":75},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":400000,"output":128000}},{"name":"GPT-6 Astra","model":"gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6","model":"gpt-5.6","description":"OpenAI's GPT-5.6 flagship tier for frontier reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Luna","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2,"output":12},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.5","model":"gpt-5.5","description":"OpenAI model for complex professional workloads, with stronger reasoning, reliability, and token efficiency than GPT-5.4 on hard tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-04-23","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh"]}],"limits":{"context":1050000,"output":128000}}],"google":[{"name":"Gemini 4 Argon","model":"gemini-4-argon","description":"Reasoning model for complex software engineering, mathematical and scientific problem solving, and autonomous multi-step agents","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-13","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":32768}},{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5@default","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.7","model":"xai/grok-4.7","description":"Model for coding, agentic tasks, and knowledge work, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-21","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":524288,"output":500000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5@default","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5@default","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"xai/grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":524288,"output":500000}},{"name":"Gemini 3.8 Flash","model":"gemini-3.8-flash","description":"Google's most intelligent Flash model, with gains in software engineering, agentic tasks, and multi-step reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-02","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1@default","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Gemini Flash Latest","model":"gemini-flash-latest","description":"Alias that points to the latest Gemini Flash release and can change when Google updates the model family","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Gemini 3.7 Flash","model":"gemini-3.7-flash","description":"High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Gemma 4 26B A4B IT","model":"gemma-4-26b-a4b-it","description":"Instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":32768}},{"name":"Gemma 4 31B IT","model":"gemma-4-31b-it","description":"Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":32768}},{"name":"Claude Opus 5","model":"claude-opus-5@default","description":"Anthropic Claude Opus 5 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5@default","description":"Anthropic Claude Sonnet 5 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8@default","description":"Anthropic Claude Opus 4.8 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}}],"bedrock":[{"name":"Claude Haiku 5.5 (Global)","model":"global.anthropic.claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6.1 Sol (Global)","model":"global.openai.gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Opus 5.5 (Global)","model":"global.anthropic.claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6 Luna (Global)","model":"global.openai.gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Astra (Global)","model":"global.openai.gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Grok 4.6 (Global)","model":"global.xai.grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":500000,"output":500000}},{"name":"Claude Fable 5.1 (Global)","model":"global.anthropic.claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"xai.grok-4.6","description":"xAI's frontier model for coding, agentic tasks, knowledge work, and visual reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2.2,"output":6.6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":500000,"output":500000}},{"name":"GPT-5.6 Luna (Global)","model":"global.openai.gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol (Global)","model":"global.openai.gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Opus 5 (Global)","model":"global.anthropic.claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.6 Luna","model":"openai.gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.22,"output":1.32},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"openai.gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4.4,"output":22},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"openai.gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2.2,"output":13.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Fable 5 (Global)","model":"global.anthropic.claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5 (Global)","model":"global.anthropic.claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5 (Global)","model":"global.anthropic.claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5 (Global)","model":"global.anthropic.claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8 (Global)","model":"global.anthropic.claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GLM-5","model":"zai.glm-5","description":"Z.ai's flagship open-source foundation model engineered for complex systems design and long-horizon agent workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-02-12","cost":{"input":1,"output":3.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":202752,"output":131072}},{"name":"NVIDIA Nemotron 3 Super 120B A12B","model":"nvidia.nemotron-super-3-120b","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.15,"output":0.65},"reasoning_options":[],"limits":{"context":262144,"output":131072}},{"name":"Claude Sonnet 4.6","model":"anthropic.claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3.3,"output":16.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":128000}}],"azure":[{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6.1 Sol","model":"gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Sol","model":"gpt-6-sol","description":"OpenAI reasoning model for demanding tasks that balances capability, latency, and cost","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Astra","model":"gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":200000,"output":128000}},{"name":"Claude Opus 5","model":"claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.6 Luna","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2,"output":12},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT Chat Latest","model":"gpt-chat-latest","description":"OpenAI's stable chat-latest alias that always resolves to the latest Instant chat model used in ChatGPT","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-05","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":400000,"output":128000}},{"name":"Claude Fable 5","model":"claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.5","model":"gpt-5.5","description":"OpenAI model for complex professional workloads, with stronger reasoning, reliability, and token efficiency than GPT-5.4 on hard tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh"]}],"limits":{"context":1050000,"output":128000}},{"name":"Grok 4.20 (Non-Reasoning)","model":"grok-4-20-non-reasoning","description":"Reasoning model from xAI with industry-leading speed and agentic tool calling capabilities","roles":["chat","edit"],"capabilities":["tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-08","cost":{"input":2,"output":6},"limits":{"context":262000,"output":8192}},{"name":"Grok 4.20 (Reasoning)","model":"grok-4-20-reasoning","description":"Reasoning model from xAI with industry-leading speed and agentic tool calling capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-08","cost":{"input":2,"output":6},"reasoning_options":[],"limits":{"context":262000,"output":8192}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 4.6","model":"claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":64000}},{"name":"DeepSeek-V4-Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.19,"output":0.51},"reasoning_options":[],"limits":{"context":1000000,"output":384000}},{"name":"DeepSeek-V4-Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":1.74,"output":3.48},"reasoning_options":[],"limits":{"context":1000000,"output":384000}}],"ollama":[{"name":"DeepSeek V4.1 Flash 1017","model":"deepseek-v4.1-flash:1017","description":"October 17 update of DeepSeek V4.1 Flash for coding and end-to-end project development, with faster task completion and shorter outputs","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-17","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":384000}},{"name":"Muse Spark Open","model":"muse-spark-open","description":"Open-weight model optimized for agentic coding, reliable tool calling, and codebase understanding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-15","cost":{"input":1.25,"output":4.25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":1048576,"output":131072}},{"name":"Mistral Large 4","model":"mistral-large-4","description":"Multimodal model from Mistral AI for reasoning, coding, and agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-06","cost":{"input":1.36,"output":4.18},"reasoning_options":[{"type":"effort","values":["none","high"]}],"limits":{"context":1048576,"output":262144}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-v4.1-flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":384000}},{"name":"DeepSeek V4 Pro 0813","model":"deepseek-v4-pro:0813","description":"Large-scale Mixture-of-Experts model and generally available release of DeepSeek V4 Pro","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM-5.3-Flash","model":"glm-5.3-flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"GLM-5.3","model":"glm-5.3","description":"Large-scale reasoning model from Z.ai built for complex software engineering and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash 0731","model":"deepseek-v4-flash:0731","description":"DeepSeek V4 Flash 0731 is a sparse mixture-of-experts model from DeepSeek, with 13B active parameters out of 284B total","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.22,"output":0.66},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"kimi-k3","model":"kimi-k3","description":"Moonshot AI's 2.8T-parameter open-weight multimodal reasoning model for complex coding, knowledge work, and long-horizon agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-16","cost":{"input":3,"output":15},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.22,"output":0.66},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4 Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"Gemma 4 31B","model":"gemma4:31b","description":"Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","cost":{"input":0.14,"output":0.4},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"GLM 5.2","model":"glm-5.2","description":"Large-scale reasoning model from Z.ai with a 1M-token context window, suited for long-horizon agent workflows and project-level software engineering","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-13","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":976000,"output":131072}},{"name":"MiniMax M3","model":"minimax-m3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-05-31","cost":{"input":0.6,"output":2.4},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","max"]}],"limits":{"context":512000,"output":131072}},{"name":"MiniMax M2.7","model":"minimax-m2.7","description":"Large language model designed for autonomous, real-world productivity and continuous improvement","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-18","cost":{"input":0.3,"output":1.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":196608,"output":196608}},{"name":"NVIDIA Nemotron 3 Ultra","model":"nemotron-3-ultra","description":"Open reasoning and orchestration model from NVIDIA with 55B active parameters out of 550B total (MoE)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-04","cost":{"input":0.1,"output":3},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":128000}},{"name":"NVIDIA Nemotron 3 Super 120B","model":"nemotron-3-super","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.015,"output":0.6},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":65536}},{"name":"Qwen 3.5 397B","model":"qwen3.5:397b","description":"Built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-02-15","cost":{"input":0.6,"output":3.6},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":65536}}],"wandb":[{"name":"Beam 1.0","model":"reflection/Beam-1.0-501B-A23B","description":"Open-weight reasoning model from Reflection for coding and long-running agent workflows, with 501B total and 23B active parameters","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-10-16","cost":{"input":1,"output":3},"reasoning_options":[{"type":"effort","values":["minimal","low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"Nemotron 3.5 Super VL","model":"nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B","description":"Open multimodal Mixture-of-Experts model with 12B active parameters out of 120B for reasoning, coding, tool use, and document understanding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-15","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-ai/DeepSeek-V4.1-Flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.65},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM 5.3 Flash","model":"zai-org/GLM-5.3-Flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[],"limits":{"context":1048576,"output":1048576}},{"name":"Granite 4.2 8B","model":"ibm-granite/granite-4.2-8b","description":"Dense reasoning model from IBM for mathematics, code generation, multilingual dialogue, and multi-step agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-24","cost":{"input":0.1,"output":0.15},"reasoning_options":[{"type":"toggle"}],"limits":{"context":131072,"output":131072}},{"name":"DeepSeek V4 Pro 0813","model":"deepseek-ai/DeepSeek-V4-Pro-0813","description":"Large-scale Mixture-of-Experts model and generally available release of DeepSeek V4 Pro","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":1.31,"output":3.96},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"Qwen3.8 27B","model":"Qwen/Qwen3.8-27B","description":"Alibaba's 27B dense multimodal model for coding, professional work, research, and long-horizon agentic tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":0.4,"output":3},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"Nemotron 3.5 Lightning","model":"nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B","description":"MoE model built for fast, reliable agentic tasks across financial services, cybersecurity, telecom, and retail","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-11","cost":{"input":0.07,"output":0.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"DeepSeek V4 Flash 0731","model":"deepseek-ai/DeepSeek-V4-Flash-0731","description":"DeepSeek V4 Flash 0731 is a sparse mixture-of-experts model from DeepSeek, with 13B active parameters out of 284B total","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.13,"output":0.28},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"MiniMax M3","model":"MiniMaxAI/MiniMax-M3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-06-12","cost":{"input":0.23,"output":0.96},"reasoning_options":[],"limits":{"context":262144,"output":262144}},{"name":"DeepSeek V4-Flash","model":"deepseek-ai/DeepSeek-V4-Flash","description":"DeepSeek V4-Flash is an MoE model with 1M context length great for coding, reasoning, and agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.14,"output":0.28},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4 Pro","model":"deepseek-ai/DeepSeek-V4-Pro","description":"DeepSeek V4-Pro is a 1.6T-parameter MoE model with 49B active parameters excelling at advanced reasoning, coding, and complex agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":1.15,"output":2.55},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM 5.2","model":"zai-org/GLM-5.2","description":"GLM-5.2 is a Mixture-of-Experts language model featuring 40 billion activated parameters and a total of 744 billion parameters","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-16","cost":{"input":0.62,"output":2.42},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"Nemotron 3 Ultra","model":"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B","description":"Open reasoning and orchestration model from NVIDIA with 55B active parameters out of 550B total (MoE)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-04","cost":{"input":0.5,"output":2.15},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"NVIDIA Nemotron 3 Super 120B","model":"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.2,"output":0.8}},{"name":"gpt-oss-120b","model":"openai/gpt-oss-120b","description":"Open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2025-08-05","cost":{"input":0.03,"output":0.17},"reasoning_options":[],"limits":{"context":131072,"output":131072}},{"name":"gpt-oss-20b","model":"openai/gpt-oss-20b","description":"Open-weight 21B parameter model released by OpenAI under the Apache 2.0 license","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2025-08-05","cost":{"input":0.03,"output":0.13},"reasoning_options":[],"limits":{"context":131072,"output":131072}},{"name":"Mellum2 12B A2.5B","model":"JetBrains/Mellum2-12B-A2.5B-Instruct","description":"Mellum2-12B-A2.5B-Instruct is a fast MoE model with 131K context built for coding, tool use, and low-latency AI workflows","roles":["chat","edit"],"capabilities":["tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-01","cost":{"input":0.05,"output":0.1},"limits":{"context":131072,"output":131072}}],"opencode-go":[{"name":"Beam Free","model":"beam-free","description":"Free access to Reflection's Beam model for coding, reasoning, and long-running agent workflows, available for a limited time in supported regions","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-10-05","cost":{"input":0,"output":0},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"Gemini 4 Argon Contributor","model":"gemini-4-argon-contributor","description":"Contributor tier of Gemini 4 Argon for reasoning, coding, and agents, with prompts and completions eligible for model training","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-13","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"LongCat 2.5 Preview Free","model":"longcat-2.5-preview-free","description":"Multimodal reasoning model from Meituan for coding and agentic workflows, with a one-million-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-25","cost":{"input":0,"output":0},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1000000,"output":131072}},{"name":"Space Bunny Free","model":"space-bunny-free","description":"Anonymous model with fast inference, strong coding capabilities, native multimodal input, and adjustable reasoning effort","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-23","cost":{"input":0,"output":0},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":524288}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"MiMo-V2.6-Flash","model":"mimo-v2.6-flash","description":"Open-source Mixture-of-Experts foundation model from Xiaomi with 309B total parameters and 15B activated per token","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.14,"output":0.28},"reasoning_options":[],"limits":{"context":1048576,"output":131072}},{"name":"MiMo-V2.6-Pro","model":"mimo-v2.6-pro","description":"Xiaomi's flagship foundation model with over one trillion parameters, designed for demanding coding and agentic tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.435,"output":0.87},"reasoning_options":[],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-v4.1-flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"Muse Spark 1.3 Contributor","model":"muse-spark-1.3-contributor","description":"Cost-efficient contributor tier of Meta's multimodal reasoning model for experimentation, learning, and early-stage agentic, multi-agent, and coding workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-02","cost":{"input":0.1,"output":0.2},"reasoning_options":[{"type":"effort","values":["minimal","low","medium","high","xhigh"]}],"limits":{"context":1048576,"output":131072}},{"name":"Hy4 preview","model":"hy4-preview","description":"Mixture-of-Experts model from Tencent designed for coding agents, complex tool use, and productivity tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-28","cost":{"input":0.834,"output":2.501},"reasoning_options":[{"type":"effort","values":["none","high"]}],"limits":{"context":1024000,"output":64000}},{"name":"GLM-5.3-Flash (2x usage)","model":"glm-5.3-flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.8 Flash","model":"qwen3.8-flash","description":"Multimodal reasoning model from Alibaba for coding, agentic workflows, visual understanding, document and codebase analysis, and desktop interaction","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.47},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","xhigh"]},{"type":"budget_tokens"}],"limits":{"context":1000000,"output":131072}},{"name":"DeepSeek V4 Flash Vision Exp","model":"deepseek-v4-flash-vision-exp","description":"Experimental multimodal variant of DeepSeek V4 Flash that adds image understanding while retaining its text and agent capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-21","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"GLM-5.3","model":"glm-5.3","description":"Flagship GLM model for long-horizon coding, agents, and complex project delivery","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.8 Max","model":"qwen3.8-max","description":"Flagship multimodal reasoning model in Alibaba's Qwen3.8 series, intended for complex reasoning, visual understanding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-03","cost":{"input":2,"output":6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","xhigh"]},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":131072}},{"name":"GPT-5.6 Luna (2x usage)","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Kimi K3 (2x usage)","model":"kimi-k3","description":"Moonshot AI's 2.8T-parameter open-weight multimodal reasoning model for complex coding, knowledge work, and long-horizon agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-16","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"DeepSeek V4 Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"GLM 5.2","model":"glm-5.2","description":"Large-scale reasoning model from Z.ai with a 1M-token context window, suited for long-horizon agent workflows and project-level software engineering","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-13","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.7 Plus","model":"qwen3.7-plus","description":"Cost-effective model in Alibaba's Qwen3.7 series supporting text and image input with upgraded text capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-06-02","cost":{"input":0.4,"output":1.6},"reasoning_options":[{"type":"toggle"},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":65536}},{"name":"Qwen3.7 Max","model":"qwen3.7-max","description":"Capable of writing and debugging code, and sustaining autonomous execution across hundreds or thousands of steps","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-05-21","cost":{"input":2.5,"output":7.5},"reasoning_options":[{"type":"toggle"},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":65536}},{"name":"MiniMax M3 (3x usage)","model":"minimax-m3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-05-31","cost":{"input":0.3,"output":1.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1000000,"output":131072}}]}`),Vs=[{name:`OpenAI`,id:`openai`,description:`OpenAI's API for GPT models, including GPT-3.5 and GPT-4.`,url:`https://platform.openai.com/`},{name:`GitHub Copilot`,id:`github`,description:`GitHub Copilot provides model inference through a Copilot subscription.`,url:`https://pydantic.dev/docs/ai/models/github-copilot/`},{name:`Amazon Bedrock`,id:`bedrock`,description:`Amazon Bedrock provides access to foundation models from Amazon and leading AI startups via a unified API.`,url:`https://aws.amazon.com/bedrock/`},{name:`Azure`,id:`azure`,description:`Azure provides access to models via the Azure cloud.`,url:`https://azure.microsoft.com/en-us/products/ai-services/`},{name:`Anthropic`,id:`anthropic`,description:`Anthropic's Claude models for conversational and completion tasks.`,url:`https://www.anthropic.com/`},{name:`Google AI`,id:`google`,description:`Google's Vertex AI and PaLM APIs for generative and conversational models.`,url:`https://cloud.google.com/vertex-ai/docs/generative-ai/learn/overview`},{name:`Ollama`,id:`ollama`,description:`Ollama is a lightweight, open-source model server for running and sharing LLMs.`,url:`https://ollama.ai/`},{name:`marimo`,id:`marimo`,description:`marimo's hosted models.`,url:`https://docs.marimo.io/guides/editor_features/ai_completion/`},{name:`DeepSeek`,id:`deepseek`,description:`DeepSeek's API for GPT models.`,url:`https://deepseek.com/`},{name:`LM Studio`,id:`lmstudio`,description:`LM Studio's API for GPT models.`,url:`https://lmstudio.ai/`},{name:`OpenRouter`,id:`openrouter`,description:`OpenRouter's API for GPT models.`,url:`https://openrouter.ai/`},{name:`Mistral`,id:`mistral`,description:`Mistral's API for GPT models.`,url:`https://mistral.ai/`},{name:`Vercel v0`,id:`vercel`,description:`Vercel's API for GPT models.`,url:`https://vercel.com/`},{name:`Together AI`,id:`together`,description:`Together AI's API for GPT models.`,url:`https://together.ai/`},{name:`xAI`,id:`xai`,description:`xAI's API for GPT models.`,url:`https://x.ai/`},{name:`Weights & Biases`,id:`wandb`,description:`Weights & Biases' hosted models for ML development and AI inference.`,url:`https://wandb.ai/`},{name:`OpenCode Go`,id:`opencode-go`,description:`Low-cost subscription for reliable access to popular open coding models.`,url:`https://opencode.ai/docs/go/`}],Hs=Bs,Us=Vs,Ws=dr(()=>{let e=new Map,t=new Map;for(let[n,r]of Object.entries(Hs)){if(!r)continue;let i=n;for(let n of r){let r=n.model,a={...n,model:r,provider:i,custom:!1},o=`${i}/${r}`;e.set(o,a),(a.roles.includes(`chat`)||a.roles.includes(`edit`))&&!t.has(i)&&t.set(i,o)}}return{modelMap:e,defaultModelByProvider:t}}),Gs=dr(()=>{let e=new Map,t=new Map;return Us.forEach((n,r)=>{e.set(n.id,n),t.set(n.id,r)}),{providerMap:e,providerToOrderIdx:t}}),Ks=class e{modelsByProviderMap=new Oe;modelsMap;customModels;displayedModels;constructor(e,t){this.customModels=new Set(e),this.displayedModels=new Set(t),this.modelsMap=new Map,this.buildMaps()}static getProviderInfo(e){let{providerMap:t}=Gs();return t.get(e)}static create(t){let{customModels:n=[],displayedModels:r=[]}=t;return new e(n.map(e=>Ls.parse(e).id),r.map(e=>Ls.parse(e).id))}buildMaps(){let t=e.buildMapsFromConfig({displayedModels:this.displayedModels,customModels:this.customModels});t.modelsMap.size===0&&(q.error(`The configured displayed_models have filtered out all registered models. Reverting back to showing all models.`,[...this.displayedModels]),t=e.buildMapsFromConfig({displayedModels:new Set,customModels:this.customModels})),this.modelsByProviderMap=t.modelsByProviderMap,this.modelsMap=t.modelsMap}static buildMapsFromConfig(e){let{displayedModels:t,customModels:n}=e,r=t.size>0,i=Ws().modelMap,a=new Map,o=new Map,s=new Oe;for(let e of n){if(r&&!t.has(e))continue;let n=Ls.parse(e),i={name:n.shortModelId,model:n.shortModelId,description:`Custom model`,provider:n.providerId,roles:[],capabilities:[],input_types:[],output_types:[],release_date:`1970-01-01`,custom:!0};a.set(e,i)}if(r)for(let e of t){let t=i.get(e);t&&o.set(e,t)}else o=new Map(i);o=new Map([...a,...o]);for(let[e,t]of o.entries()){let n=Ls.parse(e);s.add(n.providerId,t)}return{modelsByProviderMap:s,modelsMap:o}}getDisplayedModels(){return this.displayedModels}getCustomModels(){return this.customModels}getModelsByProvider(e){return this.modelsByProviderMap.get(e)||[]}getGroupedModelsByProvider(){return this.modelsByProviderMap}getListModelsByProvider(){let e=[...this.getGroupedModelsByProvider().entries()],t=Gs().providerToOrderIdx;return e.sort((e,n)=>{let r=e[0],i=n[0];return(t.get(r)??0)-(t.get(i)??0)}),e}getModelsMap(){return this.modelsMap}getModel(e){return this.modelsMap.get(e)}},qs=Le(`marimo:accept-completion-on-enter`,!0,w,{getOnInit:!0});function Js(e){`scheduler`in window?window.scheduler.postTask(e,{priority:`background`}):`requestIdleCallback`in window?requestIdleCallback(e):setTimeout(e,0)}var Ys=null,Xs=class{view;abortController=new AbortController;constructor(e){this.view=e.view,this.view.dom.addEventListener(`focus`,()=>{Ys=new WeakRef(this.view)},{signal:this.abortController.signal,capture:!0}),this.update()}update(){let e=this.view.dom.querySelector(`.cm-vimCursorLayer`);if(e instanceof HTMLElement){if(_())e.style.display=`none`;else{let t=Ys?.deref()===this.view;e.style.display=t?``:`none`}}}destroy(){this.abortController.abort()}},Zs={map:{args:[`lhs`,`rhs`]},nmap:{mode:`normal`,args:[`lhs`,`rhs`]},vmap:{mode:`visual`,args:[`lhs`,`rhs`]},imap:{mode:`insert`,args:[`lhs`,`rhs`]},noremap:{args:[`lhs`,`rhs`]},nnoremap:{mode:`normal`,args:[`lhs`,`rhs`]},vnoremap:{mode:`visual`,args:[`lhs`,`rhs`]},inoremap:{mode:`insert`,args:[`lhs`,`rhs`]},unmap:{args:[`lhs`]},nunmap:{mode:`normal`,args:[`lhs`]},vunmap:{mode:`visual`,args:[`lhs`]},iunmap:{mode:`insert`,args:[`lhs`]},mapclear:{},nmapclear:{mode:`normal`},vmapclear:{mode:`visual`},imapclear:{mode:`insert`}};function Qs(e,t){let n=[];for(let r of e.split(`
2
- `)){if(r.startsWith(`"`)||r.trim()===``)continue;let e=$s(r,t);e&&n.push(e)}return n}function $s(e,t){let n=e.split(/\s+/),r=n[0],i=0;if(r in Zs){let a=Zs[r],o={};for(let s of a.args||[])if(i+=1,i<n.length)o[s]=n[i];else{t&&t(`Not enough arguments for "${r}" command: "${e}"`);return}let s={name:r};return`args`in a&&(s.args=o),`mode`in a&&(s.mode=a.mode),s}t&&t(`Unknown vimrc command: "${e}"`)}function ec(){return nc(),rc(),[Kn.of([{key:`j`,run:e=>{if(K(e,!0)&&te(e)){let t=e.state.facet(l),n=e.state.facet(L);return t.moveToNextCell({cellId:n,before:!1,noCreate:!0}),!0}return!1}}]),Kn.of([{key:`k`,run:e=>{if(D(e)&&te(e)){let t=e.state.facet(l),n=e.state.facet(L);return t.moveToNextCell({cellId:n,before:!0,noCreate:!0}),!0}return!1}}]),Kn.of([{linux:`Ctrl-[`,win:`Ctrl-[`,run:e=>{let t=z(e);return t?cc(t)?t.state.vim.insertMode?(S.exitInsertMode(t,!0),!0):!1:(q.warn(`Expected CodeMirror instance to have Vim state`),!1):(q.warn(`Expected CodeMirror instance to have CodeMirror instance state`),!1)}}]),Yn.define(e=>(requestAnimationFrame(()=>{sc.INSTANCES.addInstance(e)}),{destroy(){sc.INSTANCES.removeInstance(e)}})),Yn.define(e=>new Xs({view:e})),Jn.domEventHandlers({keydown(e,t){return e.ctrlKey&&e.key===`Escape`?(t.dom.dispatchEvent(new KeyboardEvent(e.type,e)),!0):!1}})]}function tc(e,t){let n=e.cm6;if(!n)return;let r=n.coordsAtPos(n.state.selection.main.head);if(!r)return;let i=document.getElementById(`App`);if(!i)return;let a=i.clientHeight,o;switch(t){case`center`:o=(r.top+r.bottom)/2-a/2;break;case`start`:o=r.top;break;case`end`:o=r.bottom-a}i.scrollBy({top:o,behavior:`smooth`})}var nc=dr(()=>{S.defineAction(`goToDefinition`,e=>{let t=e.cm6;return N(t)}),S.mapCommand(`gd`,`action`,`goToDefinition`,{},{context:`normal`}),S.defineAction(`scrollCursorToCenter`,e=>tc(e,`center`)),S.mapCommand(`zz`,`action`,`scrollCursorToCenter`,{},{context:`normal`}),S.defineAction(`scrollCursorToTop`,e=>tc(e,`start`)),S.mapCommand(`zt`,`action`,`scrollCursorToTop`,{},{context:`normal`}),S.defineAction(`scrollCursorToBottom`,e=>tc(e,`end`)),S.mapCommand(`zb`,`action`,`scrollCursorToBottom`,{},{context:`normal`}),S.defineEx(`write`,`w`,e=>{let t=e.cm6;t&&t.state.facet(l).saveNotebook()})}),rc=dr(async()=>{let e=a.get(ge).keymap?.vimrc;if(e)try{q.log(`Loading vimrc from ${e}`);let t=(await _r().sendFileDetails({path:e})).contents;if(!t){q.error(`Failed to load vimrc from ${e}`);return}ic(Qs(t,q.warn))}catch(e){q.error(`Failed to load vimrc:`,e)}});function ic(e){function t(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs||!e.args.rhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.map(e.args.lhs,e.args.rhs,e.mode):S.map(e.args.lhs,e.args.rhs)}function n(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs||!e.args.rhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.noremap(e.args.lhs,e.args.rhs,e.mode):S.noremap(e.args.lhs,e.args.rhs)}function r(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.unmap(e.args.lhs,e.mode):S.unmap(e.args.lhs)}function i(e){e.mode?S.mapclear(e.mode):S.mapclear()}for(let a of e)`map|nmap|vmap|imap`.split(`|`).includes(a.name)?t(a):`noremap|nnoremap|vnoremap|inoremap`.split(`|`).includes(a.name)?n(a):`unmap|nunmap|vunmap|iunmap`.split(`|`).includes(a.name)?r(a):`mapclear|nmapclear|vmapclear|imapclear`.split(`|`).includes(a.name)?i(a):q.warn(`Could not execute vimrc command "${a.name}: unknown command"`)}function ac(e){return`getVimGlobalState_`in e&&typeof e.getVimGlobalState_==`function`}function oc(){if(!ac(S))return!1;let e=S.getVimGlobalState_()?.macroModeState;return e?!!(e.isRecording||e.isPlaying):!1}var sc=class e{instances=new Set;isBroadcasting=!1;static INSTANCES=new e;constructor(){}addInstance(e){this.instances.add(e);let t=z(e);if(!t){q.warn(`Expected CodeMirror instance to have CodeMirror instance state`);return}t.on(`vim-mode-change`,t=>{if(this.isBroadcasting)return;Te(`mode`in t,`Expected event to have a "mode" property`);let n=oc();this.isBroadcasting=!0,Js(()=>{n||this.broadcastModeChange(e,t.mode,t.subMode),this.isBroadcasting=!1})})}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,t,n){Te(`exitInsertMode`in S,`Vim does not have an exitInsertMode method`),Te(`exitVisualMode`in S,`Vim does not have an exitVisualMode method`);for(let n of this.instances)if(n!==e){let e=z(n);if(!e){q.warn(`Expected CodeMirror instance to have CodeMirror instance state`);continue}let r=e.setSelections.bind(e);if(e.setSelections=()=>[],!cc(e)){q.warn(`Expected CodeMirror instance to have Vim state`);continue}let i=e.state.vim;switch(t){case`normal`:i.insertMode&&S.exitInsertMode(e,!0),i.visualMode&&S.exitVisualMode(e,!0);break;case`insert`:i.insertMode||S.handleKey(e,`i`,`mapping`)}e.setSelections=r}}};function cc(e){return e.state.vim!==void 0}var lc=[`default`,`vim`];function uc(e,t){switch(e.preset){case`default`:return[Kn.of(fc()),Kn.of(pc(t))];case`vim`:return[Kn.of(mc()),Kn.of(pc(t)),Kn.of([{key:`Enter`,run:e=>z(e)?.state.vim?.insertMode?or(e):!1}]),qn.high(hc(`d`,e=>e.state.doc.toString()===``,e=>e.state.doc.toString()===``&&(e.state.facet(l).deleteCell(),!0))),Kn.of(_c()),p({status:!1}),qn.high(ec())];default:return fr(e.preset),[]}}var dc=new Set([tr,Zn,sr,rr]),fc=dr(()=>cr.filter(e=>!dc.has(e.run))),pc=e=>[{key:e.getHotkey(`cell.toggleComment`).key,run:tr},{key:e.getHotkey(`cell.toggleBlockComment`).key,run:Zn},{key:e.getHotkey(`cell.copyLineUp`).key,run:sr},{key:e.getHotkey(`cell.copyLineDown`).key,run:rr}],mc=dr(()=>{let e=new Set([`Enter`,`Ctrl-v`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]);return fc().filter(t=>!e.has(t.key||t.mac||t.linux||t.win||``))});function hc(e,t,n){let r=``,i=0;return Kn.of([{any:(a,o)=>{let s=o.key,c=o.timeStamp;return s!==e||!t(a)?(r=``,i=0,!1):r===e&&c-i<500&&n(a)?(r=``,i=0,!0):(r=s,i=c,!1)}}])}function gc(e){return e?.state.vim?.visualMode===!0}function _c(){let e=e=>t=>!gc(z(t))&&e(t);return[{key:`ArrowDown`,run:e(lr),shift:e(er)},{key:`ArrowUp`,run:e(nr),shift:e(Xn)},{key:`ArrowLeft`,run:e(ar),shift:e(Qn)},{key:`ArrowRight`,run:e(ir),shift:e($n)}]}function vc(){return[`compact`,`medium`,`full`,`columns`]}var yc={openai:e=>!!e?.open_ai?.api_key,github:e=>!!e?.github?.api_key,anthropic:e=>!!e?.anthropic?.api_key,google:e=>!!e?.google?.api_key,openrouter:e=>!!e?.openrouter?.api_key,azure:e=>!!(e?.azure?.api_key&&e?.azure?.base_url),wandb:e=>!!e?.wandb?.api_key,"opencode-go":e=>!!e?.opencode_go?.api_key,bedrock:e=>!!e?.bedrock?.region_name,ollama:e=>!!e?.ollama?.base_url,deepseek:()=>!1,marimo:e=>!!e?.open_ai_compatible?.base_url};function bc(e){let t=Is.filter(t=>yc[t](e)),n=Object.entries(e?.custom_providers??{}).filter(([,e])=>!!e?.base_url).map(([e])=>e);return[...t,...n]}function xc(e,t){let n=new Set(bc(t));return e.filter(([e])=>n.has(e))}function Sc(e,t){return t?.allow_provider_config===!1?xc(e,t):[...e]}function Cc(e){let t=bc(e)[0];if(t)return Ws().defaultModelByProvider.get(t)}function wc(e){let t={chatModel:void 0,editModel:void 0},n=!e?.models?.chat_model,r=!e?.models?.edit_model;if(!n&&!r)return t;let i=Cc(e);return i?(n&&(t.chatModel=i),r&&(t.editModel=i),t):t}var Y=ie();function Tc(e){return e.toLowerCase().replaceAll(`+`,`-`).trim()}function Ec(e,t){let n=e.getHotkeyGroups(),r=t?new Set(n[t]||[]):new Set,i=new Map;for(let t of e.iterate()){if(r.has(t))continue;let n=e.getHotkey(t);if(!n.key||n.key.trim()===``)continue;let a=Tc(n.key);i.has(a)||i.set(a,[]);let o=i.get(a);o&&o.push({action:t,name:n.name})}let a=[],o=new Set;for(let[e,t]of i.entries())if(t.length>1){a.push({key:e,actions:t});for(let{action:e}of t)o.add(e)}return{duplicates:a,hasDuplicate:e=>o.has(e),getDuplicatesFor:t=>{let n=e.getHotkey(t);if(!n.key||n.key.trim()===``)return[];let r=Tc(n.key),i=a.find(e=>e.key===r);return!i||i.actions.length<=1?[]:i.actions.filter(e=>e.action!==t).map(e=>e.action)}}}function Dc(e,t){let n=(0,Y.c)(3),r;return n[0]!==e||n[1]!==t?(r=Ec(e,t),n[0]=e,n[1]=t,n[2]=r):r=n[2],r}var Oc=r({});function kc(){return i(Oc)}function Ac(){let e=(0,Y.c)(7),t=s(Oc),n;e[0]===t?n=e[1]:(n=(e,n)=>{t(t=>({...t,[e]:n}))},e[0]=t,e[1]=n);let r=o(n),i;e[2]===t?i=e[3]:(i=e=>{t(t=>we.omit(t,[e]))},e[2]=t,e[3]=i);let a=o(i),c;return e[4]!==r||e[5]!==a?(c={registerAction:r,unregisterAction:a},e[4]=r,e[5]=a,e[6]=c):c=e[6],c}function jc(e,t,n){let r=(0,Y.c)(17),a;r[0]===n?a=r[1]:(a=n===void 0?{}:n,r[0]=n,r[1]=a);let{disabled:s}=a,c=s!==void 0&&s,{registerAction:l,unregisterAction:u}=Ac(),d=i(le),f=t===ye.NOOP,p;r[2]===t?p=r[3]:(p=e=>t(e),r[2]=t,r[3]=p);let m=o(p),h;r[4]!==t||r[5]!==c||r[6]!==d||r[7]!==e?(h=n=>{if(c||n.defaultPrevented)return;let r=d.getHotkey(e).key;Se(r)(n)&&t(n)!==!1&&(n.preventDefault(),n.stopPropagation())},r[4]=t,r[5]=c,r[6]=d,r[7]=e,r[8]=h):h=r[8];let g=o(h);Ce(document,`keydown`,g);let _,v;r[9]!==c||r[10]!==f||r[11]!==m||r[12]!==l||r[13]!==e||r[14]!==u?(_=()=>{if(!f&&!c)return l(e,m),()=>u(e)},v=[m,e,f,c,l,u],r[9]=c,r[10]=f,r[11]=m,r[12]=l,r[13]=e,r[14]=u,r[15]=_,r[16]=v):(_=r[15],v=r[16]),(0,J.useEffect)(_,v)}var X=We(),Mc=e=>{let t=(0,Y.c)(7),{duplicates:n}=e;if(n.length===0)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(Un,{className:`h-4 w-4`}),i=(0,X.jsx)(Ar,{children:`Duplicate shortcuts`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(`p`,{className:`mb-2`,children:`Multiple actions are assigned to the same keyboard shortcut:`}),t[2]=a):a=t[2];let o;t[3]===n?o=t[4]:(o=n.map(Pc),t[3]=n,t[4]=o);let s;return t[5]===o?s=t[6]:(s=(0,X.jsxs)(jr,{variant:`warning`,className:`mb-4`,children:[r,i,(0,X.jsxs)(kr,{children:[a,(0,X.jsx)(`ul`,{className:`space-y-2`,children:o})]})]}),t[5]=o,t[6]=s),s};function Nc(e){let{action:t,name:n}=e;return(0,X.jsx)(`li`,{children:n},t)}function Pc(e){let{key:t,actions:n}=e;return(0,X.jsxs)(`li`,{className:`text-xs`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,X.jsx)(Br,{shortcut:t}),(0,X.jsx)(`span`,{className:`font-semibold`,children:`is used by:`})]}),(0,X.jsx)(`ul`,{className:`ml-6 list-disc`,children:n.map(Nc)})]},t)}var Fc=r(!1),Ic=()=>{let e=(0,Y.c)(89),[t,r]=n(Fc),[a,o]=(0,J.useState)(null),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[],e[0]=s):s=e[0];let[c,l]=(0,J.useState)(s),[u,d]=se(),f=i(le),{saveUserConfig:p}=gr(),{duplicates:m,hasDuplicate:h,getDuplicatesFor:g}=Dc(f,`Markdown`),_;e[1]===r?_=e[2]:(_=()=>r(Lc),e[1]=r,e[2]=_),jc(`global.showHelp`,_);let v;e[3]!==u||e[4]!==p||e[5]!==d?(v=async e=>{let t={...u};d(t=>({...t,...e})),await p({config:e}).catch(e=>{throw d(t),e})},e[3]=u,e[4]=p,e[5]=d,e[6]=v):v=e[6];let y=v,x;e[7]!==u||e[8]!==a||e[9]!==y?(x=async e=>{if(!a)return;let t=e.join(`-`),n={keymap:{...u.keymap,overrides:{...u.keymap.overrides,[a]:t}}};o(null),l([]),await y(n)},e[7]=u,e[8]=a,e[9]=y,e[10]=x):x=e[10];let S=x,C;e[11]!==u||e[12]!==a||e[13]!==y?(C=async()=>{if(!a)return;let e={keymap:{...u.keymap,overrides:{...u.keymap.overrides}}};delete e.keymap.overrides[a],o(null),l([]),await y(e)},e[11]=u,e[12]=a,e[13]=y,e[14]=C):C=e[14];let w=C,T;e[15]!==u||e[16]!==y?(T=async()=>{if(!window.confirm(`Are you sure you want to reset all shortcuts to their default values?`))return;let e={keymap:{...u.keymap,overrides:{}}};o(null),l([]),await y(e)},e[15]=u,e[16]=y,e[17]=T):T=e[17];let E=T;if(!t)return null;let D;e[18]!==a||e[19]!==g||e[20]!==S||e[21]!==w||e[22]!==h||e[23]!==f||e[24]!==c?(D=e=>{let t=f.getHotkey(e);if(a===e){let n=xe(e);return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Fn,{defaultValue:c.join(`+`),placeholder:t.name,onKeyDown:e=>{e.preventDefault();let t=[];if(e.key===`Meta`||e.key===`Control`||e.key===`Alt`||e.key===`Shift`||(e.metaKey&&t.push(be()?`Cmd`:`Meta`),e.ctrlKey&&t.push(`Ctrl`),e.altKey&&t.push(`Alt`),e.shiftKey&&t.push(`Shift`),e.key===`-`))return;if(e.key===`Escape`&&t.length===0){o(null),l([]);return}let n=e.key.length===1?e.key.toLowerCase():e.key;e.key===` `&&(n=`Space`),t.push(n),S(t)},autoFocus:!0,endAdornment:(0,X.jsx)(Et,{variant:`text`,size:`xs`,className:`mb-0`,onClick:()=>{o(null),l([])},children:(0,X.jsx)(At,{className:`w-4 h-4`})})}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between w-full`,children:[(0,X.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Press a key combination`}),n.key!==t.key&&(0,X.jsxs)(`span`,{className:`text-xs cursor-pointer text-primary`,onClick:w,children:[`Reset to default:`,` `,(0,X.jsx)(`span`,{className:`font-mono`,children:n.key})]})]})]},e)}let n=h(e),r=n?g(e):[];return(0,X.jsxs)(`div`,{className:`grid grid-cols-[auto_2fr_3fr] gap-2 items-center`,children:[f.isEditable(e)?(0,X.jsx)(b,{className:`cursor-pointer opacity-60 hover:opacity-100 text-muted-foreground w-3 h-3`,onClick:()=>{l([]),o(e)}}):(0,X.jsx)(`div`,{className:`w-3 h-3`}),(0,X.jsx)(Br,{className:`justify-end`,shortcut:t.key}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(`span`,{children:t.name.toLowerCase()}),n&&(0,X.jsxs)(`div`,{className:`group relative inline-flex`,children:[(0,X.jsx)(Un,{className:`w-3 h-3 text-(--yellow-11)`}),(0,X.jsxs)(`div`,{className:`invisible group-hover:visible absolute left-0 top-5 z-10 w-max max-w-xs rounded-md bg-(--yellow-2) border border-(--yellow-7) p-2 text-xs text-(--yellow-11) shadow-md`,children:[`Also used by:`,` `,r.map(e=>f.getHotkey(e).name.toLowerCase()).join(`, `)]})]})]})]},e)},e[18]=a,e[19]=g,e[20]=S,e[21]=w,e[22]=h,e[23]=f,e[24]=c,e[25]=D):D=e[25];let O=D,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U,ee,W,G,te;if(e[26]!==u.keymap.preset||e[27]!==m||e[28]!==f||e[29]!==t||e[30]!==O||e[31]!==r){let n=f.getHotkeyGroups(),i=(e,t)=>{let r=n[e];return(0,X.jsxs)(`div`,{className:`mb-[40px] gap-2 flex flex-col`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h3`,{className:`text-lg font-medium`,children:e}),t]}),r.map(O)]})};j=en,U=t,e[51]===r?ee=e[52]:(ee=e=>r(e),e[51]=r,e[52]=ee),A=Tn,V=`sm:items-center sm:top-0`,e[53]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,X.jsx)(Ht,{}),e[53]=H):H=e[53],k=yn,L=!1,R=`max-h-screen sm:max-h-[90vh] overflow-y-auto sm:max-w-[850px]`,e[54]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,X.jsx)(cn,{children:(0,X.jsx)(Ln,{children:`Shortcuts`})}),e[54]=z):z=e[54],e[55]===m?B=e[56]:(B=(0,X.jsx)(Mc,{duplicates:m}),e[55]=m,e[56]=B),F=`flex flex-row gap-3`,I=(0,X.jsxs)(`div`,{className:`w-1/2`,children:[i(`Editing`),i(`Markdown`)]}),W=`w-1/2`,G=i(`Navigation`),te=i(`Running Cells`),M=i(`Creation and Ordering`),N=(e=>i(e,(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground flex items-center gap-1`,children:[`Press`,` `,u.keymap.preset===`vim`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Br,{shortcut:be()?`Cmd`:`Ctrl`}),(0,X.jsx)(Or,{children:`Esc`})]}):(0,X.jsx)(Or,{children:`Esc`}),` `,`in a cell to enter command mode`]})))(`Command`),P=i(`Other`),e[26]=u.keymap.preset,e[27]=m,e[28]=f,e[29]=t,e[30]=O,e[31]=r,e[32]=k,e[33]=A,e[34]=j,e[35]=M,e[36]=N,e[37]=P,e[38]=F,e[39]=I,e[40]=L,e[41]=R,e[42]=z,e[43]=B,e[44]=V,e[45]=H,e[46]=U,e[47]=ee,e[48]=W,e[49]=G,e[50]=te}else k=e[32],A=e[33],j=e[34],M=e[35],N=e[36],P=e[37],F=e[38],I=e[39],L=e[40],R=e[41],z=e[42],B=e[43],V=e[44],H=e[45],U=e[46],ee=e[47],W=e[48],G=e[49],te=e[50];let K;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,X.jsx)(`span`,{className:`text-destructive`,children:`Reset all to default`}),e[57]=K):K=e[57];let ne;e[58]===E?ne=e[59]:(ne=(0,X.jsx)(Et,{className:`mt-4 hover:bg-destructive/10 border-destructive hover:border-destructive`,variant:`outline`,size:`xs`,onClick:E,tabIndex:-1,children:K}),e[58]=E,e[59]=ne);let re;e[60]!==M||e[61]!==N||e[62]!==P||e[63]!==ne||e[64]!==W||e[65]!==G||e[66]!==te?(re=(0,X.jsxs)(`div`,{className:W,children:[G,te,M,N,P,ne]}),e[60]=M,e[61]=N,e[62]=P,e[63]=ne,e[64]=W,e[65]=G,e[66]=te,e[67]=re):re=e[67];let ie;e[68]!==F||e[69]!==I||e[70]!==re?(ie=(0,X.jsxs)(`div`,{className:F,children:[I,re]}),e[68]=F,e[69]=I,e[70]=re,e[71]=ie):ie=e[71];let ae;e[72]!==k||e[73]!==L||e[74]!==R||e[75]!==z||e[76]!==B||e[77]!==ie?(ae=(0,X.jsxs)(k,{usePortal:L,className:R,children:[z,B,ie]}),e[72]=k,e[73]=L,e[74]=R,e[75]=z,e[76]=B,e[77]=ie,e[78]=ae):ae=e[78];let oe;e[79]!==A||e[80]!==V||e[81]!==H||e[82]!==ae?(oe=(0,X.jsxs)(A,{className:V,children:[H,ae]}),e[79]=A,e[80]=V,e[81]=H,e[82]=ae,e[83]=oe):oe=e[83];let ce;return e[84]!==j||e[85]!==U||e[86]!==ee||e[87]!==oe?(ce=(0,X.jsx)(j,{open:U,onOpenChange:ee,children:oe}),e[84]=j,e[85]=U,e[86]=ee,e[87]=oe,e[88]=ce):ce=e[88],ce};function Lc(e){return!e}var Rc=`marimo:copilot:signedIn`,zc=Le(Rc,null,w,{getOnInit:!0}),Bc=r(null),Vc=r(null),Hc=r({busy:!1,kind:null,message:null});function Uc(e){a.set(Vc,e)}function Wc(e){a.get(Vc)===e&&a.set(Vc,null)}function Gc(){return y.getItem(Rc)===`true`}function Kc(){let e=Gc(),t=pe();return e&&t.completion.copilot===`github`}function qc(){return t(ge,e=>e.completion.copilot===`github`)}var Jc=h(),Yc=q.get(`@github/copilot-language-server`),Xc=1e4,Zc=`python`;function Qc(e){Te(u(e)&&C(e,`request`)&&C(e,`notify`),`LanguageServerClient is missing request/notify`)}function $c(e){if(!u(e))return null;let{busy:t,kind:n,message:r,status:i}=e;return{busy:typeof t==`boolean`&&t,kind:typeof n==`string`?n:null,message:typeof r==`string`?r:null,status:typeof i==`string`?i:void 0}}function el(e){return u(e)&&typeof e.type==`number`&&typeof e.message==`string`}var tl=class extends E{documentVersion=0;pendingChange;completionController;openDocumentCount=0;lastOpenedDocument;copilotSettings={};constructor(e){super(e),this.copilotSettings=e.copilotSettings??{},this.onNotification(this.handleNotification),this.attachInitializeListener()}attachInitializeListener(){this.initializePromise.then(()=>this.sendConfiguration()).catch(e=>{Yc.warn(`#initialize: Failed to send configuration`,e)})}async reInitialize(){Yc.log(`#reInitialize: Re-initializing LSP connection`),this.completionController?.abort(),this.initializePromise=this.initialize(),await this.initializePromise,await this.sendConfiguration(),this.applyPendingChange(),this.openDocumentCount>0&&this.lastOpenedDocument&&await this.sendNotification(`textDocument/didOpen`,this.lastOpenedDocument)}async sendConfiguration(){let e=this.copilotSettings;!e||Object.keys(e).length===0||(await this.sendNotification(`workspace/didChangeConfiguration`,{settings:e}),Yc.debug(`#sendConfiguration: Configuration sent`,e))}async _request(e,t,n){return Qc(this),await this.request(e,t,Xc,n)}async sendNotification(e,t){return Yc.debug(`#notify`,e,t),Qc(this),this.notify(e,t)}getInitializationOptions(){let e={name:`marimo`,version:`0.1.0`};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!Kc()}async textDocumentDidOpen(e){return!this.isDisabled()&&(this.openDocumentCount++,this.lastOpenedDocument=e,this.documentVersion=Math.max(this.documentVersion,e.textDocument.version),super.textDocumentDidOpen(e))}async textDocumentDidClose(e){if(this.openDocumentCount!==0)return this.openDocumentCount--,this.openDocumentCount===0&&(this.pendingChange=void 0,this.completionController?.abort()),super.textDocumentDidClose(e)}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return;let t=e.contentChanges[0];if(!t){Yc.warn(`#textDocumentDidChange: Ignoring an update with no content changes.`,e);return}this.openDocumentCount===0&&await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:Zc,version:e.textDocument.version,text:t.text}});let n=e.contentChanges;n.length!==1&&Yc.warn(`#textDocumentDidChange: Multiple changes detected. This is not supported.`,n),`range`in t&&Yc.warn(`#textDocumentDidChange: Copilot doesn't support range changes.`,t),this.completionController?.abort(),this.pendingChange={...e,textDocument:Jc.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)}}applyPendingChange(e){let t=this.pendingChange;if(!t)return;this.pendingChange=void 0;let n=e??j(t.contentChanges[0].text);return this.lastOpenedDocument={textDocument:{...t.textDocument,languageId:this.lastOpenedDocument?.textDocument.languageId??Zc,text:n}},{...t,contentChanges:[{text:n}]}}async flushDocumentChanges(e){let t=e!==void 0&&this.lastOpenedDocument?j(e):void 0;e!==void 0&&this.lastOpenedDocument&&(this.pendingChange?this.pendingChange.contentChanges[0].text!==e:t!==this.lastOpenedDocument.textDocument.text)&&(this.pendingChange={textDocument:Jc.VersionedTextDocumentIdentifier.create(this.lastOpenedDocument.textDocument.uri,++this.documentVersion),contentChanges:[{text:e}]});let n=this.pendingChange,r=this.applyPendingChange(t);if(r)try{await super.textDocumentDidChange(r)}catch(e){throw this.pendingChange??=n,e}return this.lastOpenedDocument?.textDocument.text??``}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request(`signOut`,{})}async signInInitiate(){Yc.log(`#signInInitiate: Starting sign-in flow`);try{let e=await this._request(`signIn`,{});return Yc.log(`#signInInitiate: Sign-in flow started successfully`),e}catch(e){throw Yc.warn(`#signInInitiate: Failed to start sign-in flow`,e),e}}async signInConfirm(e){Yc.log(`#signInConfirm: Confirming sign-in`);try{let t=await this._request(`signInConfirm`,e);return Yc.log(`#signInConfirm: Sign-in confirmed successfully`),t}catch(e){throw Yc.warn(`#signInConfirm: Failed to confirm sign-in`,e),e}}async signedIn(){try{let{status:e}=await this._request(`checkStatus`,{});return Yc.log(`#checkStatus: Status check completed`,{status:e}),e===`SignedIn`||e===`AlreadySignedIn`||e===`OK`}catch(e){throw Yc.warn(`#signedIn: Failed to check sign-in status`,e),e}}async getCompletion(e,t){if(this.isDisabled()||t?.aborted||this.openDocumentCount===0)return null;this.completionController?.abort();let n=new AbortController;this.completionController=n;let r=()=>n.abort();t?.addEventListener(`abort`,r,{once:!0});let i=this.documentVersion;Uc(i);try{if(await this.flushDocumentChanges(),n.signal.aborted||this.isDisabled()||i===0)return null;let t=await this._request(`textDocument/inlineCompletion`,{...e,textDocument:Jc.VersionedTextDocumentIdentifier.create(e.textDocument.uri,i)},n.signal);return n.signal.aborted||this.isDisabled()||i!==this.documentVersion?null:t}catch(e){return n.signal.aborted||Yc.warn(`#getCompletion: Failed to fetch completions`,e),null}finally{t?.removeEventListener(`abort`,r),this.completionController===n&&(this.completionController=void 0,Wc(i))}}close(){this.pendingChange=void 0,this.completionController?.abort(),super.close()}handleNotification=e=>{if(!(!u(e)||typeof e.method!=`string`)){if(e.method===`statusNotification`||e.method===`didChangeStatus`){let t=$c(e.params);t?a.set(Hc,t):Yc.warn(`#statusNotification: Ignoring a status update with no params`,e.params);return}if(e.method===`window/logMessage`&&el(e.params)){let{type:t,message:n}=e.params;switch(t){case 1:Yc.error(`[GitHub Copilot]`,n);break;case 2:Yc.warn(`[GitHub Copilot]`,n);break;case 3:Yc.debug(`[GitHub Copilot]`,n);break;default:Yc.log(`[GitHub Copilot]`,n)}}}}},nl=class extends O{constructor(e){super({getWsUrl:e.getWsUrl,waitForConnection:e.waitForReady,retries:e.retries??3,retryDelayMs:e.retryDelayMs??1e3,onConnectionFailure:t=>{e.showError(`GitHub Copilot Connection Error`,`Failed to connect to GitHub Copilot. Please check your settings and try again.\n\n${Dr(t)}`)}})}},rl=`/__marimo_copilot__.py`,il=`copilot`,al=`file://${rl}`,ol=dr(()=>{let e=Ve();return new nl({getWsUrl:()=>e.getLSPURL(`copilot`).toString(),waitForReady:async()=>{await qc(),await Re()},showError:(e,t)=>{Gn({variant:`danger`,title:e,description:t})}})}),sl=dr(()=>{let e=a.get(ge).ai?.github?.copilot_settings??{},t=ol(),n=new tl({rootUri:al,workspaceFolders:null,transport:t,copilotSettings:e});return t.onReconnect=()=>n.reInitialize(),n});function cl(){return ne({documentUri:al,client:sl(),languageId:il,hoverEnabled:!1,completionEnabled:!1,definitionEnabled:!1,renameEnabled:!1,codeActionsEnabled:!1,signatureHelpEnabled:!1,diagnosticsEnabled:!1,sendIncrementalChanges:!1})}var ll=(0,J.memo)(()=>{let[e,t]=n(zc),[r,i]=n(Bc),[a,o]=(0,J.useState)(),[s,c]=(0,J.useState)(!1),l=async e=>{e.preventDefault(),c(!0);try{let e=await fl();if(!e?.verificationUri||!e.userCode){q.error(`Copilot#trySignIn: Invalid response from sign-in`,{result:e}),i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:`Unable to connect to GitHub Copilot. Please check your settings and try again.`,variant:`danger`});return}let{verificationUri:n,status:r,userCode:a}=e;_l(r)?t(!0):(i(`signingIn`),o({url:n,code:a}))}catch(e){q.error(`Copilot#trySignIn: Error during sign-in`,e),i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:e instanceof Error?e.message:`Unable to connect to GitHub Copilot. Please check your settings and try again.`,variant:`danger`})}finally{c(!1)}},u=async e=>{if(e.preventDefault(),a){c(!0);try{let e=await pl(a.code);e.success?(t(!0),i(`signedIn`)):e.error===`connection`?(i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:`Lost connection during sign-in. Please try again.`,variant:`danger`,action:(0,X.jsx)(Et,{onClick:l,children:`Retry`})})):i(`signInFailed`)}finally{c(!1)}}},d=async e=>{e.preventDefault(),await hl(),t(!1),i(`signedOut`)};return(()=>{switch(r??(e?`signedIn`:`connecting`)){case`connecting`:return(0,X.jsx)(et,{className:`font-normal flex`,children:`Connecting...`});case`signedOut`:return(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Sign in to GitHub Copilot`});case`signingIn`:return(0,X.jsxs)(`ol`,{className:`ml-4 text-sm list-decimal [&>li]:mt-2`,children:[(0,X.jsx)(`li`,{children:(0,X.jsxs)(`div`,{className:`flex items-center`,children:[`Copy this code:`,(0,X.jsx)(`strong`,{className:`ml-2`,children:a?.code}),(0,X.jsx)(Nt,{className:`ml-2 cursor-pointer opacity-60 hover:opacity-100 h-3 w-3`,onClick:async()=>{a&&(await Wn(a.code),Gn({description:`Copied to clipboard`}))}})]})}),(0,X.jsxs)(`li`,{children:[`Enter the code at this link:`,(0,X.jsx)(`a`,{href:a?.url,target:`_blank`,rel:`noreferrer`,className:wt({variant:`link`,size:`xs`}),children:a?.url})]}),(0,X.jsxs)(`li`,{children:[`Click here when done:`,(0,X.jsxs)(Et,{size:`xs`,onClick:u,className:`ml-1`,children:[s&&(0,X.jsx)(Lt,{className:`h-3 w-3 mr-1 animate-spin`}),`Done`]})]})]});case`signInFailed`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`div`,{className:`text-destructive text-sm`,children:`Sign in failed. Please try again.`}),s?(0,X.jsx)(Lt,{className:`h-3 w-3 mr-1 animate-spin`}):(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Connect to GitHub Copilot`})]});case`signedIn`:return(0,X.jsxs)(`div`,{className:`flex items-center gap-5`,children:[(0,X.jsxs)(et,{className:`font-normal flex items-center`,children:[(0,X.jsx)(`div`,{className:`inline-flex items-center justify-center bg-(--grass-7) rounded-full p-1 mr-2`,children:(0,X.jsx)(Ot,{className:`h-3 w-3 text-white`})}),`Connected`]}),(0,X.jsx)(Et,{onClick:d,size:`xs`,variant:`text`,children:`Disconnect`})]});case`connectionError`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(et,{className:`font-normal flex`,children:[(0,X.jsx)(At,{className:`h-4 w-4 mr-1`}),`Connection Error`]}),(0,X.jsx)(`div`,{className:`text-sm`,children:`Unable to connect to GitHub Copilot.`}),(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Retry Connection`})]});case`notConnected`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(et,{className:`font-normal flex`,children:[(0,X.jsx)(At,{className:`h-4 w-4 mr-1`}),`Unable to connect`]}),(0,X.jsxs)(`div`,{className:`text-sm`,children:[`For troubleshooting, see the`,` `,(0,X.jsx)(It,{href:`https://docs.marimo.io/getting_started/index.html#github-copilot`,children:`docs`}),`.`]})]})}})()});ll.displayName=`CopilotConfig`;var ul=5,dl=3e3;async function fl(){return await sl().signInInitiate()}async function pl(e){let t=sl();try{q.log(`Copilot#tryFinishSignIn: Attempting to confirm sign-in`);let{status:n}=await t.signInConfirm({userCode:e});return _l(n)?(q.log(`Copilot#tryFinishSignIn: Sign-in confirmed successfully`),{success:!0}):(q.warn(`Copilot#tryFinishSignIn: Sign-in confirmation returned unexpected status`,{status:n}),{success:!1})}catch(e){return gl(e)?(q.error(`Copilot#tryFinishSignIn: Connection error during sign-in`,e),{success:!1,error:`connection`}):await ml(t)}}async function ml(e){for(let t=0;t<ul;t++)try{if(await new Promise(e=>setTimeout(e,dl)),await e.signedIn())return q.log(`Copilot#tryFinishSignIn: Successfully signed in after retry`),{success:!0}}catch(e){if(q.warn(`Copilot#tryFinishSignIn: Retry attempt failed`,{attempt:t+1,maxRetries:ul}),gl(e))return{success:!1,error:`connection`}}return q.error(`Copilot#tryFinishSignIn: All sign-in attempts failed`),{success:!1}}async function hl(){await sl().signOut()}function gl(e){return e instanceof Error&&(e.message.includes(`ECONNREFUSED`)||e.message.includes(`WebSocket`)||e.message.includes(`network`))}function _l(e){return e===`SignedIn`||e===`AlreadySignedIn`||e===`OK`}var vl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eAnthropic%3c/title%3e%3cpath%20d='M17.3041%203.541h-3.6718l6.696%2016.918H24Zm-10.6082%200L0%2020.459h3.7442l1.3693-3.5527h7.0052l1.3693%203.5528h3.7442L10.5363%203.5409Zm-.3712%2010.2232%202.2914-5.9456%202.2914%205.9456Z'/%3e%3c/svg%3e`,yl=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='Ebene_1'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20viewBox='0%200%20466.73%20532.09'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2029.6.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.1%20Build%209)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20%2326251e;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='st0'%20d='M457.43,125.94L244.42,2.96c-6.84-3.95-15.28-3.95-22.12,0L9.3,125.94c-5.75,3.32-9.3,9.46-9.3,16.11v247.99c0,6.65,3.55,12.79,9.3,16.11l213.01,122.98c6.84,3.95,15.28,3.95,22.12,0l213.01-122.98c5.75-3.32,9.3-9.46,9.3-16.11v-247.99c0-6.65-3.55-12.79-9.3-16.11h-.01ZM444.05,151.99l-205.63,356.16c-1.39,2.4-5.06,1.42-5.06-1.36v-233.21c0-4.66-2.49-8.97-6.53-11.31L24.87,145.67c-2.4-1.39-1.42-5.06,1.36-5.06h411.26c5.84,0,9.49,6.33,6.57,11.39h-.01Z'/%3e%3c/svg%3e`,bl=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%3e%3c/path%3e%3c/svg%3e`,xl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGoogle%20Gemini%3c/title%3e%3cpath%20d='M11.04%2019.32Q12%2021.51%2012%2024q0-2.49.93-4.68.96-2.19%202.58-3.81t3.81-2.55Q21.51%2012%2024%2012q-2.49%200-4.68-.93a12.3%2012.3%200%200%201-3.81-2.58%2012.3%2012.3%200%200%201-2.58-3.81Q12%202.49%2012%200q0%202.49-.96%204.68-.93%202.19-2.55%203.81a12.3%2012.3%200%200%201-3.81%202.58Q2.49%2012%200%2012q2.49%200%204.68.96%202.19.93%203.81%202.55t2.55%203.81'/%3e%3c/svg%3e`,Sl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGitHub%3c/title%3e%3cpath%20d='M12%20.297c-6.63%200-12%205.373-12%2012%200%205.303%203.438%209.8%208.205%2011.385.6.113.82-.258.82-.577%200-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422%2018.07%203.633%2017.7%203.633%2017.7c-1.087-.744.084-.729.084-.729%201.205.084%201.838%201.236%201.838%201.236%201.07%201.835%202.809%201.305%203.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93%200-1.31.465-2.38%201.235-3.22-.135-.303-.54-1.523.105-3.176%200%200%201.005-.322%203.3%201.23.96-.267%201.98-.399%203-.405%201.02.006%202.04.138%203%20.405%202.28-1.552%203.285-1.23%203.285-1.23.645%201.653.24%202.873.12%203.176.765.84%201.23%201.91%201.23%203.22%200%204.61-2.805%205.625-5.475%205.92.42.36.81%201.096.81%202.22%200%201.606-.015%202.896-.015%203.286%200%20.315.21.69.825.57C20.565%2022.092%2024%2017.592%2024%2012.297c0-6.627-5.373-12-12-12'/%3e%3c/svg%3e`,Cl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOllama%3c/title%3e%3cpath%20d='M16.361%2010.26a.894.894%200%200%200-.558.47l-.072.148.001.207c0%20.193.004.217.059.353.076.193.152.312.291.448.24.238.51.3.872.205a.86.86%200%200%200%20.517-.436.752.752%200%200%200%20.08-.498c-.064-.453-.33-.782-.724-.897a1.06%201.06%200%200%200-.466%200zm-9.203.005c-.305.096-.533.32-.65.639a1.187%201.187%200%200%200-.06.52c.057.309.31.59.598.667.362.095.632.033.872-.205.14-.136.215-.255.291-.448.055-.136.059-.16.059-.353l.001-.207-.072-.148a.894.894%200%200%200-.565-.472%201.02%201.02%200%200%200-.474.007Zm4.184%202c-.131.071-.223.25-.195.383.031.143.157.288.353.407.105.063.112.072.117.136.004.038-.01.146-.029.243-.02.094-.036.194-.036.222.002.074.07.195.143.253.064.052.076.054.255.059.164.005.198.001.264-.03.169-.082.212-.234.15-.525-.052-.243-.042-.28.087-.355.137-.08.281-.219.324-.314a.365.365%200%200%200-.175-.48.394.394%200%200%200-.181-.033c-.126%200-.207.03-.355.124l-.085.053-.053-.032c-.219-.13-.259-.145-.391-.143a.396.396%200%200%200-.193.032zm.39-2.195c-.373.036-.475.05-.654.086-.291.06-.68.195-.951.328-.94.46-1.589%201.226-1.787%202.114-.04.176-.045.234-.045.53%200%20.294.005.357.043.524.264%201.16%201.332%202.017%202.714%202.173.3.033%201.596.033%201.896%200%201.11-.125%202.064-.727%202.493-1.571.114-.226.169-.372.22-.602.039-.167.044-.23.044-.523%200-.297-.005-.355-.045-.531-.288-1.29-1.539-2.304-3.072-2.497a6.873%206.873%200%200%200-.855-.031zm.645.937a3.283%203.283%200%200%201%201.44.514c.223.148.537.458.671.662.166.251.26.508.303.82.02.143.01.251-.043.482-.08.345-.332.705-.672.957a3.115%203.115%200%200%201-.689.348c-.382.122-.632.144-1.525.138-.582-.006-.686-.01-.853-.042-.57-.107-1.022-.334-1.35-.68-.264-.28-.385-.535-.45-.946-.03-.192.025-.509.137-.776.136-.326.488-.73.836-.963.403-.269.934-.46%201.422-.512.187-.02.586-.02.773-.002zm-5.503-11a1.653%201.653%200%200%200-.683.298C5.617.74%205.173%201.666%204.985%202.819c-.07.436-.119%201.04-.119%201.503%200%20.544.064%201.24.155%201.721.02.107.031.202.023.208a8.12%208.12%200%200%201-.187.152%205.324%205.324%200%200%200-.949%201.02%205.49%205.49%200%200%200-.94%202.339%206.625%206.625%200%200%200-.023%201.357c.091.78.325%201.438.727%202.04l.13.195-.037.064c-.269.452-.498%201.105-.605%201.732-.084.496-.095.629-.095%201.294%200%20.67.009.803.088%201.266.095.555.288%201.143.503%201.534.071.128.243.393.264.407.007.003-.014.067-.046.141a7.405%207.405%200%200%200-.548%201.873c-.062.417-.071.552-.071.991%200%20.56.031.832.148%201.279L3.42%2024h1.478l-.05-.091c-.297-.552-.325-1.575-.068-2.597.117-.472.25-.819.498-1.296l.148-.29v-.177c0-.165-.003-.184-.057-.293a.915.915%200%200%200-.194-.25%201.74%201.74%200%200%201-.385-.543c-.424-.92-.506-2.286-.208-3.451.124-.486.329-.918.544-1.154a.787.787%200%200%200%20.223-.531c0-.195-.07-.355-.224-.522a3.136%203.136%200%200%201-.817-1.729c-.14-.96.114-2.005.69-2.834.563-.814%201.353-1.336%202.237-1.475.199-.033.57-.028.776.01.226.04.367.028.512-.041.179-.085.268-.19.374-.431.093-.215.165-.333.36-.576.234-.29.46-.489.822-.729.413-.27.884-.467%201.352-.561.17-.035.25-.04.569-.04.319%200%20.398.005.569.04a4.07%204.07%200%200%201%201.914.997c.117.109.398.457.488.602.034.057.095.177.132.267.105.241.195.346.374.43.14.068.286.082.503.045.343-.058.607-.053.943.016%201.144.23%202.14%201.173%202.581%202.437.385%201.108.276%202.267-.296%203.153-.097.15-.193.27-.333.419-.301.322-.301.722-.001%201.053.493.539.801%201.866.708%203.036-.062.772-.26%201.463-.533%201.854a2.096%202.096%200%200%201-.224.258.916.916%200%200%200-.194.25c-.054.109-.057.128-.057.293v.178l.148.29c.248.476.38.823.498%201.295.253%201.008.231%202.01-.059%202.581a.845.845%200%200%200-.044.098c0%20.006.329.009.732.009h.73l.02-.074.036-.134c.019-.076.057-.3.088-.516.029-.217.029-1.016%200-1.258-.11-.875-.295-1.57-.597-2.226-.032-.074-.053-.138-.046-.141.008-.005.057-.074.108-.152.376-.569.607-1.284.724-2.228.031-.26.031-1.378%200-1.628-.083-.645-.182-1.082-.348-1.525a6.083%206.083%200%200%200-.329-.7l-.038-.064.131-.194c.402-.604.636-1.262.727-2.04a6.625%206.625%200%200%200-.024-1.358%205.512%205.512%200%200%200-.939-2.339%205.325%205.325%200%200%200-.95-1.02%208.097%208.097%200%200%201-.186-.152.692.692%200%200%201%20.023-.208c.208-1.087.201-2.443-.017-3.503-.19-.924-.535-1.658-.98-2.082-.354-.338-.716-.482-1.15-.455-.996.059-1.8%201.205-2.116%203.01a6.805%206.805%200%200%200-.097.726c0%20.036-.007.066-.015.066a.96.96%200%200%201-.149-.078A4.857%204.857%200%200%200%2012%203.03c-.832%200-1.687.243-2.456.698a.958.958%200%200%201-.148.078c-.008%200-.015-.03-.015-.066a6.71%206.71%200%200%200-.097-.725C8.997%201.392%208.337.319%207.46.048a2.096%202.096%200%200%200-.585-.041Zm.293%201.402c.248.197.523.759.682%201.388.03.113.06.244.069.292.007.047.026.152.041.233.067.365.098.76.102%201.24l.002.475-.12.175-.118.178h-.278c-.324%200-.646.041-.954.124l-.238.06c-.033.007-.038-.003-.057-.144a8.438%208.438%200%200%201%20.016-2.323c.124-.788.413-1.501.696-1.711.067-.05.079-.049.157.013zm9.825-.012c.17.126.358.46.498.888.28.854.36%202.028.212%203.145-.019.14-.024.151-.057.144l-.238-.06a3.693%203.693%200%200%200-.954-.124h-.278l-.119-.178-.119-.175.002-.474c.004-.669.066-1.19.214-1.772.157-.623.434-1.185.68-1.382.078-.062.09-.063.159-.012z'/%3e%3c/svg%3e`,wl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M22.2819%209.8211a5.9847%205.9847%200%200%200-.5157-4.9108%206.0462%206.0462%200%200%200-6.5098-2.9A6.0651%206.0651%200%200%200%204.9807%204.1818a5.9847%205.9847%200%200%200-3.9977%202.9%206.0462%206.0462%200%200%200%20.7427%207.0966%205.98%205.98%200%200%200%20.511%204.9107%206.051%206.051%200%200%200%206.5146%202.9001A5.9847%205.9847%200%200%200%2013.2599%2024a6.0557%206.0557%200%200%200%205.7718-4.2058%205.9894%205.9894%200%200%200%203.9977-2.9001%206.0557%206.0557%200%200%200-.7475-7.0729zm-9.022%2012.6081a4.4755%204.4755%200%200%201-2.8764-1.0408l.1419-.0804%204.7783-2.7582a.7948.7948%200%200%200%20.3927-.6813v-6.7369l2.02%201.1686a.071.071%200%200%201%20.038.052v5.5826a4.504%204.504%200%200%201-4.4945%204.4944zm-9.6607-4.1254a4.4708%204.4708%200%200%201-.5346-3.0137l.142.0852%204.783%202.7582a.7712.7712%200%200%200%20.7806%200l5.8428-3.3685v2.3324a.0804.0804%200%200%201-.0332.0615L9.74%2019.9502a4.4992%204.4992%200%200%201-6.1408-1.6464zM2.3408%207.8956a4.485%204.485%200%200%201%202.3655-1.9728V11.6a.7664.7664%200%200%200%20.3879.6765l5.8144%203.3543-2.0201%201.1685a.0757.0757%200%200%201-.071%200l-4.8303-2.7865A4.504%204.504%200%200%201%202.3408%207.872zm16.5963%203.8558L13.1038%208.364%2015.1192%207.2a.0757.0757%200%200%201%20.071%200l4.8303%202.7913a4.4944%204.4944%200%200%201-.6765%208.1042v-5.6772a.79.79%200%200%200-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759%200%200%200-.7854%200L9.409%209.2297V6.8974a.0662.0662%200%200%201%20.0284-.0615l4.8303-2.7866a4.4992%204.4992%200%200%201%206.6802%204.66zM8.3065%2012.863l-2.02-1.1638a.0804.0804%200%200%201-.038-.0567V6.0742a4.4992%204.4992%200%200%201%207.3757-3.4537l-.142.0805L8.704%205.459a.7948.7948%200%200%200-.3927.6813zm1.0976-2.3654l2.602-1.4998%202.6069%201.4998v2.9994l-2.5974%201.4997-2.6067-1.4997Z'/%3e%3c/svg%3e`,Tl=`data:image/svg+xml,%3csvg%20width='240'%20height='300'%20viewBox='0%200%20240%20300'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1401_86274)'%3e%3cmask%20id='mask0_1401_86274'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='240'%20height='300'%3e%3cpath%20d='M240%200H0V300H240V0Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1401_86274)'%3e%3cpath%20d='M180%20240H60V120H180V240Z'%20fill='%23CFCECD'/%3e%3cpath%20d='M180%2060H60V240H180V60ZM240%20300H0V0H240V300Z'%20fill='%23211E1E'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1401_86274'%3e%3crect%20width='240'%20height='300'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,El={openai:wl,github:Sl,anthropic:vl,claude:vl,gemini:xl,google:xl,codex:wl,ollama:Cl,azure:Hr,bedrock:Vr,deepseek:bl,openrouter:`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenRouter%3c/title%3e%3cpath%20d='M16.804%201.957l7.22%204.105v.087L16.73%2010.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147%201.352L8.345%2011.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314%201.17.796%202.701%201.866%201.11.775%202.083%201.177%203.147%201.352l.3.045c.694.091%201.375.094%202.825.033l.022-2.159%207.22%204.105v.087L16.589%2022l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997%2021.997%200%2000-.755-.498l-.467-.28a55.927%2055.927%200%2000-.76-.43C2.908%2014.73.563%2014.116%200%2014.116V9.888l.14.004c.564-.007%202.91-.622%203.809-1.124l1.016-.58.438-.274c.428-.28%201.072-.726%202.686-1.853%201.621-1.133%203.186-1.78%204.881-2.059%201.152-.19%201.974-.213%203.814-.138l.02-1.907z'%3e%3c/path%3e%3c/svg%3e`,wandb:`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eWeights%20&amp;%20Biases%3c/title%3e%3cpath%20d='M2.48%200a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.101%201.55%201.55%200%200%200%200-3.101zM12%202.295a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zM2.48%205.272a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zm19.04%200a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zM12%208.496a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm-9.52%203.907a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.102zM12%2013.767a2.48%202.48%200%201%200%200%204.962%202.48%202.48%200%200%200%200-4.962zm-9.52%203.907a2.48%202.48%200%201%200%20.001%204.962%202.48%202.48%200%200%200%200-4.962zm19.04.93a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.101zM12%2020.9a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1Z'/%3e%3c/svg%3e`,"opencode-go":Tl,marimo:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABtlJREFUWEetV21QlNcVfs67y67KV/EjJIRdBIxJrB9BotFqAtERTIKkk8SxNiGt7Ipa46DsxvjR0rVTKuKKJFYTE1SIxmhFbR0Kwc4YNSraqmNswhSFIrBUBD8QVGTZfU/nvrDLroqQ4Pm179nnnvvc5557zr2EXlj05hSfhgvO10AUB/A4AOHEFMCADOJrBFQx0zki+ajkkA9eyslr6kVYBUIPA8ZaLOr/ttQtYJKXgRHSy6B2EBVKwMZqa+6hnsZ0S2DY8jlD2uxSIYDxPQVx/S+CSZIEpyx3rI5wXIZsslm3neouxoMJMEhvNv6JwcvcwYkw8kk9xoZFYOjgYAT2HwBZlnH99i1UNtbj9KVKVDZcho9KhX4+GtgdDrQ52sVwGYQcbduAFRUbNrTdS+R+AhaLpL9Vu4kZ8wTYV6vFrydNxTsTY/Bk0KCHinHxymVsP/E1vjz1jRvXSQIEOqGxO39esWFbo2cQbwIzZ6r0QwPSWUa6APlp++GgyYLgwCB8dqQEs8a/iEF+/j3uSPW1RqTt2orTVRfBHmgCyjQaObZidRcJLwJPL032b3XSEQaixMqTJr6s7GlDcxNOVpZj13wz9IOG9EhAABxOJ5buyUfB6RNeeCKU+vnpYsssFrvXKYhImzvcQfJXDISH/GQg5kyeiqzifYh5eiSss+ZgoK9fryb2BMnMeG/HZhR+e/peEmtqrFuU/OpQwGKRdC21pSLjJZKwMuEtZBbtw6ujx+LDXxohfD/WWu12JH6UgfL6OncIAtpVKh5VlbW1XCGgMxlnA7xT/H4zeiLO26oVCUtMv1cyuq/2na0aMz7KcB/PzjO6rdaam6wQ0JuNx5h5EhFhybQZyD54AJuS5iNhzPN9nds9fsXeHdhRetgz3m2nv+ox6ig4qnqAped04UqWn6utwr/SrVBLKmWAkPHClS4Jw4c8jsbmmzheUYaA/r6YPjJKUcp24yqOlH8PiQgvDv8pQj2Obf3NG5i8erlSH9wmcTyFmQ2vyQxR8ZASE48vTh7BlGdGYWOSUgYU+76uBtPXW9zfyZOnYnvpYbQ7nYovSh+BJXGvY27en13FB1ofH+Qlp2LyUyPc4xZ/uQX7zohUcxmvJJ05OQ1M64TrMf9ANLTcxOK4RKTFJXZLQKxQZLin9ffRoLVdOVluGxsWib8tWun+/uZCGd7+NNsTkk+hJkMOAanCK2S8225HeuIsGF+a1i2B0KDBGB4cgkP/Oe/GaNRqxI14DkcvlqG59Y7iF/Eurv7EjRGKjU5Pxe22uy7fYdKZjflgfteT1gevvIGFU1/tlsCnv1qIV0ZFY8If30dd0zUFN2PMOGxKWoDMogJsPFSk+IRS1Wu3eKky6+O1KK0sV3xEKBdNZzszv+OJSvpZLDLe6HLdmwP5hsWY8uxoxK5ZoTQiYTOfn4TsXxiw/h8HkF3y124JLCv4HDtPHu2YjtBIOpNhI4DfeBKIDovE/kXLu1WgLwQy/74Xm74udsVuIr3JsJSBNZ4EREs9tyoH/v36K+5HqUBG4R5sPlzSqQDZSG8yTmPwQReBwX7+uHqrBetnG5Sq+KgJpO7Mxf6zJztzgI5TsDnJV8PaRoCV5Y4bOkyp2888EYqChR8owLob15TG5LJ5sdMxIkSHjMK/oKH5puIeHzEcb0+IwVffnUXx+TOuCZAz2+iVhFOyfoeKhsudKUAbOkuxoYAZbwqvODqvR43H7n8ew/73liN6aKRXgL58VDbU4+Ws37pDSISEDgL3bIOQvvjfZ/FsSCj2LlymHKdHYaZdW7Gn835AwBU//2a9KzLpTMYTAE8QE4kJxfWr9vpVrEyYiXmx8X2ev+j8GSzY/gm4s4ISsaXGunWVe2mh5pQXiJ3i+uLV/EVD+vjd+YgfGfWjSYjtFN2w3dnZiAg2lZ9z1CVLXpOXtnqzIZMZHZnnYYLEkvhEpMTEQav26TWR/zVdxx8O7IZYvYexxJRQnZ2rlEsvAuIhUtliKwK4qxF4jBStetqIMYgKi0TEkGA8ERiEwf4BGKDRulFCYtHOd586hr1nSt3d0QUgolU11lx3a70vu8TF9I5MxWBM8qT9eEAQ1CoJthsdtd9LIfEWUPsouWN3OnC3XXkP3G+E7FrrFjPQdVl+YHqHWFIGqG/J+cz8lmcUX41WSU5R/12vn17uRxskMtWuzRVl38sedr5It3TuPJI5k5kDe5yIqAqACoyBAHtcoamE4EyrWbet7MGi9BA5PNUY7FDjfYCTAQT1SKQDcAmMQiLKq1mX65WBP0QBL+ywRYu0dk3rSwx+AUAkCEFg8eLCHWJcYeYaSVKXOyT527qsXFsvieL/FjzLIPLjeMUAAAAASUVORK5CYII=`,opencode:Tl,cursor:yl},Dl=e=>{let t=(0,Y.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({provider:r,className:i,...n}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?``:i;if(r===`openai-compatible`||!(r in El)){let e;t[4]===a?e=t[5]:(e=Ue(`h-4 w-4`,a),t[4]=a,t[5]=e);let n;return t[6]===e?n=t[7]:(n=(0,X.jsx)(I,{className:e}),t[6]=e,t[7]=n),n}let o=El[r],s;t[8]===a?s=t[9]:(s=Ue(`h-4 w-4 grayscale dark:invert`,a),t[8]=a,t[9]=s);let c;return t[10]!==o||t[11]!==n||t[12]!==r||t[13]!==s?(c=(0,X.jsx)(`img`,{src:o,alt:r,className:s,...n}),t[10]=o,t[11]=n,t[12]=r,t[13]=s,t[14]=c):c=t[14],c};function Ol(e){switch(e){case`chat`:return`bg-(--purple-3) text-(--purple-11)`;case`autocomplete`:return`bg-(--green-3) text-(--green-11)`;case`edit`:return`bg-(--blue-3) text-(--blue-11)`;case`thinking`:return`bg-(--purple-4) text-(--purple-12)`}return`bg-(--mauve-3) text-(--mauve-11)`}function kl(e){switch(e){case`chat`:return`Current model used for chat conversations`;case`autocomplete`:return`Current model used for autocomplete autocomplete`;case`edit`:return`Current model used for code edits`;case`rerank`:return`Current model used for reranking completions`;case`embed`:return`Current model used for embedding`}}var Al=[`claude`,`codex`,`opencode`],jl=[`claude`,`codex`,`opencode`,`prompt`],Ml={claude:`Claude`,codex:`Codex`,opencode:`OpenCode`,prompt:`Prompt`};function Nl(){return`uvx marimo@latest`}function Pl(e,{url:t,notebook:n,session:r},i,a){let o=[`${a?.command??Nl()} pair prompt`,`--url ${wr(t)}`,n?`--notebook ${wr(n)}`:r?`--session ${wr(r)}`:``,i?`--with-token`:``].filter(Boolean).join(` \\
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{a as t,c as n,f as r,l as i,r as a,t as o,u as s}from"./useEvent-BDjgaBtz.js";import{t as c}from"./react-DVplv7_D.js";import{$i as l,$n as u,$t as d,An as f,Ar as p,Bn as m,Ca as h,En as g,G as _,Hr as v,Ia as y,Ka as b,On as x,Or as S,Qn as C,Qr as w,Qt as T,Sa as E,Sr as D,Xn as O,Xt as k,Yt as A,Zn as j,Zt as M,_r as N,cn as P,dn as F,do as I,ea as L,en as R,kr as z,nn as B,no as V,oo as H,tn as U,to as ee,un as W,uo as G,wr as te,xr as K,ya as ne}from"./cells-yOs72eZm.js";import{t as re}from"./react-dom-_LrxgvjW.js";import{t as ie}from"./compiler-runtime-BrajqUja.js";import{t as ae}from"./get-DjNf4SIX.js";import{A as oe,C as se,T as ce,h as le,j as ue,k as de,l as fe,m as pe,t as me,u as he,x as ge,y as _e}from"./config-DpY86_Yq.js";import{t as ve}from"./has-sKqQhP6r.js";import{_ as ye,f as be,g as q,l as xe,m as Se,t as Ce}from"./useEventListener-CjDeLqFC.js";import{t as we}from"./objects-rLPlQ3X_.js";import{t as Te}from"./invariant-Ci2dTZ72.js";import{a as Ee,i as De,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne}from"./config-DMz7oN0r.js";import{r as Pe,v as Fe}from"./session-CMLIzZKw.js";import{M as Ie,O as Le,S as Re,n as ze,o as Be,r as Ve}from"./config-CD1IuZFJ.js";import{t as He}from"./state-B_MCKzBL.js";import{t as Ue}from"./cn-ldLVeaqm.js";import{t as We}from"./jsx-runtime-B74pBk57.js";import{a as Ge,c as Ke,d as qe,f as Je,p as Ye,r as Xe,s as Ze,t as Qe,u as $e}from"./dropdown-menu-DS6umAnH.js";import{d as et,i as tt,l as nt,n as rt,r as it,s as at,t as ot}from"./select-3CVGlYrC.js";import{a as st,d as ct,f as lt,g as ut,h as dt,i as ft,l as pt,m as mt,n as ht,p as gt,t as _t,u as vt}from"./switch-DYjBfpNJ.js";import{i as yt,n as bt,r as xt,t as St}from"./tabs-CY8E4r9U.js";import{t as Ct}from"./tooltip-CkGm8X7m.js";import{n as wt,r as Tt,t as Et}from"./button-D8gVKwe-.js";import{t as Dt}from"./createLucideIcon-DfJ2oMlA.js";import{t as Ot}from"./check-BQNapYaf.js";import{a as kt,r as At}from"./useNumberFormatter-D7O_26UI.js";import{t as jt}from"./chevron-right-eAtVhbNZ.js";import{s as Mt}from"./toDate-DOj9Q6uC.js";import{t as Nt}from"./copy-Djr5m5ac.js";import{C as Pt,b as Ft,p as It}from"./write-secret-modal-BEx-EUlh.js";import{n as Lt,t as Rt}from"./spinner-DyNE-o8o.js";import{t as zt}from"./plus-C5silF6g.js";import{t as Bt}from"./refresh-cw-Qw1f8Jhy.js";import{$ as Vt,$t as Ht,At as Ut,Ct as Wt,E as Gt,Et as Kt,F as qt,Ft as Jt,G as Yt,Gt as Xt,H as Zt,Ht as Qt,J as $t,Jt as en,Kt as tn,L as nn,Nt as rn,O as an,P as on,Pt as sn,Qt as cn,R as ln,Rt as un,St as dn,T as fn,Ut as pn,V as mn,W as hn,Wt as gn,X as _n,Xt as vn,Yt as yn,Zt as bn,_t as xn,at as Sn,bt as Cn,ct as wn,en as Tn,et as En,ht as Dn,it as On,jt as kn,lt as An,nt as jn,o as Mn,q as Nn,qt as Pn,r as Fn,st as In,tn as Ln,tt as Rn,wt as zn,xt as Bn,zt as Vn}from"./input-DmHMEZGh.js";import{t as Hn}from"./trash-2-DcgaW8fn.js";import{t as Un}from"./triangle-alert-DmIqR8sY.js";import{n as Wn}from"./copy-KlhazlhB.js";import{t as Gn}from"./use-toast-Wu434mLr.js";import{Et as Kn,Jt as qn,st as Jn,ut as Yn}from"./dist-Cny7_yZb.js";import{F as Xn,L as Zn,M as Qn,N as $n,P as er,R as tr,b as nr,f as rr,g as ir,h as ar,k as or,p as sr,x as cr,y as lr}from"./dist-DBMV4gqt.js";import{s as ur}from"./arrays-0R2reF2y.js";import{n as dr}from"./once-6KNTRW0u.js";import{i as fr,n as pr,r as mr,t as hr}from"./strings-C25fhMR_.js";import{r as gr,t as _r}from"./requests-BIFR-h4M.js";import{t as vr}from"./badge-crT3E0Rm.js";import{t as yr}from"./useTheme-BAA27lh7.js";import{r as br,t as xr}from"./I18nProvider-Cg2I_s1_.js";import{t as Sr}from"./shim-CjjJUhDo.js";import{n as Cr,t as wr}from"./shell-Fj8a65ii.js";import{r as Tr}from"./useDebounce-DwTQ_1Pu.js";import{n as Er}from"./useAsyncData-qvoPYHtx.js";import{a as Dr}from"./errors-CNsgAw6m.js";import{t as Or}from"./kbd-pdKBv96t.js";import{n as kr,r as Ar,t as jr}from"./alert-DTaqCu_d.js";import{n as Mr,t as Nr}from"./error-banner-B5kzVf_0.js";import{a as Pr,i as Fr,n as Ir,o as Lr,r as Rr,t as zr}from"./table-vrvqpuKJ.js";import{t as Br}from"./renderShortcut-rUwGqKgC.js";import{n as Vr,t as Hr}from"./azure-Dcn397wY.js";import{a as Ur,i as Wr,n as Gr,r as Kr,t as qr}from"./card-DOABds5l.js";var Jr=Dt(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),Yr=Dt(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Xr=Dt(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Zr=Dt(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),Qr=Dt(`folder-cog`,[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`,key:`128dxu`}],[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),$r=Dt(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),ei=Dt(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ti=Dt(`square-check-big`,[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`,key:`2acyp4`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),J=e(c(),1),ni=e(re(),1),ri=`react-aria-clear-focus`,ii=`react-aria-focus`;function ai(e){let t=ci(Ut(e));t!==e&&(t&&oi(t,e),e&&si(e,t))}function oi(e,t){e.dispatchEvent(new FocusEvent(`blur`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusout`,{bubbles:!0,relatedTarget:t}))}function si(e,t){e.dispatchEvent(new FocusEvent(`focus`,{relatedTarget:t})),e.dispatchEvent(new FocusEvent(`focusin`,{bubbles:!0,relatedTarget:t}))}function ci(e){let t=zn(e),n=t?.getAttribute(`aria-activedescendant`);return n&&e.getElementById(n)||t}var li=class{constructor(e){this.value=null,this.level=0,this.hasChildNodes=!1,this.rendered=null,this.textValue=``,this[`aria-label`]=void 0,this.index=0,this.parentKey=null,this.prevKey=null,this.nextKey=null,this.firstChildKey=null,this.lastChildKey=null,this.props={},this.colSpan=null,this.colIndex=null,this.type=this.constructor.type,this.key=e}get childNodes(){throw Error(`childNodes is not supported`)}clone(){let e=new this.constructor(this.key);return e.value=this.value,e.level=this.level,e.hasChildNodes=this.hasChildNodes,e.rendered=this.rendered,e.textValue=this.textValue,e[`aria-label`]=this[`aria-label`],e.index=this.index,e.parentKey=this.parentKey,e.prevKey=this.prevKey,e.nextKey=this.nextKey,e.firstChildKey=this.firstChildKey,e.lastChildKey=this.lastChildKey,e.props=this.props,e.render=this.render,e.colSpan=this.colSpan,e.colIndex=this.colIndex,e}filter(e,t,n){let r=this.clone();return t.addDescendants(r,e),r}},ui=class extends li{filter(e,t,n){let[r,i]=mi(e,t,this.firstChildKey,n),a=this.clone();return a.firstChildKey=r,a.lastChildKey=i,a}};(class extends li{static{this.type=`header`}});var di=class extends li{static{this.type=`loader`}},fi=class extends ui{static{this.type=`item`}filter(e,t,n){if(n(this.textValue,this)){let n=this.clone();return t.addDescendants(n,e),n}return null}};(class extends ui{static{this.type=`section`}filter(e,t,n){let r=super.filter(e,t,n);if(r&&r.lastChildKey!==null){let t=e.getItem(r.lastChildKey);if(t&&t.type!==`header`)return r}return null}});var pi=class{get size(){return this.itemCount}getKeys(){return this.keyMap.keys()}*[Symbol.iterator](){let e=this.firstKey==null?void 0:this.keyMap.get(this.firstKey);for(;e;)yield e,e=e.nextKey==null?void 0:this.keyMap.get(e.nextKey)}getChildren(e){let t=this.keyMap;return{*[Symbol.iterator](){let n=t.get(e),r=n?.firstChildKey==null?null:t.get(n.firstChildKey);for(;r;)yield r,r=r.nextKey==null?void 0:t.get(r.nextKey)}}}getKeyBefore(e){let t=this.keyMap.get(e);if(!t)return null;if(t.prevKey!=null){for(t=this.keyMap.get(t.prevKey);t&&t.type!==`item`&&t.lastChildKey!=null;)t=this.keyMap.get(t.lastChildKey);return t?.key??null}return t.parentKey}getKeyAfter(e){let t=this.keyMap.get(e);if(!t)return null;if(t.type!==`item`&&t.firstChildKey!=null)return t.firstChildKey;for(;t;){if(t.nextKey!=null)return t.nextKey;if(t.parentKey!=null)t=this.keyMap.get(t.parentKey);else return null}return null}getFirstKey(){return this.firstKey}getLastKey(){let e=this.lastKey==null?null:this.keyMap.get(this.lastKey);for(;e?.lastChildKey!=null;)e=this.keyMap.get(e.lastChildKey);return e?.key??null}getItem(e){return this.keyMap.get(e)??null}at(){throw Error(`Not implemented`)}clone(){let e=this.constructor,t=new e;return t.keyMap=new Map(this.keyMap),t.firstKey=this.firstKey,t.lastKey=this.lastKey,t.itemCount=this.itemCount,t}addNode(e){if(this.frozen)throw Error(`Cannot add a node to a frozen collection`);e.type===`item`&&this.keyMap.get(e.key)==null&&this.itemCount++,this.keyMap.set(e.key,e)}addDescendants(e,t){this.addNode(e);let n=t.getChildren(e.key);for(let e of n)this.addDescendants(e,t)}removeNode(e){if(this.frozen)throw Error(`Cannot remove a node to a frozen collection`);let t=this.keyMap.get(e);t!=null&&t.type===`item`&&this.itemCount--,this.keyMap.delete(e)}commit(e,t,n=!1){if(this.frozen)throw Error(`Cannot commit a frozen collection`);this.firstKey=e,this.lastKey=t,this.frozen=!n}filter(e){let t=new this.constructor,[n,r]=mi(this,t,this.firstKey,e);return t?.commit(n,r),t}constructor(){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.frozen=!1,this.itemCount=0}};function mi(e,t,n,r){if(n==null)return[null,null];let i=null,a=null,o=e.getItem(n);for(;o!=null;){let n=o.filter(e,t,r);n!=null&&(n.nextKey=null,a&&(n.prevKey=a.key,a.nextKey=n.key),i??=n,t.addNode(n),a=n),o=o.nextKey==null?null:e.getItem(o.nextKey)}if(a&&a.type===`separator`){let e=a.prevKey;t.removeNode(a.key),e==null?a=null:(a=t.getItem(e),a.nextKey=null)}return[i?.key??null,a?.key??null]}var hi=class{constructor(e){this._firstChild=null,this._lastChild=null,this._previousSibling=null,this._nextSibling=null,this._parentNode=null,this._minInvalidChildIndex=null,this.ownerDocument=e}*[Symbol.iterator](){let e=this.firstChild;for(;e;)yield e,e=e.nextSibling}get firstChild(){return this._firstChild}set firstChild(e){this._firstChild=e,this.ownerDocument.markDirty(this)}get lastChild(){return this._lastChild}set lastChild(e){this._lastChild=e,this.ownerDocument.markDirty(this)}get previousSibling(){return this._previousSibling}set previousSibling(e){this._previousSibling=e,this.ownerDocument.markDirty(this)}get nextSibling(){return this._nextSibling}set nextSibling(e){this._nextSibling=e,this.ownerDocument.markDirty(this)}get parentNode(){return this._parentNode}set parentNode(e){this._parentNode=e,this.ownerDocument.markDirty(this)}get isConnected(){return this.parentNode?.isConnected||!1}invalidateChildIndices(e){(this._minInvalidChildIndex==null||!this._minInvalidChildIndex.isConnected||e.index<this._minInvalidChildIndex.index)&&(this._minInvalidChildIndex=e,this.ownerDocument.markDirty(this))}updateChildIndices(){let e=this._minInvalidChildIndex;for(;e;)e.index=e.previousSibling?e.previousSibling.index+1:0,e=e.nextSibling;this._minInvalidChildIndex=null}appendChild(e){e.parentNode&&e.parentNode.removeChild(e),this.firstChild??=e,this.lastChild?(this.lastChild.nextSibling=e,e.index=this.lastChild.index+1,e.previousSibling=this.lastChild):(e.previousSibling=null,e.index=0),e.parentNode=this,e.nextSibling=null,this.lastChild=e,this.ownerDocument.markDirty(this),this.isConnected&&this.ownerDocument.queueUpdate()}insertBefore(e,t){if(t==null)return this.appendChild(e);e.parentNode&&e.parentNode.removeChild(e),e.nextSibling=t,e.previousSibling=t.previousSibling,e.index=t.index-1,this.firstChild===t?this.firstChild=e:t.previousSibling&&(t.previousSibling.nextSibling=e),t.previousSibling=e,e.parentNode=t.parentNode,this.invalidateChildIndices(e),this.isConnected&&this.ownerDocument.queueUpdate()}removeChild(e){e.parentNode===this&&(this._minInvalidChildIndex===e&&(this._minInvalidChildIndex=null),e.nextSibling&&(this.invalidateChildIndices(e.nextSibling),e.nextSibling.previousSibling=e.previousSibling),e.previousSibling&&(e.previousSibling.nextSibling=e.nextSibling),this.firstChild===e&&(this.firstChild=e.nextSibling),this.lastChild===e&&(this.lastChild=e.previousSibling),e.parentNode=null,e.nextSibling=null,e.previousSibling=null,e.index=0,this.ownerDocument.markDirty(e),this.isConnected&&this.ownerDocument.queueUpdate())}addEventListener(){}removeEventListener(){}get previousVisibleSibling(){let e=this.previousSibling;for(;e&&e.isHidden;)e=e.previousSibling;return e}get nextVisibleSibling(){let e=this.nextSibling;for(;e&&e.isHidden;)e=e.nextSibling;return e}get firstVisibleChild(){let e=this.firstChild;for(;e&&e.isHidden;)e=e.nextSibling;return e}get lastVisibleChild(){let e=this.lastChild;for(;e&&e.isHidden;)e=e.previousSibling;return e}},gi=class e extends hi{constructor(e,t){super(t),this.nodeType=8,this.isMutated=!0,this._index=0,this.isHidden=!1,this.node=null}get index(){return this._index}set index(e){this._index=e,this.ownerDocument.markDirty(this)}get level(){return this.parentNode instanceof e?this.parentNode.level+ +(this.parentNode.node?.type===`item`):0}getMutableNode(){return this.node==null?null:(this.isMutated||=(this.node=this.node.clone(),!0),this.ownerDocument.markDirty(this),this.node)}updateNode(){let t=this.nextVisibleSibling,n=this.getMutableNode();if(n!=null&&(n.index=this.index,n.level=this.level,n.parentKey=this.parentNode instanceof e?this.parentNode.node?.key??null:null,n.prevKey=this.previousVisibleSibling?.node?.key??null,n.nextKey=t?.node?.key??null,n.hasChildNodes=!!this.firstChild,n.firstChildKey=this.firstVisibleChild?.node?.key??null,n.lastChildKey=this.lastVisibleChild?.node?.key??null,(n.colSpan!=null||n.colIndex!=null)&&t)){let e=(n.colIndex??n.index)+(n.colSpan??1);if(t.node!=null&&e!==t.node.colIndex){let n=t.getMutableNode();n.colIndex=e}}}setProps(e,t,n,r,i){let a,{value:o,textValue:s,id:c,...l}=e;if(this.node==null?(a=new n(c??`react-aria-${++this.ownerDocument.nodeId}`),this.node=a):a=this.getMutableNode(),l.ref=t,a.props=l,a.rendered=r,a.render=i,a.value=o,e[`aria-label`]&&(a[`aria-label`]=e[`aria-label`]),a.textValue=s||(typeof l.children==`string`?l.children:``)||e[`aria-label`]||``,c!=null&&c!==a.key)throw Error(`Cannot change the id of an item`);l.colSpan!=null&&(a.colSpan=l.colSpan),this.isConnected&&this.ownerDocument.queueUpdate()}get style(){let e=this;return{get display(){return e.isHidden?`none`:``},set display(t){let n=t===`none`;if(e.isHidden!==n){(e.parentNode?.firstVisibleChild===e||e.parentNode?.lastVisibleChild===e)&&e.ownerDocument.markDirty(e.parentNode);let t=e.previousVisibleSibling,r=e.nextVisibleSibling;t&&e.ownerDocument.markDirty(t),r&&e.ownerDocument.markDirty(r),e.isHidden=n,e.ownerDocument.markDirty(e)}}}}hasAttribute(){}setAttribute(){}setAttributeNS(){}removeAttribute(){}},_i=class extends hi{constructor(e){super(null),this.nodeType=11,this.ownerDocument=this,this.dirtyNodes=new Set,this.isSSR=!1,this.nodeId=0,this.nodesByProps=new WeakMap,this.nextCollection=null,this.subscriptions=new Set,this.queuedRender=!1,this.inSubscription=!1,this.collection=e,this.nextCollection=e}get isConnected(){return!0}createElement(e){return new gi(e,this)}getMutableCollection(){return this.nextCollection||=this.collection.clone(),this.nextCollection}markDirty(e){this.dirtyNodes.add(e)}addNode(e){if(e.isHidden||e.node==null)return;let t=this.getMutableCollection();if(!t.getItem(e.node.key))for(let t of e)this.addNode(t);t.addNode(e.node)}removeNode(e){for(let t of e)this.removeNode(t);e.node&&this.getMutableCollection().removeNode(e.node.key)}getCollection(){return this.inSubscription?this.collection:(this.queuedRender=!1,this.updateCollection(),this.collection)}updateCollection(){for(let e of this.dirtyNodes)e instanceof gi&&(!e.isConnected||e.isHidden)?this.removeNode(e):e.updateChildIndices();for(let e of this.dirtyNodes)e instanceof gi?(e.isConnected&&!e.isHidden&&(e.updateNode(),this.addNode(e)),e.node&&this.dirtyNodes.delete(e),e.isMutated=!1):this.dirtyNodes.delete(e);this.nextCollection&&(this.nextCollection.commit(this.firstVisibleChild?.node?.key??null,this.lastVisibleChild?.node?.key??null,this.isSSR),this.isSSR||(this.collection=this.nextCollection,this.nextCollection=null))}queueUpdate(){if(!(this.dirtyNodes.size===0||this.queuedRender)){this.queuedRender=!0,this.inSubscription=!0,this.isSSR||(this.collection=this.collection.clone());for(let e of this.subscriptions)e();this.inSubscription=!1}}subscribe(e){return this.subscriptions.add(e),this.queuedRender&&e(),()=>this.subscriptions.delete(e)}resetAfterSSR(){this.isSSR&&(this.isSSR=!1,this.firstChild=null,this.lastChild=null,this.nodeId=0)}};function vi(e){let{children:t,items:n,idScope:r,addIdAndValue:i,dependencies:a=[]}=e,o=(0,J.useMemo)(()=>void 0,[t]),s=(0,J.useMemo)(()=>new WeakMap,[...a,o]);return(0,J.useMemo)(()=>{if(n&&typeof t==`function`){let e=[];for(let a of n){let n=yi(a)?a:null,o=n?s.get(n):null;if(!o){o=t(a);let c=o.props.id??a?.key??a?.id;r!=null&&o.props.id==null&&c!=null&&(c=r+`:`+c);let l=c??e.length;o=(0,J.cloneElement)(o,i?{key:l,id:c,value:a}:{key:l}),n&&s.set(n,o)}e.push(o)}return e}if(typeof t!=`function`)return t},[t,n,s,r,i])}function yi(e){switch(typeof e){case`object`:return e!=null;case`function`:case`symbol`:return!0;default:return!1}}var bi=Sr(),xi=(0,J.createContext)(!1),Si=(0,J.createContext)(null);function Ci(e){if((0,J.useContext)(Si))return e.content;let{collection:t,document:n}=Di(e.createCollection);return J.createElement(J.Fragment,null,J.createElement(Zt,null,J.createElement(Si.Provider,{value:n},e.content)),J.createElement(wi,{render:e.children,collection:t}))}function wi({collection:e,render:t}){return t(e)}function Ti(e,t,n){let r=br(),i=(0,J.useRef)(r);i.current=r;let a=(0,J.useCallback)(()=>i.current?n():t(),[t,n]);return(0,bi.useSyncExternalStore)(e,a)}var Ei=typeof J.useSyncExternalStore==`function`?J.useSyncExternalStore:Ti;function Di(e){let[t]=(0,J.useState)(()=>new _i(e?.()||new pi));return{collection:Ei((0,J.useCallback)(e=>t.subscribe(e),[t]),(0,J.useCallback)(()=>{let e=t.getCollection();return t.isSSR&&t.resetAfterSSR(),e},[t]),(0,J.useCallback)(()=>(t.isSSR=!0,t.getCollection()),[t])),document:t}}var Oi=(0,J.createContext)(null);function ki(e){return class extends li{static{this.type=e}}}function Ai(e,t,n,r,i,a){typeof e==`string`&&(e=ki(e));let o=(0,J.useCallback)(i=>{i?.setProps(t,n,e,r,a)},[t,n,r,a,e]),s=(0,J.useContext)(Oi);if(s){let o=s.ownerDocument.nodesByProps.get(t);return o||(o=s.ownerDocument.createElement(e.type),o.setProps(t,n,e,r,a),s.appendChild(o),s.ownerDocument.updateCollection(),s.ownerDocument.nodesByProps.set(t,o)),i?J.createElement(Oi.Provider,{value:o},i):null}return J.createElement(e.type,{ref:o},i)}function ji(e,t){let n=({node:e})=>t(e.props,e.props.ref,e),r=(0,J.forwardRef)((r,i)=>{let a=(0,J.useContext)(hn);if(!(0,J.useContext)(xi)){if(t.length>=3)throw Error(t.name+` cannot be rendered outside a collection.`);return t(r,i)}return Ai(e,r,i,`children`in r?r.children:null,null,e=>J.createElement(hn.Provider,{value:a},J.createElement(n,{node:e})))});return r.displayName=t.name,r}function Mi(e,t,n=Ni){let r=({node:e})=>t(e.props,e.props.ref,e),i=(0,J.forwardRef)((t,i)=>Ai(e,t,i,null,n(t),e=>J.createElement(r,{node:e}))??J.createElement(J.Fragment,null));return i.displayName=t.name,i}function Ni(e){return vi({...e,addIdAndValue:!0})}var Pi=(0,J.createContext)(null);function Fi(e){let t=(0,J.useContext)(Pi),n=(t?.dependencies||[]).concat(e.dependencies),r=e.idScope??t?.idScope,i=Ni({...e,idScope:r,dependencies:n});return(0,J.useContext)(Si)&&(i=J.createElement(Ii,null,i)),t=(0,J.useMemo)(()=>({dependencies:n,idScope:r}),[r,...n]),J.createElement(Pi.Provider,{value:t},i)}function Ii({children:e}){let t=(0,J.useContext)(Si),n=(0,J.useMemo)(()=>J.createElement(Si.Provider,{value:null},J.createElement(xi.Provider,{value:!0},e)),[e]);return br()?J.createElement(Oi.Provider,{value:t},n):(0,ni.createPortal)(n,t)}var Li=(0,J.createContext)(null),Ri={CollectionRoot({collection:e,renderDropIndicator:t}){return zi(e,null,t)},CollectionBranch({collection:e,parent:t,renderDropIndicator:n}){return zi(e,t,n)}};function zi(e,t,n){return vi({items:t?e.getChildren(t.key):e,dependencies:[n],children(t){if(t.type===`content`)return J.createElement(J.Fragment,null);let r=t.render(t);return!n||t.type!==`item`?r:J.createElement(J.Fragment,null,n({type:`item`,key:t.key,dropPosition:`before`}),r,Bi(e,t,n))}})}function Bi(e,t,n){let r=t.key,i=e.getKeyAfter(r),a=i==null?null:e.getItem(i);for(;a!=null&&a.type!==`item`;)i=e.getKeyAfter(a.key),a=i==null?null:e.getItem(i);let o=t.nextKey==null?null:e.getItem(t.nextKey);for(;o!=null&&o.type!==`item`;)o=o.nextKey==null?null:e.getItem(o.nextKey);let s=[];if(o==null){let r=t;for(;r?.type===`item`&&(!a||r.parentKey!==a.parentKey&&a.level<r.level);){let t=n({type:`item`,key:r.key,dropPosition:`after`});(0,J.isValidElement)(t)&&s.push((0,J.cloneElement)(t,{key:`${r.key}-after`})),r=r.parentKey==null?null:e.getItem(r.parentKey)}}return s}var Vi=(0,J.createContext)(Ri),Hi=(0,J.createContext)(null),Ui=(0,J.createContext)(null),Wi=(0,J.createContext)({}),Gi=(0,J.createContext)(null),Ki=(0,J.forwardRef)(function(e,t){let{render:n}=(0,J.useContext)(Gi);return J.createElement(J.Fragment,null,n(e,t))});function qi(e,t){let n=e?.renderDropIndicator,r=e?.isVirtualDragging?.(),i=(0,J.useCallback)(e=>{if(r||t?.isDropTarget(e))return n?n(e):J.createElement(Ki,{target:e})},[t?.target,r,n]);return e?.useDropIndicator?i:void 0}function Ji(e,t,n){let r=e.focusedKey,i=null;if(t?.isVirtualDragging?.()&&n?.target?.type===`item`&&(i=n.target.key,n.target.dropPosition===`after`)){let e=n.collection.getKeyAfter(i),t=null;if(e!=null){let r=n.collection.getItem(i)?.level??0;for(;e!=null;){let i=n.collection.getItem(e);if(!i)break;if(i.type!==`item`){e=n.collection.getKeyAfter(e);continue}if((i.level??0)<=r)break;t=e,e=n.collection.getKeyAfter(e)}}i=e??t??i}return(0,J.useMemo)(()=>new Set([r,i].filter(e=>e!=null)),[r,i])}var Yi=(0,J.createContext)(null);function Xi(e){let t=(0,J.useRef)({});return J.createElement(Yi.Provider,{value:t},e.children)}function Zi(e){return xn()?e.altKey:e.ctrlKey}function Qi(e,t){let n=`[data-key="${CSS.escape(String(t))}"]`,r=e.current?.dataset.collection;return r&&(n=`[data-collection="${CSS.escape(r)}"]${n}`),e.current?.querySelector(n)}var $i=new WeakMap;function ea(e){let t=Xt();return $i.set(e,t),t}function ta(e){return $i.get(e)}var na=1e3;function ra(e){let{keyboardDelegate:t,selectionManager:n,onTypeSelect:r}=e,i=(0,J.useRef)({search:``,timeout:void 0});return(0,J.useEffect)(()=>{let e=i.current.timeout;return()=>{clearTimeout(e)}},[i]),{typeSelectProps:{onKeyDownCapture:t.getKeyForSearch?e=>{if(i.current.search.length>0&&e.key===` `){if(e.preventDefault(),(!(`continuePropagation`in e)||`continuePropagation`in e&&!e.isPropagationStopped())&&e.stopPropagation(),i.current.search+=` `,t.getKeyForSearch!=null){let e=t.getKeyForSearch(i.current.search,n.focusedKey);e??=t.getKeyForSearch(i.current.search),e!=null&&(n.setFocusedKey(e),r&&r(e))}clearTimeout(i.current.timeout),i.current.timeout=setTimeout(()=>{i.current.search=``},na)}}:void 0,onKeyDown:t.getKeyForSearch?e=>{let a=ia(e.key);if(!(!a||e.ctrlKey||e.metaKey||e.altKey||!dn(e.currentTarget,Kt(e))||i.current.search.length===0&&a===` `)){if(i.current.search+=a,t.getKeyForSearch!=null){let a=t.getKeyForSearch(i.current.search,n.focusedKey);if(a??=t.getKeyForSearch(i.current.search),a!=null)n.setFocusedKey(a),r&&r(a),e.preventDefault(),`continuePropagation`in e||e.stopPropagation();else{i.current.search=``,clearTimeout(i.current.timeout),i.current.timeout=void 0;return}}clearTimeout(i.current.timeout),i.current.timeout=setTimeout(()=>{i.current.search=``},na)}}:void 0}}}function ia(e){return e.length===1||!/^[A-Z]/i.test(e)?e:``}function aa(e,t){let n=(0,J.useRef)(!0),r=(0,J.useRef)(null);tn(()=>(n.current=!0,()=>{n.current=!1}),[]),tn(()=>{n.current?n.current=!1:(!r.current||t.some((e,t)=>!Object.is(e,r[t])))&&e(),r.current=t},t)}function oa(e){let{selectionManager:t,keyboardDelegate:n,ref:r,autoFocus:i=!1,shouldFocusWrap:a=!1,disallowEmptySelection:o=!1,disallowSelectAll:s=!1,escapeKeyBehavior:c=`clearSelection`,selectOnFocus:l=t.selectionBehavior===`replace`,disallowTypeAhead:u=!1,shouldUseVirtualFocus:d,allowsTabNavigation:f=!1,scrollRef:p=r,linkBehavior:m=`action`,UNSTABLE_focusOnEntry:h}=e,{direction:g}=xr(),_=wn(),v=(e,n,i)=>{if(n!=null){if(t.isLink(n)&&m===`selection`&&l&&!Zi(e)){(0,ni.flushSync)(()=>{t.setFocusedKey(n,i)});let a=Qi(r,n),o=t.getItemProps(n);if(a){_.open(a,e,o.href,o.routerOptions);return}return!1}if(t.setFocusedKey(n,i),t.isLink(n)&&m===`override`)return!1;if(e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(n);return}if(l&&!Zi(e)){t.replaceSelection(n);return}}return!1},y=e=>{if(n.getKeyBelow){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyBelow?.(t.focusedKey);if(r==null&&a&&(r=n.getFirstKey?.(t.focusedKey)),r!=null){v(e,r);return}}return!1},b=e=>{if(n.getKeyAbove){let r=t.focusedKey==null?n.getLastKey?.():n.getKeyAbove?.(t.focusedKey);if(r==null&&a&&(r=n.getLastKey?.(t.focusedKey)),r!=null){v(e,r);return}}return!1},x=e=>{if(n.getFirstKey){if(t.focusedKey===null&&e.shiftKey)return!1;let r=n.getFirstKey(t.focusedKey,ut(e));if(t.setFocusedKey(r),r!=null){if(ut(e)&&e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(r);return}if(l){t.replaceSelection(r);return}}}return!1},S=e=>{if(n.getKeyLeftOf){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyLeftOf?.(t.focusedKey);if(r==null&&a&&(r=g===`rtl`?n.getFirstKey?.(t.focusedKey):n.getLastKey?.(t.focusedKey)),r!=null){v(e,r,g===`rtl`?`first`:`last`);return}}return!1},C=e=>{if(n.getKeyRightOf){let r=t.focusedKey==null?n.getFirstKey?.():n.getKeyRightOf?.(t.focusedKey);if(r==null&&a&&(r=g===`rtl`?n.getLastKey?.(t.focusedKey):n.getFirstKey?.(t.focusedKey)),r!=null){v(e,r,g===`rtl`?`last`:`first`);return}}return!1},w=e=>{if(n.getLastKey){if(t.focusedKey===null&&e.shiftKey)return!1;let r=n.getLastKey(t.focusedKey,ut(e));if(t.setFocusedKey(r),r!=null){if(ut(e)&&e.shiftKey&&t.selectionMode===`multiple`){t.extendSelection(r);return}if(l){t.replaceSelection(r);return}}}return!1},T=e=>{if(n.getKeyPageBelow&&t.focusedKey!=null){let r=n.getKeyPageBelow(t.focusedKey);if(r!=null)return v(e,r)}return!1},E=e=>{if(n.getKeyPageAbove&&t.focusedKey!=null){let r=n.getKeyPageAbove(t.focusedKey);if(r!=null)return v(e,r)}return!1},D=()=>{if(t.selectionMode===`multiple`&&s!==!0){t.selectAll();return}return!1},O=()=>{if(c===`clearSelection`&&!o&&t.selectedKeys.size!==0){t.clearSelection();return}return!1},k=()=>{if(!f&&r.current){let e=st(r.current,{tabbable:!0}),t,n;do n=e.lastChild(),n&&(t=n);while(n);let i=zn();t&&(!Wt(t)||i&&!Cn(i))&&Bn(t)}return{shouldContinuePropagation:!0,shouldPreventDefault:!1}},A=()=>(!f&&r.current&&r.current.focus(),{shouldContinuePropagation:!0,shouldPreventDefault:!1}),j=(e,t)=>({[Dn()?e+`+Shift+Alt`:e+`+Shift+Control`]:t,[e+`+Shift`]:t,[Dn()?e+`+Alt`:e+`+Control`]:t,[e]:t}),{keyboardProps:M}=Yt({shortcuts:{...j(`ArrowDown`,y),...j(`ArrowUp`,b),...j(`ArrowLeft`,S),...j(`ArrowRight`,C),...j(`PageDown`,T),...j(`PageUp`,E)},allowRepeats:!0}),{keyboardProps:N}=Yt({shortcuts:{...j(`Home`,x),...j(`End`,w),"Mod+A":D,Escape:O,Tab:k,"Tab+Shift":A}}),P=(0,J.useRef)({top:0,left:0});En(p,`scroll`,()=>{P.current={top:p.current?.scrollTop??0,left:p.current?.scrollLeft??0}});let F=e=>{if(t.isFocused){dn(e.currentTarget,Kt(e))||t.setFocused(!1);return}if(!dn(e.currentTarget,Kt(e)))return;let i=jn();t.setFocused(!0);let a=e=>{e!=null&&(t.setFocusedKey(e),l&&!t.isSelected(e)&&t.replaceSelection(e))};if(h&&(i===`keyboard`||i===`virtual`))a(h===`first`?n.getFirstKey?.():n.getLastKey?.());else if(t.focusedKey==null){let r=e.relatedTarget;r&&e.currentTarget.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING?a(t.lastSelectedKey??n.getLastKey?.()):a(t.firstSelectedKey??n.getFirstKey?.())}else p.current&&(p.current.scrollTop=P.current.top,p.current.scrollLeft=P.current.left);if(t.focusedKey!=null&&p.current){let e=Qi(r,t.focusedKey);e instanceof HTMLElement&&(!Wt(e)&&!d&&Bn(e),(i===`keyboard`||h&&i===`virtual`)&&lt(e,{containingElement:r.current}))}},I=e=>{dn(e.currentTarget,e.relatedTarget)||t.setFocused(!1)},L=(0,J.useRef)(!1);En(r,ii,d?e=>{let{detail:n}=e;e.stopPropagation(),t.setFocused(!0),n?.focusStrategy===`first`&&(L.current=!0)}:void 0);let R=n.getFirstKey?.()??null;aa(()=>{if(L.current){if(R==null){let e=zn();ai(r.current),si(e,null),t.collection.size>0&&(L.current=!1)}else t.setFocusedKey(R),L.current=!1}},[R,t.collection.size]),aa(()=>{t.collection.size>0&&(L.current=!1)},[t.focusedKey]),En(r,ri,d?e=>{e.stopPropagation(),t.setFocused(!1),e.detail?.clearFocusKey&&t.setFocusedKey(null)}:void 0);let z=(0,J.useRef)(i),B=(0,J.useRef)(!1);(0,J.useEffect)(()=>{if(z.current){let e=null;i===`first`&&(e=n.getFirstKey?.()??null),i===`last`&&(e=n.getLastKey?.()??null);let a=t.selectedKeys;if(a.size){for(let n of a)if(t.canSelectItem(n)){e=n;break}}t.setFocused(!0),t.setFocusedKey(e),e!=null&&l&&!a.size&&t.canSelectItem(e)&&t.replaceSelection(e),e==null&&!d&&r.current&&Nn(r.current),t.collection.size>0&&(z.current=!1,B.current=!0)}});let V=(0,J.useRef)(t.focusedKey),H=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(t.isFocused&&t.focusedKey!=null&&(t.focusedKey!==V.current||B.current)&&p.current&&r.current){let e=jn(),n=Qi(r,t.focusedKey);if(!(n instanceof HTMLElement))return;(e===`keyboard`||B.current)&&(H.current&&cancelAnimationFrame(H.current),H.current=requestAnimationFrame(()=>{p.current&&(ct(p.current,n),e!==`virtual`&&lt(n,{containingElement:r.current}))}))}!d&&t.isFocused&&t.focusedKey==null&&V.current!=null&&r.current&&Nn(r.current),V.current=t.focusedKey,B.current=!1}),(0,J.useEffect)(()=>()=>{H.current&&cancelAnimationFrame(H.current)},[]),En(r,`react-aria-focus-scope-restore`,e=>{e.preventDefault(),t.setFocused(!0)});let U={...pn(N,M),onFocus:F,onBlur:I,onMouseDown(e){p.current===Kt(e)&&e.preventDefault()}},{typeSelectProps:ee}=ra({keyboardDelegate:n,selectionManager:t});u||(U=pn(ee,U));let W;d||(W=t.focusedKey==null?0:-1);let G=ea(t.collection);return{collectionProps:pn(U,{tabIndex:W,"data-collection":G})}}var sa=class{constructor(e){this.ref=e}getItemRect(e){let t=this.ref.current;if(!t)return null;let n=e==null?null:Qi(this.ref,e);if(!n)return null;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect();return{x:i.left-r.left-t.clientLeft+t.scrollLeft,y:i.top-r.top-t.clientTop+t.scrollTop,width:i.width,height:i.height}}getContentSize(){let e=this.ref.current;return{width:e?.scrollWidth??0,height:e?.scrollHeight??0}}getVisibleRect(){let e=this.ref.current;return{x:e?.scrollLeft??0,y:e?.scrollTop??0,width:e?.clientWidth??0,height:e?.clientHeight??0}}},ca=class{constructor(...e){if(e.length===1){let t=e[0];this.collection=t.collection,this.ref=t.ref,this.collator=t.collator,this.disabledKeys=t.disabledKeys||new Set,this.disabledBehavior=t.disabledBehavior||`all`,this.orientation=t.orientation||`vertical`,this.direction=t.direction,this.layout=t.layout||`stack`,this.layoutDelegate=t.layoutDelegate||new sa(t.ref)}else this.collection=e[0],this.disabledKeys=e[1],this.ref=e[2],this.collator=e[3],this.layout=`stack`,this.orientation=`vertical`,this.disabledBehavior=`all`,this.layoutDelegate=new sa(this.ref);this.layout===`stack`&&this.orientation===`vertical`&&(this.getKeyLeftOf=void 0,this.getKeyRightOf=void 0)}isDisabled(e){return this.disabledBehavior===`all`&&(e.props?.isDisabled||this.disabledKeys.has(e.key))&&e.props?.disabledBehavior!==`selection`}findNextNonDisabled(e,t,n=!1){let r=e;for(;r!=null;){let e=this.collection.getItem(r);if(e?.type===`item`&&(n||!this.isDisabled(e)))return r;r=t(r)}return null}getNextKey(e,t){let n=e;return n=this.collection.getKeyAfter(n),this.findNextNonDisabled(n,e=>this.collection.getKeyAfter(e),t?.includeDisabled)}getPreviousKey(e,t){let n=e;return n=this.collection.getKeyBefore(n),this.findNextNonDisabled(n,e=>this.collection.getKeyBefore(e),t?.includeDisabled)}findKey(e,t,n){let r=e,i=this.layoutDelegate.getItemRect(r);if(!i||r==null)return null;let a=i;do{if(r=t(r),r==null)break;i=this.layoutDelegate.getItemRect(r)}while(i&&n(a,i)&&r!=null);return r}isSameRow(e,t){return e.y===t.y||e.x!==t.x}isSameColumn(e,t){return e.x===t.x||e.y!==t.y}isReversed(e){let t=this.getNextKey(e),n=Qi(this.ref,e);if(t!=null){let e=Qi(this.ref,t);return!n||!e?!1:n.getBoundingClientRect().top>e.getBoundingClientRect().top}let r=this.getPreviousKey(e);if(r!=null){let e=Qi(this.ref,r);return!n||!e?!1:e.getBoundingClientRect().top>n.getBoundingClientRect().top}return!1}getKeyBelow(e,t){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getNextKey(e,t),this.isSameRow):this.orientation===`vertical`&&this.isReversed(e)?this.getPreviousKey(e,t):this.getNextKey(e,t)}getKeyAbove(e,t){return this.layout===`grid`&&this.orientation===`vertical`?this.findKey(e,e=>this.getPreviousKey(e,t),this.isSameRow):this.orientation===`vertical`&&this.isReversed(e)?this.getNextKey(e,t):this.getPreviousKey(e,t)}getNextColumn(e,t,n){return t?this.getPreviousKey(e,n):this.getNextKey(e,n)}getKeyRightOf(e,t){let n=this.direction===`ltr`?`getKeyRightOf`:`getKeyLeftOf`;return this.layoutDelegate[n]?(e=this.layoutDelegate[n](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[n](e),t?.includeDisabled)):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`rtl`,t):this.findKey(e,e=>this.getNextColumn(e,this.direction===`rtl`,t),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`rtl`,t):null}getKeyLeftOf(e,t){let n=this.direction===`ltr`?`getKeyLeftOf`:`getKeyRightOf`;return this.layoutDelegate[n]?(e=this.layoutDelegate[n](e),this.findNextNonDisabled(e,e=>this.layoutDelegate[n](e),t?.includeDisabled)):this.layout===`grid`?this.orientation===`vertical`?this.getNextColumn(e,this.direction===`ltr`,t):this.findKey(e,e=>this.getNextColumn(e,this.direction===`ltr`,t),this.isSameColumn):this.orientation===`horizontal`?this.getNextColumn(e,this.direction===`ltr`,t):null}getFirstKey(){let e=this.collection.getFirstKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyAfter(e))}getLastKey(){let e=this.collection.getLastKey();return this.findNextNonDisabled(e,e=>this.collection.getKeyBefore(e))}getKeyPageAbove(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;let r=this.isReversed(e);if(t&&!mt(t))return this.getFirstKey();let i=e;if(this.orientation===`horizontal`){let e=Math.max(0,n.x+n.width-this.layoutDelegate.getVisibleRect().width);for(;n&&n.x>e&&i!=null;)i=this.getKeyAbove(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}else{let e=this.layoutDelegate.getVisibleRect(),t=r?n.y-e.height:Math.max(0,n.y+n.height-e.height);for(;n&&n.y>t&&i!=null;)i=this.getKeyAbove(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}return i??(r?this.getLastKey():this.getFirstKey())}getKeyPageBelow(e){let t=this.ref.current,n=this.layoutDelegate.getItemRect(e);if(!n)return null;let r=this.isReversed(e);if(t&&!mt(t))return this.getLastKey();let i=e;if(this.orientation===`horizontal`){let e=Math.min(this.layoutDelegate.getContentSize().width,n.x-n.width+this.layoutDelegate.getVisibleRect().width);for(;n&&n.x<e&&i!=null;)i=this.getKeyBelow(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}else{let e=Math.min(this.layoutDelegate.getContentSize().height,n.y-n.height+this.layoutDelegate.getVisibleRect().height);for(;n&&n.y<e&&i!=null;)i=this.getKeyBelow(i),n=i==null?null:this.layoutDelegate.getItemRect(i)}return i??(r?this.getFirstKey():this.getLastKey())}getKeyForSearch(e,t){if(!this.collator)return null;let n=this.collection,r=t||this.getFirstKey();for(;r!=null;){let t=n.getItem(r);if(!t)return null;let i=t.textValue.slice(0,e.length);if(t.textValue&&this.collator.compare(i,e)===0)return r;r=this.getNextKey(r)}return null}};function la(e){let{selectionManager:t,collection:n,disabledKeys:r,ref:i,keyboardDelegate:a,layoutDelegate:o,orientation:s}=e,c=ht({usage:`search`,sensitivity:`base`}),l=t.disabledBehavior,u=(0,J.useMemo)(()=>a||new ca({collection:n,disabledKeys:r,disabledBehavior:l,ref:i,collator:c,layoutDelegate:o,orientation:s}),[a,o,n,r,i,c,l,s]),{collectionProps:d}=oa({...e,ref:i,selectionManager:t,keyboardDelegate:u});return{listProps:d}}var ua=500;function da(e){let{isDisabled:t,pointerType:n,onLongPressStart:r,onLongPressEnd:i,onLongPress:a,threshold:o=ua,accessibilityDescription:s}=e,c=(0,J.useRef)(void 0),{addGlobalListener:l,removeAllGlobalListeners:u}=ln(),d=e=>n?e.pointerType===n:e.pointerType===`mouse`||e.pointerType===`touch`,{pressProps:f}=nn({isDisabled:t,onPressStart(e){if(e.continuePropagation(),d(e)){r&&r({...e,type:`longpressstart`}),c.current=setTimeout(()=>{e.target.dispatchEvent(new PointerEvent(`pointercancel`,{bubbles:!0})),l(e.target,`click`,e=>e.preventDefault(),{once:!0}),Ut(e.target).activeElement!==e.target&&Bn(e.target),a&&a({...e,type:`longpress`}),c.current=void 0},o),e.pointerType===`touch`&&l(e.target,`contextmenu`,e=>e.preventDefault(),{once:!0});let t=kn(e.target);l(t,`pointerup`,()=>{setTimeout(()=>{u()},100)},{once:!0})}},onPressEnd(e){c.current&&clearTimeout(c.current),i&&d(e)&&i({...e,type:`longpressend`})}}),p=vt(a&&!t?s:void 0);return{longPressProps:pn(f,p)}}function fa(e){let{id:t,selectionManager:n,key:r,ref:i,shouldSelectOnPressUp:a,shouldUseVirtualFocus:o,focus:s,isDisabled:c,onAction:l,allowsDifferentPressOrigin:u,linkBehavior:d=`action`}=e,f=wn();t=Xt(t);let p=e=>{if(e.pointerType===`keyboard`&&Zi(e))n.toggleSelection(r);else{if(n.selectionMode===`none`)return;if(n.isLink(r)){if(d===`selection`&&i.current){let t=n.getItemProps(r);f.open(i.current,e,t.href,t.routerOptions),n.setSelectedKeys(n.selectedKeys);return}if(d===`override`||d===`none`)return}n.selectionMode===`single`?n.isSelected(r)&&!n.disallowEmptySelection?n.toggleSelection(r):n.replaceSelection(r):e&&e.shiftKey?n.extendSelection(r):n.selectionBehavior===`toggle`||e&&(ut(e)||e.pointerType===`touch`||e.pointerType===`virtual`)?n.toggleSelection(r):n.replaceSelection(r)}};(0,J.useEffect)(()=>{r===n.focusedKey&&n.isFocused&&(o?ai(i.current):s?s():zn()!==i.current&&i.current&&Nn(i.current))},[i,r,n.focusedKey,n.childFocusStrategy,n.isFocused,o]),c||=n.isDisabled(r);let m={};!o&&!c?m={tabIndex:r===n.focusedKey?0:-1,onFocus(e){Kt(e)===i.current&&n.setFocusedKey(r)}}:c&&(m.onMouseDown=e=>{e.preventDefault()}),(0,J.useEffect)(()=>{c&&n.focusedKey===r&&n.setFocusedKey(null)},[n,c,r]);let h=n.isLink(r)&&d===`override`,g=l&&e.UNSTABLE_itemBehavior===`action`,_=n.isLink(r)&&d!==`selection`&&d!==`none`,v=!c&&n.canSelectItem(r)&&!h&&!g,y=(l||_)&&!c,b=y&&(n.selectionBehavior===`replace`?!v:!v||n.isEmpty),x=y&&v&&n.selectionBehavior===`replace`,S=b||x,C=(0,J.useRef)(null),w=S&&v,T=(0,J.useRef)(!1),E=(0,J.useRef)(!1),D=n.getItemProps(r),O=e=>{l&&(l(),i.current?.dispatchEvent(new CustomEvent(`react-aria-item-action`,{bubbles:!0}))),_&&i.current&&f.open(i.current,e,D.href,D.routerOptions)},k={ref:i};a?(k.onPressStart=e=>{C.current=e.pointerType,T.current=w,e.pointerType===`keyboard`&&(!S||ma(e.key))&&p(e)},u?(k.onPressUp=b?void 0:e=>{e.pointerType===`mouse`&&v&&p(e)},k.onPress=b?O:e=>{e.pointerType!==`keyboard`&&e.pointerType!==`mouse`&&v&&p(e)}):k.onPress=e=>{if(b||x&&e.pointerType!==`mouse`){if(e.pointerType===`keyboard`&&!pa(e.key))return;O(e)}else e.pointerType!==`keyboard`&&v&&p(e)}):(k.onPressStart=e=>{C.current=e.pointerType,T.current=w,E.current=b,v&&(e.pointerType===`mouse`&&!b||e.pointerType===`keyboard`&&(!y||ma(e.key)))&&p(e)},k.onPress=e=>{(e.pointerType===`touch`||e.pointerType===`pen`||e.pointerType===`virtual`||e.pointerType===`keyboard`&&S&&pa(e.key)||e.pointerType===`mouse`&&E.current)&&(S?O(e):v&&p(e))});let A=ta(n.collection);if(m[`data-collection`]=A,m[`data-key`]=r,k.preventFocusOnPress=o,o&&(k=pn(k,{onPressStart(e){e.pointerType!==`touch`&&(n.setFocused(!0),n.setFocusedKey(r))},onPress(e){e.pointerType===`touch`&&(n.setFocused(!0),n.setFocusedKey(r))}})),D)for(let e of[`onPressStart`,`onPressEnd`,`onPressChange`,`onPress`,`onPressUp`,`onClick`])D[e]&&(k[e]=Pn(k[e],D[e]));let{pressProps:j,isPressed:M}=nn(k),N=x?e=>{C.current===`mouse`&&(e.stopPropagation(),e.preventDefault(),O(e))}:void 0,{longPressProps:P}=da({isDisabled:!w,onLongPress(e){e.pointerType===`touch`&&(p(e),n.setSelectionBehavior(`toggle`))}}),F=e=>{C.current===`touch`&&T.current&&e.preventDefault()},I=d!==`none`&&n.isLink(r)?e=>{In.isOpening||e.preventDefault()}:void 0,L=pn(m,v||b||o&&!c?j:{},w?P:{},{onDoubleClick:N,onDragStartCapture:F,onClick:I,id:t},o?{onMouseDown:e=>e.preventDefault()}:void 0),R=e=>{let t=e;for(;t&&t!==i.current;){let e=t.getAttribute(`data-collection`);if(e!=null)return e!==A;t=t.parentElement}return Cn(e)},z=L.onPointerDown;L.onPointerDown=e=>{let t=Kt(e);if(t&&t!==i.current&&R(t)){e.stopPropagation();return}z?.(e)};let B=L.onMouseDown;return L.onMouseDown=e=>{let t=Kt(e);if(t&&t!==i.current&&R(t)){e.stopPropagation();return}B?.(e)},{itemProps:L,isPressed:M,isSelected:n.isSelected(r),isFocused:n.isFocused&&n.focusedKey===r,isDisabled:c,allowsSelection:v,hasAction:S}}function pa(e){return e===`Enter`}function ma(e){return e===` `}function ha(e,t){return typeof t.getChildren==`function`?t.getChildren(e.key):e.childNodes}function ga(e){return _a(e,0)}function _a(e,t){if(t<0)return;let n=0;for(let r of e){if(n===t)return r;n++}}function va(e,t,n){if(t.parentKey===n.parentKey)return t.index-n.index;let r=[...ya(e,t),t],i=[...ya(e,n),n],a=r.slice(0,i.length).findIndex((e,t)=>e!==i[t]);return a===-1?r.findIndex(e=>e===n)>=0?1:(i.findIndex(e=>e===t),-1):(t=r[a],n=i[a],t.index-n.index)}function ya(e,t){let n=[],r=t;for(;r?.parentKey!=null;)r=e.getItem(r.parentKey),r&&n.unshift(r);return n}function ba(e){let t=J.version.split(`.`);return parseInt(t[0],10)>=19?e:e?`true`:void 0}var xa=class e extends Set{constructor(t,n,r){super(t),t instanceof e?(this.anchorKey=n??t.anchorKey,this.currentKey=r??t.currentKey):(this.anchorKey=n??null,this.currentKey=r??null)}};function Sa(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ca(e){let{selectionMode:t=`none`,disallowEmptySelection:n=!1,allowDuplicateSelectionEvents:r,selectionBehavior:i=`toggle`,disabledBehavior:a=`all`}=e,o=(0,J.useRef)(!1),[,s]=(0,J.useState)(!1),c=(0,J.useRef)(null),l=(0,J.useRef)(null),[,u]=(0,J.useState)(null),d=(0,J.useMemo)(()=>wa(e.selectedKeys),[e.selectedKeys]),f=(0,J.useMemo)(()=>wa(e.defaultSelectedKeys,new xa),[e.defaultSelectedKeys]),[p,m]=$t(d,f,e.onSelectionChange),h=(0,J.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),[g,_]=(0,J.useState)(i);i===`replace`&&g===`toggle`&&typeof p==`object`&&p.size===0&&_(`replace`);let v=(0,J.useRef)(i);return(0,J.useEffect)(()=>{i!==v.current&&(_(i),v.current=i)},[i]),{selectionMode:t,disallowEmptySelection:n,selectionBehavior:g,setSelectionBehavior:_,get isFocused(){return o.current},setFocused(e){o.current=e,s(e)},get focusedKey(){return c.current},get childFocusStrategy(){return l.current},setFocusedKey(e,t=`first`){c.current=e,l.current=t,u(e)},selectedKeys:p,setSelectedKeys(e){(r||!Sa(e,p))&&m(e)},disabledKeys:h,disabledBehavior:a}}function wa(e,t){return e?e===`all`?`all`:new xa(e):t}var Ta=class e{constructor(e,t,n){this.collection=e,this.state=t,this.allowsCellSelection=n?.allowsCellSelection??!1,this._isSelectAll=null,this.layoutDelegate=n?.layoutDelegate||null,this.fullCollection=n?.fullCollection||null}get selectionMode(){return this.state.selectionMode}get disallowEmptySelection(){return this.state.disallowEmptySelection}get selectionBehavior(){return this.state.selectionBehavior}setSelectionBehavior(e){this.state.setSelectionBehavior(e)}get isFocused(){return this.state.isFocused}setFocused(e){this.state.setFocused(e)}get focusedKey(){return this.state.focusedKey}get childFocusStrategy(){return this.state.childFocusStrategy}setFocusedKey(e,t){(e==null||this.collection.getItem(e))&&this.state.setFocusedKey(e,t)}get selectedKeys(){return this.state.selectedKeys===`all`?new Set(this.getSelectAllKeys()):this.state.selectedKeys}get rawSelection(){return this.state.selectedKeys}isSelected(e){if(this.state.selectionMode===`none`)return!1;let t=this.getKey(e);return t==null?!1:this.state.selectedKeys===`all`?this.canSelectItem(t):this.state.selectedKeys.has(t)}get isEmpty(){return this.state.selectedKeys!==`all`&&this.state.selectedKeys.size===0}get isSelectAll(){if(this.isEmpty)return!1;if(this.state.selectedKeys===`all`)return!0;if(this._isSelectAll!=null)return this._isSelectAll;let e=this.getSelectAllKeys(),t=this.state.selectedKeys;return this._isSelectAll=e.every(e=>t.has(e)),this._isSelectAll}get firstSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&va(this.collection,n,e)<0)&&(e=n)}return e?.key??null}get lastSelectedKey(){let e=null;for(let t of this.state.selectedKeys){let n=this.collection.getItem(t);(!e||n&&va(this.collection,n,e)>0)&&(e=n)}return e?.key??null}get disabledKeys(){return this.state.disabledKeys}get disabledBehavior(){return this.state.disabledBehavior}extendSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n;if(this.state.selectedKeys===`all`)n=new xa([t],t,t);else{let e=this.state.selectedKeys,r=e.anchorKey??t;n=new xa(e,r,t);for(let i of this.getKeyRange(r,e.currentKey??t))n.delete(i);for(let e of this.getKeyRange(t,r))this.canSelectItem(e)&&n.add(e)}this.state.setSelectedKeys(n)}getKeyRange(e,t){let n=this.collection.getItem(e),r=this.collection.getItem(t);return n&&r?va(this.collection,n,r)<=0?this.getKeyRangeInternal(e,t):this.getKeyRangeInternal(t,e):[]}getKeyRangeInternal(e,t){if(this.layoutDelegate?.getKeyRange)return this.layoutDelegate.getKeyRange(e,t);let n=[],r=e;for(;r!=null;){let e=this.collection.getItem(r);if(e&&(e.type===`item`||e.type===`cell`&&this.allowsCellSelection)&&n.push(r),r===t)return n;r=this.collection.getKeyAfter(r)}return[]}getKey(e){let t=this.collection.getItem(e);if(!t||t.type===`cell`&&this.allowsCellSelection)return e;for(;t&&t.type!==`item`&&t.parentKey!=null;)t=this.collection.getItem(t.parentKey);return!t||t.type!==`item`?null:t.key}toggleSelection(e){if(this.selectionMode===`none`)return;if(this.selectionMode===`single`&&!this.isSelected(e)){this.replaceSelection(e);return}let t=this.getKey(e);if(t==null)return;let n=new xa(this.state.selectedKeys===`all`?this.getSelectAllKeys():this.state.selectedKeys);n.has(t)?n.delete(t):this.canSelectItem(t)&&(n.add(t),n.anchorKey=t,n.currentKey=t),!(this.disallowEmptySelection&&n.size===0)&&this.state.setSelectedKeys(n)}replaceSelection(e){if(this.selectionMode===`none`)return;let t=this.getKey(e);if(t==null)return;let n=this.canSelectItem(t)?new xa([t],t,t):new xa;this.state.setSelectedKeys(n)}setSelectedKeys(e){if(this.selectionMode===`none`)return;let t=new xa;for(let n of e){let e=this.getKey(n);if(e!=null&&(t.add(e),this.selectionMode===`single`))break}this.state.setSelectedKeys(t)}getSelectAllKeys(){let e=this.fullCollection??this.collection,t=[],n=r=>{for(;r!=null;){if(this.canSelectItemIn(r,e)){let i=e.getItem(r);i?.type===`item`&&t.push(r),i?.hasChildNodes&&(this.allowsCellSelection||i.type!==`item`)&&n(ga(ha(i,e))?.key??null)}r=e.getKeyAfter(r)}};return n(e.getFirstKey()),t}selectAll(){!this.isSelectAll&&this.selectionMode===`multiple`&&this.state.setSelectedKeys(`all`)}clearSelection(){!this.disallowEmptySelection&&(this.state.selectedKeys===`all`||this.state.selectedKeys.size>0)&&this.state.setSelectedKeys(new xa)}toggleSelectAll(){this.isSelectAll?this.clearSelection():this.selectAll()}select(e,t){this.selectionMode!==`none`&&(this.selectionMode===`single`?this.isSelected(e)&&!this.disallowEmptySelection?this.toggleSelection(e):this.replaceSelection(e):this.selectionBehavior===`toggle`||t&&(t.pointerType===`touch`||t.pointerType===`virtual`)?this.toggleSelection(e):this.replaceSelection(e))}isSelectionEqual(e){if(e===this.state.selectedKeys)return!0;let t=this.selectedKeys;if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;for(let n of t)if(!e.has(n))return!1;return!0}canSelectItem(e){return this.canSelectItemIn(e,this.collection)}canSelectItemIn(e,t){if(this.state.selectionMode===`none`||this.state.disabledKeys.has(e))return!1;let n=t.getItem(e);return!(!n||n?.props?.isDisabled||n.type===`cell`&&!this.allowsCellSelection)}isDisabled(e){let t=this.collection.getItem(e);return this.state.disabledBehavior===`all`&&(this.state.disabledKeys.has(e)||!!t?.props?.isDisabled)&&t?.props?.disabledBehavior!==`selection`}isLink(e){return!!this.collection.getItem(e)?.props?.href}getItemProps(e){return this.collection.getItem(e)?.props}withCollection(t){return new e(t,this.state,{allowsCellSelection:this.allowsCellSelection,layoutDelegate:this.layoutDelegate||void 0,fullCollection:this.fullCollection??this.collection})}},Ea=class{build(e,t){return this.context=t,Da(()=>this.iterateCollection(e))}*iterateCollection(e){let{children:t,items:n}=e;if(J.isValidElement(t)&&t.type===J.Fragment)yield*this.iterateCollection({children:t.props.children,items:n});else if(typeof t==`function`){if(!n)throw Error(`props.children was a function but props.items is missing`);let e=0;for(let r of n)yield*this.getFullNode({value:r,index:e},{renderer:t}),e++}else{let e=[];J.Children.forEach(t,t=>{t&&e.push(t)});let n=0;for(let t of e){let e=this.getFullNode({element:t,index:n},{});for(let t of e)n++,yield t}}}getKey(e,t,n,r){if(e.key!=null)return e.key;if(t.type===`cell`&&t.key!=null)return`${r}${t.key}`;let i=t.value;if(i!=null){let e=i.key??i.id;if(e==null)throw Error(`No key found for item`);return e}return r?`${r}.${t.index}`:`$.${t.index}`}getChildState(e,t){return{renderer:t.renderer||e.renderer}}*getFullNode(e,t,n,r){if(J.isValidElement(e.element)&&e.element.type===J.Fragment){let i=[];J.Children.forEach(e.element.props.children,e=>{i.push(e)});let a=e.index??0;for(let e of i)yield*this.getFullNode({element:e,index:a++},t,n,r);return}let i=e.element;if(!i&&e.value&&t&&t.renderer){let n=this.cache.get(e.value);if(n&&(!n.shouldInvalidate||!n.shouldInvalidate(this.context))){n.index=e.index,n.parentKey=r?r.key:null,yield n;return}i=t.renderer(e.value)}if(J.isValidElement(i)){let a=i.type;if(typeof a!=`function`&&typeof a.getCollectionNode!=`function`){let e=i.type;throw Error(`Unknown element <${e}> in collection.`)}let o=a.getCollectionNode(i.props,this.context),s=e.index??0,c=o.next();for(;!c.done&&c.value;){let a=c.value;e.index=s;let l=a.key??null;l??=a.element?null:this.getKey(i,e,t,n);let u=[...this.getFullNode({...a,key:l,index:s,wrapper:Oa(e.wrapper,a.wrapper)},this.getChildState(t,a),n?`${n}${i.key}`:i.key,r)];for(let t of u){if(t.value=a.value??e.value??null,t.value&&this.cache.set(t.value,t),e.type&&t.type!==e.type)throw Error(`Unsupported type <${ka(t.type)}> in <${ka(r?.type??`unknown parent type`)}>. Only <${ka(e.type)}> is supported.`);s++,yield t}c=o.next(u)}return}if(e.key==null||e.type==null)return;let a=this,o={type:e.type,props:e.props,key:e.key,parentKey:r?r.key:null,value:e.value??null,level:(r?.level??0)+ +(r?.type===`item`),index:e.index,rendered:e.rendered,textValue:e.textValue??``,"aria-label":e[`aria-label`],wrapper:e.wrapper,shouldInvalidate:e.shouldInvalidate,hasChildNodes:e.hasChildNodes||!1,childNodes:Da(function*(){if(!e.hasChildNodes||!e.childNodes)return;let n=0;for(let r of e.childNodes()){r.key!=null&&(r.key=`${o.key}${r.key}`);let e=a.getFullNode({...r,index:n},a.getChildState(t,r),o.key,o);for(let t of e)n++,yield t}})};yield o}constructor(){this.cache=new WeakMap}};function Da(e){let t=[],n=null;return{*[Symbol.iterator](){for(let e of t)yield e;n||=e();for(let e of n)t.push(e),yield e}}}function Oa(e,t){if(e&&t)return n=>e(t(n));if(e)return e;if(t)return t}function ka(e){return e[0].toUpperCase()+e.slice(1)}function Aa(e,t,n){let r=(0,J.useMemo)(()=>new Ea,[]),{children:i,items:a,collection:o}=e;return(0,J.useMemo)(()=>o||t(r.build({children:i,items:a},n)),[r,i,a,o,n,t])}function ja(e,t){let{collection:n,onLoadMore:r,scrollOffset:i=1,direction:a=`end`}=e,o=(0,J.useRef)(null),s=Rn(e=>{for(let t of e)t.isIntersecting&&r&&r()});tn(()=>{if(t.current){let e=100*i,n=a===`start`?`${e}% 0px 0px 0px`:`0px ${e}% ${e}% ${e}%`;o.current=new IntersectionObserver(s,{root:gt(t?.current),rootMargin:n}),o.current.observe(t.current)}return()=>{o.current&&o.current.disconnect()}},[n,t,i,a])}var Ma=class{constructor(e,{expandedKeys:t}={}){this.keyMap=new Map,this.firstKey=null,this.lastKey=null,this.iterable=e,t||=new Set;let n=e=>{if(this.keyMap.set(e.key,e),e.childNodes&&(e.type===`section`||t.has(e.key)))for(let t of e.childNodes)n(t)};for(let t of e)n(t);let r=null,i=0;for(let[e,t]of this.keyMap)r?(r.nextKey=e,t.prevKey=r.key):(this.firstKey=e,t.prevKey=void 0),t.type===`item`&&(t.index=i++),r=t,r.nextKey=void 0;this.lastKey=r?.key??null}*[Symbol.iterator](){yield*this.iterable}get size(){return this.keyMap.size}getKeys(){return this.keyMap.keys()}getKeyBefore(e){let t=this.keyMap.get(e);return t?t.prevKey??null:null}getKeyAfter(e){let t=this.keyMap.get(e);return t?t.nextKey??null:null}getFirstKey(){return this.firstKey}getLastKey(){return this.lastKey}getItem(e){return this.keyMap.get(e)??null}at(e){let t=[...this.getKeys()];return this.getItem(t[e])}};function Na(e){let{onExpandedChange:t}=e,[n,r]=$t(e.expandedKeys?new Set(e.expandedKeys):void 0,e.defaultExpandedKeys?new Set(e.defaultExpandedKeys):new Set,t),i=Ca(e),a=(0,J.useMemo)(()=>e.disabledKeys?new Set(e.disabledKeys):new Set,[e.disabledKeys]),o=Aa(e,(0,J.useCallback)(e=>new Ma(e,{expandedKeys:n}),[n]),null);return(0,J.useEffect)(()=>{i.focusedKey!=null&&!o.getItem(i.focusedKey)&&i.setFocusedKey(null)},[o,i.focusedKey]),{collection:o,expandedKeys:n,disabledKeys:a,toggleKey:e=>{r(Pa(n,e))},setExpandedKeys:r,selectionManager:new Ta(o,i)}}function Pa(e,t){let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}var Fa=new WeakMap;function Ia(e,t){let{id:n}=Fa.get(e)??{};if(!n)throw Error(`Unknown list`);return`${n}-${La(t)}`}function La(e){return typeof e==`string`?e.replace(/\s*/g,``):``+e}var Ra={};Ra={deselectedItem:e=>`${e.item} \u{63A}\u{64A}\u{631} \u{627}\u{644}\u{645}\u{62D}\u{62F}\u{62F}`,longPressToSelect:`اضغط مطولًا للدخول إلى وضع التحديد.`,select:`تحديد`,selectedAll:`جميع العناصر المحددة.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`لم يتم تحديد عناصر`,one:()=>`${t.number(e.count)} \u{639}\u{646}\u{635}\u{631} \u{645}\u{62D}\u{62F}\u{62F}`,other:()=>`${t.number(e.count)} \u{639}\u{646}\u{635}\u{631} \u{645}\u{62D}\u{62F}\u{62F}`})}.`,selectedItem:e=>`${e.item} \u{627}\u{644}\u{645}\u{62D}\u{62F}\u{62F}`};var za={};za={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{435} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`,longPressToSelect:`Натиснете и задръжте за да влезете в избирателен режим.`,select:`Изберете`,selectedAll:`Всички елементи са избрани.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Няма избрани елементи`,one:()=>`${t.number(e.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}`,other:()=>`${t.number(e.count)} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}\u{438} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{438}`})}.`,selectedItem:e=>`${e.item} \u{438}\u{437}\u{431}\u{440}\u{430}\u{43D}.`};var Ba={};Ba={deselectedItem:e=>`Polo\u{17E}ka ${e.item} nen\xed vybr\xe1na.`,longPressToSelect:`Dlouhým stisknutím přejdete do režimu výběru.`,select:`Vybrat`,selectedAll:`Vybrány všechny položky.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nevybrány žádné položky`,one:()=>`Vybr\xe1na ${t.number(e.count)} polo\u{17E}ka`,other:()=>`Vybr\xe1no ${t.number(e.count)} polo\u{17E}ek`})}.`,selectedItem:e=>`Vybr\xe1na polo\u{17E}ka ${e.item}.`};var Va={};Va={deselectedItem:e=>`${e.item} ikke valgt.`,longPressToSelect:`Lav et langt tryk for at aktivere valgtilstand.`,select:`Vælg`,selectedAll:`Alle elementer valgt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ingen elementer valgt`,one:()=>`${t.number(e.count)} element valgt`,other:()=>`${t.number(e.count)} elementer valgt`})}.`,selectedItem:e=>`${e.item} valgt.`};var Ha={};Ha={deselectedItem:e=>`${e.item} nicht ausgew\xe4hlt.`,longPressToSelect:`Gedrückt halten, um Auswahlmodus zu öffnen.`,select:`Auswählen`,selectedAll:`Alle Elemente ausgewählt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Keine Elemente ausgewählt`,one:()=>`${t.number(e.count)} Element ausgew\xe4hlt`,other:()=>`${t.number(e.count)} Elemente ausgew\xe4hlt`})}.`,selectedItem:e=>`${e.item} ausgew\xe4hlt.`};var Ua={};Ua={deselectedItem:e=>`\u{394}\u{3B5}\u{3BD} \u{3B5}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} \u{3C4}\u{3BF} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF} ${e.item}.`,longPressToSelect:`Πατήστε παρατεταμένα για να μπείτε σε λειτουργία επιλογής.`,select:`Επιλογή`,selectedAll:`Επιλέχθηκαν όλα τα στοιχεία.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Δεν επιλέχθηκαν στοιχεία`,one:()=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} ${t.number(e.count)} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF}`,other:()=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B1}\u{3BD} ${t.number(e.count)} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3B1}`})}.`,selectedItem:e=>`\u{395}\u{3C0}\u{3B9}\u{3BB}\u{3AD}\u{3C7}\u{3B8}\u{3B7}\u{3BA}\u{3B5} \u{3C4}\u{3BF} \u{3C3}\u{3C4}\u{3BF}\u{3B9}\u{3C7}\u{3B5}\u{3AF}\u{3BF} ${e.item}.`};var Wa={};Wa={deselectedItem:e=>`${e.item} not selected.`,select:`Select`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`No items selected`,one:()=>`${t.number(e.count)} item selected`,other:()=>`${t.number(e.count)} items selected`})}.`,selectedAll:`All items selected.`,selectedItem:e=>`${e.item} selected.`,longPressToSelect:`Long press to enter selection mode.`};var Ga={};Ga={deselectedItem:e=>`${e.item} no seleccionado.`,longPressToSelect:`Mantenga pulsado para abrir el modo de selección.`,select:`Seleccionar`,selectedAll:`Todos los elementos seleccionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ningún elemento seleccionado`,one:()=>`${t.number(e.count)} elemento seleccionado`,other:()=>`${t.number(e.count)} elementos seleccionados`})}.`,selectedItem:e=>`${e.item} seleccionado.`};var Ka={};Ka={deselectedItem:e=>`${e.item} pole valitud.`,longPressToSelect:`Valikurežiimi sisenemiseks vajutage pikalt.`,select:`Vali`,selectedAll:`Kõik üksused valitud.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Üksusi pole valitud`,one:()=>`${t.number(e.count)} \xfcksus valitud`,other:()=>`${t.number(e.count)} \xfcksust valitud`})}.`,selectedItem:e=>`${e.item} valitud.`};var qa={};qa={deselectedItem:e=>`Kohdetta ${e.item} ei valittu.`,longPressToSelect:`Siirry valintatilaan painamalla pitkään.`,select:`Valitse`,selectedAll:`Kaikki kohteet valittu.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ei yhtään kohdetta valittu`,one:()=>`${t.number(e.count)} kohde valittu`,other:()=>`${t.number(e.count)} kohdetta valittu`})}.`,selectedItem:e=>`${e.item} valittu.`};var Ja={};Ja={deselectedItem:e=>`${e.item} non s\xe9lectionn\xe9.`,longPressToSelect:`Appuyez de manière prolongée pour passer en mode de sélection.`,select:`Sélectionner`,selectedAll:`Tous les éléments sélectionnés.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Aucun élément sélectionné`,one:()=>`${t.number(e.count)} \xe9l\xe9ment s\xe9lectionn\xe9`,other:()=>`${t.number(e.count)} \xe9l\xe9ments s\xe9lectionn\xe9s`})}.`,selectedItem:e=>`${e.item} s\xe9lectionn\xe9.`};var Ya={};Ya={deselectedItem:e=>`${e.item} \u{5DC}\u{5D0} \u{5E0}\u{5D1}\u{5D7}\u{5E8}.`,longPressToSelect:`הקשה ארוכה לכניסה למצב בחירה.`,select:`בחר`,selectedAll:`כל הפריטים נבחרו.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`לא נבחרו פריטים`,one:()=>`\u{5E4}\u{5E8}\u{5D9}\u{5D8} ${t.number(e.count)} \u{5E0}\u{5D1}\u{5D7}\u{5E8}`,other:()=>`${t.number(e.count)} \u{5E4}\u{5E8}\u{5D9}\u{5D8}\u{5D9}\u{5DD} \u{5E0}\u{5D1}\u{5D7}\u{5E8}\u{5D5}`})}.`,selectedItem:e=>`${e.item} \u{5E0}\u{5D1}\u{5D7}\u{5E8}.`};var Xa={};Xa={deselectedItem:e=>`Stavka ${e.item} nije odabrana.`,longPressToSelect:`Dugo pritisnite za ulazak u način odabira.`,select:`Odaberite`,selectedAll:`Odabrane su sve stavke.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nije odabrana nijedna stavka`,one:()=>`Odabrana je ${t.number(e.count)} stavka`,other:()=>`Odabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`Stavka ${e.item} je odabrana.`};var Za={};Za={deselectedItem:e=>`${e.item} nincs kijel\xf6lve.`,longPressToSelect:`Nyomja hosszan a kijelöléshez.`,select:`Kijelölés`,selectedAll:`Az összes elem kijelölve.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Egy elem sincs kijelölve`,one:()=>`${t.number(e.count)} elem kijel\xf6lve`,other:()=>`${t.number(e.count)} elem kijel\xf6lve`})}.`,selectedItem:e=>`${e.item} kijel\xf6lve.`};var Qa={};Qa={deselectedItem:e=>`${e.item} non selezionato.`,longPressToSelect:`Premi a lungo per passare alla modalità di selezione.`,select:`Seleziona`,selectedAll:`Tutti gli elementi selezionati.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nessun elemento selezionato`,one:()=>`${t.number(e.count)} elemento selezionato`,other:()=>`${t.number(e.count)} elementi selezionati`})}.`,selectedItem:e=>`${e.item} selezionato.`};var $a={};$a={deselectedItem:e=>`${e.item} \u{304C}\u{9078}\u{629E}\u{3055}\u{308C}\u{3066}\u{3044}\u{307E}\u{305B}\u{3093}\u{3002}`,longPressToSelect:`長押しして選択モードを開きます。`,select:`選択`,selectedAll:`すべての項目を選択しました。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`項目が選択されていません`,one:()=>`${t.number(e.count)} \u{9805}\u{76EE}\u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}`,other:()=>`${t.number(e.count)} \u{9805}\u{76EE}\u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}`})}\u{3002}`,selectedItem:e=>`${e.item} \u{3092}\u{9078}\u{629E}\u{3057}\u{307E}\u{3057}\u{305F}\u{3002}`};var eo={};eo={deselectedItem:e=>`${e.item}\u{C774}(\u{AC00}) \u{C120}\u{D0DD}\u{B418}\u{C9C0} \u{C54A}\u{C558}\u{C2B5}\u{B2C8}\u{B2E4}.`,longPressToSelect:`선택 모드로 들어가려면 길게 누르십시오.`,select:`선택`,selectedAll:`모든 항목이 선택되었습니다.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`선택된 항목이 없습니다`,one:()=>`${t.number(e.count)}\u{AC1C} \u{D56D}\u{BAA9}\u{C774} \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}`,other:()=>`${t.number(e.count)}\u{AC1C} \u{D56D}\u{BAA9}\u{C774} \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}`})}.`,selectedItem:e=>`${e.item}\u{C774}(\u{AC00}) \u{C120}\u{D0DD}\u{B418}\u{C5C8}\u{C2B5}\u{B2C8}\u{B2E4}.`};var to={};to={deselectedItem:e=>`${e.item} nepasirinkta.`,longPressToSelect:`Norėdami įjungti pasirinkimo režimą, paspauskite ir palaikykite.`,select:`Pasirinkti`,selectedAll:`Pasirinkti visi elementai.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nepasirinktas nė vienas elementas`,one:()=>`Pasirinktas ${t.number(e.count)} elementas`,other:()=>`Pasirinkta element\u{173}: ${t.number(e.count)}`})}.`,selectedItem:e=>`Pasirinkta: ${e.item}.`};var no={};no={deselectedItem:e=>`Vienums ${e.item} nav atlas\u{12B}ts.`,longPressToSelect:`Ilgi turiet nospiestu. lai ieslēgtu atlases režīmu.`,select:`Atlasīt`,selectedAll:`Atlasīti visi vienumi.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nav atlasīts neviens vienums`,one:()=>`Atlas\u{12B}to vienumu skaits: ${t.number(e.count)}`,other:()=>`Atlas\u{12B}to vienumu skaits: ${t.number(e.count)}`})}.`,selectedItem:e=>`Atlas\u{12B}ts vienums ${e.item}.`};var ro={};ro={deselectedItem:e=>`${e.item} er ikke valgt.`,longPressToSelect:`Bruk et langt trykk for å gå inn i valgmodus.`,select:`Velg`,selectedAll:`Alle elementer er valgt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Ingen elementer er valgt`,one:()=>`${t.number(e.count)} element er valgt`,other:()=>`${t.number(e.count)} elementer er valgt`})}.`,selectedItem:e=>`${e.item} er valgt.`};var io={};io={deselectedItem:e=>`${e.item} niet geselecteerd.`,longPressToSelect:`Druk lang om de selectiemodus te openen.`,select:`Selecteren`,selectedAll:`Alle items geselecteerd.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Geen items geselecteerd`,one:()=>`${t.number(e.count)} item geselecteerd`,other:()=>`${t.number(e.count)} items geselecteerd`})}.`,selectedItem:e=>`${e.item} geselecteerd.`};var ao={};ao={deselectedItem:e=>`Nie zaznaczono ${e.item}.`,longPressToSelect:`Naciśnij i przytrzymaj, aby wejść do trybu wyboru.`,select:`Zaznacz`,selectedAll:`Wszystkie zaznaczone elementy.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nie zaznaczono żadnych elementów`,one:()=>`${t.number(e.count)} zaznaczony element`,other:()=>`${t.number(e.count)} zaznaczonych element\xf3w`})}.`,selectedItem:e=>`Zaznaczono ${e.item}.`};var oo={};oo={deselectedItem:e=>`${e.item} n\xe3o selecionado.`,longPressToSelect:`Mantenha pressionado para entrar no modo de seleção.`,select:`Selecionar`,selectedAll:`Todos os itens selecionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nenhum item selecionado`,one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var so={};so={deselectedItem:e=>`${e.item} n\xe3o selecionado.`,longPressToSelect:`Prima continuamente para entrar no modo de seleção.`,select:`Selecionar`,selectedAll:`Todos os itens selecionados.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nenhum item selecionado`,one:()=>`${t.number(e.count)} item selecionado`,other:()=>`${t.number(e.count)} itens selecionados`})}.`,selectedItem:e=>`${e.item} selecionado.`};var co={};co={deselectedItem:e=>`${e.item} neselectat.`,longPressToSelect:`Apăsați lung pentru a intra în modul de selectare.`,select:`Selectare`,selectedAll:`Toate elementele selectate.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Niciun element selectat`,one:()=>`${t.number(e.count)} element selectat`,other:()=>`${t.number(e.count)} elemente selectate`})}.`,selectedItem:e=>`${e.item} selectat.`};var lo={};lo={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`,longPressToSelect:`Нажмите и удерживайте для входа в режим выбора.`,select:`Выбрать`,selectedAll:`Выбраны все элементы.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Нет выбранных элементов`,one:()=>`${t.number(e.count)} \u{44D}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}`,other:()=>`${t.number(e.count)} \u{44D}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{43E}\u{432} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}`})}.`,selectedItem:e=>`${e.item} \u{432}\u{44B}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`};var uo={};uo={deselectedItem:e=>`Nevybrat\xe9 polo\u{17E}ky: ${e.item}.`,longPressToSelect:`Dlhším stlačením prejdite do režimu výberu.`,select:`Vybrať`,selectedAll:`Všetky vybraté položky.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Žiadne vybraté položky`,one:()=>`${t.number(e.count)} vybrat\xe1 polo\u{17E}ka`,other:()=>`Po\u{10D}et vybrat\xfdch polo\u{17E}iek:${t.number(e.count)}`})}.`,selectedItem:e=>`Vybrat\xe9 polo\u{17E}ky: ${e.item}.`};var fo={};fo={deselectedItem:e=>`Element ${e.item} ni izbran.`,longPressToSelect:`Za izbirni način pritisnite in dlje časa držite.`,select:`Izberite`,selectedAll:`Vsi elementi so izbrani.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Noben element ni izbran`,one:()=>`${t.number(e.count)} element je izbran`,other:()=>`${t.number(e.count)} elementov je izbranih`})}.`,selectedItem:e=>`Element ${e.item} je izbran.`};var po={};po={deselectedItem:e=>`${e.item} nije izabrano.`,longPressToSelect:`Dugo pritisnite za ulazak u režim biranja.`,select:`Izaberite`,selectedAll:`Izabrane su sve stavke.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Nije izabrana nijedna stavka`,one:()=>`Izabrana je ${t.number(e.count)} stavka`,other:()=>`Izabrano je ${t.number(e.count)} stavki`})}.`,selectedItem:e=>`${e.item} je izabrano.`};var mo={};mo={deselectedItem:e=>`${e.item} ej markerat.`,longPressToSelect:`Tryck länge när du vill öppna väljarläge.`,select:`Markera`,selectedAll:`Alla markerade objekt.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Inga markerade objekt`,one:()=>`${t.number(e.count)} markerat objekt`,other:()=>`${t.number(e.count)} markerade objekt`})}.`,selectedItem:e=>`${e.item} markerat.`};var ho={};ho={deselectedItem:e=>`${e.item} se\xe7ilmedi.`,longPressToSelect:`Seçim moduna girmek için uzun basın.`,select:`Seç`,selectedAll:`Tüm ögeler seçildi.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Hiçbir öge seçilmedi`,one:()=>`${t.number(e.count)} \xf6ge se\xe7ildi`,other:()=>`${t.number(e.count)} \xf6ge se\xe7ildi`})}.`,selectedItem:e=>`${e.item} se\xe7ildi.`};var go={};go={deselectedItem:e=>`${e.item} \u{43D}\u{435} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`,longPressToSelect:`Виконайте довге натиснення, щоб перейти в режим вибору.`,select:`Вибрати`,selectedAll:`Усі елементи вибрано.`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`Жодних елементів не вибрано`,one:()=>`${t.number(e.count)} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}`,other:()=>`\u{412}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E} \u{435}\u{43B}\u{435}\u{43C}\u{435}\u{43D}\u{442}\u{456}\u{432}: ${t.number(e.count)}`})}.`,selectedItem:e=>`${e.item} \u{432}\u{438}\u{431}\u{440}\u{430}\u{43D}\u{43E}.`};var _o={};_o={deselectedItem:e=>`\u{672A}\u{9009}\u{62E9} ${e.item}\u{3002}`,longPressToSelect:`长按以进入选择模式。`,select:`选择`,selectedAll:`已选择所有项目。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`未选择项目`,one:()=>`\u{5DF2}\u{9009}\u{62E9} ${t.number(e.count)} \u{4E2A}\u{9879}\u{76EE}`,other:()=>`\u{5DF2}\u{9009}\u{62E9} ${t.number(e.count)} \u{4E2A}\u{9879}\u{76EE}`})}\u{3002}`,selectedItem:e=>`\u{5DF2}\u{9009}\u{62E9} ${e.item}\u{3002}`};var vo={};vo={deselectedItem:e=>`\u{672A}\u{9078}\u{53D6}\u{300C}${e.item}\u{300D}\u{3002}`,longPressToSelect:`長按以進入選擇模式。`,select:`選取`,selectedAll:`已選取所有項目。`,selectedCount:(e,t)=>`${t.plural(e.count,{"=0":`未選取任何項目`,one:()=>`\u{5DF2}\u{9078}\u{53D6} ${t.number(e.count)} \u{500B}\u{9805}\u{76EE}`,other:()=>`\u{5DF2}\u{9078}\u{53D6} ${t.number(e.count)} \u{500B}\u{9805}\u{76EE}`})}\u{3002}`,selectedItem:e=>`\u{5DF2}\u{9078}\u{53D6}\u{300C}${e.item}\u{300D}\u{3002}`};var yo={};yo={"ar-AE":Ra,"bg-BG":za,"cs-CZ":Ba,"da-DK":Va,"de-DE":Ha,"el-GR":Ua,"en-US":Wa,"es-ES":Ga,"et-EE":Ka,"fi-FI":qa,"fr-FR":Ja,"he-IL":Ya,"hr-HR":Xa,"hu-HU":Za,"it-IT":Qa,"ja-JP":$a,"ko-KR":eo,"lt-LT":to,"lv-LV":no,"nb-NO":ro,"nl-NL":io,"pl-PL":ao,"pt-BR":oo,"pt-PT":so,"ro-RO":co,"ru-RU":lo,"sk-SK":uo,"sl-SI":fo,"sr-SP":po,"sv-SE":mo,"tr-TR":ho,"uk-UA":go,"zh-CN":_o,"zh-TW":vo};function bo(e){return e&&e.__esModule?e.default:e}function xo(e,t){let{getRowText:n=e=>t.collection.getTextValue?.(e)??t.collection.getItem(e)?.textValue}=e,r=_n(bo(yo),`@react-aria/grid`),i=t.selectionManager.rawSelection,a=(0,J.useRef)(i),o=(0,J.useCallback)(()=>{if(!t.selectionManager.isFocused||i===a.current){a.current=i;return}let e=So(i,a.current),o=So(a.current,i),s=t.selectionManager.selectionBehavior===`replace`,c=[];if(t.selectionManager.selectedKeys.size===1&&s){let e=t.selectionManager.selectedKeys.keys().next().value;if(e!=null&&t.collection.getItem(e)){let t=n(e);t&&c.push(r.format(`selectedItem`,{item:t}))}}else if(e.size===1&&o.size===0){let t=e.keys().next().value;if(t!=null){let e=n(t);e&&c.push(r.format(`selectedItem`,{item:e}))}}else if(o.size===1&&e.size===0){let e=o.keys().next().value;if(e!=null&&t.collection.getItem(e)){let t=n(e);t&&c.push(r.format(`deselectedItem`,{item:t}))}}t.selectionManager.selectionMode===`multiple`&&(c.length===0||i===`all`||i.size>1||a.current===`all`||a.current?.size>1)&&c.push(i===`all`?r.format(`selectedAll`):r.format(`selectedCount`,{count:i.size})),c.length>0&&an(c.join(` `)),a.current=i},[i,t.selectionManager.selectedKeys,t.selectionManager.isFocused,t.selectionManager.selectionBehavior,t.selectionManager.selectionMode,t.collection,n,r]);dt(()=>{if(t.selectionManager.isFocused)o();else{let e=requestAnimationFrame(o);return()=>cancelAnimationFrame(e)}},[i,t.selectionManager.isFocused])}function So(e,t){let n=new Set;if(e===`all`||t===`all`)return n;for(let r of e.keys())t.has(r)||n.add(r);return n}function Co(e,t){let n=t?.isDisabled,[r,i]=(0,J.useState)(!1);return tn(()=>{if(e?.current&&!n){let t=()=>{if(e.current){let t=st(e.current,{tabbable:!0});i(!!t.nextNode())}};t();let n=new MutationObserver(t);return n.observe(e.current,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`tabIndex`,`disabled`]}),()=>{n.disconnect()}}}),!n&&r}function wo(e){return e&&e.__esModule?e.default:e}function To(e){let t=_n(wo(yo),`@react-aria/grid`),n=On(),r=(n===`pointer`||n===`virtual`||n==null)&&typeof window<`u`&&`ontouchstart`in window,i=(0,J.useMemo)(()=>{let n=e.selectionManager.selectionMode,i=e.selectionManager.selectionBehavior,a;return r&&(a=t.format(`longPressToSelect`)),i===`replace`&&n!==`none`&&e.hasItemActions?a:void 0},[e.selectionManager.selectionMode,e.selectionManager.selectionBehavior,e.hasItemActions,t,r]);return vt(i)}function Eo(e,t,n){let{isVirtualized:r,keyboardDelegate:i,layoutDelegate:a,onAction:o,disallowTypeAhead:s,linkBehavior:c=`action`,keyboardNavigationBehavior:l=`arrow`,escapeKeyBehavior:u=`clearSelection`,shouldSelectOnPressUp:d}=e;!e[`aria-label`]&&!e[`aria-labelledby`]&&console.warn(`An aria-label or aria-labelledby prop is required for accessibility.`);let{listProps:f}=la({selectionManager:t.selectionManager,collection:t.collection,disabledKeys:t.disabledKeys,ref:n,keyboardDelegate:i,layoutDelegate:a,isVirtualized:r,selectOnFocus:t.selectionManager.selectionBehavior===`replace`,shouldFocusWrap:e.shouldFocusWrap,linkBehavior:c,disallowTypeAhead:s,autoFocus:e.autoFocus,escapeKeyBehavior:u,UNSTABLE_focusOnEntry:e.UNSTABLE_focusOnEntry}),p=Xt(e.id);Fa.set(t,{id:p,onAction:o,linkBehavior:c,keyboardNavigationBehavior:l,shouldSelectOnPressUp:d});let m=To({selectionManager:t.selectionManager,hasItemActions:!!o}),h=Co(n,{isDisabled:t.collection.size!==0}),g=mn(e,{labelable:!0}),_=pn(g,{role:`grid`,id:p,"aria-multiselectable":t.selectionManager.selectionMode===`multiple`?`true`:void 0},t.collection.size===0?{tabIndex:h?-1:0}:f,m);return r&&(_[`aria-rowcount`]=t.collection.size,_[`aria-colcount`]=1),xo({},t),{gridProps:_}}var Do={expand:{ltr:`ArrowRight`,rtl:`ArrowLeft`},collapse:{ltr:`ArrowLeft`,rtl:`ArrowRight`}};function Oo(e,t,n){let{node:r,isVirtualized:i,focusMode:a=`row`,allowsArrowNavigation:o}=e,{direction:s}=xr(),{onAction:c,linkBehavior:l,keyboardNavigationBehavior:u,shouldSelectOnPressUp:d}=Fa.get(t),f=gn(),p=(0,J.useRef)(null),m=()=>{if(n.current!==null){if(a===`child`){if(Wt(n.current)&&n.current!==zn(Ut(n.current)))return;let e=st(n.current,{tabbable:!0}).firstChild();if(e){Nn(e),lt(e,{containingElement:gt(e)});return}}(p.current!=null&&r.key!==p.current||!Wt(n.current))&&Nn(n.current)}},h={},g=e.hasChildItems,_=t.selectionManager.isLink(r.key);if(r!=null&&`expandedKeys`in t){let e=t.collection.getChildren?.(r.key);g||=[...e??[]].length>1,c==null&&!_&&t.selectionManager.selectionMode===`none`&&g&&(c=()=>t.toggleKey(r.key));let n=g?t.expandedKeys.has(r.key):void 0,i=1,a=r.index;if(r.level>=0&&r?.parentKey!=null){let e=t.collection.getItem(r.parentKey);if(e){let n=jo(e,t.collection);i=[...n].filter(e=>e.type===`item`).length,a>0&&n[0].type!==`item`&&--a}}else i=[...t.collection].filter(e=>e.level===0&&e.type===`item`).length;h={"aria-expanded":n,"aria-level":r.level+1,"aria-posinset":a+1,"aria-setsize":i}}let{itemProps:v,...y}=fa({selectionManager:t.selectionManager,key:r.key,ref:n,isVirtualized:i,shouldSelectOnPressUp:e.shouldSelectOnPressUp||d,onAction:c||r.props?.onAction?Pn(r.props?.onAction,c?()=>c(r.key):void 0):void 0,focus:m,linkBehavior:l}),b=e=>{let i=zn(Ut(n.current));if(!dn(e.currentTarget,Kt(e))||!n.current||!i)return;let a=st(n.current);if(a.currentNode=i,!ko(e,t,r,g,s,i,n.current,o))switch(e.key){case`ArrowLeft`:if(u===`arrow`){let t=s===`rtl`?a.nextNode():a.previousNode();if(t)e.preventDefault(),e.stopPropagation(),Nn(t),lt(t,{containingElement:gt(n.current)});else if(e.preventDefault(),e.stopPropagation(),s===`rtl`)Nn(n.current),lt(n.current,{containingElement:gt(n.current)});else{a.currentNode=n.current;let e=Ao(a);e&&(Nn(e),lt(e,{containingElement:gt(n.current)}))}}break;case`ArrowRight`:if(u===`arrow`){let t=s===`rtl`?a.previousNode():a.nextNode();if(t)e.preventDefault(),e.stopPropagation(),Nn(t),lt(t,{containingElement:gt(n.current)});else if(e.preventDefault(),e.stopPropagation(),s===`ltr`)Nn(n.current),lt(n.current,{containingElement:gt(n.current)});else{a.currentNode=n.current;let e=Ao(a);e&&(Nn(e),lt(e,{containingElement:gt(n.current)}))}}break;case`ArrowUp`:case`ArrowDown`:!e.altKey&&dn(n.current,Kt(e))&&(e.stopPropagation(),e.preventDefault(),n.current.parentElement?.dispatchEvent(new KeyboardEvent(e.nativeEvent.type,e.nativeEvent)))}},x=e=>{if(p.current=r.key,Kt(e)!==n.current){Sn()||t.selectionManager.setFocusedKey(r.key);return}a===`child`&&e.relatedTarget&&dn(n.current,e.relatedTarget)||requestAnimationFrame(()=>{a===`child`&&zn(Ut(n.current))===n.current&&m()})},S=e=>{let i=zn(Ut(n.current));if(!(!dn(e.currentTarget,Kt(e))||!n.current||!i)){if(u===`tab`){if(Kt(e)!==n.current&&e.key!==`Tab`){e.stopPropagation();return}if(ko(e,t,r,g,s,i,n.current,o))return}if(e.key===`Tab`&&u===`tab`){let t=st(n.current,{tabbable:!0});t.currentNode=i,(e.shiftKey?t.previousNode():t.nextNode())&&e.stopPropagation()}}},C=An(r.props),w=y.hasAction?C:{},T=pn(v,w,{role:`row`,onKeyDownCapture:u===`arrow`||o?b:void 0,onFocus:x,"aria-label":r[`aria-label`]||r.textValue||void 0,"aria-selected":t.selectionManager.canSelectItem(r.key)?t.selectionManager.isSelected(r.key):void 0,"aria-disabled":t.selectionManager.isDisabled(r.key)||void 0,"aria-labelledby":f&&(r[`aria-label`]||r.textValue)?`${Ia(t,r.key)} ${f}`:void 0,id:Ia(t,r.key)});a===`child`&&o&&u===`tab`&&(T.tabIndex=-1);let E=T.onKeyDown;if(T.onKeyDown=e=>{S(e),e.isPropagationStopped()||E?.(e)},i){let{collection:e}=t;T[`aria-rowindex`]=[...e].find(e=>e.type===`section`)?[...e.getKeys()].filter(t=>e.getItem(t)?.type!==`section`).findIndex(e=>e===r.key)+1:r.index+1}let D={role:`gridcell`,"aria-colindex":1};return{rowProps:{...pn(T,h)},gridCellProps:D,descriptionProps:{id:f},...y}}function ko(e,t,n,r,i,a,o,s){if(!(`expandedKeys`in t)||!s&&a!==o)return!1;if(e.key===Do.expand[i]&&t.selectionManager.focusedKey===n.key&&r&&!t.expandedKeys.has(n.key))return t.toggleKey(n.key),e.stopPropagation(),!0;if(e.key===Do.collapse[i]&&t.selectionManager.focusedKey===n.key){if(r&&t.expandedKeys.has(n.key))return t.toggleKey(n.key),e.stopPropagation(),!0;if(!t.expandedKeys.has(n.key)&&n.parentKey&&t.collection.getItem(n.parentKey)?.type===`item`)return t.selectionManager.setFocusedKey(n.parentKey),e.stopPropagation(),!0}return!1}function Ao(e){let t=null,n=null;do n=e.lastChild(),n&&(t=n);while(n);return t}function jo(e,t){let n=t.getChildren?.(e.key),r=n?Array.from(n):[],i=r.length>0?r[0]:null,a=[];for(;i;)a.push(i),i=i.nextKey==null?null:t.getItem(i.nextKey);return a}function Mo(e){return e&&e.__esModule?e.default:e}function No(e,t){let{key:n}=e,r=t.selectionManager,i=Xt(),a=!t.selectionManager.canSelectItem(n),o=t.selectionManager.isSelected(n);return{checkboxProps:{id:i,"aria-label":_n(Mo(yo),`@react-aria/grid`).format(`select`),isSelected:o,isDisabled:a,onChange:()=>r.toggleSelection(n)}}}function Po(e,t){let{key:n}=e,{checkboxProps:r}=No(e,t);return{checkboxProps:{...r,"aria-labelledby":`${r.id} ${Ia(t,n)}`}}}var Fo=10,Io=5,Lo=class{setup(e,t,n){this.delegate=e,this.state=t,this.direction=n}getDropTargetFromPoint(e,t,n){let r=this.delegate.getDropTargetFromPoint(e,t,n);return!r||r.type===`root`?r:this.resolveDropTarget(r,e,t,n)}resolveDropTarget(e,t,n,r){let i=this.pointerTracking,a=n-i.lastY,o=t-i.lastX,s=i.yDirection,c=i.xDirection;if(Math.abs(a)>Io&&(s=a>0?`down`:`up`,i.yDirection=s,i.lastY=n),Math.abs(o)>Fo&&(c=o>0?`right`:`left`,i.xDirection=c,i.lastX=t),e.dropPosition===`before`){let t=this.state.collection.getKeyBefore(e.key);for(;t!=null;){let e=this.state.collection.getItem(t);if(e?.type===`item`)break;t=e?.parentKey??null}if(t!=null){let n={type:`item`,key:t,dropPosition:`after`};r(n)&&(e=n)}}let l=this.getPotentialTargets(e,r);if(l.length===0)return{type:`root`};let u;return l.length>1?u=this.selectTarget(l,e,t,n,s,c):(u=l[0],i.boundaryContext=null),u}getPotentialTargets(e,t){if(e.dropPosition===`on`)return[e];let n=e,r=this.state.collection,i=r.getItem(n.key);for(;i&&i?.type!==`item`&&i.nextKey!=null;)n.key=i.nextKey,i=r.getItem(i.nextKey);let a=[n];if(i&&i.hasChildNodes&&this.state.expandedKeys.has(i.key)&&r.getChildren&&n.dropPosition===`after`){let e=i.firstChildKey==null?null:r.getItem(i.firstChildKey);for(;e&&e.type!==`item`;)e=e.nextKey==null?null:r.getItem(e.nextKey);if(e?.type===`item`){let n={type:`item`,key:e.key,dropPosition:`before`};return t(n)?[n]:[]}}if(i?.nextKey!=null)return[e];let o=i?.parentKey,s=[];for(;o!=null;){let e=r.getItem(o),n=e?.nextKey==null?null:r.getItem(e.nextKey);if(!n||n.parentKey!==o){if(e?.type===`item`){let e={type:`item`,key:o,dropPosition:`after`};t(e)&&s.push(e)}if(n)break}o=e?.parentKey}if(s.length>0&&a.push(...s),a.length===1){let e=r.getKeyAfter(n.key),a=e==null?null:r.getItem(e);if(e!=null&&a&&i&&a.level!=null&&i.level!=null&&a.level>i.level){let n={type:`item`,key:e,dropPosition:`before`};if(t(n))return[n]}}return a.filter(t)}selectTarget(e,t,n,r,i,a){if(e.length<2)return e[0];let o=this.pointerTracking,s=this.state.collection.getItem(t.key)?.parentKey;if(s==null)return e[0];(!o.boundaryContext||o.boundaryContext.parentKey!==s)&&(o.boundaryContext={parentKey:s,preferredTargetIndex:o.yDirection===`up`?e.length-1:0,lastSwitchY:r,lastSwitchX:n});let c=o.boundaryContext,l=Math.abs(n-c.lastSwitchX);if(Math.abs(r-c.lastSwitchY)>Io&&i){let t=c.preferredTargetIndex||0;i===`down`&&t===0?c.preferredTargetIndex=e.length-1:i===`up`&&t===e.length-1&&(c.preferredTargetIndex=0),o.xDirection=null}if(l>Fo&&a){let t=c.preferredTargetIndex||0;a===`left`?this.direction===`ltr`?t<e.length-1&&(c.preferredTargetIndex=t+1,c.lastSwitchX=n):t>0&&(c.preferredTargetIndex=t-1,c.lastSwitchX=n):a===`right`&&(this.direction===`ltr`?t>0&&(c.preferredTargetIndex=t-1,c.lastSwitchX=n):t<e.length-1&&(c.preferredTargetIndex=t+1,c.lastSwitchX=n)),o.yDirection=null}return e[Math.max(0,Math.min(c.preferredTargetIndex||0,e.length-1))]}constructor(){this.delegate=null,this.state=null,this.direction=`ltr`,this.pointerTracking={lastY:0,lastX:0,yDirection:null,xDirection:null,boundaryContext:null}}};function Ro(e,t,n){let{gridProps:r}=Eo(e,t,n);return r.role=`treegrid`,{gridProps:r}}var zo={};zo={collapse:`طي`,expand:`تمديد`};var Bo={};Bo={collapse:`Свиване`,expand:`Разширяване`};var Vo={};Vo={collapse:`Sbalit`,expand:`Roztáhnout`};var Ho={};Ho={collapse:`Skjul`,expand:`Udvid`};var Uo={};Uo={collapse:`Reduzieren`,expand:`Erweitern`};var Wo={};Wo={collapse:`Σύμπτυξη`,expand:`Ανάπτυξη`};var Go={};Go={expand:`Expand`,collapse:`Collapse`};var Ko={};Ko={collapse:`Contraer`,expand:`Expandir`};var qo={};qo={collapse:`Ahenda`,expand:`Laienda`};var Jo={};Jo={collapse:`Pienennä`,expand:`Laajenna`};var Yo={};Yo={collapse:`Réduire`,expand:`Développer`};var Xo={};Xo={collapse:`כווץ`,expand:`הרחב`};var Zo={};Zo={collapse:`Sažmi`,expand:`Proširi`};var Qo={};Qo={collapse:`Összecsukás`,expand:`Kibontás`};var $o={};$o={collapse:`Comprimi`,expand:`Espandi`};var es={};es={collapse:`折りたたむ`,expand:`展開`};var ts={};ts={collapse:`접기`,expand:`펼치기`};var ns={};ns={collapse:`Sutraukti`,expand:`Išskleisti`};var rs={};rs={collapse:`Sakļaut`,expand:`Izvērst`};var is={};is={collapse:`Skjul`,expand:`Utvid`};var as={};as={collapse:`Samenvouwen`,expand:`Uitvouwen`};var os={};os={collapse:`Zwiń`,expand:`Rozwiń`};var ss={};ss={collapse:`Recolher`,expand:`Expandir`};var cs={};cs={collapse:`Colapsar`,expand:`Expandir`};var ls={};ls={collapse:`Restrângeți`,expand:`Extindeți`};var us={};us={collapse:`Свернуть`,expand:`Развернуть`};var ds={};ds={collapse:`Zbaliť`,expand:`Rozbaliť`};var fs={};fs={collapse:`Strni`,expand:`Razširi`};var ps={};ps={collapse:` Skupi`,expand:`Proširi`};var ms={};ms={collapse:`Dölj`,expand:`Expandera`};var hs={};hs={collapse:`Daralt`,expand:`Genişlet`};var gs={};gs={collapse:`Згорнути`,expand:`Розгорнути`};var _s={};_s={collapse:`折叠`,expand:`扩展`};var vs={};vs={collapse:`收合`,expand:`展開`};var ys={};ys={"ar-AE":zo,"bg-BG":Bo,"cs-CZ":Vo,"da-DK":Ho,"de-DE":Uo,"el-GR":Wo,"en-US":Go,"es-ES":Ko,"et-EE":qo,"fi-FI":Jo,"fr-FR":Yo,"he-IL":Xo,"hr-HR":Zo,"hu-HU":Qo,"it-IT":$o,"ja-JP":es,"ko-KR":ts,"lt-LT":ns,"lv-LV":rs,"nb-NO":is,"nl-NL":as,"pl-PL":os,"pt-BR":ss,"pt-PT":cs,"ro-RO":ls,"ru-RU":us,"sk-SK":ds,"sl-SI":fs,"sr-SP":ps,"sv-SE":ms,"tr-TR":hs,"uk-UA":gs,"zh-CN":_s,"zh-TW":vs};function bs(e){return e&&e.__esModule?e.default:e}function xs(e,t,n){let{node:r}=e,i=Oo(e,t,n),a=i.rowProps[`aria-expanded`]===!0,o=_n(bs(ys),`@react-aria/tree`),s={onPress:()=>{i.isDisabled||(t.toggleKey(r.key),t.selectionManager.setFocused(!0),t.selectionManager.setFocusedKey(r.key))},excludeFromTabOrder:!0,preventFocusOnPress:!0,"data-react-aria-prevent-focus":!0,...Vt({"aria-label":a?o.format(`collapse`):o.format(`expand`),"aria-labelledby":i.rowProps.id})};return{...i,expandButtonProps:s}}var Ss=class e extends pi{withExpandedKeys(t,n){let r=this.clone();return r.expandedKeys=n,e.cloneAncestorSections(n,t,r),e.cloneAncestorSections(t,n,r),r.frozen=this.frozen,r}static cloneAncestorSections(e,t,n){for(let r of e)if(!t.has(r)){let e=r;for(;e!=null;){let t=n.getItem(e);if(t?.type===`section`){n.keyMap.set(e,t.clone());break}e=t?.parentKey??null}}}*[Symbol.iterator](){let e=this.getFirstKey(),t=e==null?null:this.getItem(e);for(;t;)if(yield t,t.type===`section`)t=t.nextKey==null?null:this.getItem(t.nextKey);else{let e=this.getKeyAfter(t.key);t=e==null?null:this.getItem(e)}}getLastKey(){let e=this.lastKey;if(e==null)return null;let t=this.getItem(e);for(;t?.lastChildKey!=null&&(t.type!==`item`||this.expandedKeys.has(t.key));)t=this.getItem(t.lastChildKey);return t?.key}getKeyAfter(e){let t=this.getItem(e);if(!t)return null;if((this.expandedKeys.has(t.key)||t.type!==`item`)&&t.firstChildKey!=null)return t.firstChildKey;for(;t;){if(t.nextKey!=null)return t.nextKey;if(t.parentKey!=null)t=this.getItem(t.parentKey);else return null}return null}getKeyBefore(e){let t=this.getItem(e);if(!t)return null;if(t.prevKey!=null){for(t=this.getItem(t.prevKey);t&&(t.type!==`item`||this.expandedKeys.has(t.key))&&t.lastChildKey!=null;)t=this.getItem(t.lastChildKey);return t?.key??null}return t.parentKey}getChildren(e){let t=this;return{*[Symbol.iterator](){let n=t.getItem(e),r=n?.firstChildKey==null?null:t.getItem(n.firstChildKey);if(n&&n.type===`section`&&r)for(;r&&r.key!==n.nextKey;){yield t.getItem(r.key);let e=t.getKeyAfter(r.key);r=e==null?null:t.getItem(e)}else for(;r;)yield r,r=r.nextKey==null?null:t.getItem(r.nextKey)}}}getTextValue(e){let t=this.getItem(e);return t?t.textValue:``}constructor(...e){super(...e),this.expandedKeys=new Set}},Cs=(0,J.createContext)(null),ws=(0,J.createContext)(null),Ts=(0,J.forwardRef)(function(e,t){return[e,t]=sn(e,t,Cs),J.createElement(Ci,{content:J.createElement(Fi,e),createCollection:()=>new Ss},n=>J.createElement(Ds,{props:e,collection:n,treeRef:t}))}),Es={expand:{ltr:`ArrowRight`,rtl:`ArrowLeft`},collapse:{ltr:`ArrowLeft`,rtl:`ArrowRight`}};function Ds({props:e,collection:t,treeRef:n}){let{dragAndDropHooks:r}=e,{direction:i}=xr(),a=ht({usage:`search`,sensitivity:`base`}),o=!!r?.useDraggableCollectionState,s=!!r?.useDroppableCollectionState,c=(0,J.useRef)(o),l=(0,J.useRef)(s);(0,J.useEffect)(()=>{c.current!==o&&console.warn(`Drag hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.`),l.current!==s&&console.warn(`Drop hooks were provided during one render, but not another. This should be avoided as it may produce unexpected behavior.`)},[o,s]);let{selectionMode:u=`none`,expandedKeys:d,defaultExpandedKeys:f,onExpandedChange:p,disabledBehavior:m=`all`}=e,{CollectionRoot:h,isVirtualized:g,layoutDelegate:_,dropTargetDelegate:v}=(0,J.useContext)(Vi),[y,b]=$t(d?new Set(d):void 0,f?new Set(f):new Set,p),[x,S]=(0,J.useState)(t),[C,w]=(0,J.useState)(y),[T,E]=(0,J.useState)(()=>t.withExpandedKeys(C,y));(!Fs(C,y)||t!==x)&&(E(t.withExpandedKeys(C,y)),S(t),w(y));let D=Na({...e,selectionMode:u,expandedKeys:y,onExpandedChange:b,collection:T,children:void 0,disabledBehavior:m}),{gridProps:O}=Ro({...e,isVirtualized:g,layoutDelegate:_},D,n),k,A,j,M=!1,N=null,P=(0,J.useRef)(null);if(o&&r){k=r.useDraggableCollectionState({collection:D.collection,selectionManager:D.selectionManager,preview:r.renderDragPreview?P:void 0}),r.useDraggableCollection({},k,n);let e=r.DragPreview;N=r.renderDragPreview?J.createElement(e,{ref:P},r.renderDragPreview):null}let[F]=(0,J.useState)(()=>new Lo);if(s&&r){A=r.useDroppableCollectionState({collection:D.collection,selectionManager:D.selectionManager});let e=r.dropTargetDelegate||v||new r.ListDropTargetDelegate(D.collection,n,{direction:i});F.setup(e,D,i);let t=new ca({collection:D.collection,collator:a,ref:n,disabledKeys:D.selectionManager.disabledKeys,disabledBehavior:D.selectionManager.disabledBehavior,direction:i,layoutDelegate:_});j=r.useDroppableCollection({keyboardDelegate:t,dropTargetDelegate:F,onDropActivate:e=>{if(e.target.type===`item`){let t=e.target.key,n=D.collection.getItem(t),i=y.has(t);n&&n.hasChildNodes&&(!i||r?.isVirtualDragging?.())&&D.toggleKey(t)}},onKeyDown:e=>{let t=A?.target;if(t&&t.type===`item`&&t.dropPosition===`on`){let n=D.collection.getItem(t.key);(e.key===Es.expand[i]&&n?.hasChildNodes&&!D.expandedKeys.has(t.key)||e.key===Es.collapse[i]&&n?.hasChildNodes&&D.expandedKeys.has(t.key))&&D.toggleKey(t.key)}}},A,n),M=A.isDropTarget({type:`root`})}let I=!!(o&&!k?.isDisabled),{focusProps:L,isFocused:R,isFocusVisible:z}=qt(),B={isEmpty:D.collection.size===0,isFocused:R,isFocusVisible:z,isDropTarget:M,selectionMode:D.selectionManager.selectionMode,allowsDragging:!!I,state:D},V=Jt({...e,children:void 0,defaultClassName:`react-aria-Tree`,values:B}),H=null;if(D.collection.size===0&&e.renderEmptyState){let{isEmpty:t,...n}=B,r=e.renderEmptyState({...n});H=J.createElement(`div`,{role:`row`,style:{display:`contents`},"aria-level":1},J.createElement(`div`,{role:`gridcell`,style:{display:`contents`}},r))}let U=mn(e,{global:!0});return J.createElement(J.Fragment,null,J.createElement(ft,null,J.createElement(Vn.div,{...pn(U,V,O,L,j?.collectionProps),ref:n,slot:e.slot||void 0,"data-empty":D.collection.size===0||void 0,"data-focused":R||void 0,"data-drop-target":M||void 0,"data-focus-visible":z||void 0,"data-selection-mode":D.selectionManager.selectionMode===`none`?void 0:D.selectionManager.selectionMode,"data-allows-dragging":!!I||void 0},J.createElement(rn,{values:[[ws,D],[Wi,{dragAndDropHooks:r,dragState:k,dropState:A}],[Gi,{render:js}]]},s&&J.createElement(Ps,null),J.createElement(Xi,null,J.createElement(h,{collection:D.collection,persistedKeys:Ji(D.selectionManager,r,A),scrollRef:n,renderDropIndicator:qi(r,A)}))),H)),N)}var Os=ji(class extends li{static{this.type=`content`}},function(e){let t=(0,J.useContext)(ks),n=Jt({children:e.children,values:t});return J.createElement(Vi.Provider,{value:Ri},n.children)}),ks=(0,J.createContext)(null),As=Mi(class extends li{static{this.type=`item`}},(e,t,n)=>{let r=(0,J.useContext)(ws);t=Qt(t);let{dragAndDropHooks:i,dragState:a,dropState:o}=(0,J.useContext)(Wi),s=a&&!(a.isDisabled||a.selectionManager.isDisabled(n.key)),{rowProps:c,gridCellProps:l,expandButtonProps:u,descriptionProps:d,...f}=xs({node:n,shouldSelectOnPressUp:!!a,focusMode:e.focusMode,allowsArrowNavigation:e.allowsArrowNavigation},r,t),p=c[`aria-expanded`]===!0,m=e.hasChildItems||[...r.collection.getChildren(n.key)].length>1,h=c[`aria-level`]||1,{hoverProps:g,isHovered:_}=on({isDisabled:!f.allowsSelection&&!f.hasAction&&!s,onHoverStart:e.onHoverStart,onHoverChange:e.onHoverChange,onHoverEnd:e.onHoverEnd}),{isFocusVisible:v,focusProps:y}=qt(),{isFocusVisible:b,focusProps:x}=qt({within:!0}),{checkboxProps:S}=Po({key:n.key},r),C=null;a&&i&&(C=i.useDraggableItem({key:n.key,hasDragButton:!0},a));let w=null,T=(0,J.useRef)(null),E=(0,J.useRef)(null),D=(0,J.useRef)(null),{visuallyHiddenProps:O}=pt();o&&i&&(w=i.useDropIndicator({target:{type:`item`,key:n.key,dropPosition:`on`},activateButtonRef:D},o,E));let k=a&&a.isDragging(n.key),A=w?.isDropTarget,j=r.selectionManager.selectionMode,M=r.selectionManager.selectionBehavior,N=J.useMemo(()=>({...f,isHovered:_,isFocusVisible:v,isExpanded:p,hasChildItems:m,level:h,selectionMode:j,selectionBehavior:M,isFocusVisibleWithin:b,state:r,id:n.key,allowsDragging:!!a,isDragging:k,isDropTarget:A}),[f,_,v,p,m,h,b,r,n.key,a,k,A,M,j]),P=Jt({...e,id:void 0,children:n.rendered,defaultClassName:`react-aria-TreeItem`,defaultStyle:{"--tree-item-level":h},values:N});(0,J.useEffect)(()=>{n.textValue},[n.textValue]),(0,J.useEffect)(()=>{m&&T.current},[]);let F=(0,J.useRef)(null);(0,J.useEffect)(()=>{a&&F.current},[]);let I=vi({items:r.collection.getChildren(n.key),children:e=>{switch(e.type){case`content`:return e.render(e);case`loader`:case`item`:return J.createElement(J.Fragment,null);default:throw Error(`Unsupported element type in TreeRow: `+e.type)}}}),L=Xt(),R=mn(e,{global:!0});return delete R.id,delete R.onClick,J.createElement(J.Fragment,null,w&&!w.isHidden&&J.createElement(`div`,{role:`row`,"aria-level":c[`aria-level`],"aria-expanded":c[`aria-expanded`],"aria-label":w.dropIndicatorProps[`aria-label`]},J.createElement(`div`,{role:`gridcell`,"aria-colindex":1,style:{display:`contents`}},J.createElement(`div`,{role:`button`,...O,...w.dropIndicatorProps,ref:E}),c[`aria-expanded`]==null?null:J.createElement(`div`,{role:`button`,...O,id:L,"aria-label":u[`aria-label`],"aria-labelledby":`${L} ${c.id}`,tabIndex:-1,ref:D}))),J.createElement(Vn.div,{...pn(R,c,y,g,x,C?.dragProps),...P,ref:t,"data-expanded":m&&p||void 0,"data-has-child-items":m||void 0,"data-level":h,"data-selected":f.isSelected||void 0,"data-disabled":f.isDisabled||void 0,"data-hovered":_||void 0,"data-focused":f.isFocused||void 0,"data-focus-visible":v||void 0,"data-pressed":f.isPressed||void 0,"data-selection-mode":r.selectionManager.selectionMode===`none`?void 0:r.selectionManager.selectionMode,"data-allows-dragging":!!a||void 0,"data-dragging":k||void 0,"data-drop-target":A||void 0},J.createElement(`div`,{...l,style:{display:`contents`}},J.createElement(rn,{values:[[Hi,{slots:{[un]:{},selection:S}}],[Ui,{slots:{[un]:{},selection:S}}],[fn,{slots:{[un]:{},chevron:{...u,ref:T},drag:{...C?.dragButtonProps,ref:F,style:{pointerEvents:`none`}}}}],[ks,{...N}],[Cr,{isSelected:f.isSelected}]]},I))))});ji(di,function(e,t,n){let{isVirtualized:r}=(0,J.useContext)(Vi),i=(0,J.useContext)(ws),{isLoading:a,onLoadMore:o,scrollOffset:s,...c}=e,l=(0,J.useRef)(null);ja((0,J.useMemo)(()=>({onLoadMore:o,collection:i?.collection,sentinelRef:l,scrollOffset:s}),[o,s,i?.collection]),l),t=Qt(t);let{rowProps:u,gridCellProps:d}=xs({node:n},i,t),f=u[`aria-level`]||1,p={role:`row`,"aria-level":u[`aria-level`]},m=Jt({...c,id:void 0,children:n.rendered,defaultClassName:`react-aria-TreeLoader`,values:{level:f}}),h={};return r&&(h={display:`contents`}),J.createElement(J.Fragment,null,J.createElement(`div`,{style:{position:`relative`,width:0,height:0},inert:ba(!0)},J.createElement(`div`,{"data-testid":`loadMoreSentinel`,ref:l,style:{position:`absolute`,height:1,width:1}})),a&&m.children&&J.createElement(Vn.div,{ref:t,...pn(mn(e),p),...m,"data-level":f},J.createElement(`div`,{...d,style:h},m.children)))});function js(e,t){t=Qt(t);let{dragAndDropHooks:n,dropState:r}=(0,J.useContext)(Wi),i=(0,J.useRef)(null),{dropIndicatorProps:a,isHidden:o,isDropTarget:s}=n.useDropIndicator(e,r,i);if(o)return null;let c=r&&e.target.type===`item`?(r.collection.getItem(e.target.key)?.level||0)+1:1;return J.createElement(Ns,{...e,dropIndicatorProps:a,isDropTarget:s,ref:t,buttonRef:i,level:c})}function Ms(e,t){let{dropIndicatorProps:n,isDropTarget:r,buttonRef:i,level:a,...o}=e,{visuallyHiddenProps:s}=pt(),c=Jt({...o,defaultClassName:`react-aria-DropIndicator`,defaultStyle:{position:`relative`,"--tree-item-level":a},values:{isDropTarget:r}});return J.createElement(Vn.div,{...c,role:`row`,"aria-level":a,ref:t,"data-drop-target":r||void 0},J.createElement(`div`,{role:`gridcell`},J.createElement(`div`,{...s,role:`button`,...n,ref:i}),c.children))}var Ns=(0,J.forwardRef)(Ms);function Ps(){let{dragAndDropHooks:e,dropState:t}=(0,J.useContext)(Wi),n=(0,J.useRef)(null),{dropIndicatorProps:r}=e.useDropIndicator({target:{type:`root`}},t,n),i=t.isDropTarget({type:`root`}),{visuallyHiddenProps:a}=pt();return!i&&r[`aria-hidden`]?null:J.createElement(`div`,{role:`row`,"aria-hidden":r[`aria-hidden`],style:{position:`absolute`}},J.createElement(`div`,{role:`gridcell`},J.createElement(`div`,{role:`button`,...a,...r,ref:n})))}function Fs(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}var Is=[`openai`,`github`,`anthropic`,`google`,`ollama`,`bedrock`,`deepseek`,`azure`,`openrouter`,`wandb`,`opencode-go`,`marimo`],Ls=class e{providerId;shortModelId;constructor(e,t){this.providerId=e,this.shortModelId=t}get id(){return`${this.providerId}/${this.shortModelId}`}static parse(t){if(!t.includes(`/`)){let n=Rs(t);return new e(n,t)}let[n,...r]=t.split(`/`);return new e(n,r.join(`/`))}};function Rs(e){return e.startsWith(`gpt`)||e.startsWith(`o3`)||e.startsWith(`o1`)?`openai`:e.startsWith(`claude`)?`anthropic`:e.startsWith(`gemini`)||e.startsWith(`google`)?`google`:e.startsWith(`deepseek`)?`deepseek`:`ollama`}function zs(e){return Is.includes(e)}var Bs=JSON.parse(`{"anthropic":[{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5","model":"claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5","model":"claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-07","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 4.6","model":"claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Haiku 4.5","model":"claude-haiku-4-5","description":"Fast and efficient Claude model, delivering near-frontier intelligence at a fraction of the cost and latency of larger Claude models","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2025-10-15","cost":{"input":1,"output":5},"reasoning_options":[{"type":"budget_tokens","min":1024}],"limits":{"context":200000,"output":64000}}],"openai":[{"name":"GPT-6.1 Sol","model":"gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Sol","model":"gpt-6-sol","description":"OpenAI reasoning model for demanding tasks that balances capability, latency, and cost","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Daybreak Blue","model":"gpt-daybreak-blue-latest","description":"OpenAI model alias for authorized defensive cybersecurity work with reduced refusals","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-07","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Daybreak Red","model":"gpt-daybreak-red-latest","description":"OpenAI model alias for advanced authorized cybersecurity work, including penetration testing and exploit validation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-07","cost":{"input":12.5,"output":75},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":400000,"output":128000}},{"name":"GPT-6 Astra","model":"gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6","model":"gpt-5.6","description":"OpenAI's GPT-5.6 flagship tier for frontier reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Luna","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2,"output":12},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.5","model":"gpt-5.5","description":"OpenAI model for complex professional workloads, with stronger reasoning, reliability, and token efficiency than GPT-5.4 on hard tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-04-23","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh"]}],"limits":{"context":1050000,"output":128000}}],"google":[{"name":"Gemini 4 Argon","model":"gemini-4-argon","description":"Reasoning model for complex software engineering, mathematical and scientific problem solving, and autonomous multi-step agents","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-13","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":32768}},{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5@default","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.7","model":"xai/grok-4.7","description":"Model for coding, agentic tasks, and knowledge work, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-21","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":524288,"output":500000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5@default","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5@default","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"xai/grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":524288,"output":500000}},{"name":"Gemini 3.8 Flash","model":"gemini-3.8-flash","description":"Google's most intelligent Flash model, with gains in software engineering, agentic tasks, and multi-step reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-02","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1@default","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows, available through Vertex AI only","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Gemini Flash Latest","model":"gemini-flash-latest","description":"Alias that points to the latest Gemini Flash release and can change when Google updates the model family","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Gemini 3.7 Flash","model":"gemini-3.7-flash","description":"High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":0.75,"output":3.75},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Gemma 4 26B A4B IT","model":"gemma-4-26b-a4b-it","description":"Instruction-tuned Mixture-of-Experts (MoE) model from Google DeepMind","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":32768}},{"name":"Gemma 4 31B IT","model":"gemma-4-31b-it","description":"Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":32768}},{"name":"Claude Opus 5","model":"claude-opus-5@default","description":"Anthropic Claude Opus 5 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5@default","description":"Anthropic Claude Sonnet 5 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8@default","description":"Anthropic Claude Opus 4.8 on Google Vertex AI only (not available via the Gemini API)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}}],"bedrock":[{"name":"Claude Haiku 5.5 (Global)","model":"global.anthropic.claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6.1 Sol (Global)","model":"global.openai.gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Opus 5.5 (Global)","model":"global.anthropic.claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6 Luna (Global)","model":"global.openai.gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Astra (Global)","model":"global.openai.gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Grok 4.6 (Global)","model":"global.xai.grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":500000,"output":500000}},{"name":"Claude Fable 5.1 (Global)","model":"global.anthropic.claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"xai.grok-4.6","description":"xAI's frontier model for coding, agentic tasks, knowledge work, and visual reasoning","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2.2,"output":6.6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":500000,"output":500000}},{"name":"GPT-5.6 Luna (Global)","model":"global.openai.gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol (Global)","model":"global.openai.gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Opus 5 (Global)","model":"global.anthropic.claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.6 Luna","model":"openai.gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.22,"output":1.32},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"openai.gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4.4,"output":22},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"openai.gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2.2,"output":13.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Fable 5 (Global)","model":"global.anthropic.claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5 (Global)","model":"global.anthropic.claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Fable 5 (Global)","model":"global.anthropic.claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5 (Global)","model":"global.anthropic.claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 4.8 (Global)","model":"global.anthropic.claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GLM-5","model":"zai.glm-5","description":"Z.ai's flagship open-source foundation model engineered for complex systems design and long-horizon agent workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-02-12","cost":{"input":1,"output":3.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":202752,"output":131072}},{"name":"NVIDIA Nemotron 3 Super 120B A12B","model":"nvidia.nemotron-super-3-120b","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.15,"output":0.65},"reasoning_options":[],"limits":{"context":262144,"output":131072}},{"name":"Claude Sonnet 4.6","model":"anthropic.claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3.3,"output":16.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":128000}}],"azure":[{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6.1 Sol","model":"gpt-6.1-sol","description":"Reasoning model for agentic coding, computer use, and document-heavy professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-29","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Sonnet 5.5","model":"claude-sonnet-5-5","description":"Sonnet-class reasoning model for everyday coding, bug fixes, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-28","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Opus 5.5","model":"claude-opus-5-5","description":"Anthropic's strongest Opus model for coding, agents, and knowledge work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Sol","model":"gpt-6-sol","description":"OpenAI reasoning model for demanding tasks that balances capability, latency, and cost","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":2,"output":10},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-6 Astra","model":"gpt-6-astra","description":"OpenAI model for advanced analysis, software engineering, deep research, scientific work, and document creation","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-04","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Claude Fable 5.1","model":"claude-fable-5-1","description":"Anthropic model for ambitious, long-running coding, agentic, research, and enterprise workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-01","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Grok 4.6","model":"grok-4.6","description":"xAI frontier model for coding, knowledge work, and STEM","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":2,"output":6},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":200000,"output":128000}},{"name":"Claude Opus 5","model":"claude-opus-5","description":"Anthropic's flagship model for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-24","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.6 Luna","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Sol","model":"gpt-5.6-sol","description":"Flagship model in OpenAI's GPT-5.6 series, suited for complex reasoning, coding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT-5.6 Terra","model":"gpt-5.6-terra","description":"Balanced model in OpenAI's GPT-5.6 series, suited for everyday coding, reasoning, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":2,"output":12},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"GPT Chat Latest","model":"gpt-chat-latest","description":"OpenAI's stable chat-latest alias that always resolves to the latest Instant chat model used in ChatGPT","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-05","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":400000,"output":128000}},{"name":"Claude Fable 5","model":"claude-fable-5","description":"Anthropic's Mythos-class model built for demanding reasoning, coding, and long-horizon agentic work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-09","cost":{"input":10,"output":50},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 5","model":"claude-sonnet-5","description":"Anthropic's Sonnet model, built for planning, tool use, and autonomous multi-step work at Sonnet pricing","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-06-30","cost":{"input":2,"output":10},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"GPT-5.5","model":"gpt-5.5","description":"OpenAI model for complex professional workloads, with stronger reasoning, reliability, and token efficiency than GPT-5.4 on hard tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":5,"output":30},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh"]}],"limits":{"context":1050000,"output":128000}},{"name":"Grok 4.20 (Non-Reasoning)","model":"grok-4-20-non-reasoning","description":"Reasoning model from xAI with industry-leading speed and agentic tool calling capabilities","roles":["chat","edit"],"capabilities":["tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-08","cost":{"input":2,"output":6},"limits":{"context":262000,"output":8192}},{"name":"Grok 4.20 (Reasoning)","model":"grok-4-20-reasoning","description":"Reasoning model from xAI with industry-leading speed and agentic tool calling capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-08","cost":{"input":2,"output":6},"reasoning_options":[],"limits":{"context":262000,"output":8192}},{"name":"Claude Opus 4.8","model":"claude-opus-4-8","description":"Modest but tangible improvement over Claude Opus 4.7","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-05-28","cost":{"input":5,"output":25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"Claude Sonnet 4.6","model":"claude-sonnet-4-6","description":"Anthropic Sonnet model for coding, agents, and professional work","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-02-17","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["low","medium","high","max"]},{"type":"budget_tokens","min":1024}],"limits":{"context":1000000,"output":64000}},{"name":"DeepSeek-V4-Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.19,"output":0.51},"reasoning_options":[],"limits":{"context":1000000,"output":384000}},{"name":"DeepSeek-V4-Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":1.74,"output":3.48},"reasoning_options":[],"limits":{"context":1000000,"output":384000}}],"ollama":[{"name":"DeepSeek V4.1 Flash 1017","model":"deepseek-v4.1-flash:1017","description":"October 17 update of DeepSeek V4.1 Flash for coding and end-to-end project development, with faster task completion and shorter outputs","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-17","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":384000}},{"name":"Muse Spark Open","model":"muse-spark-open","description":"Open-weight model optimized for agentic coding, reliable tool calling, and codebase understanding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-15","cost":{"input":1.25,"output":4.25},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh"]}],"limits":{"context":1048576,"output":131072}},{"name":"Mistral Large 4","model":"mistral-large-4","description":"Multimodal model from Mistral AI for reasoning, coding, and agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-06","cost":{"input":1.36,"output":4.18},"reasoning_options":[{"type":"effort","values":["none","high"]}],"limits":{"context":1048576,"output":262144}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-v4.1-flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":384000}},{"name":"DeepSeek V4 Pro 0813","model":"deepseek-v4-pro:0813","description":"Large-scale Mixture-of-Experts model and generally available release of DeepSeek V4 Pro","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-12","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM-5.3-Flash","model":"glm-5.3-flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"GLM-5.3","model":"glm-5.3","description":"Large-scale reasoning model from Z.ai built for complex software engineering and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash 0731","model":"deepseek-v4-flash:0731","description":"DeepSeek V4 Flash 0731 is a sparse mixture-of-experts model from DeepSeek, with 13B active parameters out of 284B total","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.22,"output":0.66},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"kimi-k3","model":"kimi-k3","description":"Moonshot AI's 2.8T-parameter open-weight multimodal reasoning model for complex coding, knowledge work, and long-horizon agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-16","cost":{"input":3,"output":15},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.22,"output":0.66},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4 Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["high","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"Gemma 4 31B","model":"gemma4:31b","description":"Google DeepMind's 30.7B dense multimodal model supporting text and image input with text output","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-04-02","cost":{"input":0.14,"output":0.4},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"GLM 5.2","model":"glm-5.2","description":"Large-scale reasoning model from Z.ai with a 1M-token context window, suited for long-horizon agent workflows and project-level software engineering","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-13","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":976000,"output":131072}},{"name":"MiniMax M3","model":"minimax-m3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-05-31","cost":{"input":0.6,"output":2.4},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","max"]}],"limits":{"context":512000,"output":131072}},{"name":"MiniMax M2.7","model":"minimax-m2.7","description":"Large language model designed for autonomous, real-world productivity and continuous improvement","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-18","cost":{"input":0.3,"output":1.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":196608,"output":196608}},{"name":"NVIDIA Nemotron 3 Ultra","model":"nemotron-3-ultra","description":"Open reasoning and orchestration model from NVIDIA with 55B active parameters out of 550B total (MoE)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-04","cost":{"input":0.1,"output":3},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":128000}},{"name":"NVIDIA Nemotron 3 Super 120B","model":"nemotron-3-super","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.015,"output":0.6},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":65536}},{"name":"Qwen 3.5 397B","model":"qwen3.5:397b","description":"Built on a hybrid architecture that integrates a linear attention mechanism with a sparse mixture-of-experts model, achieving higher inference efficiency","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-02-15","cost":{"input":0.6,"output":3.6},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":65536}}],"wandb":[{"name":"Beam 1.0","model":"reflection/Beam-1.0-501B-A23B","description":"Open-weight reasoning model from Reflection for coding and long-running agent workflows, with 501B total and 23B active parameters","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-10-16","cost":{"input":1,"output":3},"reasoning_options":[{"type":"effort","values":["minimal","low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":1048576}},{"name":"Nemotron 3.5 Super VL","model":"nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B","description":"Open multimodal Mixture-of-Experts model with 12B active parameters out of 120B for reasoning, coding, tool use, and document understanding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-10-15","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-ai/DeepSeek-V4.1-Flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.65},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM 5.3 Flash","model":"zai-org/GLM-5.3-Flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[],"limits":{"context":1048576,"output":1048576}},{"name":"Granite 4.2 8B","model":"ibm-granite/granite-4.2-8b","description":"Dense reasoning model from IBM for mathematics, code generation, multilingual dialogue, and multi-step agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-24","cost":{"input":0.1,"output":0.15},"reasoning_options":[{"type":"toggle"}],"limits":{"context":131072,"output":131072}},{"name":"DeepSeek V4 Pro 0813","model":"deepseek-ai/DeepSeek-V4-Pro-0813","description":"Large-scale Mixture-of-Experts model and generally available release of DeepSeek V4 Pro","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-13","cost":{"input":1.31,"output":3.96},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"Qwen3.8 27B","model":"Qwen/Qwen3.8-27B","description":"Alibaba's 27B dense multimodal model for coding, professional work, research, and long-horizon agentic tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":0.4,"output":3},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"Nemotron 3.5 Lightning","model":"nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B","description":"MoE model built for fast, reliable agentic tasks across financial services, cybersecurity, telecom, and retail","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-11","cost":{"input":0.07,"output":0.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"DeepSeek V4 Flash 0731","model":"deepseek-ai/DeepSeek-V4-Flash-0731","description":"DeepSeek V4 Flash 0731 is a sparse mixture-of-experts model from DeepSeek, with 13B active parameters out of 284B total","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.13,"output":0.28},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"MiniMax M3","model":"MiniMaxAI/MiniMax-M3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-06-12","cost":{"input":0.23,"output":0.96},"reasoning_options":[],"limits":{"context":262144,"output":262144}},{"name":"DeepSeek V4-Flash","model":"deepseek-ai/DeepSeek-V4-Flash","description":"DeepSeek V4-Flash is an MoE model with 1M context length great for coding, reasoning, and agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.14,"output":0.28},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"DeepSeek V4 Pro","model":"deepseek-ai/DeepSeek-V4-Pro","description":"DeepSeek V4-Pro is a 1.6T-parameter MoE model with 49B active parameters excelling at advanced reasoning, coding, and complex agentic workloads","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":1.15,"output":2.55},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"GLM 5.2","model":"zai-org/GLM-5.2","description":"GLM-5.2 is a Mixture-of-Experts language model featuring 40 billion activated parameters and a total of 744 billion parameters","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-16","cost":{"input":0.62,"output":2.42},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1048576,"output":1048576}},{"name":"Nemotron 3 Ultra","model":"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B","description":"Open reasoning and orchestration model from NVIDIA with 55B active parameters out of 550B total (MoE)","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-04","cost":{"input":0.5,"output":2.15},"reasoning_options":[{"type":"toggle"}],"limits":{"context":262144,"output":262144}},{"name":"NVIDIA Nemotron 3 Super 120B","model":"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8","description":"120B-parameter open hybrid MoE model, activating just 12B parameters for maximum compute efficiency and accuracy in complex multi-agent applications","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-03-11","cost":{"input":0.2,"output":0.8}},{"name":"gpt-oss-120b","model":"openai/gpt-oss-120b","description":"Open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2025-08-05","cost":{"input":0.03,"output":0.17},"reasoning_options":[],"limits":{"context":131072,"output":131072}},{"name":"gpt-oss-20b","model":"openai/gpt-oss-20b","description":"Open-weight 21B parameter model released by OpenAI under the Apache 2.0 license","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2025-08-05","cost":{"input":0.03,"output":0.13},"reasoning_options":[],"limits":{"context":131072,"output":131072}},{"name":"Mellum2 12B A2.5B","model":"JetBrains/Mellum2-12B-A2.5B-Instruct","description":"Mellum2-12B-A2.5B-Instruct is a fast MoE model with 131K context built for coding, tool use, and low-latency AI workflows","roles":["chat","edit"],"capabilities":["tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-01","cost":{"input":0.05,"output":0.1},"limits":{"context":131072,"output":131072}}],"opencode-go":[{"name":"Beam Free","model":"beam-free","description":"Free access to Reflection's Beam model for coding, reasoning, and long-running agent workflows, available for a limited time in supported regions","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-10-05","cost":{"input":0,"output":0},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":131072}},{"name":"Gemini 4 Argon Contributor","model":"gemini-4-argon-contributor","description":"Contributor tier of Gemini 4 Argon for reasoning, coding, and agents, with prompts and completions eligible for model training","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-13","cost":{"input":4,"output":20},"reasoning_options":[{"type":"effort","values":["low","medium","high"]}],"limits":{"context":1048576,"output":65536}},{"name":"Claude Haiku 5.5","model":"claude-haiku-5-5","description":"Small, fast model for high-volume, cost-sensitive work such as summarization, subagents, and browser use","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-10-07","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1000000,"output":128000}},{"name":"LongCat 2.5 Preview Free","model":"longcat-2.5-preview-free","description":"Multimodal reasoning model from Meituan for coding and agentic workflows, with a one-million-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-25","cost":{"input":0,"output":0},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1000000,"output":131072}},{"name":"Space Bunny Free","model":"space-bunny-free","description":"Anonymous model with fast inference, strong coding capabilities, native multimodal input, and adjustable reasoning effort","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-23","cost":{"input":0,"output":0},"reasoning_options":[{"type":"effort","values":["low","medium","high","xhigh","max"]}],"limits":{"context":1048576,"output":524288}},{"name":"GPT-6 Luna","model":"gpt-6-luna","description":"OpenAI's most efficient model for focused, high-volume tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.1,"output":0.5},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"MiMo-V2.6-Flash","model":"mimo-v2.6-flash","description":"Open-source Mixture-of-Experts foundation model from Xiaomi with 309B total parameters and 15B activated per token","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.14,"output":0.28},"reasoning_options":[],"limits":{"context":1048576,"output":131072}},{"name":"MiMo-V2.6-Pro","model":"mimo-v2.6-pro","description":"Xiaomi's flagship foundation model with over one trillion parameters, designed for demanding coding and agentic tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-22","cost":{"input":0.435,"output":0.87},"reasoning_options":[],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4.1 Flash","model":"deepseek-v4.1-flash","description":"Sparse Mixture-of-Experts model from DeepSeek built on a Causal Encoder-Decoder architecture","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-09-10","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"Muse Spark 1.3 Contributor","model":"muse-spark-1.3-contributor","description":"Cost-efficient contributor tier of Meta's multimodal reasoning model for experimentation, learning, and early-stage agentic, multi-agent, and coding workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-09-02","cost":{"input":0.1,"output":0.2},"reasoning_options":[{"type":"effort","values":["minimal","low","medium","high","xhigh"]}],"limits":{"context":1048576,"output":131072}},{"name":"Hy4 preview","model":"hy4-preview","description":"Mixture-of-Experts model from Tencent designed for coding agents, complex tool use, and productivity tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-28","cost":{"input":0.834,"output":2.501},"reasoning_options":[{"type":"effort","values":["none","high"]}],"limits":{"context":1024000,"output":64000}},{"name":"GLM-5.3-Flash (2x usage)","model":"glm-5.3-flash","description":"Native multimodal model from Z.ai optimized for efficient coding and long-horizon agent tasks","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.5},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.8 Flash","model":"qwen3.8-flash","description":"Multimodal reasoning model from Alibaba for coding, agentic workflows, visual understanding, document and codebase analysis, and desktop interaction","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-26","cost":{"input":0.15,"output":0.47},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","xhigh"]},{"type":"budget_tokens"}],"limits":{"context":1000000,"output":131072}},{"name":"DeepSeek V4 Flash Vision Exp","model":"deepseek-v4-flash-vision-exp","description":"Experimental multimodal variant of DeepSeek V4 Flash that adds image understanding while retaining its text and agent capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-21","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"GLM-5.3","model":"glm-5.3","description":"Flagship GLM model for long-horizon coding, agents, and complex project delivery","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-08-14","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.8 Max","model":"qwen3.8-max","description":"Flagship multimodal reasoning model in Alibaba's Qwen3.8 series, intended for complex reasoning, visual understanding, and agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-08-03","cost":{"input":2,"output":6},"reasoning_options":[{"type":"toggle"},{"type":"effort","values":["low","medium","xhigh"]},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":131072}},{"name":"GPT-5.6 Luna (2x usage)","model":"gpt-5.6-luna","description":"Fast, cost-efficient model in OpenAI's GPT-5.6 series, suited for high-volume, latency-sensitive chat and lightweight agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image","pdf"],"output_types":["text"],"release_date":"2026-07-09","cost":{"input":0.2,"output":1.2},"reasoning_options":[{"type":"effort","values":["none","low","medium","high","xhigh","max"]}],"limits":{"context":1050000,"output":128000}},{"name":"Kimi K3 (2x usage)","model":"kimi-k3","description":"Moonshot AI's 2.8T-parameter open-weight multimodal reasoning model for complex coding, knowledge work, and long-horizon agentic workflows","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-07-16","cost":{"input":3,"output":15},"reasoning_options":[{"type":"effort","values":["max"]}],"limits":{"context":1048576,"output":131072}},{"name":"DeepSeek V4 Flash","model":"deepseek-v4-flash","description":"Efficiency-optimized Mixture-of-Experts model from DeepSeek with 284B total parameters and 13B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-07-31","cost":{"input":0.15,"output":0.6},"reasoning_options":[{"type":"effort","values":["low","high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"DeepSeek V4 Pro","model":"deepseek-v4-pro","description":"Large-scale Mixture-of-Experts model from DeepSeek with 1.6T total parameters and 49B activated parameters, supporting a 1M-token context window","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-04-24","cost":{"input":0.66,"output":1.98},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":1000000,"output":384000}},{"name":"GLM 5.2","model":"glm-5.2","description":"Large-scale reasoning model from Z.ai with a 1M-token context window, suited for long-horizon agent workflows and project-level software engineering","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-06-13","cost":{"input":1.4,"output":4.4},"reasoning_options":[{"type":"effort","values":["high","max"]}],"limits":{"context":1000000,"output":131072}},{"name":"Qwen3.7 Plus","model":"qwen3.7-plus","description":"Cost-effective model in Alibaba's Qwen3.7 series supporting text and image input with upgraded text capabilities","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-06-02","cost":{"input":0.4,"output":1.6},"reasoning_options":[{"type":"toggle"},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":65536}},{"name":"Qwen3.7 Max","model":"qwen3.7-max","description":"Capable of writing and debugging code, and sustaining autonomous execution across hundreds or thousands of steps","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text"],"output_types":["text"],"release_date":"2026-05-21","cost":{"input":2.5,"output":7.5},"reasoning_options":[{"type":"toggle"},{"type":"budget_tokens","max":262144}],"limits":{"context":1000000,"output":65536}},{"name":"MiniMax M3 (3x usage)","model":"minimax-m3","description":"Multimodal foundation model from MiniMax with a 1M-token context window, suited for long-horizon agentic work and coding","roles":["chat","edit"],"capabilities":["thinking","tool_calling"],"input_types":["text","image"],"output_types":["text"],"release_date":"2026-05-31","cost":{"input":0.3,"output":1.2},"reasoning_options":[{"type":"toggle"}],"limits":{"context":1000000,"output":131072}}]}`),Vs=[{name:`OpenAI`,id:`openai`,description:`OpenAI's API for GPT models, including GPT-3.5 and GPT-4.`,url:`https://platform.openai.com/`},{name:`GitHub Copilot`,id:`github`,description:`GitHub Copilot provides model inference through a Copilot subscription.`,url:`https://pydantic.dev/docs/ai/models/github-copilot/`},{name:`Amazon Bedrock`,id:`bedrock`,description:`Amazon Bedrock provides access to foundation models from Amazon and leading AI startups via a unified API.`,url:`https://aws.amazon.com/bedrock/`},{name:`Azure`,id:`azure`,description:`Azure provides access to models via the Azure cloud.`,url:`https://azure.microsoft.com/en-us/products/ai-services/`},{name:`Anthropic`,id:`anthropic`,description:`Anthropic's Claude models for conversational and completion tasks.`,url:`https://www.anthropic.com/`},{name:`Google AI`,id:`google`,description:`Google's Vertex AI and PaLM APIs for generative and conversational models.`,url:`https://cloud.google.com/vertex-ai/docs/generative-ai/learn/overview`},{name:`Ollama`,id:`ollama`,description:`Ollama is a lightweight, open-source model server for running and sharing LLMs.`,url:`https://ollama.ai/`},{name:`marimo`,id:`marimo`,description:`marimo's hosted models.`,url:`https://docs.marimo.io/guides/editor_features/ai_completion/`},{name:`DeepSeek`,id:`deepseek`,description:`DeepSeek's API for GPT models.`,url:`https://deepseek.com/`},{name:`LM Studio`,id:`lmstudio`,description:`LM Studio's API for GPT models.`,url:`https://lmstudio.ai/`},{name:`OpenRouter`,id:`openrouter`,description:`OpenRouter's API for GPT models.`,url:`https://openrouter.ai/`},{name:`Mistral`,id:`mistral`,description:`Mistral's API for GPT models.`,url:`https://mistral.ai/`},{name:`Vercel v0`,id:`vercel`,description:`Vercel's API for GPT models.`,url:`https://vercel.com/`},{name:`Together AI`,id:`together`,description:`Together AI's API for GPT models.`,url:`https://together.ai/`},{name:`xAI`,id:`xai`,description:`xAI's API for GPT models.`,url:`https://x.ai/`},{name:`Weights & Biases`,id:`wandb`,description:`Weights & Biases' hosted models for ML development and AI inference.`,url:`https://wandb.ai/`},{name:`OpenCode Go`,id:`opencode-go`,description:`Low-cost subscription for reliable access to popular open coding models.`,url:`https://opencode.ai/docs/go/`}],Hs=Bs,Us=Vs,Ws=dr(()=>{let e=new Map,t=new Map;for(let[n,r]of Object.entries(Hs)){if(!r)continue;let i=n;for(let n of r){let r=n.model,a={...n,model:r,provider:i,custom:!1},o=`${i}/${r}`;e.set(o,a),(a.roles.includes(`chat`)||a.roles.includes(`edit`))&&!t.has(i)&&t.set(i,o)}}return{modelMap:e,defaultModelByProvider:t}}),Gs=dr(()=>{let e=new Map,t=new Map;return Us.forEach((n,r)=>{e.set(n.id,n),t.set(n.id,r)}),{providerMap:e,providerToOrderIdx:t}}),Ks=class e{modelsByProviderMap=new Oe;modelsMap;customModels;displayedModels;constructor(e,t){this.customModels=new Set(e),this.displayedModels=new Set(t),this.modelsMap=new Map,this.buildMaps()}static getProviderInfo(e){let{providerMap:t}=Gs();return t.get(e)}static create(t){let{customModels:n=[],displayedModels:r=[]}=t;return new e(n.map(e=>Ls.parse(e).id),r.map(e=>Ls.parse(e).id))}buildMaps(){let t=e.buildMapsFromConfig({displayedModels:this.displayedModels,customModels:this.customModels});t.modelsMap.size===0&&(q.error(`The configured displayed_models have filtered out all registered models. Reverting back to showing all models.`,[...this.displayedModels]),t=e.buildMapsFromConfig({displayedModels:new Set,customModels:this.customModels})),this.modelsByProviderMap=t.modelsByProviderMap,this.modelsMap=t.modelsMap}static buildMapsFromConfig(e){let{displayedModels:t,customModels:n}=e,r=t.size>0,i=Ws().modelMap,a=new Map,o=new Map,s=new Oe;for(let e of n){if(r&&!t.has(e))continue;let n=Ls.parse(e),i={name:n.shortModelId,model:n.shortModelId,description:`Custom model`,provider:n.providerId,roles:[],capabilities:[],input_types:[],output_types:[],release_date:`1970-01-01`,custom:!0};a.set(e,i)}if(r)for(let e of t){let t=i.get(e);t&&o.set(e,t)}else o=new Map(i);o=new Map([...a,...o]);for(let[e,t]of o.entries()){let n=Ls.parse(e);s.add(n.providerId,t)}return{modelsByProviderMap:s,modelsMap:o}}getDisplayedModels(){return this.displayedModels}getCustomModels(){return this.customModels}getModelsByProvider(e){return this.modelsByProviderMap.get(e)||[]}getGroupedModelsByProvider(){return this.modelsByProviderMap}getListModelsByProvider(){let e=[...this.getGroupedModelsByProvider().entries()],t=Gs().providerToOrderIdx;return e.sort((e,n)=>{let r=e[0],i=n[0];return(t.get(r)??0)-(t.get(i)??0)}),e}getModelsMap(){return this.modelsMap}getModel(e){return this.modelsMap.get(e)}},qs=Le(`marimo:accept-completion-on-enter`,!0,w,{getOnInit:!0});function Js(e){`scheduler`in window?window.scheduler.postTask(e,{priority:`background`}):`requestIdleCallback`in window?requestIdleCallback(e):setTimeout(e,0)}var Ys=null,Xs=class{view;abortController=new AbortController;constructor(e){this.view=e.view,this.view.dom.addEventListener(`focus`,()=>{Ys=new WeakRef(this.view)},{signal:this.abortController.signal,capture:!0}),this.update()}update(){let e=this.view.dom.querySelector(`.cm-vimCursorLayer`);if(e instanceof HTMLElement){if(_())e.style.display=`none`;else{let t=Ys?.deref()===this.view;e.style.display=t?``:`none`}}}destroy(){this.abortController.abort()}},Zs={map:{args:[`lhs`,`rhs`]},nmap:{mode:`normal`,args:[`lhs`,`rhs`]},vmap:{mode:`visual`,args:[`lhs`,`rhs`]},imap:{mode:`insert`,args:[`lhs`,`rhs`]},noremap:{args:[`lhs`,`rhs`]},nnoremap:{mode:`normal`,args:[`lhs`,`rhs`]},vnoremap:{mode:`visual`,args:[`lhs`,`rhs`]},inoremap:{mode:`insert`,args:[`lhs`,`rhs`]},unmap:{args:[`lhs`]},nunmap:{mode:`normal`,args:[`lhs`]},vunmap:{mode:`visual`,args:[`lhs`]},iunmap:{mode:`insert`,args:[`lhs`]},mapclear:{},nmapclear:{mode:`normal`},vmapclear:{mode:`visual`},imapclear:{mode:`insert`}};function Qs(e,t){let n=[];for(let r of e.split(`
2
+ `)){if(r.startsWith(`"`)||r.trim()===``)continue;let e=$s(r,t);e&&n.push(e)}return n}function $s(e,t){let n=e.split(/\s+/),r=n[0],i=0;if(r in Zs){let a=Zs[r],o={};for(let s of a.args||[])if(i+=1,i<n.length)o[s]=n[i];else{t&&t(`Not enough arguments for "${r}" command: "${e}"`);return}let s={name:r};return`args`in a&&(s.args=o),`mode`in a&&(s.mode=a.mode),s}t&&t(`Unknown vimrc command: "${e}"`)}function ec(){return nc(),rc(),[Kn.of([{key:`j`,run:e=>{if(K(e,!0)&&te(e)){let t=e.state.facet(l),n=e.state.facet(L);return t.moveToNextCell({cellId:n,before:!1,noCreate:!0}),!0}return!1}}]),Kn.of([{key:`k`,run:e=>{if(D(e)&&te(e)){let t=e.state.facet(l),n=e.state.facet(L);return t.moveToNextCell({cellId:n,before:!0,noCreate:!0}),!0}return!1}}]),Kn.of([{linux:`Ctrl-[`,win:`Ctrl-[`,run:e=>{let t=z(e);return t?cc(t)?t.state.vim.insertMode?(S.exitInsertMode(t,!0),!0):!1:(q.warn(`Expected CodeMirror instance to have Vim state`),!1):(q.warn(`Expected CodeMirror instance to have CodeMirror instance state`),!1)}}]),Yn.define(e=>(requestAnimationFrame(()=>{sc.INSTANCES.addInstance(e)}),{destroy(){sc.INSTANCES.removeInstance(e)}})),Yn.define(e=>new Xs({view:e})),Jn.domEventHandlers({keydown(e,t){return e.ctrlKey&&e.key===`Escape`?(t.dom.dispatchEvent(new KeyboardEvent(e.type,e)),!0):!1}})]}function tc(e,t){let n=e.cm6;if(!n)return;let r=n.coordsAtPos(n.state.selection.main.head);if(!r)return;let i=document.getElementById(`App`);if(!i)return;let a=i.clientHeight,o;switch(t){case`center`:o=(r.top+r.bottom)/2-a/2;break;case`start`:o=r.top;break;case`end`:o=r.bottom-a}i.scrollBy({top:o,behavior:`smooth`})}var nc=dr(()=>{S.defineAction(`goToDefinition`,e=>{let t=e.cm6;return N(t)}),S.mapCommand(`gd`,`action`,`goToDefinition`,{},{context:`normal`}),S.defineAction(`scrollCursorToCenter`,e=>tc(e,`center`)),S.mapCommand(`zz`,`action`,`scrollCursorToCenter`,{},{context:`normal`}),S.defineAction(`scrollCursorToTop`,e=>tc(e,`start`)),S.mapCommand(`zt`,`action`,`scrollCursorToTop`,{},{context:`normal`}),S.defineAction(`scrollCursorToBottom`,e=>tc(e,`end`)),S.mapCommand(`zb`,`action`,`scrollCursorToBottom`,{},{context:`normal`}),S.defineEx(`write`,`w`,e=>{let t=e.cm6;t&&t.state.facet(l).saveNotebook()})}),rc=dr(async()=>{let e=a.get(ge).keymap?.vimrc;if(e)try{q.log(`Loading vimrc from ${e}`);let t=(await _r().sendFileDetails({path:e})).contents;if(!t){q.error(`Failed to load vimrc from ${e}`);return}ic(Qs(t,q.warn))}catch(e){q.error(`Failed to load vimrc:`,e)}});function ic(e){function t(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs||!e.args.rhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.map(e.args.lhs,e.args.rhs,e.mode):S.map(e.args.lhs,e.args.rhs)}function n(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs||!e.args.rhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.noremap(e.args.lhs,e.args.rhs,e.mode):S.noremap(e.args.lhs,e.args.rhs)}function r(e){if(!e.args){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}if(!e.args.lhs){q.warn(`Could not execute vimrc command "${e.name}: expected arguments"`);return}e.mode?S.unmap(e.args.lhs,e.mode):S.unmap(e.args.lhs)}function i(e){e.mode?S.mapclear(e.mode):S.mapclear()}for(let a of e)`map|nmap|vmap|imap`.split(`|`).includes(a.name)?t(a):`noremap|nnoremap|vnoremap|inoremap`.split(`|`).includes(a.name)?n(a):`unmap|nunmap|vunmap|iunmap`.split(`|`).includes(a.name)?r(a):`mapclear|nmapclear|vmapclear|imapclear`.split(`|`).includes(a.name)?i(a):q.warn(`Could not execute vimrc command "${a.name}: unknown command"`)}function ac(e){return`getVimGlobalState_`in e&&typeof e.getVimGlobalState_==`function`}function oc(){if(!ac(S))return!1;let e=S.getVimGlobalState_()?.macroModeState;return e?!!(e.isRecording||e.isPlaying):!1}var sc=class e{instances=new Set;isBroadcasting=!1;static INSTANCES=new e;constructor(){}addInstance(e){this.instances.add(e);let t=z(e);if(!t){q.warn(`Expected CodeMirror instance to have CodeMirror instance state`);return}t.on(`vim-mode-change`,t=>{if(this.isBroadcasting)return;Te(`mode`in t,`Expected event to have a "mode" property`);let n=oc();this.isBroadcasting=!0,Js(()=>{n||this.broadcastModeChange(e,t.mode),this.isBroadcasting=!1})})}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,t){Te(`exitInsertMode`in S,`Vim does not have an exitInsertMode method`),Te(`exitVisualMode`in S,`Vim does not have an exitVisualMode method`);for(let n of this.instances)if(n!==e){let e=z(n);if(!e){q.warn(`Expected CodeMirror instance to have CodeMirror instance state`);continue}let r=e.setSelections.bind(e);if(e.setSelections=()=>[],!cc(e)){q.warn(`Expected CodeMirror instance to have Vim state`);continue}let i=e.state.vim;switch(t){case`normal`:i.insertMode&&S.exitInsertMode(e,!0),i.visualMode&&S.exitVisualMode(e,!0);break;case`insert`:i.insertMode||S.handleKey(e,`i`,`mapping`)}e.setSelections=r}}};function cc(e){return e.state.vim!==void 0}var lc=[`default`,`vim`];function uc(e,t){switch(e.preset){case`default`:return[Kn.of(fc()),Kn.of(pc(t))];case`vim`:return[Kn.of(mc()),Kn.of(pc(t)),Kn.of([{key:`Enter`,run:e=>z(e)?.state.vim?.insertMode?or(e):!1}]),qn.high(hc(`d`,e=>e.state.doc.toString()===``,e=>e.state.doc.toString()===``&&(e.state.facet(l).deleteCell(),!0))),Kn.of(_c()),p({status:!1}),qn.high(ec())];default:return fr(e.preset),[]}}var dc=new Set([tr,Zn,sr,rr]),fc=dr(()=>cr.filter(e=>!dc.has(e.run))),pc=e=>[{key:e.getHotkey(`cell.toggleComment`).key,run:tr},{key:e.getHotkey(`cell.toggleBlockComment`).key,run:Zn},{key:e.getHotkey(`cell.copyLineUp`).key,run:sr},{key:e.getHotkey(`cell.copyLineDown`).key,run:rr}],mc=dr(()=>{let e=new Set([`Enter`,`Ctrl-v`,`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]);return fc().filter(t=>!e.has(t.key||t.mac||t.linux||t.win||``))});function hc(e,t,n){let r=``,i=0;return Kn.of([{any:(a,o)=>{let s=o.key,c=o.timeStamp;return s!==e||!t(a)?(r=``,i=0,!1):r===e&&c-i<500&&n(a)?(r=``,i=0,!0):(r=s,i=c,!1)}}])}function gc(e){return e?.state.vim?.visualMode===!0}function _c(){let e=e=>t=>!gc(z(t))&&e(t);return[{key:`ArrowDown`,run:e(lr),shift:e(er)},{key:`ArrowUp`,run:e(nr),shift:e(Xn)},{key:`ArrowLeft`,run:e(ar),shift:e(Qn)},{key:`ArrowRight`,run:e(ir),shift:e($n)}]}function vc(){return[`compact`,`medium`,`full`,`columns`]}var yc={openai:e=>!!e?.open_ai?.api_key,github:e=>!!e?.github?.api_key,anthropic:e=>!!e?.anthropic?.api_key,google:e=>!!e?.google?.api_key,openrouter:e=>!!e?.openrouter?.api_key,azure:e=>!!(e?.azure?.api_key&&e?.azure?.base_url),wandb:e=>!!e?.wandb?.api_key,"opencode-go":e=>!!e?.opencode_go?.api_key,bedrock:e=>!!e?.bedrock?.region_name,ollama:e=>!!e?.ollama?.base_url,deepseek:()=>!1,marimo:e=>!!e?.open_ai_compatible?.base_url};function bc(e){let t=Is.filter(t=>yc[t](e)),n=Object.entries(e?.custom_providers??{}).filter(([,e])=>!!e?.base_url).map(([e])=>e);return[...t,...n]}function xc(e,t){let n=new Set(bc(t));return e.filter(([e])=>n.has(e))}function Sc(e,t){return t?.allow_provider_config===!1?xc(e,t):[...e]}function Cc(e){let t=bc(e)[0];if(t)return Ws().defaultModelByProvider.get(t)}function wc(e){let t={chatModel:void 0,editModel:void 0},n=!e?.models?.chat_model,r=!e?.models?.edit_model;if(!n&&!r)return t;let i=Cc(e);return i?(n&&(t.chatModel=i),r&&(t.editModel=i),t):t}var Y=ie();function Tc(e){return e.toLowerCase().replaceAll(`+`,`-`).trim()}function Ec(e,t){let n=e.getHotkeyGroups(),r=t?new Set(n[t]||[]):new Set,i=new Map;for(let t of e.iterate()){if(r.has(t))continue;let n=e.getHotkey(t);if(!n.key||n.key.trim()===``)continue;let a=Tc(n.key);i.has(a)||i.set(a,[]);let o=i.get(a);o&&o.push({action:t,name:n.name})}let a=[],o=new Set;for(let[e,t]of i.entries())if(t.length>1){a.push({key:e,actions:t});for(let{action:e}of t)o.add(e)}return{duplicates:a,hasDuplicate:e=>o.has(e),getDuplicatesFor:t=>{let n=e.getHotkey(t);if(!n.key||n.key.trim()===``)return[];let r=Tc(n.key),i=a.find(e=>e.key===r);return!i||i.actions.length<=1?[]:i.actions.filter(e=>e.action!==t).map(e=>e.action)}}}function Dc(e,t){let n=(0,Y.c)(3),r;return n[0]!==e||n[1]!==t?(r=Ec(e,t),n[0]=e,n[1]=t,n[2]=r):r=n[2],r}var Oc=r({});function kc(){return i(Oc)}function Ac(){let e=(0,Y.c)(7),t=s(Oc),n;e[0]===t?n=e[1]:(n=(e,n)=>{t(t=>({...t,[e]:n}))},e[0]=t,e[1]=n);let r=o(n),i;e[2]===t?i=e[3]:(i=e=>{t(t=>we.omit(t,[e]))},e[2]=t,e[3]=i);let a=o(i),c;return e[4]!==r||e[5]!==a?(c={registerAction:r,unregisterAction:a},e[4]=r,e[5]=a,e[6]=c):c=e[6],c}function jc(e,t,n){let r=(0,Y.c)(17),a;r[0]===n?a=r[1]:(a=n===void 0?{}:n,r[0]=n,r[1]=a);let{disabled:s}=a,c=s!==void 0&&s,{registerAction:l,unregisterAction:u}=Ac(),d=i(le),f=t===ye.NOOP,p;r[2]===t?p=r[3]:(p=e=>t(e),r[2]=t,r[3]=p);let m=o(p),h;r[4]!==t||r[5]!==c||r[6]!==d||r[7]!==e?(h=n=>{if(c||n.defaultPrevented)return;let r=d.getHotkey(e).key;Se(r)(n)&&t(n)!==!1&&(n.preventDefault(),n.stopPropagation())},r[4]=t,r[5]=c,r[6]=d,r[7]=e,r[8]=h):h=r[8];let g=o(h);Ce(document,`keydown`,g);let _,v;r[9]!==c||r[10]!==f||r[11]!==m||r[12]!==l||r[13]!==e||r[14]!==u?(_=()=>{if(!f&&!c)return l(e,m),()=>u(e)},v=[m,e,f,c,l,u],r[9]=c,r[10]=f,r[11]=m,r[12]=l,r[13]=e,r[14]=u,r[15]=_,r[16]=v):(_=r[15],v=r[16]),(0,J.useEffect)(_,v)}var X=We(),Mc=e=>{let t=(0,Y.c)(7),{duplicates:n}=e;if(n.length===0)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(Un,{className:`h-4 w-4`}),i=(0,X.jsx)(Ar,{children:`Duplicate shortcuts`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(`p`,{className:`mb-2`,children:`Multiple actions are assigned to the same keyboard shortcut:`}),t[2]=a):a=t[2];let o;t[3]===n?o=t[4]:(o=n.map(Pc),t[3]=n,t[4]=o);let s;return t[5]===o?s=t[6]:(s=(0,X.jsxs)(jr,{variant:`warning`,className:`mb-4`,children:[r,i,(0,X.jsxs)(kr,{children:[a,(0,X.jsx)(`ul`,{className:`space-y-2`,children:o})]})]}),t[5]=o,t[6]=s),s};function Nc(e){let{action:t,name:n}=e;return(0,X.jsx)(`li`,{children:n},t)}function Pc(e){let{key:t,actions:n}=e;return(0,X.jsxs)(`li`,{className:`text-xs`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,X.jsx)(Br,{shortcut:t}),(0,X.jsx)(`span`,{className:`font-semibold`,children:`is used by:`})]}),(0,X.jsx)(`ul`,{className:`ml-6 list-disc`,children:n.map(Nc)})]},t)}var Fc=r(!1),Ic=()=>{let e=(0,Y.c)(89),[t,r]=n(Fc),[a,o]=(0,J.useState)(null),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[],e[0]=s):s=e[0];let[c,l]=(0,J.useState)(s),[u,d]=se(),f=i(le),{saveUserConfig:p}=gr(),{duplicates:m,hasDuplicate:h,getDuplicatesFor:g}=Dc(f,`Markdown`),_;e[1]===r?_=e[2]:(_=()=>r(Lc),e[1]=r,e[2]=_),jc(`global.showHelp`,_);let v;e[3]!==u||e[4]!==p||e[5]!==d?(v=async e=>{let t={...u};d(t=>({...t,...e})),await p({config:e}).catch(e=>{throw d(t),e})},e[3]=u,e[4]=p,e[5]=d,e[6]=v):v=e[6];let y=v,x;e[7]!==u||e[8]!==a||e[9]!==y?(x=async e=>{if(!a)return;let t=e.join(`-`),n={keymap:{...u.keymap,overrides:{...u.keymap.overrides,[a]:t}}};o(null),l([]),await y(n)},e[7]=u,e[8]=a,e[9]=y,e[10]=x):x=e[10];let S=x,C;e[11]!==u||e[12]!==a||e[13]!==y?(C=async()=>{if(!a)return;let e={keymap:{...u.keymap,overrides:{...u.keymap.overrides}}};delete e.keymap.overrides[a],o(null),l([]),await y(e)},e[11]=u,e[12]=a,e[13]=y,e[14]=C):C=e[14];let w=C,T;e[15]!==u||e[16]!==y?(T=async()=>{if(!window.confirm(`Are you sure you want to reset all shortcuts to their default values?`))return;let e={keymap:{...u.keymap,overrides:{}}};o(null),l([]),await y(e)},e[15]=u,e[16]=y,e[17]=T):T=e[17];let E=T;if(!t)return null;let D;e[18]!==a||e[19]!==g||e[20]!==S||e[21]!==w||e[22]!==h||e[23]!==f||e[24]!==c?(D=e=>{let t=f.getHotkey(e);if(a===e){let n=xe(e);return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Fn,{defaultValue:c.join(`+`),placeholder:t.name,onKeyDown:e=>{e.preventDefault();let t=[];if(e.key===`Meta`||e.key===`Control`||e.key===`Alt`||e.key===`Shift`||(e.metaKey&&t.push(be()?`Cmd`:`Meta`),e.ctrlKey&&t.push(`Ctrl`),e.altKey&&t.push(`Alt`),e.shiftKey&&t.push(`Shift`),e.key===`-`))return;if(e.key===`Escape`&&t.length===0){o(null),l([]);return}let n=e.key.length===1?e.key.toLowerCase():e.key;e.key===` `&&(n=`Space`),t.push(n),S(t)},autoFocus:!0,endAdornment:(0,X.jsx)(Et,{variant:`text`,size:`xs`,className:`mb-0`,onClick:()=>{o(null),l([])},children:(0,X.jsx)(At,{className:`w-4 h-4`})})}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between w-full`,children:[(0,X.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Press a key combination`}),n.key!==t.key&&(0,X.jsxs)(`span`,{className:`text-xs cursor-pointer text-primary`,onClick:w,children:[`Reset to default:`,` `,(0,X.jsx)(`span`,{className:`font-mono`,children:n.key})]})]})]},e)}let n=h(e),r=n?g(e):[];return(0,X.jsxs)(`div`,{className:`grid grid-cols-[auto_2fr_3fr] gap-2 items-center`,children:[f.isEditable(e)?(0,X.jsx)(b,{className:`cursor-pointer opacity-60 hover:opacity-100 text-muted-foreground w-3 h-3`,onClick:()=>{l([]),o(e)}}):(0,X.jsx)(`div`,{className:`w-3 h-3`}),(0,X.jsx)(Br,{className:`justify-end`,shortcut:t.key}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(`span`,{children:t.name.toLowerCase()}),n&&(0,X.jsxs)(`div`,{className:`group relative inline-flex`,children:[(0,X.jsx)(Un,{className:`w-3 h-3 text-(--yellow-11)`}),(0,X.jsxs)(`div`,{className:`invisible group-hover:visible absolute left-0 top-5 z-10 w-max max-w-xs rounded-md bg-(--yellow-2) border border-(--yellow-7) p-2 text-xs text-(--yellow-11) shadow-md`,children:[`Also used by:`,` `,r.map(e=>f.getHotkey(e).name.toLowerCase()).join(`, `)]})]})]})]},e)},e[18]=a,e[19]=g,e[20]=S,e[21]=w,e[22]=h,e[23]=f,e[24]=c,e[25]=D):D=e[25];let O=D,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U,ee,W,G,te;if(e[26]!==u.keymap.preset||e[27]!==m||e[28]!==f||e[29]!==t||e[30]!==O||e[31]!==r){let n=f.getHotkeyGroups(),i=(e,t)=>{let r=n[e];return(0,X.jsxs)(`div`,{className:`mb-[40px] gap-2 flex flex-col`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h3`,{className:`text-lg font-medium`,children:e}),t]}),r.map(O)]})};j=en,U=t,e[51]===r?ee=e[52]:(ee=e=>r(e),e[51]=r,e[52]=ee),A=Tn,V=`sm:items-center sm:top-0`,e[53]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,X.jsx)(Ht,{}),e[53]=H):H=e[53],k=yn,L=!1,R=`max-h-screen sm:max-h-[90vh] overflow-y-auto sm:max-w-[850px]`,e[54]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,X.jsx)(cn,{children:(0,X.jsx)(Ln,{children:`Shortcuts`})}),e[54]=z):z=e[54],e[55]===m?B=e[56]:(B=(0,X.jsx)(Mc,{duplicates:m}),e[55]=m,e[56]=B),F=`flex flex-row gap-3`,I=(0,X.jsxs)(`div`,{className:`w-1/2`,children:[i(`Editing`),i(`Markdown`)]}),W=`w-1/2`,G=i(`Navigation`),te=i(`Running Cells`),M=i(`Creation and Ordering`),N=(e=>i(e,(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground flex items-center gap-1`,children:[`Press`,` `,u.keymap.preset===`vim`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Br,{shortcut:be()?`Cmd`:`Ctrl`}),(0,X.jsx)(Or,{children:`Esc`})]}):(0,X.jsx)(Or,{children:`Esc`}),` `,`in a cell to enter command mode`]})))(`Command`),P=i(`Other`),e[26]=u.keymap.preset,e[27]=m,e[28]=f,e[29]=t,e[30]=O,e[31]=r,e[32]=k,e[33]=A,e[34]=j,e[35]=M,e[36]=N,e[37]=P,e[38]=F,e[39]=I,e[40]=L,e[41]=R,e[42]=z,e[43]=B,e[44]=V,e[45]=H,e[46]=U,e[47]=ee,e[48]=W,e[49]=G,e[50]=te}else k=e[32],A=e[33],j=e[34],M=e[35],N=e[36],P=e[37],F=e[38],I=e[39],L=e[40],R=e[41],z=e[42],B=e[43],V=e[44],H=e[45],U=e[46],ee=e[47],W=e[48],G=e[49],te=e[50];let K;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,X.jsx)(`span`,{className:`text-destructive`,children:`Reset all to default`}),e[57]=K):K=e[57];let ne;e[58]===E?ne=e[59]:(ne=(0,X.jsx)(Et,{className:`mt-4 hover:bg-destructive/10 border-destructive hover:border-destructive`,variant:`outline`,size:`xs`,onClick:E,tabIndex:-1,children:K}),e[58]=E,e[59]=ne);let re;e[60]!==M||e[61]!==N||e[62]!==P||e[63]!==ne||e[64]!==W||e[65]!==G||e[66]!==te?(re=(0,X.jsxs)(`div`,{className:W,children:[G,te,M,N,P,ne]}),e[60]=M,e[61]=N,e[62]=P,e[63]=ne,e[64]=W,e[65]=G,e[66]=te,e[67]=re):re=e[67];let ie;e[68]!==F||e[69]!==I||e[70]!==re?(ie=(0,X.jsxs)(`div`,{className:F,children:[I,re]}),e[68]=F,e[69]=I,e[70]=re,e[71]=ie):ie=e[71];let ae;e[72]!==k||e[73]!==L||e[74]!==R||e[75]!==z||e[76]!==B||e[77]!==ie?(ae=(0,X.jsxs)(k,{usePortal:L,className:R,children:[z,B,ie]}),e[72]=k,e[73]=L,e[74]=R,e[75]=z,e[76]=B,e[77]=ie,e[78]=ae):ae=e[78];let oe;e[79]!==A||e[80]!==V||e[81]!==H||e[82]!==ae?(oe=(0,X.jsxs)(A,{className:V,children:[H,ae]}),e[79]=A,e[80]=V,e[81]=H,e[82]=ae,e[83]=oe):oe=e[83];let ce;return e[84]!==j||e[85]!==U||e[86]!==ee||e[87]!==oe?(ce=(0,X.jsx)(j,{open:U,onOpenChange:ee,children:oe}),e[84]=j,e[85]=U,e[86]=ee,e[87]=oe,e[88]=ce):ce=e[88],ce};function Lc(e){return!e}var Rc=`marimo:copilot:signedIn`,zc=Le(Rc,null,w,{getOnInit:!0}),Bc=r(null),Vc=r(null),Hc=r({busy:!1,kind:null,message:null});function Uc(e){a.set(Vc,e)}function Wc(e){a.get(Vc)===e&&a.set(Vc,null)}function Gc(){return y.getItem(Rc)===`true`}function Kc(){let e=Gc(),t=pe();return e&&t.completion.copilot===`github`}function qc(){return t(ge,e=>e.completion.copilot===`github`)}var Jc=h(),Yc=q.get(`@github/copilot-language-server`),Xc=1e4,Zc=`python`;function Qc(e){Te(u(e)&&C(e,`request`)&&C(e,`notify`),`LanguageServerClient is missing request/notify`)}function $c(e){if(!u(e))return null;let{busy:t,kind:n,message:r,status:i}=e;return{busy:typeof t==`boolean`&&t,kind:typeof n==`string`?n:null,message:typeof r==`string`?r:null,status:typeof i==`string`?i:void 0}}function el(e){return u(e)&&typeof e.type==`number`&&typeof e.message==`string`}var tl=class extends E{documentVersion=0;pendingChange;completionController;openDocumentCount=0;lastOpenedDocument;copilotSettings={};constructor(e){super(e),this.copilotSettings=e.copilotSettings??{},this.onNotification(this.handleNotification),this.attachInitializeListener()}attachInitializeListener(){this.initializePromise.then(()=>this.sendConfiguration()).catch(e=>{Yc.warn(`#initialize: Failed to send configuration`,e)})}async reInitialize(){Yc.log(`#reInitialize: Re-initializing LSP connection`),this.completionController?.abort(),this.initializePromise=this.initialize(),await this.initializePromise,await this.sendConfiguration(),this.applyPendingChange(),this.openDocumentCount>0&&this.lastOpenedDocument&&await this.sendNotification(`textDocument/didOpen`,this.lastOpenedDocument)}async sendConfiguration(){let e=this.copilotSettings;!e||Object.keys(e).length===0||(await this.sendNotification(`workspace/didChangeConfiguration`,{settings:e}),Yc.debug(`#sendConfiguration: Configuration sent`,e))}async _request(e,t,n){return Qc(this),await this.request(e,t,Xc,n)}async sendNotification(e,t){return Yc.debug(`#notify`,e,t),Qc(this),this.notify(e,t)}getInitializationOptions(){let e={name:`marimo`,version:`0.1.0`};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!Kc()}async textDocumentDidOpen(e){return!this.isDisabled()&&(this.openDocumentCount++,this.lastOpenedDocument=e,this.documentVersion=Math.max(this.documentVersion,e.textDocument.version),super.textDocumentDidOpen(e))}async textDocumentDidClose(e){if(this.openDocumentCount!==0)return this.openDocumentCount--,this.openDocumentCount===0&&(this.pendingChange=void 0,this.completionController?.abort()),super.textDocumentDidClose(e)}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return;let t=e.contentChanges[0];if(!t){Yc.warn(`#textDocumentDidChange: Ignoring an update with no content changes.`,e);return}this.openDocumentCount===0&&await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:Zc,version:e.textDocument.version,text:t.text}});let n=e.contentChanges;n.length!==1&&Yc.warn(`#textDocumentDidChange: Multiple changes detected. This is not supported.`,n),`range`in t&&Yc.warn(`#textDocumentDidChange: Copilot doesn't support range changes.`,t),this.completionController?.abort(),this.pendingChange={...e,textDocument:Jc.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)}}applyPendingChange(e){let t=this.pendingChange;if(!t)return;this.pendingChange=void 0;let n=e??j(t.contentChanges[0].text);return this.lastOpenedDocument={textDocument:{...t.textDocument,languageId:this.lastOpenedDocument?.textDocument.languageId??Zc,text:n}},{...t,contentChanges:[{text:n}]}}async flushDocumentChanges(e){let t=e!==void 0&&this.lastOpenedDocument?j(e):void 0;e!==void 0&&this.lastOpenedDocument&&(this.pendingChange?this.pendingChange.contentChanges[0].text!==e:t!==this.lastOpenedDocument.textDocument.text)&&(this.pendingChange={textDocument:Jc.VersionedTextDocumentIdentifier.create(this.lastOpenedDocument.textDocument.uri,++this.documentVersion),contentChanges:[{text:e}]});let n=this.pendingChange,r=this.applyPendingChange(t);if(r)try{await super.textDocumentDidChange(r)}catch(e){throw this.pendingChange??=n,e}return this.lastOpenedDocument?.textDocument.text??``}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request(`signOut`,{})}async signInInitiate(){Yc.log(`#signInInitiate: Starting sign-in flow`);try{let e=await this._request(`signIn`,{});return Yc.log(`#signInInitiate: Sign-in flow started successfully`),e}catch(e){throw Yc.warn(`#signInInitiate: Failed to start sign-in flow`,e),e}}async signInConfirm(e){Yc.log(`#signInConfirm: Confirming sign-in`);try{let t=await this._request(`signInConfirm`,e);return Yc.log(`#signInConfirm: Sign-in confirmed successfully`),t}catch(e){throw Yc.warn(`#signInConfirm: Failed to confirm sign-in`,e),e}}async signedIn(){try{let{status:e}=await this._request(`checkStatus`,{});return Yc.log(`#checkStatus: Status check completed`,{status:e}),e===`SignedIn`||e===`AlreadySignedIn`||e===`OK`}catch(e){throw Yc.warn(`#signedIn: Failed to check sign-in status`,e),e}}async getCompletion(e,t){if(this.isDisabled()||t?.aborted||this.openDocumentCount===0)return null;this.completionController?.abort();let n=new AbortController;this.completionController=n;let r=()=>n.abort();t?.addEventListener(`abort`,r,{once:!0});let i=this.documentVersion;Uc(i);try{if(await this.flushDocumentChanges(),n.signal.aborted||this.isDisabled()||i===0)return null;let t=await this._request(`textDocument/inlineCompletion`,{...e,textDocument:Jc.VersionedTextDocumentIdentifier.create(e.textDocument.uri,i)},n.signal);return n.signal.aborted||this.isDisabled()||i!==this.documentVersion?null:t}catch(e){return n.signal.aborted||Yc.warn(`#getCompletion: Failed to fetch completions`,e),null}finally{t?.removeEventListener(`abort`,r),this.completionController===n&&(this.completionController=void 0,Wc(i))}}close(){this.pendingChange=void 0,this.completionController?.abort(),super.close()}handleNotification=e=>{if(!(!u(e)||typeof e.method!=`string`)){if(e.method===`statusNotification`||e.method===`didChangeStatus`){let t=$c(e.params);t?a.set(Hc,t):Yc.warn(`#statusNotification: Ignoring a status update with no params`,e.params);return}if(e.method===`window/logMessage`&&el(e.params)){let{type:t,message:n}=e.params;switch(t){case 1:Yc.error(`[GitHub Copilot]`,n);break;case 2:Yc.warn(`[GitHub Copilot]`,n);break;case 3:Yc.debug(`[GitHub Copilot]`,n);break;default:Yc.log(`[GitHub Copilot]`,n)}}}}},nl=class extends O{constructor(e){super({getWsUrl:e.getWsUrl,waitForConnection:e.waitForReady,retries:e.retries??3,retryDelayMs:e.retryDelayMs??1e3,onConnectionFailure:t=>{e.showError(`GitHub Copilot Connection Error`,`Failed to connect to GitHub Copilot. Please check your settings and try again.\n\n${Dr(t)}`)}})}},rl=`/__marimo_copilot__.py`,il=`copilot`,al=`file://${rl}`,ol=dr(()=>{let e=Ve();return new nl({getWsUrl:()=>e.getLSPURL(`copilot`).toString(),waitForReady:async()=>{await qc(),await Re()},showError:(e,t)=>{Gn({variant:`danger`,title:e,description:t})}})}),sl=dr(()=>{let e=a.get(ge).ai?.github?.copilot_settings??{},t=ol(),n=new tl({rootUri:al,workspaceFolders:null,transport:t,copilotSettings:e});return t.onReconnect=()=>n.reInitialize(),n});function cl(){return ne({documentUri:al,client:sl(),languageId:il,hoverEnabled:!1,completionEnabled:!1,definitionEnabled:!1,renameEnabled:!1,codeActionsEnabled:!1,signatureHelpEnabled:!1,diagnosticsEnabled:!1,sendIncrementalChanges:!1})}var ll=(0,J.memo)(()=>{let[e,t]=n(zc),[r,i]=n(Bc),[a,o]=(0,J.useState)(),[s,c]=(0,J.useState)(!1),l=async e=>{e.preventDefault(),c(!0);try{let e=await fl();if(!e?.verificationUri||!e.userCode){q.error(`Copilot#trySignIn: Invalid response from sign-in`,{result:e}),i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:`Unable to connect to GitHub Copilot. Please check your settings and try again.`,variant:`danger`});return}let{verificationUri:n,status:r,userCode:a}=e;_l(r)?t(!0):(i(`signingIn`),o({url:n,code:a}))}catch(e){q.error(`Copilot#trySignIn: Error during sign-in`,e),i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:e instanceof Error?e.message:`Unable to connect to GitHub Copilot. Please check your settings and try again.`,variant:`danger`})}finally{c(!1)}},u=async e=>{if(e.preventDefault(),a){c(!0);try{let e=await pl(a.code);e.success?(t(!0),i(`signedIn`)):e.error===`connection`?(i(`connectionError`),Gn({title:`GitHub Copilot Connection Error`,description:`Lost connection during sign-in. Please try again.`,variant:`danger`,action:(0,X.jsx)(Et,{onClick:l,children:`Retry`})})):i(`signInFailed`)}finally{c(!1)}}},d=async e=>{e.preventDefault(),await hl(),t(!1),i(`signedOut`)};return(()=>{switch(r??(e?`signedIn`:`connecting`)){case`connecting`:return(0,X.jsx)(et,{className:`font-normal flex`,children:`Connecting...`});case`signedOut`:return(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Sign in to GitHub Copilot`});case`signingIn`:return(0,X.jsxs)(`ol`,{className:`ml-4 text-sm list-decimal [&>li]:mt-2`,children:[(0,X.jsx)(`li`,{children:(0,X.jsxs)(`div`,{className:`flex items-center`,children:[`Copy this code:`,(0,X.jsx)(`strong`,{className:`ml-2`,children:a?.code}),(0,X.jsx)(Nt,{className:`ml-2 cursor-pointer opacity-60 hover:opacity-100 h-3 w-3`,onClick:async()=>{a&&(await Wn(a.code),Gn({description:`Copied to clipboard`}))}})]})}),(0,X.jsxs)(`li`,{children:[`Enter the code at this link:`,(0,X.jsx)(`a`,{href:a?.url,target:`_blank`,rel:`noreferrer`,className:wt({variant:`link`,size:`xs`}),children:a?.url})]}),(0,X.jsxs)(`li`,{children:[`Click here when done:`,(0,X.jsxs)(Et,{size:`xs`,onClick:u,className:`ml-1`,children:[s&&(0,X.jsx)(Lt,{className:`h-3 w-3 mr-1 animate-spin`}),`Done`]})]})]});case`signInFailed`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`div`,{className:`text-destructive text-sm`,children:`Sign in failed. Please try again.`}),s?(0,X.jsx)(Lt,{className:`h-3 w-3 mr-1 animate-spin`}):(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Connect to GitHub Copilot`})]});case`signedIn`:return(0,X.jsxs)(`div`,{className:`flex items-center gap-5`,children:[(0,X.jsxs)(et,{className:`font-normal flex items-center`,children:[(0,X.jsx)(`div`,{className:`inline-flex items-center justify-center bg-(--grass-7) rounded-full p-1 mr-2`,children:(0,X.jsx)(Ot,{className:`h-3 w-3 text-white`})}),`Connected`]}),(0,X.jsx)(Et,{onClick:d,size:`xs`,variant:`text`,children:`Disconnect`})]});case`connectionError`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(et,{className:`font-normal flex`,children:[(0,X.jsx)(At,{className:`h-4 w-4 mr-1`}),`Connection Error`]}),(0,X.jsx)(`div`,{className:`text-sm`,children:`Unable to connect to GitHub Copilot.`}),(0,X.jsx)(Et,{onClick:l,size:`xs`,variant:`link`,children:`Retry Connection`})]});case`notConnected`:return(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsxs)(et,{className:`font-normal flex`,children:[(0,X.jsx)(At,{className:`h-4 w-4 mr-1`}),`Unable to connect`]}),(0,X.jsxs)(`div`,{className:`text-sm`,children:[`For troubleshooting, see the`,` `,(0,X.jsx)(It,{href:`https://docs.marimo.io/getting_started/index.html#github-copilot`,children:`docs`}),`.`]})]})}})()});ll.displayName=`CopilotConfig`;var ul=5,dl=3e3;async function fl(){return await sl().signInInitiate()}async function pl(e){let t=sl();try{q.log(`Copilot#tryFinishSignIn: Attempting to confirm sign-in`);let{status:n}=await t.signInConfirm({userCode:e});return _l(n)?(q.log(`Copilot#tryFinishSignIn: Sign-in confirmed successfully`),{success:!0}):(q.warn(`Copilot#tryFinishSignIn: Sign-in confirmation returned unexpected status`,{status:n}),{success:!1})}catch(e){return gl(e)?(q.error(`Copilot#tryFinishSignIn: Connection error during sign-in`,e),{success:!1,error:`connection`}):await ml(t)}}async function ml(e){for(let t=0;t<ul;t++)try{if(await new Promise(e=>setTimeout(e,dl)),await e.signedIn())return q.log(`Copilot#tryFinishSignIn: Successfully signed in after retry`),{success:!0}}catch(e){if(q.warn(`Copilot#tryFinishSignIn: Retry attempt failed`,{attempt:t+1,maxRetries:ul}),gl(e))return{success:!1,error:`connection`}}return q.error(`Copilot#tryFinishSignIn: All sign-in attempts failed`),{success:!1}}async function hl(){await sl().signOut()}function gl(e){return e instanceof Error&&(e.message.includes(`ECONNREFUSED`)||e.message.includes(`WebSocket`)||e.message.includes(`network`))}function _l(e){return e===`SignedIn`||e===`AlreadySignedIn`||e===`OK`}var vl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eAnthropic%3c/title%3e%3cpath%20d='M17.3041%203.541h-3.6718l6.696%2016.918H24Zm-10.6082%200L0%2020.459h3.7442l1.3693-3.5527h7.0052l1.3693%203.5528h3.7442L10.5363%203.5409Zm-.3712%2010.2232%202.2914-5.9456%202.2914%205.9456Z'/%3e%3c/svg%3e`,yl=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='Ebene_1'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20viewBox='0%200%20466.73%20532.09'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2029.6.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.1%20Build%209)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20%2326251e;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='st0'%20d='M457.43,125.94L244.42,2.96c-6.84-3.95-15.28-3.95-22.12,0L9.3,125.94c-5.75,3.32-9.3,9.46-9.3,16.11v247.99c0,6.65,3.55,12.79,9.3,16.11l213.01,122.98c6.84,3.95,15.28,3.95,22.12,0l213.01-122.98c5.75-3.32,9.3-9.46,9.3-16.11v-247.99c0-6.65-3.55-12.79-9.3-16.11h-.01ZM444.05,151.99l-205.63,356.16c-1.39,2.4-5.06,1.42-5.06-1.36v-233.21c0-4.66-2.49-8.97-6.53-11.31L24.87,145.67c-2.4-1.39-1.42-5.06,1.36-5.06h411.26c5.84,0,9.49,6.33,6.57,11.39h-.01Z'/%3e%3c/svg%3e`,bl=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%3e%3c/path%3e%3c/svg%3e`,xl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGoogle%20Gemini%3c/title%3e%3cpath%20d='M11.04%2019.32Q12%2021.51%2012%2024q0-2.49.93-4.68.96-2.19%202.58-3.81t3.81-2.55Q21.51%2012%2024%2012q-2.49%200-4.68-.93a12.3%2012.3%200%200%201-3.81-2.58%2012.3%2012.3%200%200%201-2.58-3.81Q12%202.49%2012%200q0%202.49-.96%204.68-.93%202.19-2.55%203.81a12.3%2012.3%200%200%201-3.81%202.58Q2.49%2012%200%2012q2.49%200%204.68.96%202.19.93%203.81%202.55t2.55%203.81'/%3e%3c/svg%3e`,Sl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGitHub%3c/title%3e%3cpath%20d='M12%20.297c-6.63%200-12%205.373-12%2012%200%205.303%203.438%209.8%208.205%2011.385.6.113.82-.258.82-.577%200-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422%2018.07%203.633%2017.7%203.633%2017.7c-1.087-.744.084-.729.084-.729%201.205.084%201.838%201.236%201.838%201.236%201.07%201.835%202.809%201.305%203.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93%200-1.31.465-2.38%201.235-3.22-.135-.303-.54-1.523.105-3.176%200%200%201.005-.322%203.3%201.23.96-.267%201.98-.399%203-.405%201.02.006%202.04.138%203%20.405%202.28-1.552%203.285-1.23%203.285-1.23.645%201.653.24%202.873.12%203.176.765.84%201.23%201.91%201.23%203.22%200%204.61-2.805%205.625-5.475%205.92.42.36.81%201.096.81%202.22%200%201.606-.015%202.896-.015%203.286%200%20.315.21.69.825.57C20.565%2022.092%2024%2017.592%2024%2012.297c0-6.627-5.373-12-12-12'/%3e%3c/svg%3e`,Cl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOllama%3c/title%3e%3cpath%20d='M16.361%2010.26a.894.894%200%200%200-.558.47l-.072.148.001.207c0%20.193.004.217.059.353.076.193.152.312.291.448.24.238.51.3.872.205a.86.86%200%200%200%20.517-.436.752.752%200%200%200%20.08-.498c-.064-.453-.33-.782-.724-.897a1.06%201.06%200%200%200-.466%200zm-9.203.005c-.305.096-.533.32-.65.639a1.187%201.187%200%200%200-.06.52c.057.309.31.59.598.667.362.095.632.033.872-.205.14-.136.215-.255.291-.448.055-.136.059-.16.059-.353l.001-.207-.072-.148a.894.894%200%200%200-.565-.472%201.02%201.02%200%200%200-.474.007Zm4.184%202c-.131.071-.223.25-.195.383.031.143.157.288.353.407.105.063.112.072.117.136.004.038-.01.146-.029.243-.02.094-.036.194-.036.222.002.074.07.195.143.253.064.052.076.054.255.059.164.005.198.001.264-.03.169-.082.212-.234.15-.525-.052-.243-.042-.28.087-.355.137-.08.281-.219.324-.314a.365.365%200%200%200-.175-.48.394.394%200%200%200-.181-.033c-.126%200-.207.03-.355.124l-.085.053-.053-.032c-.219-.13-.259-.145-.391-.143a.396.396%200%200%200-.193.032zm.39-2.195c-.373.036-.475.05-.654.086-.291.06-.68.195-.951.328-.94.46-1.589%201.226-1.787%202.114-.04.176-.045.234-.045.53%200%20.294.005.357.043.524.264%201.16%201.332%202.017%202.714%202.173.3.033%201.596.033%201.896%200%201.11-.125%202.064-.727%202.493-1.571.114-.226.169-.372.22-.602.039-.167.044-.23.044-.523%200-.297-.005-.355-.045-.531-.288-1.29-1.539-2.304-3.072-2.497a6.873%206.873%200%200%200-.855-.031zm.645.937a3.283%203.283%200%200%201%201.44.514c.223.148.537.458.671.662.166.251.26.508.303.82.02.143.01.251-.043.482-.08.345-.332.705-.672.957a3.115%203.115%200%200%201-.689.348c-.382.122-.632.144-1.525.138-.582-.006-.686-.01-.853-.042-.57-.107-1.022-.334-1.35-.68-.264-.28-.385-.535-.45-.946-.03-.192.025-.509.137-.776.136-.326.488-.73.836-.963.403-.269.934-.46%201.422-.512.187-.02.586-.02.773-.002zm-5.503-11a1.653%201.653%200%200%200-.683.298C5.617.74%205.173%201.666%204.985%202.819c-.07.436-.119%201.04-.119%201.503%200%20.544.064%201.24.155%201.721.02.107.031.202.023.208a8.12%208.12%200%200%201-.187.152%205.324%205.324%200%200%200-.949%201.02%205.49%205.49%200%200%200-.94%202.339%206.625%206.625%200%200%200-.023%201.357c.091.78.325%201.438.727%202.04l.13.195-.037.064c-.269.452-.498%201.105-.605%201.732-.084.496-.095.629-.095%201.294%200%20.67.009.803.088%201.266.095.555.288%201.143.503%201.534.071.128.243.393.264.407.007.003-.014.067-.046.141a7.405%207.405%200%200%200-.548%201.873c-.062.417-.071.552-.071.991%200%20.56.031.832.148%201.279L3.42%2024h1.478l-.05-.091c-.297-.552-.325-1.575-.068-2.597.117-.472.25-.819.498-1.296l.148-.29v-.177c0-.165-.003-.184-.057-.293a.915.915%200%200%200-.194-.25%201.74%201.74%200%200%201-.385-.543c-.424-.92-.506-2.286-.208-3.451.124-.486.329-.918.544-1.154a.787.787%200%200%200%20.223-.531c0-.195-.07-.355-.224-.522a3.136%203.136%200%200%201-.817-1.729c-.14-.96.114-2.005.69-2.834.563-.814%201.353-1.336%202.237-1.475.199-.033.57-.028.776.01.226.04.367.028.512-.041.179-.085.268-.19.374-.431.093-.215.165-.333.36-.576.234-.29.46-.489.822-.729.413-.27.884-.467%201.352-.561.17-.035.25-.04.569-.04.319%200%20.398.005.569.04a4.07%204.07%200%200%201%201.914.997c.117.109.398.457.488.602.034.057.095.177.132.267.105.241.195.346.374.43.14.068.286.082.503.045.343-.058.607-.053.943.016%201.144.23%202.14%201.173%202.581%202.437.385%201.108.276%202.267-.296%203.153-.097.15-.193.27-.333.419-.301.322-.301.722-.001%201.053.493.539.801%201.866.708%203.036-.062.772-.26%201.463-.533%201.854a2.096%202.096%200%200%201-.224.258.916.916%200%200%200-.194.25c-.054.109-.057.128-.057.293v.178l.148.29c.248.476.38.823.498%201.295.253%201.008.231%202.01-.059%202.581a.845.845%200%200%200-.044.098c0%20.006.329.009.732.009h.73l.02-.074.036-.134c.019-.076.057-.3.088-.516.029-.217.029-1.016%200-1.258-.11-.875-.295-1.57-.597-2.226-.032-.074-.053-.138-.046-.141.008-.005.057-.074.108-.152.376-.569.607-1.284.724-2.228.031-.26.031-1.378%200-1.628-.083-.645-.182-1.082-.348-1.525a6.083%206.083%200%200%200-.329-.7l-.038-.064.131-.194c.402-.604.636-1.262.727-2.04a6.625%206.625%200%200%200-.024-1.358%205.512%205.512%200%200%200-.939-2.339%205.325%205.325%200%200%200-.95-1.02%208.097%208.097%200%200%201-.186-.152.692.692%200%200%201%20.023-.208c.208-1.087.201-2.443-.017-3.503-.19-.924-.535-1.658-.98-2.082-.354-.338-.716-.482-1.15-.455-.996.059-1.8%201.205-2.116%203.01a6.805%206.805%200%200%200-.097.726c0%20.036-.007.066-.015.066a.96.96%200%200%201-.149-.078A4.857%204.857%200%200%200%2012%203.03c-.832%200-1.687.243-2.456.698a.958.958%200%200%201-.148.078c-.008%200-.015-.03-.015-.066a6.71%206.71%200%200%200-.097-.725C8.997%201.392%208.337.319%207.46.048a2.096%202.096%200%200%200-.585-.041Zm.293%201.402c.248.197.523.759.682%201.388.03.113.06.244.069.292.007.047.026.152.041.233.067.365.098.76.102%201.24l.002.475-.12.175-.118.178h-.278c-.324%200-.646.041-.954.124l-.238.06c-.033.007-.038-.003-.057-.144a8.438%208.438%200%200%201%20.016-2.323c.124-.788.413-1.501.696-1.711.067-.05.079-.049.157.013zm9.825-.012c.17.126.358.46.498.888.28.854.36%202.028.212%203.145-.019.14-.024.151-.057.144l-.238-.06a3.693%203.693%200%200%200-.954-.124h-.278l-.119-.178-.119-.175.002-.474c.004-.669.066-1.19.214-1.772.157-.623.434-1.185.68-1.382.078-.062.09-.063.159-.012z'/%3e%3c/svg%3e`,wl=`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M22.2819%209.8211a5.9847%205.9847%200%200%200-.5157-4.9108%206.0462%206.0462%200%200%200-6.5098-2.9A6.0651%206.0651%200%200%200%204.9807%204.1818a5.9847%205.9847%200%200%200-3.9977%202.9%206.0462%206.0462%200%200%200%20.7427%207.0966%205.98%205.98%200%200%200%20.511%204.9107%206.051%206.051%200%200%200%206.5146%202.9001A5.9847%205.9847%200%200%200%2013.2599%2024a6.0557%206.0557%200%200%200%205.7718-4.2058%205.9894%205.9894%200%200%200%203.9977-2.9001%206.0557%206.0557%200%200%200-.7475-7.0729zm-9.022%2012.6081a4.4755%204.4755%200%200%201-2.8764-1.0408l.1419-.0804%204.7783-2.7582a.7948.7948%200%200%200%20.3927-.6813v-6.7369l2.02%201.1686a.071.071%200%200%201%20.038.052v5.5826a4.504%204.504%200%200%201-4.4945%204.4944zm-9.6607-4.1254a4.4708%204.4708%200%200%201-.5346-3.0137l.142.0852%204.783%202.7582a.7712.7712%200%200%200%20.7806%200l5.8428-3.3685v2.3324a.0804.0804%200%200%201-.0332.0615L9.74%2019.9502a4.4992%204.4992%200%200%201-6.1408-1.6464zM2.3408%207.8956a4.485%204.485%200%200%201%202.3655-1.9728V11.6a.7664.7664%200%200%200%20.3879.6765l5.8144%203.3543-2.0201%201.1685a.0757.0757%200%200%201-.071%200l-4.8303-2.7865A4.504%204.504%200%200%201%202.3408%207.872zm16.5963%203.8558L13.1038%208.364%2015.1192%207.2a.0757.0757%200%200%201%20.071%200l4.8303%202.7913a4.4944%204.4944%200%200%201-.6765%208.1042v-5.6772a.79.79%200%200%200-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759%200%200%200-.7854%200L9.409%209.2297V6.8974a.0662.0662%200%200%201%20.0284-.0615l4.8303-2.7866a4.4992%204.4992%200%200%201%206.6802%204.66zM8.3065%2012.863l-2.02-1.1638a.0804.0804%200%200%201-.038-.0567V6.0742a4.4992%204.4992%200%200%201%207.3757-3.4537l-.142.0805L8.704%205.459a.7948.7948%200%200%200-.3927.6813zm1.0976-2.3654l2.602-1.4998%202.6069%201.4998v2.9994l-2.5974%201.4997-2.6067-1.4997Z'/%3e%3c/svg%3e`,Tl=`data:image/svg+xml,%3csvg%20width='240'%20height='300'%20viewBox='0%200%20240%20300'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1401_86274)'%3e%3cmask%20id='mask0_1401_86274'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='240'%20height='300'%3e%3cpath%20d='M240%200H0V300H240V0Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1401_86274)'%3e%3cpath%20d='M180%20240H60V120H180V240Z'%20fill='%23CFCECD'/%3e%3cpath%20d='M180%2060H60V240H180V60ZM240%20300H0V0H240V300Z'%20fill='%23211E1E'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1401_86274'%3e%3crect%20width='240'%20height='300'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,El={openai:wl,github:Sl,anthropic:vl,claude:vl,gemini:xl,google:xl,codex:wl,ollama:Cl,azure:Hr,bedrock:Vr,deepseek:bl,openrouter:`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenRouter%3c/title%3e%3cpath%20d='M16.804%201.957l7.22%204.105v.087L16.73%2010.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147%201.352L8.345%2011.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314%201.17.796%202.701%201.866%201.11.775%202.083%201.177%203.147%201.352l.3.045c.694.091%201.375.094%202.825.033l.022-2.159%207.22%204.105v.087L16.589%2022l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997%2021.997%200%2000-.755-.498l-.467-.28a55.927%2055.927%200%2000-.76-.43C2.908%2014.73.563%2014.116%200%2014.116V9.888l.14.004c.564-.007%202.91-.622%203.809-1.124l1.016-.58.438-.274c.428-.28%201.072-.726%202.686-1.853%201.621-1.133%203.186-1.78%204.881-2.059%201.152-.19%201.974-.213%203.814-.138l.02-1.907z'%3e%3c/path%3e%3c/svg%3e`,wandb:`data:image/svg+xml,%3csvg%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eWeights%20&amp;%20Biases%3c/title%3e%3cpath%20d='M2.48%200a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.101%201.55%201.55%200%200%200%200-3.101zM12%202.295a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zM2.48%205.272a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zm19.04%200a2.48%202.48%200%201%200%200%204.96%202.48%202.48%200%200%200%200-4.96zM12%208.496a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm-9.52%203.907a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1zm19.04%200a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.102zM12%2013.767a2.48%202.48%200%201%200%200%204.962%202.48%202.48%200%200%200%200-4.962zm-9.52%203.907a2.48%202.48%200%201%200%20.001%204.962%202.48%202.48%200%200%200%200-4.962zm19.04.93a1.55%201.55%200%201%200%200%203.102%201.55%201.55%200%200%200%200-3.101zM12%2020.9a1.55%201.55%200%201%200%200%203.1%201.55%201.55%200%200%200%200-3.1Z'/%3e%3c/svg%3e`,"opencode-go":Tl,marimo:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABtlJREFUWEetV21QlNcVfs67y67KV/EjJIRdBIxJrB9BotFqAtERTIKkk8SxNiGt7Ipa46DsxvjR0rVTKuKKJFYTE1SIxmhFbR0Kwc4YNSraqmNswhSFIrBUBD8QVGTZfU/nvrDLroqQ4Pm179nnnvvc5557zr2EXlj05hSfhgvO10AUB/A4AOHEFMCADOJrBFQx0zki+ajkkA9eyslr6kVYBUIPA8ZaLOr/ttQtYJKXgRHSy6B2EBVKwMZqa+6hnsZ0S2DY8jlD2uxSIYDxPQVx/S+CSZIEpyx3rI5wXIZsslm3neouxoMJMEhvNv6JwcvcwYkw8kk9xoZFYOjgYAT2HwBZlnH99i1UNtbj9KVKVDZcho9KhX4+GtgdDrQ52sVwGYQcbduAFRUbNrTdS+R+AhaLpL9Vu4kZ8wTYV6vFrydNxTsTY/Bk0KCHinHxymVsP/E1vjz1jRvXSQIEOqGxO39esWFbo2cQbwIzZ6r0QwPSWUa6APlp++GgyYLgwCB8dqQEs8a/iEF+/j3uSPW1RqTt2orTVRfBHmgCyjQaObZidRcJLwJPL032b3XSEQaixMqTJr6s7GlDcxNOVpZj13wz9IOG9EhAABxOJ5buyUfB6RNeeCKU+vnpYsssFrvXKYhImzvcQfJXDISH/GQg5kyeiqzifYh5eiSss+ZgoK9fryb2BMnMeG/HZhR+e/peEmtqrFuU/OpQwGKRdC21pSLjJZKwMuEtZBbtw6ujx+LDXxohfD/WWu12JH6UgfL6OncIAtpVKh5VlbW1XCGgMxlnA7xT/H4zeiLO26oVCUtMv1cyuq/2na0aMz7KcB/PzjO6rdaam6wQ0JuNx5h5EhFhybQZyD54AJuS5iNhzPN9nds9fsXeHdhRetgz3m2nv+ox6ig4qnqAped04UqWn6utwr/SrVBLKmWAkPHClS4Jw4c8jsbmmzheUYaA/r6YPjJKUcp24yqOlH8PiQgvDv8pQj2Obf3NG5i8erlSH9wmcTyFmQ2vyQxR8ZASE48vTh7BlGdGYWOSUgYU+76uBtPXW9zfyZOnYnvpYbQ7nYovSh+BJXGvY27en13FB1ofH+Qlp2LyUyPc4xZ/uQX7zohUcxmvJJ05OQ1M64TrMf9ANLTcxOK4RKTFJXZLQKxQZLin9ffRoLVdOVluGxsWib8tWun+/uZCGd7+NNsTkk+hJkMOAanCK2S8225HeuIsGF+a1i2B0KDBGB4cgkP/Oe/GaNRqxI14DkcvlqG59Y7iF/Eurv7EjRGKjU5Pxe22uy7fYdKZjflgfteT1gevvIGFU1/tlsCnv1qIV0ZFY8If30dd0zUFN2PMOGxKWoDMogJsPFSk+IRS1Wu3eKky6+O1KK0sV3xEKBdNZzszv+OJSvpZLDLe6HLdmwP5hsWY8uxoxK5ZoTQiYTOfn4TsXxiw/h8HkF3y124JLCv4HDtPHu2YjtBIOpNhI4DfeBKIDovE/kXLu1WgLwQy/74Xm74udsVuIr3JsJSBNZ4EREs9tyoH/v36K+5HqUBG4R5sPlzSqQDZSG8yTmPwQReBwX7+uHqrBetnG5Sq+KgJpO7Mxf6zJztzgI5TsDnJV8PaRoCV5Y4bOkyp2888EYqChR8owLob15TG5LJ5sdMxIkSHjMK/oKH5puIeHzEcb0+IwVffnUXx+TOuCZAz2+iVhFOyfoeKhsudKUAbOkuxoYAZbwqvODqvR43H7n8ew/73liN6aKRXgL58VDbU4+Ws37pDSISEDgL3bIOQvvjfZ/FsSCj2LlymHKdHYaZdW7Gn835AwBU//2a9KzLpTMYTAE8QE4kJxfWr9vpVrEyYiXmx8X2ev+j8GSzY/gm4s4ISsaXGunWVe2mh5pQXiJ3i+uLV/EVD+vjd+YgfGfWjSYjtFN2w3dnZiAg2lZ9z1CVLXpOXtnqzIZMZHZnnYYLEkvhEpMTEQav26TWR/zVdxx8O7IZYvYexxJRQnZ2rlEsvAuIhUtliKwK4qxF4jBStetqIMYgKi0TEkGA8ERiEwf4BGKDRulFCYtHOd586hr1nSt3d0QUgolU11lx3a70vu8TF9I5MxWBM8qT9eEAQ1CoJthsdtd9LIfEWUPsouWN3OnC3XXkP3G+E7FrrFjPQdVl+YHqHWFIGqG/J+cz8lmcUX41WSU5R/12vn17uRxskMtWuzRVl38sedr5It3TuPJI5k5kDe5yIqAqACoyBAHtcoamE4EyrWbet7MGi9BA5PNUY7FDjfYCTAQT1SKQDcAmMQiLKq1mX65WBP0QBL+ywRYu0dk3rSwx+AUAkCEFg8eLCHWJcYeYaSVKXOyT527qsXFsvieL/FjzLIPLjeMUAAAAASUVORK5CYII=`,opencode:Tl,cursor:yl},Dl=e=>{let t=(0,Y.c)(15),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({provider:r,className:i,...n}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?``:i;if(r===`openai-compatible`||!(r in El)){let e;t[4]===a?e=t[5]:(e=Ue(`h-4 w-4`,a),t[4]=a,t[5]=e);let n;return t[6]===e?n=t[7]:(n=(0,X.jsx)(I,{className:e}),t[6]=e,t[7]=n),n}let o=El[r],s;t[8]===a?s=t[9]:(s=Ue(`h-4 w-4 grayscale dark:invert`,a),t[8]=a,t[9]=s);let c;return t[10]!==o||t[11]!==n||t[12]!==r||t[13]!==s?(c=(0,X.jsx)(`img`,{src:o,alt:r,className:s,...n}),t[10]=o,t[11]=n,t[12]=r,t[13]=s,t[14]=c):c=t[14],c};function Ol(e){switch(e){case`chat`:return`bg-(--purple-3) text-(--purple-11)`;case`autocomplete`:return`bg-(--green-3) text-(--green-11)`;case`edit`:return`bg-(--blue-3) text-(--blue-11)`;case`thinking`:return`bg-(--purple-4) text-(--purple-12)`}return`bg-(--mauve-3) text-(--mauve-11)`}function kl(e){switch(e){case`chat`:return`Current model used for chat conversations`;case`autocomplete`:return`Current model used for autocomplete autocomplete`;case`edit`:return`Current model used for code edits`;case`rerank`:return`Current model used for reranking completions`;case`embed`:return`Current model used for embedding`}}var Al=[`claude`,`codex`,`opencode`],jl=[`claude`,`codex`,`opencode`,`prompt`],Ml={claude:`Claude`,codex:`Codex`,opencode:`OpenCode`,prompt:`Prompt`};function Nl(){return`uvx marimo@latest`}function Pl(e,{url:t,notebook:n,session:r},i,a){let o=[`${a?.command??Nl()} pair prompt`,`--url ${wr(t)}`,n?`--notebook ${wr(n)}`:r?`--session ${wr(r)}`:``,i?`--with-token`:``].filter(Boolean).join(` \\
3
3
  `);switch(e){case`claude`:return`claude "$(${o})"`;case`codex`:return`codex "$(${o})"`;case`opencode`:return`opencode --prompt "$(${o})"`;default:mr(e)}}function Fl({url:e,notebook:t,session:n},r,i){let a=i?.command??Nl(),o=i?.templates,s=r?Il(o?.token??`
4
4
 
5
5
  For authenticated notebook discovery, set \`export MARIMO_TOKEN={token}\` in the shell that runs marimo.`,{token:wr(r)}):``;return Il(o?.prompt??`Pair with me on this running marimo notebook.