@marimo-team/frontend 0.20.3-dev94 → 0.20.3-dev97

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 (586) hide show
  1. package/dist/assets/{CellStatus-DT32GPB2.js → CellStatus-BNvq_G7v.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-BJPiMTXX.js → ConnectedDataExplorerComponent-D0LXEdja.js} +1 -1
  3. package/dist/assets/{DeferredRequestRegistry-TekxUirp.js → DeferredRequestRegistry-CMZsNx4R.js} +1 -1
  4. package/dist/assets/{ImperativeModal-MjC9Owmv.js → ImperativeModal-CRNJOvqT.js} +1 -1
  5. package/dist/assets/{JsonOutput-uf7OFaDU.js → JsonOutput-COYZxr-s.js} +6 -6
  6. package/dist/assets/LazyAnyLanguageCodeMirror-D8Y5EdeE.js +2 -0
  7. package/dist/assets/{MarimoErrorOutput-BJkHPKWK.js → MarimoErrorOutput-CkWg573B.js} +1 -1
  8. package/dist/assets/{RenderHTML-CjCJ1DT4.js → RenderHTML-D0riQ7d5.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-DJ9tuL4g.js → add-cell-with-ai-D7RcfIFT.js} +13 -13
  10. package/dist/assets/add-connection-dialog-a1w-tlmr.js +133 -0
  11. package/dist/assets/agent-panel-CFECcwTK.js +287 -0
  12. package/dist/assets/{ai-model-dropdown-BnQGs6GF.js → ai-model-dropdown-CS9BLOLl.js} +3 -3
  13. package/dist/assets/{alert-dialog-DEeW2awP.js → alert-dialog-DsNfSYaw.js} +1 -1
  14. package/dist/assets/{any-language-editor-gG2nw5Di.js → any-language-editor-BAgyNkKP.js} +1 -1
  15. package/dist/assets/apl-3xKEEmjQ.js +1 -0
  16. package/dist/assets/app-config-button-Cp9XkpLD.js +1 -0
  17. package/dist/assets/{architectureDiagram-VXUJARFQ-XoreuVlu.js → architectureDiagram-VXUJARFQ-C6cEIHcZ.js} +1 -1
  18. package/dist/assets/asciiarmor-BCugLX69.js +1 -0
  19. package/dist/assets/asn1-B8ndG_Ze.js +1 -0
  20. package/dist/assets/azure-D5yXrO2H.js +1 -0
  21. package/dist/assets/{blockDiagram-VD42YOAC-D88a3p2S.js → blockDiagram-VD42YOAC-DO4PXhE0.js} +1 -1
  22. package/dist/assets/brainfuck-h1OIoSEo.js +1 -0
  23. package/dist/assets/{c4Diagram-YG6GDRKO-liP4M7aa.js → c4Diagram-YG6GDRKO-CgecOfcG.js} +1 -1
  24. package/dist/assets/{cache-panel-BCMChSTr.js → cache-panel-DRhH4wqG.js} +1 -1
  25. package/dist/assets/{cell-editor-BDJGt0PK.js → cell-editor-DRiVkblX.js} +11 -11
  26. package/dist/assets/{cell-link-CiQrWiPA.js → cell-link-B5vG68jv.js} +1 -1
  27. package/dist/assets/{cells-DD42bsu7.js → cells-BusUaZSh.js} +40 -40
  28. package/dist/assets/channel-veQhTJol.js +1 -0
  29. package/dist/assets/{chat-display-DN0dzai8.js → chat-display-BrI8TsyH.js} +1 -1
  30. package/dist/assets/{chat-panel--gsbOxYb.js → chat-panel-BvHZJKww.js} +1 -1
  31. package/dist/assets/{chunk-55IACEB6-Bq5hFuyg.js → chunk-55IACEB6-Du0kncVN.js} +1 -1
  32. package/dist/assets/{chunk-5FQGJX7Z-CKJM3d7z.js → chunk-5FQGJX7Z-XpIxSaxK.js} +3 -3
  33. package/dist/assets/{chunk-ABZYJK2D-B_EusRlI.js → chunk-ABZYJK2D-I6IoK8vx.js} +3 -3
  34. package/dist/assets/{chunk-ATLVNIR6-YSXtuHxk.js → chunk-ATLVNIR6-D9BH6KNI.js} +1 -1
  35. package/dist/assets/{chunk-B4BG7PRW-4H0bTT06.js → chunk-B4BG7PRW-DRGcwRAu.js} +1 -1
  36. package/dist/assets/{chunk-DI55MBZ5-Qa7VdYYC.js → chunk-DI55MBZ5-Drx_rxsy.js} +1 -1
  37. package/dist/assets/{chunk-EXTU4WIE-Dm7JTwJS.js → chunk-EXTU4WIE-eWy-F27y.js} +1 -1
  38. package/dist/assets/{chunk-JA3XYJ7Z-DlWIdoh6.js → chunk-JA3XYJ7Z-CewgnlHS.js} +1 -1
  39. package/dist/assets/{chunk-JZLCHNYA-BjCNnsxN.js → chunk-JZLCHNYA-C66i8G_X.js} +1 -1
  40. package/dist/assets/{chunk-N4CR4FBY-DvejWNHh.js → chunk-N4CR4FBY-C2LW_Vp6.js} +2 -2
  41. package/dist/assets/{chunk-QN33PNHL-D40wYAAe.js → chunk-QN33PNHL-DQKUj-aV.js} +1 -1
  42. package/dist/assets/{chunk-QXUST7PY-CPnoUHx5.js → chunk-QXUST7PY-D0e1KIKP.js} +1 -1
  43. package/dist/assets/{chunk-S3R3BYOJ-BXcnEOaZ.js → chunk-S3R3BYOJ-BhABoI-y.js} +1 -1
  44. package/dist/assets/{chunk-TZMSLE5B-B4dWntTK.js → chunk-TZMSLE5B-B8nFe5cR.js} +1 -1
  45. package/dist/assets/classDiagram-2ON5EDUG-CE34m6Vp.js +1 -0
  46. package/dist/assets/classDiagram-v2-WZHVMYZB-5UcCc04z.js +1 -0
  47. package/dist/assets/{clike-bdcjLdZ4.js → clike-DPuzjNcL.js} +1 -1
  48. package/dist/assets/clojure-yGQavt_D.js +1 -0
  49. package/dist/assets/cmake-yLKyOybp.js +1 -0
  50. package/dist/assets/cobol-C5qkyUSJ.js +1 -0
  51. package/dist/assets/{code-block-37QAKDTI-DfxyEg-6.js → code-block-37QAKDTI-C_PlFQZQ.js} +1 -1
  52. package/dist/assets/coffeescript-CtR3eWCa.js +1 -0
  53. package/dist/assets/{column-preview-BtKDi4j6.js → column-preview-CMuWC26D.js} +1 -1
  54. package/dist/assets/{command-2Li9iWG_.js → command-B5q5uni4.js} +1 -1
  55. package/dist/assets/{command-palette-Ce_7Eh4G.js → command-palette-DH_Lzfkd.js} +1 -1
  56. package/dist/assets/{common-BOraucV9.js → common-DQqSG88k.js} +1 -1
  57. package/dist/assets/commonlisp-D-heOGa1.js +1 -0
  58. package/dist/assets/{components-Bl0CtJtz.js → components-Cx6Hou1_.js} +1 -1
  59. package/dist/assets/{components-Dv0WjPQ-.js → components-DlLxmdlj.js} +1 -1
  60. package/dist/assets/{config-CBwelk8k.js → config-D9X9QKiL.js} +1 -1
  61. package/dist/assets/{context-CRApIvpB.js → context-B1_BdDTF.js} +1 -1
  62. package/dist/assets/{context-aware-panel-DMHGbB_b.js → context-aware-panel-BGlzp-FM.js} +2 -2
  63. package/dist/assets/{copy-icon-HFU_6E8O.js → copy-icon-6RnnFDPt.js} +1 -1
  64. package/dist/assets/{cose-bilkent-S5V4N54A-C5YtuUQc.js → cose-bilkent-S5V4N54A-VDjV6QSR.js} +1 -1
  65. package/dist/assets/crystal-PRx3aORZ.js +1 -0
  66. package/dist/assets/{css-ACAb8MRM.js → css-COQFxLQn.js} +1 -1
  67. package/dist/assets/cypher-whf3KLcn.js +1 -0
  68. package/dist/assets/d-Rxavm_nZ.js +1 -0
  69. package/dist/assets/{dagre-6UL2VRFP-DRNnviF_.js → dagre-6UL2VRFP-DT3YVlhy.js} +1 -1
  70. package/dist/assets/{data-grid-overlay-editor-BEE_UOd2.js → data-grid-overlay-editor-yGRyEuzx.js} +1 -1
  71. package/dist/assets/{datasource-Cturxb4x.js → datasource-DpXRY8fO.js} +2 -2
  72. package/dist/assets/{dates-_ZWMvHpG.js → dates-CzBDvj6R.js} +1 -1
  73. package/dist/assets/{dependency-graph-panel-B8UpJDl-.js → dependency-graph-panel-RR4NgUZ9.js} +1 -1
  74. package/dist/assets/{diagram-PSM6KHXK-CJ_YTtTV.js → diagram-PSM6KHXK-BLcYlt62.js} +1 -1
  75. package/dist/assets/{diagram-QEK2KX5R-CfHsxOB8.js → diagram-QEK2KX5R-DZlFt2JV.js} +1 -1
  76. package/dist/assets/{diagram-S2PKOQOG-C9iLu9In.js → diagram-S2PKOQOG-C0VzVTxb.js} +1 -1
  77. package/dist/assets/{dialog-D_1x0b57.js → dialog-BXzvlof-.js} +1 -1
  78. package/dist/assets/diff-BuBMfzxS.js +1 -0
  79. package/dist/assets/{dist-BfsJ2nor.js → dist-6ygzAjca.js} +1 -1
  80. package/dist/assets/{dist-Vc8ZMKz4.js → dist-B0_AowCW.js} +1 -1
  81. package/dist/assets/{dist-CLFvKo6g.js → dist-BA8siKK6.js} +1 -1
  82. package/dist/assets/{dist-DTVn6XkJ.js → dist-BMdir9yf.js} +1 -1
  83. package/dist/assets/dist-BRjtiDLy.js +1 -0
  84. package/dist/assets/{dist-CjHEN42s.js → dist-BkKLXyVM.js} +1 -1
  85. package/dist/assets/{dist-CAqJ9n-7.js → dist-BmupR6hJ.js} +1 -1
  86. package/dist/assets/dist-BveopvhJ.js +1 -0
  87. package/dist/assets/dist-Bw5sFnNi.js +1 -0
  88. package/dist/assets/{dist-DcJyOwtT.js → dist-C0GaLmeM.js} +1 -1
  89. package/dist/assets/{dist-CFJh28wG.js → dist-CD1ARvPf.js} +1 -1
  90. package/dist/assets/{dist-DsQvo-tW.js → dist-CIU0Lack.js} +1 -1
  91. package/dist/assets/{dist-BFzRlyBI.js → dist-CRVvx8nD.js} +1 -1
  92. package/dist/assets/{dist-o3bslLiM.js → dist-CTarqYcj.js} +1 -1
  93. package/dist/assets/{dist-VhPaW6Nu.js → dist-CqnPIH_S.js} +1 -1
  94. package/dist/assets/{dist-CCHC36f2.js → dist-CtKltiBh.js} +1 -1
  95. package/dist/assets/dist-CwLG6Za2.js +1 -0
  96. package/dist/assets/dist-D1GHSZQ_.js +1 -0
  97. package/dist/assets/{dist-C83X_psd.js → dist-DArucAWW.js} +1 -1
  98. package/dist/assets/{dist-DjwvucXe.js → dist-DUYSgv8L.js} +1 -1
  99. package/dist/assets/dist-DZhm7iRc.js +1 -0
  100. package/dist/assets/{dist-BOEbbZQx.js → dist-DfBASypd.js} +1 -1
  101. package/dist/assets/dist-DiZV-TgQ.js +1 -0
  102. package/dist/assets/{dist-D-iyTPWR.js → dist-DoVqkx6-.js} +1 -1
  103. package/dist/assets/{dist-DotE4D06.js → dist-Dq_iQ08e.js} +1 -1
  104. package/dist/assets/{dist-Ojy3l4de.js → dist-DwtQnQ8D.js} +1 -1
  105. package/dist/assets/dist-Dz7aLgyk.js +1 -0
  106. package/dist/assets/dist-OAWl1fS6.js +1 -0
  107. package/dist/assets/{dist-YWDQ5GDh.js → dist-gm5AeuIM.js} +1 -1
  108. package/dist/assets/dist-x2aGlNO5.js +1 -0
  109. package/dist/assets/{dockerfile-BaMK2CWc.js → dockerfile-DGts-2Fo.js} +1 -1
  110. package/dist/assets/{documentation-panel-BuGA-sMW.js → documentation-panel-Cnv1jm5X.js} +1 -1
  111. package/dist/assets/{download-CmObLKP6.js → download-BUXzyjEd.js} +4 -4
  112. package/dist/assets/{dropdown-menu-D9u7_h0R.js → dropdown-menu-CKhrfxsx.js} +1 -1
  113. package/dist/assets/dtd-Byyl3ADK.js +1 -0
  114. package/dist/assets/dylan-zE-fWZ95.js +1 -0
  115. package/dist/assets/ecl-oGqPqdsN.js +1 -0
  116. package/dist/assets/{edit-page-BNA8A6Ux.js → edit-page-D9uU9771.js} +7 -7
  117. package/dist/assets/eiffel-C_tzASKk.js +1 -0
  118. package/dist/assets/elm-DowGsQrq.js +1 -0
  119. package/dist/assets/{erDiagram-Q2GNP2WA-Ci9jIB40.js → erDiagram-Q2GNP2WA-BXdtj02B.js} +1 -1
  120. package/dist/assets/erlang-DXj5Mety.js +1 -0
  121. package/dist/assets/{error-banner-DsP3CCH3.js → error-banner-R2OkQKR0.js} +1 -1
  122. package/dist/assets/{error-panel-CK2L5ciF.js → error-panel-CVb1eCf6.js} +1 -1
  123. package/dist/assets/{es-DwwU_CO-.js → es-1hBRXVlM.js} +1 -1
  124. package/dist/assets/{esm-Dm5bJp7V.js → esm-BQUzYly2.js} +1 -1
  125. package/dist/assets/{esm-CqpQNGcZ.js → esm-ByPyfncv.js} +1 -1
  126. package/dist/assets/factor-BBRGvEpt.js +1 -0
  127. package/dist/assets/{factor-C-_cRSDM.js → factor-CkLnJXKV.js} +1 -1
  128. package/dist/assets/{field-Cgpys-pp.js → field-DGtw6Lae.js} +1 -1
  129. package/dist/assets/file-code-D9wtWSiR.js +1 -0
  130. package/dist/assets/file-explorer-panel-UXRdRpc0.js +1 -0
  131. package/dist/assets/{floating-outline-BPv4P2vV.js → floating-outline-CmXM2v38.js} +1 -1
  132. package/dist/assets/{flowDiagram-NV44I4VS-CUdl_uoe.js → flowDiagram-NV44I4VS-DX757-U8.js} +1 -1
  133. package/dist/assets/{focus-DiPb_hn6.js → focus-ByrD76nS.js} +1 -1
  134. package/dist/assets/form-DOjZnkdK.js +2 -0
  135. package/dist/assets/{formats-B4v3ZpGs.js → formats-C3K3rlAZ.js} +1 -1
  136. package/dist/assets/{formatting-BBp_M8-h.js → formatting-8bP-RDnl.js} +1 -1
  137. package/dist/assets/forth-ir5Q2myN.js +1 -0
  138. package/dist/assets/fortran-Ckvuc18T.js +1 -0
  139. package/dist/assets/{gallery-page-Dwy7ttw7.js → gallery-page-BBBIk2lD.js} +1 -1
  140. package/dist/assets/{ganttDiagram-JELNMOA3-D2jWBuvf.js → ganttDiagram-JELNMOA3-BwyL4uqk.js} +1 -1
  141. package/dist/assets/gas-IcbZgopn.js +1 -0
  142. package/dist/assets/gherkin-BUQFbyhq.js +1 -0
  143. package/dist/assets/{gitGraphDiagram-V2S2FVAM-CkEqRLnD.js → gitGraphDiagram-V2S2FVAM-eu9QdpAO.js} +1 -1
  144. package/dist/assets/github-BrsjF9dp.js +1 -0
  145. package/dist/assets/{glide-data-editor-CfedLJF1.js → glide-data-editor-DoJMFmFp.js} +4 -4
  146. package/dist/assets/{globals-Dk7VGE85.js → globals-B_lwS1Rg.js} +1 -1
  147. package/dist/assets/groovy-CPRpPrR6.js +1 -0
  148. package/dist/assets/haskell-BZ64_L1W.js +1 -0
  149. package/dist/assets/haxe-u0gVVSGf.js +1 -0
  150. package/dist/assets/home-page-DkSd1V6c.js +4 -0
  151. package/dist/assets/html-to-image-DjFNZcCI.js +2 -0
  152. package/dist/assets/idl-D6vrTcdT.js +1 -0
  153. package/dist/assets/{index-B-ghuCiq.js → index-CywCwPVu.js} +10 -10
  154. package/dist/assets/{index-jvqQ7cxf.css → index-DrPzoH7F.css} +1 -1
  155. package/dist/assets/{infoDiagram-HS3SLOUP-Cf_pYPyI.js → infoDiagram-HS3SLOUP-CMZnTs9S.js} +1 -1
  156. package/dist/assets/{input-B49Srsl9.js → input-BPldEXfy.js} +1 -1
  157. package/dist/assets/javascript-DtGa6W6u.js +1 -0
  158. package/dist/assets/{journeyDiagram-XKPGCS4Q-DHw_OuoX.js → journeyDiagram-XKPGCS4Q-Btvq5lIn.js} +1 -1
  159. package/dist/assets/julia-ChDcWdzF.js +1 -0
  160. package/dist/assets/{kanban-definition-3W4ZIXB7-CgJY0dyI.js → kanban-definition-3W4ZIXB7-AW8rZM9d.js} +1 -1
  161. package/dist/assets/katex-YDobqqVd.js +1 -0
  162. package/dist/assets/{kiosk-mode-hbpM_a-j.js → kiosk-mode-CTnBBAQi.js} +1 -1
  163. package/dist/assets/{label-OL3StKg2.js → label-DmqkEXI4.js} +1 -1
  164. package/dist/assets/{layout-D1VtP7GQ.js → layout-CMmACzb7.js} +4 -4
  165. package/dist/assets/{linear-S_2Z0W1R.js → linear-Dgv6-MEk.js} +1 -1
  166. package/dist/assets/links-syPBpTLO.js +1 -0
  167. package/dist/assets/livescript-D3x57DP6.js +1 -0
  168. package/dist/assets/{logs-panel-CDBBW9DI.js → logs-panel-H4W0OnaU.js} +1 -1
  169. package/dist/assets/{loro_wasm_bg-D0L2fcEg.js → loro_wasm_bg-CvVVQqkx.js} +1 -1
  170. package/dist/assets/lua-CfeyF-5c.js +1 -0
  171. package/dist/assets/{markdown-renderer-YOedNAkc.js → markdown-renderer-B4k8WEFz.js} +4 -4
  172. package/dist/assets/mathematica-CAUFFTVp.js +1 -0
  173. package/dist/assets/mbox-Duq1SQ_k.js +1 -0
  174. package/dist/assets/{menu-items-BpKTKw9I.js → menu-items-Bs2e3wuf.js} +1 -1
  175. package/dist/assets/{mermaid-Dq45ZTSR.js → mermaid-1T_6J8nz.js} +3 -3
  176. package/dist/assets/mermaid-4DMBBIKO-DjCipOuD.js +1 -0
  177. package/dist/assets/{mermaid-parser.core-kXAMYbo2.js → mermaid-parser.core-BSEscn4U.js} +1 -1
  178. package/dist/assets/{mhchem-DYHJI636.js → mhchem-CfNkyXzI.js} +1 -1
  179. package/dist/assets/{mindmap-definition-VGOIOE7T-Dob0y7_P.js → mindmap-definition-VGOIOE7T-BeLI48jR.js} +1 -1
  180. package/dist/assets/mirc-B8ay9N_G.js +1 -0
  181. package/dist/assets/mllike-Cdk-SxrR.js +1 -0
  182. package/dist/assets/modelica-cErGJ40J.js +1 -0
  183. package/dist/assets/mscgen-jRCec7TG.js +1 -0
  184. package/dist/assets/{multi-map-BHEewz4D.js → multi-map-kCmlVJ-5.js} +1 -1
  185. package/dist/assets/mumps-CPuZtknR.js +1 -0
  186. package/dist/assets/{name-cell-input-HEC8dShQ.js → name-cell-input-BUcQnShp.js} +1 -1
  187. package/dist/assets/{nsis-BGZ5EB-j.js → nsis-DLIsIma3.js} +1 -1
  188. package/dist/assets/nsis-ggFWkoqT.js +1 -0
  189. package/dist/assets/ntriples-eQBrW6tI.js +1 -0
  190. package/dist/assets/{number-overlay-editor-knCMh2M3.js → number-overlay-editor-CsBFzyQn.js} +1 -1
  191. package/dist/assets/octave-CcpumlkH.js +1 -0
  192. package/dist/assets/{outline-panel-DzWl_avL.js → outline-panel-By3ZqBZ9.js} +1 -1
  193. package/dist/assets/oz-D3u6XBI4.js +1 -0
  194. package/dist/assets/{packages-panel-cSLWScXy.js → packages-panel-Cu_ODGWE.js} +1 -1
  195. package/dist/assets/{panels-903Vandk.js → panels-o_H3ZmT-.js} +1 -1
  196. package/dist/assets/pascal-COvFIqNx.js +1 -0
  197. package/dist/assets/perl-BSxTN_bc.js +1 -0
  198. package/dist/assets/{pieDiagram-ADFJNKIX-CTk6T8fb.js → pieDiagram-ADFJNKIX-CdEk8h7G.js} +1 -1
  199. package/dist/assets/pig-B5SEJPfW.js +1 -0
  200. package/dist/assets/{popover-C7N9RyXk.js → popover-Cvl9xY6R.js} +1 -1
  201. package/dist/assets/powershell-T0AiDBtK.js +1 -0
  202. package/dist/assets/{precisionRound-CCOoIlcP.js → precisionRound-BOmLQIKI.js} +1 -1
  203. package/dist/assets/{process-output-B2WHFsM0.js → process-output-C6uLELXv.js} +1 -1
  204. package/dist/assets/properties-CEyxcWzr.js +1 -0
  205. package/dist/assets/protobuf-BgP8VdyX.js +1 -0
  206. package/dist/assets/pug-D1MIs29p.js +1 -0
  207. package/dist/assets/{pug-CYW0agOo.js → pug-qZYhFFj7.js} +1 -1
  208. package/dist/assets/puppet-DQ0s94I4.js +1 -0
  209. package/dist/assets/python-jVWqyNLt.js +1 -0
  210. package/dist/assets/q-Ddp_9iFq.js +1 -0
  211. package/dist/assets/{quadrantDiagram-AYHSOK5B-BVdFx5wF.js → quadrantDiagram-AYHSOK5B-VU_D3kbi.js} +1 -1
  212. package/dist/assets/r-WnM9HAaQ.js +1 -0
  213. package/dist/assets/react-vega--8ms0ndM.js +1 -0
  214. package/dist/assets/{react-vega-BYVwP1iN.js → react-vega-CfAAc1Op.js} +1 -1
  215. package/dist/assets/{readonly-python-code-XphqxCq8.js → readonly-python-code-vSIWAIcL.js} +1 -1
  216. package/dist/assets/{renderShortcut-_nl5_jRy.js → renderShortcut-BJEd-iA7.js} +1 -1
  217. package/dist/assets/{request-registry-D-vPSm0g.js → request-registry-CN4oD1xn.js} +1 -1
  218. package/dist/assets/{requirementDiagram-UZGBJVZJ-DY-OcLwF.js → requirementDiagram-UZGBJVZJ-B_M384Hj.js} +1 -1
  219. package/dist/assets/rpm-Cpb0cYbF.js +1 -0
  220. package/dist/assets/ruby-npoQJqOj.js +1 -0
  221. package/dist/assets/{run-page-DzsjMR6O.js → run-page-DhyDG7Rk.js} +1 -1
  222. package/dist/assets/{sankeyDiagram-TZEHDZUN-6t9CRTL3.js → sankeyDiagram-TZEHDZUN-DOz58sVj.js} +1 -1
  223. package/dist/assets/sas-D5R_hCoQ.js +1 -0
  224. package/dist/assets/scheme-oK64G5wG.js +1 -0
  225. package/dist/assets/{scratchpad-panel-DA77C7Q0.js → scratchpad-panel-4t4-HW40.js} +1 -1
  226. package/dist/assets/{secrets-panel-CMZi-lXZ.js → secrets-panel-ddOS7gEx.js} +1 -1
  227. package/dist/assets/{select-BRK_BOoG.js → select-DygbgNTD.js} +1 -1
  228. package/dist/assets/{sequenceDiagram-WL72ISMW-BjZ_K9eY.js → sequenceDiagram-WL72ISMW-C4Swv4l1.js} +1 -1
  229. package/dist/assets/session-panel-DIXH9TH9.js +1 -0
  230. package/dist/assets/{share-BpyH3qLa.js → share-sD4fbzpH.js} +1 -1
  231. package/dist/assets/shell-D-C8eGy_.js +1 -0
  232. package/dist/assets/sieve-DPRpRdV2.js +1 -0
  233. package/dist/assets/{slides-component-Bf8iP5zM.js → slides-component-uBqtPHL3.js} +1 -1
  234. package/dist/assets/smalltalk-bsl5ZJOd.js +1 -0
  235. package/dist/assets/{snippets-panel-CLQT_rb9.js → snippets-panel-CODg30J-.js} +1 -1
  236. package/dist/assets/sparql-CJUH6gR2.js +1 -0
  237. package/dist/assets/{spec-CcvA_Vlj.js → spec-Be-iRLAY.js} +1 -1
  238. package/dist/assets/{src-Bp_72rVO.js → src-lcGySDV2.js} +1 -1
  239. package/dist/assets/{state-QwNqaRCk.js → state-B_fNn_z_.js} +1 -1
  240. package/dist/assets/{state-DRCtQIWh.js → state-BqcLH_kp.js} +1 -1
  241. package/dist/assets/{state-C5z8LHqe.js → state-Xu6bDsJl.js} +1 -1
  242. package/dist/assets/{stateDiagram-FKZM4ZOC-NMBeN6_k.js → stateDiagram-FKZM4ZOC-y1h6ccpz.js} +1 -1
  243. package/dist/assets/stateDiagram-v2-4FDKWEC3-BuQ9opQp.js +1 -0
  244. package/dist/assets/stex-pjf-hOob.js +1 -0
  245. package/dist/assets/stylus-Dz-M3k6z.js +1 -0
  246. package/dist/assets/swift-BZHzeogd.js +1 -0
  247. package/dist/assets/{switch-CA8la81g.js → switch-E6p3DgBh.js} +1 -1
  248. package/dist/assets/tcl-CjjnKQKi.js +1 -0
  249. package/dist/assets/{terminal--Et332AA.js → terminal-Cve2fyoB.js} +1 -1
  250. package/dist/assets/textile-C6DxVHfN.js +1 -0
  251. package/dist/assets/{time-CoU4QCVK.js → time-CW4WrC86.js} +1 -1
  252. package/dist/assets/{timeline-definition-IT6M3QCI-BGiQZTGi.js → timeline-definition-IT6M3QCI-Crfvw3Ai.js} +1 -1
  253. package/dist/assets/{toggle-MO7vjfkt.js → toggle-BhEcsHTu.js} +1 -1
  254. package/dist/assets/toml-DTuUvOIE.js +1 -0
  255. package/dist/assets/{tooltip-oM-h2ZN1.js → tooltip-DOQlecCr.js} +1 -1
  256. package/dist/assets/{tooltip-CcOqovrC.js → tooltip-D_HRHf_c.js} +1 -1
  257. package/dist/assets/{tracing-Bdx3rdWM.js → tracing-Dl2nQ80-.js} +1 -1
  258. package/dist/assets/{tracing-panel-BNSSHFIf.js → tracing-panel-DhGOBk1Q.js} +2 -2
  259. package/dist/assets/{tree-DKsPUdeu.js → tree-D0AxVJ_I.js} +1 -1
  260. package/dist/assets/triangle-alert-n1-FF7zs.js +1 -0
  261. package/dist/assets/troff-yA83BgDZ.js +1 -0
  262. package/dist/assets/ttcn-F0FnYTMB.js +1 -0
  263. package/dist/assets/ttcn-cfg-CSr0YVH7.js +1 -0
  264. package/dist/assets/turtle-DaAbI02L.js +1 -0
  265. package/dist/assets/types-Cg2HXEUi.js +17 -0
  266. package/dist/assets/{useAddCell-DVMY6vkv.js → useAddCell-CsMGD6qQ.js} +1 -1
  267. package/dist/assets/{useBoolean-Den0ZqeZ.js → useBoolean-eWwLICkT.js} +1 -1
  268. package/dist/assets/useCellActionButton-pIt4Gh5R.js +1 -0
  269. package/dist/assets/{useDateFormatter-DfEfyPT1.js → useDateFormatter-CmtFqjqu.js} +1 -1
  270. package/dist/assets/{useDeleteCell-CrSQfQw4.js → useDeleteCell-DFKNGNeg.js} +1 -1
  271. package/dist/assets/{useDependencyPanelTab-BqqmAAW7.js → useDependencyPanelTab-vEb9Zdsr.js} +1 -1
  272. package/dist/assets/{useInstallPackage-chfmZzat.js → useInstallPackage-jGxNsOWc.js} +1 -1
  273. package/dist/assets/useNotebookActions-B9ocYS2_.js +1 -0
  274. package/dist/assets/{useNumberFormatter-DQd-h5xR.js → useNumberFormatter-DMA_kIIZ.js} +1 -1
  275. package/dist/assets/{usePress-DcdVsIfA.js → usePress-DsLftN-x.js} +1 -1
  276. package/dist/assets/{useSplitCell-BL-Sir7Y.js → useSplitCell-B4bOrJRI.js} +1 -1
  277. package/dist/assets/vb-BYziWQVS.js +1 -0
  278. package/dist/assets/vbscript-CP_qFLQN.js +1 -0
  279. package/dist/assets/{vega-component-BYA7vCZO.js → vega-component-Ce_zhbUD.js} +1 -1
  280. package/dist/assets/{vega-loader.browser-BJ9oKrvH.js → vega-loader.browser-CZV6_g2i.js} +1 -1
  281. package/dist/assets/velocity-etCBW8YB.js +1 -0
  282. package/dist/assets/verilog-DO_FdUQ9.js +1 -0
  283. package/dist/assets/vhdl-CtT4O7WT.js +1 -0
  284. package/dist/assets/webidl-DUTo0zWa.js +1 -0
  285. package/dist/assets/{write-secret-modal-CkhGEn3N.js → write-secret-modal-DuxmGjDn.js} +1 -1
  286. package/dist/assets/xquery-B0wH9AmB.js +1 -0
  287. package/dist/assets/{xychartDiagram-PRI3JC2R-Cb4TioN6.js → xychartDiagram-PRI3JC2R-BCbKQcrl.js} +1 -1
  288. package/dist/assets/yacas-UtDKR_RQ.js +1 -0
  289. package/dist/assets/z80-gTLyuPxz.js +1 -0
  290. package/dist/index.html +117 -118
  291. package/package.json +1 -1
  292. package/src/components/chat/acp/agent-panel.tsx +29 -8
  293. package/src/components/databases/icons/google-drive.svg +8 -0
  294. package/src/components/datasources/datasources.tsx +5 -5
  295. package/src/components/editor/actions/useNotebookActions.tsx +15 -2
  296. package/src/components/editor/connections/add-connection-dialog.tsx +83 -0
  297. package/src/components/editor/connections/components.tsx +177 -0
  298. package/src/components/editor/{database → connections/database}/__tests__/as-code.test.ts +1 -1
  299. package/src/components/editor/connections/database/add-database-form.tsx +303 -0
  300. package/src/components/editor/{database → connections/database}/as-code.ts +1 -1
  301. package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +100 -0
  302. package/src/components/editor/connections/storage/__tests__/as-code.test.ts +166 -0
  303. package/src/components/editor/connections/storage/add-storage-form.tsx +135 -0
  304. package/src/components/editor/connections/storage/as-code.ts +188 -0
  305. package/src/components/editor/connections/storage/schemas.ts +141 -0
  306. package/src/components/storage/components.tsx +9 -3
  307. package/src/components/storage/storage-inspector.tsx +20 -1
  308. package/src/core/codemirror/__tests__/format.test.ts +9 -1
  309. package/src/core/saving/file-state.ts +7 -0
  310. package/src/core/storage/types.ts +1 -0
  311. package/src/mount.tsx +6 -1
  312. package/dist/assets/LazyAnyLanguageCodeMirror-DIzh1FyL.js +0 -2
  313. package/dist/assets/add-database-form-D06OUuSg.js +0 -111
  314. package/dist/assets/agent-panel-DYFbOZ0f.js +0 -287
  315. package/dist/assets/apl-EAxnZS_5.js +0 -1
  316. package/dist/assets/app-config-button-Btys3Cin.js +0 -1
  317. package/dist/assets/asciiarmor-zxnaShQE.js +0 -1
  318. package/dist/assets/asn1-7i28Os5R.js +0 -1
  319. package/dist/assets/azure-B7oWrJc_.js +0 -1
  320. package/dist/assets/brainfuck-BZegPsXK.js +0 -1
  321. package/dist/assets/channel-8l73B3Du.js +0 -1
  322. package/dist/assets/classDiagram-2ON5EDUG-DCHm2P5j.js +0 -1
  323. package/dist/assets/classDiagram-v2-WZHVMYZB-BCGAyQvL.js +0 -1
  324. package/dist/assets/clojure-VUVi7fTV.js +0 -1
  325. package/dist/assets/cmake-DZJIDbjY.js +0 -1
  326. package/dist/assets/cobol-klCRwlLm.js +0 -1
  327. package/dist/assets/coffeescript-C9foD9ub.js +0 -1
  328. package/dist/assets/commonlisp-tHxoA35J.js +0 -1
  329. package/dist/assets/crystal-CQ11GdrX.js +0 -1
  330. package/dist/assets/cypher-CJ0Uzw29.js +0 -1
  331. package/dist/assets/d-DP0SUIt1.js +0 -1
  332. package/dist/assets/diff-CNs8MB38.js +0 -1
  333. package/dist/assets/dist-B8Knp6QM.js +0 -1
  334. package/dist/assets/dist-BThe47rt.js +0 -1
  335. package/dist/assets/dist-C6prIILx.js +0 -1
  336. package/dist/assets/dist-CHwE2nmM.js +0 -1
  337. package/dist/assets/dist-CPi-6Hei.js +0 -1
  338. package/dist/assets/dist-CX2pe9zu.js +0 -1
  339. package/dist/assets/dist-Cf_g6O8K.js +0 -1
  340. package/dist/assets/dist-ChxQzK4j.js +0 -1
  341. package/dist/assets/dist-D3fVt494.js +0 -1
  342. package/dist/assets/dist-DNtP2rJw.js +0 -1
  343. package/dist/assets/dtd-BsD0uJw0.js +0 -1
  344. package/dist/assets/dylan-DbrGP1IP.js +0 -1
  345. package/dist/assets/ecl-C0rZlhHw.js +0 -1
  346. package/dist/assets/eiffel-2ZX-OpSJ.js +0 -1
  347. package/dist/assets/elm-CbOSKldD.js +0 -1
  348. package/dist/assets/erlang-BWiOgHIX.js +0 -1
  349. package/dist/assets/factor-CUwFIMOP.js +0 -1
  350. package/dist/assets/file-explorer-panel-BeOWee6Z.js +0 -1
  351. package/dist/assets/form-ibH0eKd-.js +0 -2
  352. package/dist/assets/forth-BEQA4QQL.js +0 -1
  353. package/dist/assets/fortran-DoPpOZgG.js +0 -1
  354. package/dist/assets/gas-BYovsvOE.js +0 -1
  355. package/dist/assets/gherkin-CFiRc1Pf.js +0 -1
  356. package/dist/assets/globe-B68kre4p.js +0 -1
  357. package/dist/assets/groovy-DJNH7evt.js +0 -1
  358. package/dist/assets/haskell-duZvcePm.js +0 -1
  359. package/dist/assets/haxe-B2l95qvB.js +0 -1
  360. package/dist/assets/home-page-Bs5_UsFC.js +0 -4
  361. package/dist/assets/html-to-image-CojwvW9z.js +0 -2
  362. package/dist/assets/idl-CZ_xwU8I.js +0 -1
  363. package/dist/assets/image-CBwHq93J.js +0 -1
  364. package/dist/assets/javascript-CF5KGSAj.js +0 -1
  365. package/dist/assets/julia-BQlq5iZn.js +0 -1
  366. package/dist/assets/katex-BalO4WMU.js +0 -1
  367. package/dist/assets/links-cVjWsr05.js +0 -1
  368. package/dist/assets/livescript-sRMenfqS.js +0 -1
  369. package/dist/assets/lua-a56ITumN.js +0 -1
  370. package/dist/assets/mathematica-B3m4jXeH.js +0 -1
  371. package/dist/assets/mbox-BtL7aO2I.js +0 -1
  372. package/dist/assets/mermaid-4DMBBIKO-DHX6rzjo.js +0 -1
  373. package/dist/assets/mirc-S27kuZ31.js +0 -1
  374. package/dist/assets/mllike-B3kx3KeF.js +0 -1
  375. package/dist/assets/modelica-DgbW4dSi.js +0 -1
  376. package/dist/assets/mscgen-BIa_4d-0.js +0 -1
  377. package/dist/assets/mumps-4fnELyHs.js +0 -1
  378. package/dist/assets/nsis-BfGyMssE.js +0 -1
  379. package/dist/assets/ntriples-DeY1n_tC.js +0 -1
  380. package/dist/assets/octave-7Qn21jzx.js +0 -1
  381. package/dist/assets/oz-CiPFl3Ni.js +0 -1
  382. package/dist/assets/pascal-BH9yQLzw.js +0 -1
  383. package/dist/assets/perl-DfMCx2i2.js +0 -1
  384. package/dist/assets/pig-D9CNebQN.js +0 -1
  385. package/dist/assets/powershell-Dss0bU9F.js +0 -1
  386. package/dist/assets/properties-CHADYQUL.js +0 -1
  387. package/dist/assets/protobuf-DFN-V4SD.js +0 -1
  388. package/dist/assets/pug-DOI9FnEk.js +0 -1
  389. package/dist/assets/puppet-BV0HAkDS.js +0 -1
  390. package/dist/assets/python-C83Db0-4.js +0 -1
  391. package/dist/assets/q-D84S4YaJ.js +0 -1
  392. package/dist/assets/r-jmqrRzXv.js +0 -1
  393. package/dist/assets/react-vega-Dg8Pw8lR.js +0 -1
  394. package/dist/assets/rpm-DUjG0xRk.js +0 -1
  395. package/dist/assets/ruby-SP4FIzir.js +0 -1
  396. package/dist/assets/sas-BxaPz2EX.js +0 -1
  397. package/dist/assets/scheme-HBseLApj.js +0 -1
  398. package/dist/assets/session-panel-DwTnfeqw.js +0 -1
  399. package/dist/assets/shell-w8ATY_lQ.js +0 -1
  400. package/dist/assets/sieve-Dyq0LGDO.js +0 -1
  401. package/dist/assets/smalltalk-D7mAtumc.js +0 -1
  402. package/dist/assets/sparql-DAeEYE_u.js +0 -1
  403. package/dist/assets/stateDiagram-v2-4FDKWEC3-wXzPY2i9.js +0 -1
  404. package/dist/assets/stex-BBWVYm-R.js +0 -1
  405. package/dist/assets/stylus-Cw3Ugan7.js +0 -1
  406. package/dist/assets/swift-CPsNOBsX.js +0 -1
  407. package/dist/assets/tcl-BfWyQdZa.js +0 -1
  408. package/dist/assets/textarea-noyX_YEw.js +0 -1
  409. package/dist/assets/textile-BKgaSzSN.js +0 -1
  410. package/dist/assets/toml-BSOdv04W.js +0 -1
  411. package/dist/assets/troff-C0hD9kig.js +0 -1
  412. package/dist/assets/ttcn-DEqPxhoh.js +0 -1
  413. package/dist/assets/ttcn-cfg-B-7jSlUe.js +0 -1
  414. package/dist/assets/turtle-BTtgFsu8.js +0 -1
  415. package/dist/assets/types-DYD6UxTH.js +0 -17
  416. package/dist/assets/useCellActionButton-HNTLhSrv.js +0 -1
  417. package/dist/assets/useNotebookActions-Bzt5O8Yy.js +0 -1
  418. package/dist/assets/vb-DfRPk_ji.js +0 -1
  419. package/dist/assets/vbscript-C8D4uv5N.js +0 -1
  420. package/dist/assets/velocity-DxKr2FFC.js +0 -1
  421. package/dist/assets/verilog-CxVhamiH.js +0 -1
  422. package/dist/assets/vhdl-B-IpBNOA.js +0 -1
  423. package/dist/assets/webidl-CBjKmBwO.js +0 -1
  424. package/dist/assets/xquery-ABGCbLv0.js +0 -1
  425. package/dist/assets/yacas-Ckyxh7oh.js +0 -1
  426. package/dist/assets/z80-Dr5sQweg.js +0 -1
  427. package/src/components/editor/database/add-database-form.tsx +0 -420
  428. /package/dist/assets/{Combination-BioTNpLP.js → Combination-tjZP3FH6.js} +0 -0
  429. /package/dist/assets/{Deferred-BMfCOLaw.js → Deferred-D2igisxY.js} +0 -0
  430. /package/dist/assets/{SSRProvider-CwqN9FWV.js → SSRProvider-DC7ElCZZ.js} +0 -0
  431. /package/dist/assets/{alert-Bs8tbZo_.js → alert-0YTlkh9P.js} +0 -0
  432. /package/dist/assets/{apl-Byte72fT.js → apl-_OaVDIdj.js} +0 -0
  433. /package/dist/assets/{asciiarmor-BU-VnG1Y.js → asciiarmor-C9F03XGV.js} +0 -0
  434. /package/dist/assets/{asn1-hTvH3S4T.js → asn1-BnyFT2xh.js} +0 -0
  435. /package/dist/assets/{badge-BUFDGZ04.js → badge-CNBv2dAU.js} +0 -0
  436. /package/dist/assets/{blob-DgooIGjS.js → blob-CObhN-9g.js} +0 -0
  437. /package/dist/assets/{brainfuck-C-q1Rv8J.js → brainfuck-BDCj_8tQ.js} +0 -0
  438. /package/dist/assets/{clear-button-jiwoSELH.js → clear-button-BA9qcQQg.js} +0 -0
  439. /package/dist/assets/{clike-BE-9Ct_H.js → clike-CoedqJfF.js} +0 -0
  440. /package/dist/assets/{clojure-Co-TLeNo.js → clojure-BEClvbJJ.js} +0 -0
  441. /package/dist/assets/{cmake-B-Nm_Opd.js → cmake-CCoJFsI7.js} +0 -0
  442. /package/dist/assets/{cobol-BGdihAZT.js → cobol-CrncQb9J.js} +0 -0
  443. /package/dist/assets/{coffeescript-BUZXkMUO.js → coffeescript-DwVkfncu.js} +0 -0
  444. /package/dist/assets/{commonlisp-CFkPbxvX.js → commonlisp-CJ40YQuw.js} +0 -0
  445. /package/dist/assets/{copy-CgddLxfF.js → copy-DMCkK2TI.js} +0 -0
  446. /package/dist/assets/{crystal-CqfqDl34.js → crystal-YUhScjFU.js} +0 -0
  447. /package/dist/assets/{css-DPEtZWJi.js → css-BpYxrU6m.js} +0 -0
  448. /package/dist/assets/{cypher-B0t8FJvU.js → cypher-DtBx1FxP.js} +0 -0
  449. /package/dist/assets/{d-DRa_XRSB.js → d-Dah-rTjO.js} +0 -0
  450. /package/dist/assets/{defaultLocale-CGfP-Ye3.js → defaultLocale-DK1MWd7f.js} +0 -0
  451. /package/dist/assets/{defaultLocale-CuYNS33t.js → defaultLocale-OkOxlkkM.js} +0 -0
  452. /package/dist/assets/{diff-GLneonpD.js → diff-CbRoYxJw.js} +0 -0
  453. /package/dist/assets/{dist-Cr2srKZ5.js → dist-0qXxt1VF.js} +0 -0
  454. /package/dist/assets/{dist-C4QdWMCE.js → dist-51xFOPFs.js} +0 -0
  455. /package/dist/assets/{dist-DBYXupB9.js → dist-BDJDjQTP.js} +0 -0
  456. /package/dist/assets/{dist-jtXWG2b1.js → dist-BTEPE6IB.js} +0 -0
  457. /package/dist/assets/{dist-CX4tr6LY.js → dist-BYbeMVLN.js} +0 -0
  458. /package/dist/assets/{dist-WaT7BL5t.js → dist-BjtLy-VA.js} +0 -0
  459. /package/dist/assets/{dist-DrewQ3CS.js → dist-C9Tymsam.js} +0 -0
  460. /package/dist/assets/{dist-DvNh3ph0.js → dist-CPbQEKNx.js} +0 -0
  461. /package/dist/assets/{dist-CW4ZrmuX.js → dist-DDs9pMUo.js} +0 -0
  462. /package/dist/assets/{dist-DgIBu6pZ.js → dist-DU2EJ7el.js} +0 -0
  463. /package/dist/assets/{dist-DkUBUEhC.js → dist-DnkvqAMq.js} +0 -0
  464. /package/dist/assets/{dist-DWi0RsIc.js → dist-DpVoU5lF.js} +0 -0
  465. /package/dist/assets/{dist-BoFVJhwF.js → dist-odxAaH5Z.js} +0 -0
  466. /package/dist/assets/{dtd-uVrZNVF0.js → dtd-DnxzgohM.js} +0 -0
  467. /package/dist/assets/{dylan-DkNeA4FZ.js → dylan-DV-GV0Um.js} +0 -0
  468. /package/dist/assets/{ecl-CldUgvc9.js → ecl-D5jDMU68.js} +0 -0
  469. /package/dist/assets/{eiffel-CoMDRbRL.js → eiffel-DKJu2v1N.js} +0 -0
  470. /package/dist/assets/{elm-Cb5XC6ev.js → elm-jc1dahX5.js} +0 -0
  471. /package/dist/assets/{emotion-is-prop-valid.esm-lG8j6oqk.js → emotion-is-prop-valid.esm-D7FeWASw.js} +0 -0
  472. /package/dist/assets/{empty-state-BNyDvg_Q.js → empty-state-DFr2pZOz.js} +0 -0
  473. /package/dist/assets/{en-US-k6sS5Nab.js → en-US-DBqDb4Nb.js} +0 -0
  474. /package/dist/assets/{erlang-8H3fTZ3L.js → erlang-xV-AfkqS.js} +0 -0
  475. /package/dist/assets/{errors-0IrrdfSG.js → errors-Bfogio62.js} +0 -0
  476. /package/dist/assets/{extends-B9D0JO9U.js → extends-aq1t6BkR.js} +0 -0
  477. /package/dist/assets/{forth-B8kC4npz.js → forth-C9zvylLL.js} +0 -0
  478. /package/dist/assets/{fortran-CNWGEL3c.js → fortran-CyOyVtLP.js} +0 -0
  479. /package/dist/assets/{gas-DnZQNTHK.js → gas-B3PseLpk.js} +0 -0
  480. /package/dist/assets/{gherkin-JfGcGvci.js → gherkin-BJegP8jG.js} +0 -0
  481. /package/dist/assets/{groovy-D0FWiAVm.js → groovy-B7OnG3ZU.js} +0 -0
  482. /package/dist/assets/{haskell-wUB3uX-G.js → haskell-BtINGz8b.js} +0 -0
  483. /package/dist/assets/{haxe-g0JY6eL-.js → haxe-DG3vLZ0S.js} +0 -0
  484. /package/dist/assets/{idl-CV2cLkPc.js → idl-ARaXQ5Lo.js} +0 -0
  485. /package/dist/assets/{isValid-CUXKlcrM.js → isValid-D3F4nmET.js} +0 -0
  486. /package/dist/assets/{javascript-CT6okXEZ.js → javascript-DbuC-gIm.js} +0 -0
  487. /package/dist/assets/{julia-CKC48ufo.js → julia-C2ly3uah.js} +0 -0
  488. /package/dist/assets/{katex-FSdXOW5Y.js → katex-rvFxOCU-.js} +0 -0
  489. /package/dist/assets/{kbd-Rn7tWvNg.js → kbd-CVbqSkT8.js} +0 -0
  490. /package/dist/assets/{link-BmtFffTv.js → link-Cpo6yhBB.js} +0 -0
  491. /package/dist/assets/{links-MkDbmF2p.js → links-BKV6zi_7.js} +0 -0
  492. /package/dist/assets/{livescript-C43pZ6Ue.js → livescript-BHGtnzZk.js} +0 -0
  493. /package/dist/assets/{loro_wasm_bg-DNKZeVyM.js → loro_wasm_bg-Bj93RhA2.js} +0 -0
  494. /package/dist/assets/{lua-Cs2mb10K.js → lua-0hHWC4O5.js} +0 -0
  495. /package/dist/assets/{marimo-icons-DcMouEVW.js → marimo-icons-BDAuIiW5.js} +0 -0
  496. /package/dist/assets/{mathematica-B5FMK3ma.js → mathematica-BeUaygJp.js} +0 -0
  497. /package/dist/assets/{mbox-36Zrn5Bd.js → mbox-CR4_Euk_.js} +0 -0
  498. /package/dist/assets/{mirc-BKTAABSX.js → mirc-Cc0cHJWO.js} +0 -0
  499. /package/dist/assets/{mllike-DbuClUqc.js → mllike-D58Jm9uo.js} +0 -0
  500. /package/dist/assets/{modelica-CKRvBm7N.js → modelica-CVUPArJj.js} +0 -0
  501. /package/dist/assets/{mscgen-B4BRgnCi.js → mscgen-B_Av7U7x.js} +0 -0
  502. /package/dist/assets/{multi-icon-BFa-He80.js → multi-icon-OxLi6M3I.js} +0 -0
  503. /package/dist/assets/{mumps-BFiMcyFV.js → mumps-CSXER37P.js} +0 -0
  504. /package/dist/assets/{ntriples-QQAkJYAR.js → ntriples-BH96LyUh.js} +0 -0
  505. /package/dist/assets/{numbers-CPeFd6mm.js → numbers-44Cj1Me-.js} +0 -0
  506. /package/dist/assets/{objectWithoutPropertiesLoose-CboCOq4o.js → objectWithoutPropertiesLoose-Dxmp_Bd_.js} +0 -0
  507. /package/dist/assets/{octave-DsTphmGZ.js → octave-MtIOg8Xr.js} +0 -0
  508. /package/dist/assets/{ordinal-CIZb_ice.js → ordinal-Cn9sg_-a.js} +0 -0
  509. /package/dist/assets/{oz-CD9rr5Iz.js → oz-CQSW4u2r.js} +0 -0
  510. /package/dist/assets/{panel-context-D8PoMwqS.js → panel-context-ICWm_stq.js} +0 -0
  511. /package/dist/assets/{pascal-DdHEIlJE.js → pascal-kJIfJeBL.js} +0 -0
  512. /package/dist/assets/{paths-D2lG83Oh.js → paths-bMgYkaP2.js} +0 -0
  513. /package/dist/assets/{perl-DHPJBQ1u.js → perl-DDhi21z2.js} +0 -0
  514. /package/dist/assets/{pig-Yz7ERgca.js → pig-BdUzMo_O.js} +0 -0
  515. /package/dist/assets/{play-CkqWG85-.js → play-D4Tdvkms.js} +0 -0
  516. /package/dist/assets/{plus-C9B_qWUi.js → plus-B-s-VRHt.js} +0 -0
  517. /package/dist/assets/{powershell-CHPZ_bsU.js → powershell-D_qEipPM.js} +0 -0
  518. /package/dist/assets/{preload-helper-BW0IMuFq.js → preload-helper-TXkS1QI3.js} +0 -0
  519. /package/dist/assets/{prop-types-C638SUfx.js → prop-types-DRf51_gT.js} +0 -0
  520. /package/dist/assets/{properties-CI9nc7K4.js → properties-CS6vA6nt.js} +0 -0
  521. /package/dist/assets/{protobuf-BYSIv2pY.js → protobuf-COtqlKri.js} +0 -0
  522. /package/dist/assets/{puppet-CEpLafZX.js → puppet-Ctozq3R1.js} +0 -0
  523. /package/dist/assets/{purify.es-DTgMcyNc.js → purify.es-CPplrWRQ.js} +0 -0
  524. /package/dist/assets/{python-BndVuwG1.js → python-D9pCSume.js} +0 -0
  525. /package/dist/assets/{q-L_cetpiW.js → q-CKhLXEtL.js} +0 -0
  526. /package/dist/assets/{r-Dd37AKWk.js → r-BvAfMHMS.js} +0 -0
  527. /package/dist/assets/{range-ClqUI25v.js → range-DNqFcYmr.js} +0 -0
  528. /package/dist/assets/{react-resizable-panels.browser.esm-DDRqG5ui.js → react-resizable-panels.browser.esm-RgA6v8U3.js} +0 -0
  529. /package/dist/assets/{refresh-ccw-B3lGEyQm.js → refresh-ccw-BOzRCrXK.js} +0 -0
  530. /package/dist/assets/{refresh-cw-fLeDriQe.js → refresh-cw-DeCFDX1B.js} +0 -0
  531. /package/dist/assets/{requests-BtlCsvG4.js → requests-KFvRjaaN.js} +0 -0
  532. /package/dist/assets/{rotate-ccw-DgH8qERb.js → rotate-ccw-BG5BZyzw.js} +0 -0
  533. /package/dist/assets/{rpm-CHrvhtlN.js → rpm-CUTjLkz_.js} +0 -0
  534. /package/dist/assets/{ruby-BPOowfX6.js → ruby-jDDZwg5-.js} +0 -0
  535. /package/dist/assets/{sas-BsEFSvEP.js → sas-mA9119dU.js} +0 -0
  536. /package/dist/assets/{save-C91FTnFa.js → save-I_RGv5p0.js} +0 -0
  537. /package/dist/assets/{scheme-B42INBu7.js → scheme-Bw6sYvQh.js} +0 -0
  538. /package/dist/assets/{session-Deuv0Lgh.js → session-DnMOyddG.js} +0 -0
  539. /package/dist/assets/{settings-DRfuuLRT.js → settings-DD8FJvQ_.js} +0 -0
  540. /package/dist/assets/{shell-BPea12OI.js → shell-BSG_6EVv.js} +0 -0
  541. /package/dist/assets/{sieve-C-yPcLw5.js → sieve-BvqlFANQ.js} +0 -0
  542. /package/dist/assets/{simple-mode-CFlvn0Mm.js → simple-mode-C0eLpHUg.js} +0 -0
  543. /package/dist/assets/{smalltalk-e7OO1ATb.js → smalltalk-CarfjYvX.js} +0 -0
  544. /package/dist/assets/{sparql-B4I2Ledx.js → sparql-DpdbGHkw.js} +0 -0
  545. /package/dist/assets/{spinner-Dt4SmUsI.js → spinner-DCSoZZhh.js} +0 -0
  546. /package/dist/assets/{square-function-DEp1ozoA.js → square-function-4zY5Dv0P.js} +0 -0
  547. /package/dist/assets/{square-DZpWT_hp.js → square-oV8Csj8Y.js} +0 -0
  548. /package/dist/assets/{stex-0ac7Aukl.js → stex-FMMSUPAS.js} +0 -0
  549. /package/dist/assets/{stylus-CBRbZwhN.js → stylus-DwqF5JX3.js} +0 -0
  550. /package/dist/assets/{swift-B2hnU7ha.js → swift-XQW_3Dnq.js} +0 -0
  551. /package/dist/assets/{tcl-BtyamtaZ.js → tcl-DSytfKxX.js} +0 -0
  552. /package/dist/assets/{textile-M9mhyNE9.js → textile-C0sJ895O.js} +0 -0
  553. /package/dist/assets/{timer-CPT_vXom.js → timer-BEJidwwG.js} +0 -0
  554. /package/dist/assets/{toml-YxyxhyRy.js → toml-Bduwr9FD.js} +0 -0
  555. /package/dist/assets/{trash-2-CrA4LwJ2.js → trash-2-DtQaB9NM.js} +0 -0
  556. /package/dist/assets/{trash-ZGxZ3QGq.js → trash-Basz0Kvc.js} +0 -0
  557. /package/dist/assets/{troff-C7xpi05X.js → troff-DhuvYLXE.js} +0 -0
  558. /package/dist/assets/{ttcn-D3YytrJU.js → ttcn-C2K9hXYD.js} +0 -0
  559. /package/dist/assets/{ttcn-cfg-DlZ5vA9E.js → ttcn-cfg-DWjJYHn-.js} +0 -0
  560. /package/dist/assets/{turtle-BSHvAsUe.js → turtle-q-WiynB8.js} +0 -0
  561. /package/dist/assets/{types-CswNghXe.js → types-BhvWC48z.js} +0 -0
  562. /package/dist/assets/{use-toast-Hc8CXlvz.js → use-toast-BhMe50aT.js} +0 -0
  563. /package/dist/assets/{useAsyncData-CI3ntihq.js → useAsyncData-DVm0BCFt.js} +0 -0
  564. /package/dist/assets/{useDebounce-S9zaMzrr.js → useDebounce-BUC67G8E.js} +0 -0
  565. /package/dist/assets/{useDeepCompareMemoize-yyiB9aJX.js → useDeepCompareMemoize-D1hTncYV.js} +0 -0
  566. /package/dist/assets/{useIframeCapabilities-Ba0L-TQN.js → useIframeCapabilities-T3alJPda.js} +0 -0
  567. /package/dist/assets/{useInterval-C2RcswPt.js → useInterval-Bpy5zYCc.js} +0 -0
  568. /package/dist/assets/{useTheme-CAolwY4Q.js → useTheme-CwdqVOYu.js} +0 -0
  569. /package/dist/assets/{uuid-ClFZlR7U.js → uuid-ImXS-885.js} +0 -0
  570. /package/dist/assets/{vb-DdkIDLlO.js → vb-BzUPMIAg.js} +0 -0
  571. /package/dist/assets/{vbscript-DhYGmk_p.js → vbscript-CUBxk5hi.js} +0 -0
  572. /package/dist/assets/{velocity-DAXJNEw4.js → velocity-CFrdKnJ-.js} +0 -0
  573. /package/dist/assets/{verilog-jmuT_L3b.js → verilog-uIU1FX2_.js} +0 -0
  574. /package/dist/assets/{vhdl-DcVQ97RU.js → vhdl-Ca2_GOin.js} +0 -0
  575. /package/dist/assets/{webidl-B-YB_4OQ.js → webidl-Fd2zBPO0.js} +0 -0
  576. /package/dist/assets/{workflow-DgZ_19fF.js → workflow-CU6kAL_h.js} +0 -0
  577. /package/dist/assets/{ws-Sb1KIggW.js → ws-D2eS61zr.js} +0 -0
  578. /package/dist/assets/{xquery-DOmY3Oe8.js → xquery-S8ffVcwS.js} +0 -0
  579. /package/dist/assets/{yacas-pL3kJRXV.js → yacas-BFgZPXn6.js} +0 -0
  580. /package/dist/assets/{youtube-DfMgNU9-.js → youtube-fKFch587.js} +0 -0
  581. /package/dist/assets/{z80-VwVuI_MT.js → z80-P5o2E6_C.js} +0 -0
  582. /package/src/components/editor/{database → connections}/__tests__/secrets.test.ts +0 -0
  583. /package/src/components/editor/{database → connections/database}/__tests__/__snapshots__/as-code.test.ts.snap +0 -0
  584. /package/src/components/editor/{database → connections/database}/schemas.ts +0 -0
  585. /package/src/components/editor/{database → connections}/form-renderers.tsx +0 -0
  586. /package/src/components/editor/{database → connections}/secrets.ts +0 -0
@@ -1,23 +1,23 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-D0L2fcEg.js","./loro_wasm_bg-DNKZeVyM.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var ud=Object.defineProperty;var Oa=oe=>{throw TypeError(oe)};var dd=(oe,z,he)=>z in oe?ud(oe,z,{enumerable:!0,configurable:!0,writable:!0,value:he}):oe[z]=he;var h=(oe,z,he)=>dd(oe,typeof z!="symbol"?z+"":z,he),fd=(oe,z,he)=>z.has(oe)||Oa("Cannot "+he);var Da=(oe,z,he)=>(fd(oe,z,"read from private field"),he?he.call(oe):z.get(oe)),_a=(oe,z,he)=>z.has(oe)?Oa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(oe):z.set(oe,he);import{s as Ua}from"./chunk-LvLJmgfZ.js";import{d as Ba,f as yr,i as Z,l as En,n as le,p as Dt,s as kn,u as re}from"./useEvent-WUlsM6MC.js";import{t as md}from"./react-Bj1aDYRI.js";import{$ as wr,B as pd,Ct as hd,Dt as gd,En as bd,Ft as yd,H as ja,Ht as wd,Ir as vr,It as Pa,Jt as Ma,Kt as Er,Mn as vd,Nn as Ed,P as kd,Pn as Nd,Qt as Cd,Rr as Sd,St as xd,T as Nn,Ur as Id,Ut as kr,V as Ra,W as Ga,Wr as Ja,Xt as Td,Zt as Ad,_i as Cn,a as Wa,ar as Fd,b as Ze,bt as Nr,ci as Ld,d as Va,et as Od,fn as Dd,gn as _d,h as Cr,hn as Ud,ht as Bd,in as jd,jr as Pd,ln as Md,lt as Rd,mn as Gd,o as Jd,oi as $a,qt as Ha,st as Wd,tn as Sn,u as qa,wt as _t,xt as xn,yn as Sr,yt as Vd,z as za,zn as $d,zr as Hd,__tla as qd}from"./cells-DD42bsu7.js";import{P as Ka,R as zd,k as Kd,w as Yd}from"./zod-H_cgTO0M.js";import{t as Re}from"./compiler-runtime-B3qBwwSJ.js";import{C as Xd,f as Qd,m as Zd,p as ef,t as tf,v as nf}from"./ai-model-dropdown-BnQGs6GF.js";import{a as Ya,c as xr,f as Ir,h as rf,m as ge,t as of}from"./useEventListener-CjXriKgk.js";import{t as Ut}from"./invariant-awXiPaF0.js";import{S as Tr,h as Xa,i as af,m as sf,o as lf,p as Qa,s as Za}from"./utils-CORJ8yYa.js";import{S as cf,d as uf,h as at,o as df,r as ei,x as bt,y as ti}from"./config-CBwelk8k.js";import{a as ff,n as ni,t as mf}from"./switch-CA8la81g.js";import{n as pf}from"./globals-Dk7VGE85.js";import{t as hf}from"./ErrorBoundary-dVj6GVNE.js";import{t as gf}from"./jsx-runtime-CP2fAiZX.js";import{r as Ar,t as it}from"./button-BmOH9agK.js";import{t as st}from"./cn-d_A4rA-x.js";import{Bt as yt,Ct as ri,Dt as bf,E as yf,Ft as In,H as oi,Ht as Bt,I as wf,J as l,Jt as me,Kt as vf,Lt as Tn,Mt as Ef,P as kf,St as Je,V as ai,Vt as Fr,Wt as lt,Yt as $e,Zt as jt,_ as Nf,a as Cf,at as j,bt as Sf,ct as He,en as An,ft as xf,it as If,lt as Fn,m as Tf,pt as Af,rt as q,st as Ff,vt as Lf,w as Of,wt as Df,yt as _f,zt as Uf}from"./dist-DUY6xZX8.js";import{C as Bf,D as jf,_ as Pf,a as Mf,c as Rf,n as Lr,r as Gf,v as Jf,x as Wf,y as Vf}from"./dist-CU-Ty5ht.js";import{w as $f,__tla as Hf}from"./JsonOutput-uf7OFaDU.js";import{c as ii,n as qf}from"./once-DRC4SgqY.js";import{t as Or}from"./createReducer-BcTiTw8T.js";import{a as zf,c as Kf,f as Ln,h as Yf,i as Xf,l as Pt,n as si,o as Qf,t as Zf}from"./dist-D89dID68.js";import{t as em}from"./main-Cmx6WhDY.js";import{r as Mt,t as tm}from"./requests-DZy_SQ_v.js";import{t as nm}from"./createLucideIcon-BvP5LBIs.js";import{f as rm,r as li,t as om,__tla as am}from"./layout-D1VtP7GQ.js";import{M as im,O as sm,a as ci,c as lm,f as cm,k as ui,n as um,o as dm,r as di,s as fm,w as mm}from"./add-cell-with-ai-DJ9tuL4g.js";import{t as pm}from"./x-yqLqiq5Q.js";import{r as hm,s as gm,u as bm}from"./download-CmObLKP6.js";import{t as ym}from"./circle-check-CceJVe3L.js";import{r as wm,t as vm}from"./types-DYD6UxTH.js";import{n as Em}from"./spinner-Dt4SmUsI.js";import{t as fi}from"./save-C91FTnFa.js";import{I as mi,P as km}from"./input-B49Srsl9.js";import{a as Nm,i as Cm,n as pi}from"./state-DRCtQIWh.js";import{t as Sm}from"./preload-helper-BW0IMuFq.js";import{t as xm}from"./Deferred-BMfCOLaw.js";import{t as ct}from"./use-toast-Hc8CXlvz.js";import{n as Ye}from"./paths-D2lG83Oh.js";import{t as Im}from"./session-Deuv0Lgh.js";import{r as Tm}from"./useTheme-CAolwY4Q.js";import{t as On}from"./tooltip-oM-h2ZN1.js";import{c as hi,i as gi,n as bi,r as Am}from"./dialog-D_1x0b57.js";import{O as Fm}from"./usePress-DcdVsIfA.js";import{a as Lm,r as Om,t as Dm}from"./popover-C7N9RyXk.js";import{n as yi}from"./ImperativeModal-MjC9Owmv.js";import{r as _m}from"./errors-0IrrdfSG.js";import{t as Um}from"./copy-CgddLxfF.js";import{t as X}from"./extends-B9D0JO9U.js";import{t as Rt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as Bm}from"./kbd-Rn7tWvNg.js";import{a as Dr}from"./useInstallPackage-chfmZzat.js";import{a as jm,o as Pm}from"./cell-link-CiQrWiPA.js";import{n as Mm}from"./useAsyncData-CI3ntihq.js";import{a as Rm,o as wi,r as Gm,s as vi,t as Jm}from"./command-2Li9iWG_.js";import{r as Wm}from"./html-to-image-CojwvW9z.js";import{a as Vm}from"./focus-DiPb_hn6.js";import{a as Ei}from"./renderShortcut-_nl5_jRy.js";import{t as _r}from"./label-OL3StKg2.js";import{n as Ur,t as ki}from"./useDeleteCell-CrSQfQw4.js";import{n as wt}from"./esm-Dm5bJp7V.js";import{n as $m,t as Hm}from"./icons-B9sHgc9n.js";import{t as Ni}from"./dist-DgIBu6pZ.js";import{t as qm}from"./useSplitCell-BL-Sir7Y.js";import{co as zm,do as Br,fo as Km,ft as Ym,go as vt,ho as Ci,lo as jr,mo as Si,oo as Xm,po as Qm,so as xi,uo as Ii,__tla as Zm}from"./loro_wasm_bg-DNKZeVyM.js";import{t as ep}from"./ws-Sb1KIggW.js";import{n as Ti,t as Pr}from"./useInterval-C2RcswPt.js";let Dn,Mr,Ai,Rr,ut,Gr,be,Gt,Jt,Fi,Li,Oi,Di,_i,_n,Ui,Un,Bi,Bn,tp=Promise.all([(()=>{try{return qd}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return am}catch{}})(),(()=>{try{return Zm}catch{}})()]).then(async()=>{var wn,La,we,ve,Ee,ke,Ne,Ce,Se,xe,Ie,Te,Ae,Fe,Le,Oe,De,_e,Ue,Be,je;var oe=nm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var he=300;const kt=Bt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:he,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),et=me.define(),tt=$e.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(et))return n.value;return e}}),Nt=me.define(),Ct=me.define(),Wr=$e.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Nt)&&(n={...n,inputValue:r.value}),r.is(Ct)&&(n={...n,shouldFocus:r.value});return n}}),Wt=me.define(),St=$e.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=me.define(),Vr=$e.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var ji=1;const $r=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<ji)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[et.of({show:!0,lineFrom:i,lineTo:s}),Ct.of(!0),Nt.of("")],selection:yt.cursor(o.from)}),!0},Hr=e=>e.state.field(St)?(e.dispatch({effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1,qr=e=>{let t=e.state.field(St);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Pi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Pi()).replace("-"," ").toUpperCase()}function ce(e,t){let n=document.createElement(e);return n.className=t,n}function Mi(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Vt=$e.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is($t));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),$t=me.define();function Ri(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Gi(t),side:1});return r.push(o.range(n)),q.set(r)}var Gi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
- `).length-1}},Ji=class{constructor(e){h(this,"cache",new Map);h(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Wi=(e,t)=>He.fromClass(class{constructor(){h(this,"abortController",null);h(this,"cache");this.cache=new Ji(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:$t.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:$t.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Vi=He.fromClass(class{constructor(){h(this,"decorations");this.decorations=q.none}update(e){var n;let t=(n=e.state.field(Vt))==null?void 0:n.suggestion;if(!t){this.decorations=q.none;return}this.decorations=Ri(e.view,t)}},{decorations:e=>e.decorations});function $i(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:yt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:yt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Hi=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...$i(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},zr=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:$t.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},qi=Je.of([{key:"Tab",run:Hi},{key:"Escape",run:zr}]),Mn=Bt.define({combine:e=>e.at(-1)});function Kr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Mi(e.fetchFn,t);return[Vt,Mn.of(e),Wi(r,e),Vi,n?qi:[]]}const zi=j.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function Ki(e){var o,a;let t=e.state.facet(kt),n={...z,...t.keymaps},r=ce("div","cm-ai-tooltip").appendChild(ce("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${Pn(n.showInput)}</span></span>`,(o=r.querySelector("span"))==null||o.addEventListener("mousedown",i=>{i.stopPropagation(),i.button===0&&i.preventDefault()}),(a=r.querySelector("span"))==null||a.addEventListener("click",i=>{i.preventDefault(),$r(e)}),r}const Rn=Bt.define({combine(e){return An(e,{render:Ki,hideOnBlur:!1})}}),Yi=He.fromClass((La=class{constructor(e){h(this,"view");h(this,"suppress");h(this,"dom");h(this,"mousedown",()=>{this.suppress=!0});h(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});h(this,"scroll",()=>{this.display(this.view)});h(this,"windowScroll",()=>{this.display(this.view)});_a(this,wn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from);if(!r)return;let o=e.dom.getBoundingClientRect(),a=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),i=r.top>=o.top&&r.top<=o.bottom&&r.left>=o.left&&r.left<=o.right,s=!a||r.top>=a.top&&r.top<=a.bottom&&r.left>=a.left&&r.left<=a.right;if(!i||!s){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let c=this.dom.getBoundingClientRect(),u=o.width-c.width,d=Math.min(r.left,u),f=r.top-c.height;f=a?Math.max(a.y,f):f,this.dom.style.left=`${d}px`,this.dom.style.top=`${f}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Rn);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(tt).show){this.dom.style.display="none";return}if(e.state.facet(Rn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Da(this,wn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},wn=new WeakMap,La));var Xi=j.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function Qi(){return[Yi,Xi]}var Zi=class extends Fn{constructor(t){super();h(this,"oldCode");this.oldCode=t}toDOM(t){let n=ce("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=ce("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=ce("div","cm-floating-buttons"),a=t.state.facet(kt),i={...z,...a.keymaps},s=ce("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Pn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Hr(t)});let c=ce("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Pn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},es=class extends Fn{constructor(t){super();h(this,"complete");h(this,"abortController",null);h(this,"dom",null);h(this,"input",null);h(this,"loadingContainer",null);h(this,"helpInfo",null);h(this,"inputContainer",null);h(this,"form",null);h(this,"view",null);h(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});h(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[et.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});h(this,"handleSubmit",async t=>{var g;let n=this.view;if(!n)return;let r=n.state.facet(kt);t==null||t.stopPropagation();let o=n.state.field(tt),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),p=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(tt).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:w},effects:[et.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:u,to:u+w.length,oldCode:f,newCode:w}),dt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(g=r.onError)==null||g.call(r,w)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(Wr),r=t.state.field(Vr),o=ce("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=ce("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=ce("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=ce("div","cm-ai-loading-container");this.loadingContainer=s;let c=ce("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=ce("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);let d=ce("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let p=ce("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:Ct.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?p:f)}let g="";function w(){t.dispatch({effects:Nt.of(i.value)});let y=i.value.trim();y!==g&&(g=y,m(y))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ts(e){if(!e.prompt)throw Error("prompt function is required");let t={...z,...e.keymaps};return[kt.of(e),tt,Wr,St,Vr,Qi(),zi,Je.of([{key:t.showInput,run:$r}]),lt.highest([Je.of([{key:t.acceptEdit,run:Hr},{key:t.rejectEdit,run:qr}])]),ns,rs,os,as]}const ns=j.updateListener.of(e=>{let t=e.state.field(tt);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[et.of({show:!0,lineFrom:n,lineTo:r})]})}),rs=j.decorations.of(e=>{let t=e.state.field(St);return t?q.set([q.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):q.none}),os=j.decorations.compute([tt],e=>{let t=e.field(tt),n=e.facet(kt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push(q.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(q.widget({widget:new es(n.prompt),side:-1}).range(s))}}return q.set(r)}),as=$e.define({create(e){return q.none},update(e,t){let n=t.state.field(St);return n?q.set([q.widget({widget:new Zi(n.oldCode),block:!0}).range(n.from)]):q.none},provide:e=>j.decorations.from(e)});var is=Re(),F=Ua(md(),1),Gn=()=>({entries:new Map}),{valueAtom:Yr,useActions:Xr}=Or(Gn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(Ze),s=a.get(vd),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!c.has(C));y&&v&&m.set(w.name,w.usedBy)}let g;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(g=p.runElapsedTimeMs),m.size===0&&g===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:g,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Gn()):{...e,entries:u}},clear:()=>Gn()});Bn=function(){let e=yr(),{submit:t,clear:n}=Xr(),{entries:r}=re(Yr),o=ki(),a=Ur();return(0,F.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},Bi=function(e){let t=(0,is.c)(16),n=re(Yr),r=Xr(),o=Ur(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ss)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function ss(e){return e.cellId}async function ls(e){var s,c;let t=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-CvVVQqkx.js","./loro_wasm_bg-Bj93RhA2.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
+ var ud=Object.defineProperty;var Oa=oe=>{throw TypeError(oe)};var dd=(oe,z,he)=>z in oe?ud(oe,z,{enumerable:!0,configurable:!0,writable:!0,value:he}):oe[z]=he;var h=(oe,z,he)=>dd(oe,typeof z!="symbol"?z+"":z,he),fd=(oe,z,he)=>z.has(oe)||Oa("Cannot "+he);var Da=(oe,z,he)=>(fd(oe,z,"read from private field"),he?he.call(oe):z.get(oe)),_a=(oe,z,he)=>z.has(oe)?Oa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(oe):z.set(oe,he);import{s as Ua}from"./chunk-LvLJmgfZ.js";import{d as Ba,f as yr,i as Z,l as En,n as le,p as Dt,s as kn,u as re}from"./useEvent-WUlsM6MC.js";import{t as md}from"./react-Bj1aDYRI.js";import{$ as wr,B as pd,Ct as hd,Dt as gd,En as bd,Ft as yd,H as Pa,Ht as wd,Ir as vr,It as ja,Jt as Ma,Kt as Er,Mn as vd,Nn as Ed,P as kd,Pn as Nd,Qt as Cd,Rr as Sd,St as xd,T as Nn,Ur as Id,Ut as kr,V as Ra,W as Ga,Wr as Ja,Xt as Td,Zt as Ad,a as Wa,ar as Fd,b as Ze,bt as Nr,d as Va,et as Ld,fn as Od,gn as Dd,h as Cr,hn as _d,ht as Ud,in as Bd,jr as Pd,li as jd,ln as Md,lt as Rd,mn as Gd,o as Jd,qt as $a,si as Ha,st as Wd,tn as Cn,u as qa,vi as Sn,wt as _t,xt as xn,yn as Sr,yt as Vd,z as za,zn as $d,zr as Hd,__tla as qd}from"./cells-BusUaZSh.js";import{P as Ka,R as zd,k as Kd,w as Yd}from"./zod-H_cgTO0M.js";import{t as Re}from"./compiler-runtime-B3qBwwSJ.js";import{C as Xd,f as Qd,m as Zd,p as ef,t as tf,v as nf}from"./ai-model-dropdown-CS9BLOLl.js";import{a as Ya,c as xr,f as Ir,h as rf,m as ge,t as of}from"./useEventListener-CjXriKgk.js";import{t as Ut}from"./invariant-awXiPaF0.js";import{S as Tr,h as Xa,i as af,m as sf,o as lf,p as Qa,s as Za}from"./utils-CORJ8yYa.js";import{S as cf,d as uf,h as at,o as df,r as ei,x as bt,y as ti}from"./config-D9X9QKiL.js";import{a as ff,n as ni,t as mf}from"./switch-E6p3DgBh.js";import{n as pf}from"./globals-B_lwS1Rg.js";import{t as hf}from"./ErrorBoundary-dVj6GVNE.js";import{t as gf}from"./jsx-runtime-CP2fAiZX.js";import{r as Ar,t as it}from"./button-BmOH9agK.js";import{t as st}from"./cn-d_A4rA-x.js";import{Bt as yt,Ct as ri,Dt as bf,E as yf,Ft as In,H as oi,Ht as Bt,I as wf,J as l,Jt as me,Kt as vf,Lt as Tn,Mt as Ef,P as kf,St as Je,V as ai,Vt as Fr,Wt as lt,Yt as $e,Zt as Pt,_ as Nf,a as Cf,at as P,bt as Sf,ct as He,en as An,ft as xf,it as If,lt as Fn,m as Tf,pt as Af,rt as q,st as Ff,vt as Lf,w as Of,wt as Df,yt as _f,zt as Uf}from"./dist-DUY6xZX8.js";import{C as Bf,D as Pf,_ as jf,a as Mf,c as Rf,n as Lr,r as Gf,v as Jf,x as Wf,y as Vf}from"./dist-CU-Ty5ht.js";import{w as $f,__tla as Hf}from"./JsonOutput-COYZxr-s.js";import{c as ii,n as qf}from"./once-DRC4SgqY.js";import{t as Or}from"./createReducer-BcTiTw8T.js";import{a as zf,c as Kf,f as Ln,h as Yf,i as Xf,l as jt,n as si,o as Qf,t as Zf}from"./dist-D89dID68.js";import{t as em}from"./main-Cmx6WhDY.js";import{r as Mt,t as tm}from"./requests-DZy_SQ_v.js";import{t as nm}from"./createLucideIcon-BvP5LBIs.js";import{f as rm,r as li,t as om,__tla as am}from"./layout-CMmACzb7.js";import{M as im,O as sm,a as ci,c as lm,f as cm,k as ui,n as um,o as dm,r as di,s as fm,w as mm}from"./add-cell-with-ai-D7RcfIFT.js";import{t as pm}from"./x-yqLqiq5Q.js";import{r as hm,s as gm,u as bm}from"./download-BUXzyjEd.js";import{t as ym}from"./circle-check-CceJVe3L.js";import{r as wm,t as vm}from"./types-Cg2HXEUi.js";import{r as Em}from"./html-to-image-DjFNZcCI.js";import{n as km}from"./spinner-DCSoZZhh.js";import{t as fi}from"./save-I_RGv5p0.js";import{I as mi,P as Nm}from"./input-BPldEXfy.js";import{a as Cm,i as Sm,n as pi}from"./state-BqcLH_kp.js";import{t as xm}from"./preload-helper-TXkS1QI3.js";import{t as Im}from"./Deferred-D2igisxY.js";import{t as ct}from"./use-toast-BhMe50aT.js";import{n as Ye}from"./paths-bMgYkaP2.js";import{t as Tm}from"./session-DnMOyddG.js";import{r as Am}from"./useTheme-CwdqVOYu.js";import{t as On}from"./tooltip-DOQlecCr.js";import{c as hi,i as gi,n as bi,r as Fm}from"./dialog-BXzvlof-.js";import{O as Lm}from"./usePress-DsLftN-x.js";import{a as Om,r as Dm,t as _m}from"./popover-Cvl9xY6R.js";import{n as yi}from"./ImperativeModal-CRNJOvqT.js";import{r as Um}from"./errors-Bfogio62.js";import{t as Bm}from"./copy-DMCkK2TI.js";import{t as X}from"./extends-aq1t6BkR.js";import{t as Rt}from"./objectWithoutPropertiesLoose-Dxmp_Bd_.js";import{t as Pm}from"./kbd-CVbqSkT8.js";import{a as Dr}from"./useInstallPackage-jGxNsOWc.js";import{a as jm,o as Mm}from"./cell-link-B5vG68jv.js";import{n as Rm}from"./useAsyncData-DVm0BCFt.js";import{a as Gm,o as wi,r as Jm,s as vi,t as Wm}from"./command-B5q5uni4.js";import{a as Vm}from"./focus-ByrD76nS.js";import{a as Ei}from"./renderShortcut-BJEd-iA7.js";import{t as _r}from"./label-DmqkEXI4.js";import{n as Ur,t as ki}from"./useDeleteCell-DFKNGNeg.js";import{n as wt}from"./esm-BQUzYly2.js";import{n as $m,t as Hm}from"./icons-B9sHgc9n.js";import{t as Ni}from"./dist-DU2EJ7el.js";import{t as qm}from"./useSplitCell-B4bOrJRI.js";import{co as zm,do as Br,fo as Km,ft as Ym,go as vt,ho as Ci,lo as Pr,mo as Si,oo as Xm,po as Qm,so as xi,uo as Ii,__tla as Zm}from"./loro_wasm_bg-Bj93RhA2.js";import{t as ep}from"./ws-D2eS61zr.js";import{n as Ti,t as jr}from"./useInterval-Bpy5zYCc.js";let Dn,Mr,Ai,Rr,ut,Gr,be,Gt,Jt,Fi,Li,Oi,Di,_i,_n,Ui,Un,Bi,Bn,tp=Promise.all([(()=>{try{return qd}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return am}catch{}})(),(()=>{try{return Zm}catch{}})()]).then(async()=>{var wn,La,we,ve,Ee,ke,Ne,Ce,Se,xe,Ie,Te,Ae,Fe,Le,Oe,De,_e,Ue,Be,Pe;var oe=nm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var he=300;const kt=Bt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:he,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),et=me.define(),tt=$e.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(et))return n.value;return e}}),Nt=me.define(),Ct=me.define(),Wr=$e.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Nt)&&(n={...n,inputValue:r.value}),r.is(Ct)&&(n={...n,shouldFocus:r.value});return n}}),Wt=me.define(),St=$e.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=me.define(),Vr=$e.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var Pi=1;const $r=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<Pi)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[et.of({show:!0,lineFrom:i,lineTo:s}),Ct.of(!0),Nt.of("")],selection:yt.cursor(o.from)}),!0},Hr=e=>e.state.field(St)?(e.dispatch({effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1,qr=e=>{let t=e.state.field(St);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1};var Pn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function ji(){return navigator.platform.startsWith("Mac")?Pn.mac:navigator.platform.startsWith("Win")?Pn.windows:Pn.default}function jn(e){return e.replace("Mod",ji()).replace("-"," ").toUpperCase()}function ce(e,t){let n=document.createElement(e);return n.className=t,n}function Mi(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Vt=$e.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is($t));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),$t=me.define();function Ri(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Gi(t),side:1});return r.push(o.range(n)),q.set(r)}var Gi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
+ `).length-1}},Ji=class{constructor(e){h(this,"cache",new Map);h(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Wi=(e,t)=>He.fromClass(class{constructor(){h(this,"abortController",null);h(this,"cache");this.cache=new Ji(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:$t.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:$t.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Vi=He.fromClass(class{constructor(){h(this,"decorations");this.decorations=q.none}update(e){var n;let t=(n=e.state.field(Vt))==null?void 0:n.suggestion;if(!t){this.decorations=q.none;return}this.decorations=Ri(e.view,t)}},{decorations:e=>e.decorations});function $i(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:yt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:yt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Hi=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...$i(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},zr=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:$t.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},qi=Je.of([{key:"Tab",run:Hi},{key:"Escape",run:zr}]),Mn=Bt.define({combine:e=>e.at(-1)});function Kr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Mi(e.fetchFn,t);return[Vt,Mn.of(e),Wi(r,e),Vi,n?qi:[]]}const zi=P.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function Ki(e){var o,a;let t=e.state.facet(kt),n={...z,...t.keymaps},r=ce("div","cm-ai-tooltip").appendChild(ce("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${jn(n.showInput)}</span></span>`,(o=r.querySelector("span"))==null||o.addEventListener("mousedown",i=>{i.stopPropagation(),i.button===0&&i.preventDefault()}),(a=r.querySelector("span"))==null||a.addEventListener("click",i=>{i.preventDefault(),$r(e)}),r}const Rn=Bt.define({combine(e){return An(e,{render:Ki,hideOnBlur:!1})}}),Yi=He.fromClass((La=class{constructor(e){h(this,"view");h(this,"suppress");h(this,"dom");h(this,"mousedown",()=>{this.suppress=!0});h(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});h(this,"scroll",()=>{this.display(this.view)});h(this,"windowScroll",()=>{this.display(this.view)});_a(this,wn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from);if(!r)return;let o=e.dom.getBoundingClientRect(),a=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),i=r.top>=o.top&&r.top<=o.bottom&&r.left>=o.left&&r.left<=o.right,s=!a||r.top>=a.top&&r.top<=a.bottom&&r.left>=a.left&&r.left<=a.right;if(!i||!s){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let c=this.dom.getBoundingClientRect(),u=o.width-c.width,d=Math.min(r.left,u),f=r.top-c.height;f=a?Math.max(a.y,f):f,this.dom.style.left=`${d}px`,this.dom.style.top=`${f}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Rn);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(tt).show){this.dom.style.display="none";return}if(e.state.facet(Rn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Da(this,wn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},wn=new WeakMap,La));var Xi=P.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function Qi(){return[Yi,Xi]}var Zi=class extends Fn{constructor(t){super();h(this,"oldCode");this.oldCode=t}toDOM(t){let n=ce("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=ce("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=ce("div","cm-floating-buttons"),a=t.state.facet(kt),i={...z,...a.keymaps},s=ce("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${jn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Hr(t)});let c=ce("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${jn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},es=class extends Fn{constructor(t){super();h(this,"complete");h(this,"abortController",null);h(this,"dom",null);h(this,"input",null);h(this,"loadingContainer",null);h(this,"helpInfo",null);h(this,"inputContainer",null);h(this,"form",null);h(this,"view",null);h(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});h(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[et.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});h(this,"handleSubmit",async t=>{var g;let n=this.view;if(!n)return;let r=n.state.facet(kt);t==null||t.stopPropagation();let o=n.state.field(tt),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),p=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(tt).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:w},effects:[et.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:u,to:u+w.length,oldCode:f,newCode:w}),dt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(g=r.onError)==null||g.call(r,w)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(Wr),r=t.state.field(Vr),o=ce("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=ce("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=ce("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=ce("div","cm-ai-loading-container");this.loadingContainer=s;let c=ce("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=ce("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);let d=ce("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let p=ce("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:Ct.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?p:f)}let g="";function w(){t.dispatch({effects:Nt.of(i.value)});let y=i.value.trim();y!==g&&(g=y,m(y))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ts(e){if(!e.prompt)throw Error("prompt function is required");let t={...z,...e.keymaps};return[kt.of(e),tt,Wr,St,Vr,Qi(),zi,Je.of([{key:t.showInput,run:$r}]),lt.highest([Je.of([{key:t.acceptEdit,run:Hr},{key:t.rejectEdit,run:qr}])]),ns,rs,os,as]}const ns=P.updateListener.of(e=>{let t=e.state.field(tt);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[et.of({show:!0,lineFrom:n,lineTo:r})]})}),rs=P.decorations.of(e=>{let t=e.state.field(St);return t?q.set([q.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):q.none}),os=P.decorations.compute([tt],e=>{let t=e.field(tt),n=e.facet(kt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push(q.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(q.widget({widget:new es(n.prompt),side:-1}).range(s))}}return q.set(r)}),as=$e.define({create(e){return q.none},update(e,t){let n=t.state.field(St);return n?q.set([q.widget({widget:new Zi(n.oldCode),block:!0}).range(n.from)]):q.none},provide:e=>P.decorations.from(e)});var is=Re(),F=Ua(md(),1),Gn=()=>({entries:new Map}),{valueAtom:Yr,useActions:Xr}=Or(Gn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(Ze),s=a.get(vd),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!c.has(C));y&&v&&m.set(w.name,w.usedBy)}let g;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(g=p.runElapsedTimeMs),m.size===0&&g===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:g,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Gn()):{...e,entries:u}},clear:()=>Gn()});Bn=function(){let e=yr(),{submit:t,clear:n}=Xr(),{entries:r}=re(Yr),o=ki(),a=Ur();return(0,F.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},Bi=function(e){let t=(0,is.c)(16),n=re(Yr),r=Xr(),o=Ur(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ss)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function ss(e){return e.cellId}async function ls(e){var s,c;let t=`
4
4
  ${e.codeBefore}
5
5
  <rewrite_this>
6
6
  ${e.selection}
7
7
  </rewrite_this>
8
8
  ${e.codeAfter}
9
- `.trim(),n=ei();await ti();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:e.prompt,code:t,selectedText:e.selection,includeOtherCode:"",language:e.language})}),o=((s=e.selection.match(/^\s*/))==null?void 0:s[0])||"",a=(c=r.body)==null?void 0:c.getReader();if(!a)throw Error("Failed to get response reader");let i="";for(;;){let{done:u,value:d}=await a.read();if(u)break;i+=new TextDecoder().decode(d)}return i.startsWith(o)||(i=o+i),i}var b=Ua(gf(),1),cs=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],Jn;function us(){let e=async r=>{let o=Z.get(Tr),{saveUserConfig:a}=tm();await a({config:{runtime:{auto_reload:r}}}).then(()=>Z.set(Tr,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,b.jsxs)(b.Fragment,{children:["Module reload mode set to ",(0,b.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await e("lazy")},title:"Module reload",description:(0,b.jsxs)(b.Fragment,{children:["Module reload mode set to ",(0,b.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await e("off")},title:"Module reload",description:(0,b.jsx)(b.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,b.jsxs)(b.Fragment,{children:["Shell commands are not directly supported.",(0,b.jsx)("br",{}),"Use ",(0,b.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...cs.map(r=>({match:r,onMatch:()=>{},title:(0,b.jsx)(Bm,{className:"inline",children:r}),description:(0,b.jsxs)(b.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,b.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(t.map(r=>[r.match,r]));return j.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),Jn?Jn.upsert({title:c.title,description:c.description}):Jn=ct({title:c.title,description:c.description}))}})}var ds=new Set(["Escape","Alt-`"]);function fs(){let e=Kf.filter(t=>!ds.has(t.key));return lt.highest(Je.of([...e,{key:"Ctrl-y",run:t=>Sn(t)?si(t):!1},{key:"Ctrl-n",run:t=>Sn(t)?Ln(!0)(t):!1},{key:"Ctrl-p",run:t=>Sn(t)?Ln(!1)(t):!1}]))}const Wn=me.define(),Vn=me.define(),$n=me.define();function K(e,t){if(!e)throw Error(t)}var ms=3402823466385289e23,ps=-3402823466385289e23,hs=4294967295,gs=2147483647,bs=-2147483648;function Ht(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>gs||e<bs)throw Error("invalid int 32: "+e)}function Hn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>hs||e<0)throw Error("invalid uint 32: "+e)}function Qr(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>ms||e<ps))throw Error("invalid float 32: "+e)}var Zr=Symbol("@bufbuild/protobuf/enum-type");function ys(e){let t=e[Zr];return K(t,"missing enum type on enum object"),t}function eo(e,t,n,r){e[Zr]=to(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function to(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=no(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function ws(e,t,n){let r={};for(let o of t){let a=no(o);r[a.localName]=a.no,r[a.no]=a.localName}return eo(r,e,t,n),r}function no(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Q=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,(e==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function vs(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new Q),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Es(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function qn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var qt=4294967296;function ro(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=qt&&(o+=r/qt|0,r%=qt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?ao(r,o):zn(r,o)}function ks(e,t){let n=zn(e,t),r=n.hi&2147483648;r&&(n=ao(n.lo,n.hi));let o=oo(n.lo,n.hi);return r?"-"+o:o}function oo(e,t){if({lo:e,hi:t}=Ns(e,t),t<=2097151)return String(qt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+io(i)+io(a)}function Ns(e,t){return{lo:e>>>0,hi:t>>>0}}function zn(e,t){return{lo:e|0,hi:t|0}}function ao(e,t){return t=~t,e?e=~e+1:t+=1,zn(e,t)}var io=e=>{let t=String(e);return"0000000".slice(t.length)+t};function so(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Cs(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function Ss(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>K(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>K(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),ro(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),ro(r)},dec(r,o){return ks(r,o)},uDec(r,o){return oo(r,o)}}}const V=Ss();var E;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(E||(E={}));var nt;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(nt||(nt={}));function Xe(e,t,n){if(t===n)return!0;if(e==E.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return t==n}return!1}function ft(e,t){switch(e){case E.BOOL:return!1;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return t==0?V.zero:"0";case E.DOUBLE:case E.FLOAT:return 0;case E.BYTES:return new Uint8Array;case E.STRING:return"";default:return 0}}function lo(e,t){switch(e){case E.BOOL:return t===!1;case E.STRING:return t==="";case E.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var ee;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(ee||(ee={}));var xs=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Hn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Ht(e),so(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Qr(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Hn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Ht(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Ht(e),e=(e<<1^e>>31)>>>0,so(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return qn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return qn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return qn(t.lo,t.hi,this.buf),this}},Is=class{constructor(e,t){this.varint64=Es,this.uint32=Cs,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case ee.Varint:for(;this.buf[this.pos++]&128;);break;case ee.Bit64:this.pos+=4;case ee.Bit32:this.pos+=4;break;case ee.LengthDelimited:let r=this.uint32();this.pos+=r;break;case ee.StartGroup:for(;;){let[o,a]=this.tag();if(a===ee.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}break;default:throw Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ts(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function co(e){let t=e.field.localName,n=Object.create(null);return n[t]=As(e),[n,()=>n[t]]}function As(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Fs(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}var qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),zt=[];for(let e=0;e<qe.length;e++)zt[qe[e].charCodeAt(0)]=e;zt[45]=qe.indexOf("+"),zt[95]=qe.indexOf("/");const Kt={dec(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&--t;let n=new Uint8Array(t),r=0,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=zt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
10
- `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=qe[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=qe[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=qe[o|r>>6],t+=qe[r&63],n=0;break}return n&&(t+=qe[o],t+="=",n==1&&(t+="=")),t}};function Ls(e,t,n){fo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Fs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=co(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function Os(e,t,n,r){fo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(uo(e,t)){let u=e.getType().runtime.bin.listUnknownFields(e).filter(d=>d.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let d of u)e.getType().runtime.bin.onUnknownField(e,d.no,d.wireType,d.data)}let i=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[u,d]=c.tag(),f=c.skip(d,u);e.getType().runtime.bin.onUnknownField(e,u,d,f)}}function uo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function fo(e,t){K(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function mo(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!lo(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function po(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function ze(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(Q.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function ho(e,t){return ze(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}E.DOUBLE,E.FLOAT,E.INT64,E.UINT64,E.INT32,E.UINT32,E.BOOL,E.STRING,E.BYTES;var go={ignoreUnknownFields:!1},bo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Ds(e){return e?Object.assign(Object.assign({},go),e):go}function _s(e){return e?Object.assign(Object.assign({},bo),e):bo}var Yt=Symbol(),Xt=Symbol();function Us(){return{makeReadOptions:Ds,makeWriteOptions:_s,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${We(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let u=o.get(c.oneof);if(u!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${u}", "${i}"`);o.set(c.oneof,i)}yo(r,s,c,n,e)}else{let u=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let d=a.findExtension(i.substring(1,i.length-1));if(d&&d.extendee.typeName==e.typeName){u=!0;let[f,p]=co(d);yo(f,s,d.field,n,d),Os(r,d,p(),n)}}if(!u&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!mo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!js(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=wo(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&uo(e,s)){let c=Ls(e,s,t),u=wo(s.field,c,t);u!==void 0&&(r[s.field.jsonName]=u)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return xt(e,t,n??nt.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||lo(e,t)))return Qt(e,t)},debug:We}}function We(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function yo(e,t,n,r,o){let a=n.localName;if(n.repeated){if(K(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=Kn(n.T,s,r.ignoreUnknownFields,!0);c!==Xt&&i.push(c);break;case"scalar":try{i.push(xt(n.T,s,n.L,!0))}catch(u){let d=`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(s)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let u;try{u=Bs(n.K,s)}catch(d){let f=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw d instanceof Error&&d.message.length>0&&(f+=`: ${d.message}`),Error(f)}switch(n.V.kind){case"message":i[u]=n.V.T.fromJson(c,r);break;case"enum":let d=Kn(n.V.T,c,r.ignoreUnknownFields,!0);d!==Xt&&(i[u]=d);break;case"scalar":try{i[u]=xt(n.V.T,c,nt.BIGINT,!0)}catch(f){let p=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw f instanceof Error&&f.message.length>0&&(p+=`: ${f.message}`),Error(p)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];ze(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=Kn(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Yt:po(n,e);break;case Xt:break;default:e[a]=c;break}break;case"scalar":try{let u=xt(n.T,t,n.L,!1);u===Yt?po(n,e):e[a]=u}catch(u){let d=`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}break}}function Bs(e,t){if(e===E.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return xt(e,t,nt.BIGINT,!0).toString()}function xt(e,t,n,r){if(t===null)return r?ft(e,n):Yt;switch(e){case E.DOUBLE:case E.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return 1/0;if(t==="-Infinity")return-1/0;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==E.FLOAT&&Qr(o),o;case E.INT32:case E.FIXED32:case E.SFIXED32:case E.SINT32:case E.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==E.UINT32||e==E.FIXED32?Hn(a):Ht(a),a;case E.INT64:case E.SFIXED64:case E.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case E.FIXED64:case E.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case E.BOOL:if(typeof t!="boolean")break;return t;case E.STRING:if(typeof t!="string")break;return t;case E.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Kt.dec(t)}throw Error()}function Kn(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Yt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return Xt;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${We(t)}`)}function js(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function wo(e,t,n){if(e.kind=="map"){K(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=Qt(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=Yn(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){K(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(Qt(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(Yn(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return Qt(e.T,t);case"enum":return Yn(e.T,t,n.enumAsInteger);case"message":return ho(e.T,t).toJson(n)}}function Yn(e,t,n){var r;return K(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function Qt(e,t){switch(e){case E.INT32:case E.SFIXED32:case E.SINT32:case E.FIXED32:case E.UINT32:return K(typeof t=="number"),t;case E.FLOAT:case E.DOUBLE:return K(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case E.STRING:return K(typeof t=="string"),t;case E.BOOL:return K(typeof t=="boolean"),t;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return K(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case E.BYTES:return K(t instanceof Uint8Array),Kt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),vo={readUnknownFields:!0,readerFactory:e=>new Is(e)},Eo={writeUnknownFields:!0,writerFactory:()=>new xs};function Ps(e){return e?Object.assign(Object.assign({},vo),e):vo}function Ms(e){return e?Object.assign(Object.assign({},Eo),e):Eo}function Rs(){return{makeReadOptions:Ps,makeWriteOptions:Ms,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==ee.EndGroup));){let u=a.fields.find(s);if(!u){let d=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,d);continue}ko(e,t,u,c,r)}if(o&&(c!=ee.EndGroup||s!==n))throw Error("invalid end group tag")},readField:ko,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!mo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}No(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&No(e,t,n,r)}}}function ko(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?E.INT32:n.T,c=en;if(n.kind=="scalar"&&n.L>0&&(c=Js),a){let p=e[i];if(r==ee.LengthDelimited&&s!=E.STRING&&s!=E.BYTES){let m=t.uint32()+t.pos;for(;t.pos<m;)p.push(c(t,s))}else p.push(c(t,s))}else e[i]=c(t,s);break;case"message":let u=n.T;a?e[i].push(Zt(t,new u,o,n)):ze(e[i])?Zt(t,e[i],o,n):(e[i]=Zt(t,new u,o,n),u.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=u.fieldWrapper.unwrapField(e[i])));break;case"map":let[d,f]=Gs(n,t,o);e[i][d]=f;break}}function Zt(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function Gs(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=en(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=en(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=Zt(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,nt.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,nt.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function Js(e,t){let n=en(e,t);return typeof n=="bigint"?n.toString():n}function en(e,t){switch(t){case E.STRING:return e.string();case E.BOOL:return e.bool();case E.DOUBLE:return e.double();case E.FLOAT:return e.float();case E.INT32:return e.int32();case E.INT64:return e.int64();case E.UINT64:return e.uint64();case E.FIXED64:return e.fixed64();case E.BYTES:return e.bytes();case E.FIXED32:return e.fixed32();case E.SFIXED32:return e.sfixed32();case E.SFIXED64:return e.sfixed64();case E.SINT64:return e.sint64();case E.UINT32:return e.uint32();case E.SINT32:return e.sint32()}}function No(e,t,n,r){K(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?E.INT32:e.T;if(o)if(K(Array.isArray(t)),e.packed)Vs(n,a,e.no,t);else for(let i of t)It(n,a,e.no,i);else It(n,a,e.no,t);break;case"message":if(o){K(Array.isArray(t));for(let i of t)Co(n,r,e,i)}else Co(n,r,e,t);break;case"map":K(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))Ws(n,r,e,i,s);break}}function Ws(e,t,n,r,o){e.tag(n.no,ee.LengthDelimited),e.fork();let a=r;switch(n.K){case E.INT32:case E.FIXED32:case E.UINT32:case E.SFIXED32:case E.SINT32:a=Number.parseInt(r);break;case E.BOOL:K(r=="true"||r=="false"),a=r=="true";break}switch(It(e,n.K,1,a),n.V.kind){case"scalar":It(e,n.V.T,2,o);break;case"enum":It(e,E.INT32,2,o);break;case"message":K(o!==void 0),e.tag(2,ee.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Co(e,t,n,r){let o=ho(n.T,r);n.delimited?e.tag(n.no,ee.StartGroup).raw(o.toBinary(t)).tag(n.no,ee.EndGroup):e.tag(n.no,ee.LengthDelimited).bytes(o.toBinary(t))}function It(e,t,n,r){K(r!==void 0);let[o,a]=So(t);e.tag(n,o)[a](r)}function Vs(e,t,n,r){if(!r.length)return;e.tag(n,ee.LengthDelimited).fork();let[,o]=So(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function So(e){let t=ee.Varint;switch(e){case E.BYTES:case E.STRING:t=ee.LengthDelimited;break;case E.DOUBLE:case E.FIXED64:case E.SFIXED64:t=ee.Bit64;break;case E.FIXED32:case E.SFIXED32:case E.FLOAT:t=ee.Bit32;break}let n=E[e].toLowerCase();return[t,n]}function $s(){return{setEnumType:eo,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),u=i[o].value;c&&c.kind=="message"&&!ze(u,c.T)?u=new c.T(u):c&&c.kind==="scalar"&&c.T===E.BYTES&&(u=Tt(u)),a[o]={case:s,value:u};break;case"scalar":case"enum":let d=i[o];r.T===E.BYTES&&(d=r.repeated?d.map(Tt):Tt(d)),a[o]=d;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===E.BYTES)for(let[m,g]of Object.entries(i[o]))a[o][m]=Tt(g);else Object.assign(a[o],i[o]);break;case"message":let p=r.V.T;for(let m of Object.keys(i[o])){let g=i[o][m];p.fieldWrapper||(g=new p(g)),a[o][m]=g}break}break;case"message":let f=r.T;if(r.repeated)a[o]=i[o].map(p=>ze(p,f)?p:new f(p));else{let p=i[o];f.fieldWrapper?f.typeName==="google.protobuf.BytesValue"?a[o]=Tt(p):a[o]=p:a[o]=ze(p,f)?p:new f(p)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Xe(r.T,i,a[s]));case"enum":return o.every((i,s)=>Xe(E.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!ze(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!ze(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Xe(E.INT32,o,a);case"scalar":return Xe(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Xe(E.INT32,o.value,a.value);case"scalar":return Xe(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let u=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let d=r.V.T;return u.every(p=>d.equals(o[p],a[p]));case"enum":return u.every(p=>Xe(E.INT32,o[p],a[p]));case"scalar":let f=r.V.T;return u.every(p=>Xe(f,o[p],a[p]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(tn);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=tn(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:tn(a.value)}:{case:void 0}:tn(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function tn(e){if(e===void 0)return e;if(ze(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Tt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Hs(e,t,n){return{syntax:e,json:Us(),bin:Rs(),util:Object.assign(Object.assign({},$s()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return vs(this,r,o,a)},makeEnum:ws,makeEnumType:to,getEnumType:ys,makeExtension(r,o,a){return Ts(this,r,o,a)}}}var qs=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function xo(e,t){let n=Io(e);return t?n:Zs(Qs(n))}function zs(e){return xo(e,!1)}const Ks=Io;function Io(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var Ys=new Set(["constructor","toString","toJSON","valueOf"]),Xs=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),To=e=>`${e}$`,Qs=e=>Xs.has(e)?To(e):e;const Zs=e=>Ys.has(e)?To(e):e;var el=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=zs(e)}addField(e){K(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function tl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=xo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??Ks(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??nt.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=E.BYTES&&o.T!=E.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new el(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const N=Hs("proto3",e=>new qs(e,t=>tl(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=ft(t.T,t.L);break;case"message":break}}});var ye;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ye||(ye={}));var Ao;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(Ao||(Ao={}));var Xn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(Xn||(Xn={})),N.util.setEnumType(Xn,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var nn;(function(e){e[e.CODEIUM=0]="CODEIUM"})(nn||(nn={})),N.util.setEnumType(nn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var rn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",e[e.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",e[e.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",e[e.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(rn||(rn={})),N.util.setEnumType(rn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var on;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",e[e.CACHE=2]="CACHE",e[e.NETWORK=3]="NETWORK"})(on||(on={})),N.util.setEnumType(on,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var rt;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.C=1]="C",e[e.CLOJURE=2]="CLOJURE",e[e.COFFEESCRIPT=3]="COFFEESCRIPT",e[e.CPP=4]="CPP",e[e.CSHARP=5]="CSHARP",e[e.CSS=6]="CSS",e[e.CUDACPP=7]="CUDACPP",e[e.DOCKERFILE=8]="DOCKERFILE",e[e.GO=9]="GO",e[e.GROOVY=10]="GROOVY",e[e.HANDLEBARS=11]="HANDLEBARS",e[e.HASKELL=12]="HASKELL",e[e.HCL=13]="HCL",e[e.HTML=14]="HTML",e[e.INI=15]="INI",e[e.JAVA=16]="JAVA",e[e.JAVASCRIPT=17]="JAVASCRIPT",e[e.JSON=18]="JSON",e[e.JULIA=19]="JULIA",e[e.KOTLIN=20]="KOTLIN",e[e.LATEX=21]="LATEX",e[e.LESS=22]="LESS",e[e.LUA=23]="LUA",e[e.MAKEFILE=24]="MAKEFILE",e[e.MARKDOWN=25]="MARKDOWN",e[e.OBJECTIVEC=26]="OBJECTIVEC",e[e.OBJECTIVECPP=27]="OBJECTIVECPP",e[e.PERL=28]="PERL",e[e.PHP=29]="PHP",e[e.PLAINTEXT=30]="PLAINTEXT",e[e.PROTOBUF=31]="PROTOBUF",e[e.PBTXT=32]="PBTXT",e[e.PYTHON=33]="PYTHON",e[e.R=34]="R",e[e.RUBY=35]="RUBY",e[e.RUST=36]="RUST",e[e.SASS=37]="SASS",e[e.SCALA=38]="SCALA",e[e.SCSS=39]="SCSS",e[e.SHELL=40]="SHELL",e[e.SQL=41]="SQL",e[e.STARLARK=42]="STARLARK",e[e.SWIFT=43]="SWIFT",e[e.TSX=44]="TSX",e[e.TYPESCRIPT=45]="TYPESCRIPT",e[e.VISUALBASIC=46]="VISUALBASIC",e[e.VUE=47]="VUE",e[e.XML=48]="XML",e[e.XSL=49]="XSL",e[e.YAML=50]="YAML",e[e.SVELTE=51]="SVELTE",e[e.TOML=52]="TOML",e[e.DART=53]="DART",e[e.RST=54]="RST",e[e.OCAML=55]="OCAML",e[e.CMAKE=56]="CMAKE",e[e.PASCAL=57]="PASCAL",e[e.ELIXIR=58]="ELIXIR",e[e.FSHARP=59]="FSHARP",e[e.LISP=60]="LISP",e[e.MATLAB=61]="MATLAB",e[e.POWERSHELL=62]="POWERSHELL",e[e.SOLIDITY=63]="SOLIDITY",e[e.ADA=64]="ADA",e[e.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(rt||(rt={})),N.util.setEnumType(rt,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var nl=(we=class extends Q{constructor(n){super();h(this,"completionId","");h(this,"text","");h(this,"prefix","");h(this,"stop","");h(this,"score",0);h(this,"tokens",[]);h(this,"decodedTokens",[]);h(this,"probabilities",[]);h(this,"adjustedProbabilities",[]);h(this,"generatedLength",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new we().fromBinary(n,r)}static fromJson(n,r){return new we().fromJson(n,r)}static fromJsonString(n,r){return new we().fromJsonString(n,r)}static equals(n,r){return N.util.equals(we,n,r)}},h(we,"runtime",N),h(we,"typeName","exa.codeium_common_pb.Completion"),h(we,"fields",N.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),we),Fo=(ve=class extends Q{constructor(n){super();h(this,"ideName","");h(this,"ideVersion","");h(this,"extensionName","");h(this,"extensionVersion","");h(this,"apiKey","");h(this,"locale","");h(this,"sessionId","");h(this,"requestId",V.zero);h(this,"userAgent","");h(this,"url","");h(this,"authSource",nn.CODEIUM);N.util.initPartial(n,this)}static fromBinary(n,r){return new ve().fromBinary(n,r)}static fromJson(n,r){return new ve().fromJson(n,r)}static fromJsonString(n,r){return new ve().fromJsonString(n,r)}static equals(n,r){return N.util.equals(ve,n,r)}},h(ve,"runtime",N),h(ve,"typeName","exa.codeium_common_pb.Metadata"),h(ve,"fields",N.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:N.getEnumType(nn)}])),ve),rl=(Ee=class extends Q{constructor(n){super();h(this,"tabSize",V.zero);h(this,"insertSpaces",!1);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ee,n,r)}},h(Ee,"runtime",N),h(Ee,"typeName","exa.codeium_common_pb.EditorOptions"),h(Ee,"fields",N.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ee);ke=class extends Q{constructor(n){super();h(this,"eventType",rn.UNSPECIFIED);h(this,"eventJson","");h(this,"timestampUnixMs",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return N.util.equals(ke,n,r)}},h(ke,"runtime",N),h(ke,"typeName","exa.codeium_common_pb.Event"),h(ke,"fields",N.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:N.getEnumType(rn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var ol=class extends Fn{constructor(t,n){super();h(this,"index");h(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const an=Bt.define({combine(e){return An(e,{language:rt.TYPESCRIPT,timeout:150,widgetClass:ol,alwaysOn:!0},{})}}),Lo=Bt.define({combine(e){return An(e,{override:()=>[]},{})}});var al=q.mark({class:"cm-ghostText"});const ot=$e.define({create(e){return null},update(e,t){var r;let n=t.state.facet(an);for(let o of t.effects){if(o.is(Wn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(u=>al.range(u.absoluteStartPos,u.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:q.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[q.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Vn)||o.is($n))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>j.decorations.from(e,t=>(t==null?void 0:t.decorations)||q.none)}),pt=In.define(),sn=In.define();var R;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(R||(R={}));function Qn(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var ln;function il(e){if(!ln){ln={};for(let t of Object.values(R))typeof t!="string"&&(ln[Qn(t)]=t)}return ln[e]}var pe=class Et extends Error{constructor(t,n=R.Unknown,r,o,a){super(sl(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Et?t:t instanceof Error?t.name=="AbortError"?new Et(t.message,R.Canceled):new Et(t.message,n,void 0,void 0,t):new Et(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Et.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function sl(e,t){return e.length?`[${Qn(t)}] ${e}`:`[${Qn(t)}]`}function ll(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function cl(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function ul(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let u=1;u<5;u++)c=(c<<8)+n[u];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new pe("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function dl(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var fl=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(u){a({value:u,done:s})},i)}},At=function(e){return this instanceof At?(this.v=e,this):new At(e)},ml=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof At?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}},pl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:At(e[o](i)),done:!1}:a?a(i):i}:a}};function hl(e){return ml(this,arguments,function*(){yield At(yield*pl(fl(e)))})}var Oo=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(u){a({value:u,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},gl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},bl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof ht?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}};function yl(e,t){return cl(e,n=>{switch(n.kind){case ye.Unary:return vl(t,e,n);case ye.ServerStreaming:return El(t,e,n);case ye.ClientStreaming:return kl(t,e,n);case ye.BiDiStreaming:return Nl(t,e,n);default:return null}})}function wl(e,t){return yl(e,t)}function vl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function El(e,t,n){return function(r,o){return Do(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,hl([r]),o==null?void 0:o.contextValues),o)}}function kl(e,t,n){return async function(r,o){var a,i,s,c,u,d;let f=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(u=o==null?void 0:o.onHeader)==null||u.call(o,f.header);let p,m=0;try{for(var g=!0,w=Oo(f.message),y;y=await w.next(),a=y.done,!a;g=!0)c=y.value,g=!1,p=c,m++}catch(v){i={error:v}}finally{try{!g&&!a&&(s=w.return)&&await s.call(w)}finally{if(i)throw i.error}}if(!p)throw new pe("protocol error: missing response message",R.Unimplemented);if(m>1)throw new pe("protocol error: received extra messages for client streaming method",R.Unimplemented);return(d=o==null?void 0:o.onTrailer)==null||d.call(o,f.trailer),p}}function Nl(e,t,n){return function(r,o){return Do(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Do(e,t){let n=(function(){return bl(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*gl(Oo(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Cl(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(_o(this));for(let o of n)o.removeEventListener("abort",r)}return t}function Sl(e){let t=new AbortController,n=()=>{t.abort(new pe("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function _o(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=Error("This operation was aborted");return t.name="AbortError",t}function Uo(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Bo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function jo(e,t){return t instanceof e?t:new e(t)}function xl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:jo(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function Po(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function Mo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ro(e,t,n,r){let o=t?Go(e.I,r):Jo(e.I,n);return{parse:(t?Go(e.O,r):Jo(e.O,n)).parse,serialize:o.serialize}}function Go(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new pe(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new pe(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Jo(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=Mo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw pe.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw pe.from(i,R.Internal)}}}}const Il=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Tl(e){let t=e==null?void 0:e.match(Il);if(t)return{stream:!!t[1],binary:!!t[3]}}function Wo(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=il(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new pe(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Kt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Al(e){let t=new pe("invalid end stream",R.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||!n||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Wo(n.error,r,t):void 0}}const cn="Content-Type",Vo="Content-Encoding",$o="Connect-Protocol-Version";function Fl(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Ho(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function qo(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(cn,e==ye.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set($o,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function zo(e,t,n,r){let o=r.get(cn),a=Tl(o);if(n!==200){let s=new pe(`HTTP ${n}`,Fl(n),r);if(e==ye.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ye.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new pe(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Ll="application/";function Ol(e,t){return t?Kt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function Dl(e,t,n){let r="?connect=v1",o=e.header.get(cn);(o==null?void 0:o.indexOf(Ll))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Vo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+Ol(t,n);let i=e.url+r,s=new Headers(e.header);return[$o,cn,"Content-Length",Vo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function _l(e){let t=Po(e.next,e.interceptors),[n,r,o]=Ko(e);return t(Object.assign(Object.assign({},e.req),{message:jo(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function Ul(e){let t=Po(e.next,e.interceptors),[n,r,o]=Ko(e),a=Object.assign(Object.assign({},e.req),{message:xl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let u=e.req.message[Symbol.asyncIterator]();i||(s=u.throw)==null||s.call(u,this.reason).catch(()=>{}),(c=u.return)==null||c.call(u).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(u=>(u.done==1&&(i=!0,o()),u),r)}}}}}),r)}function Ko(e){let{signal:t,cleanup:n}=Sl(e.timeoutMs),r=Cl(e.signal,t);return[r.signal,function(o){let a=pe.from(t.aborted?_o(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var un;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INACTIVE=1]="INACTIVE",e[e.PROCESSING=2]="PROCESSING",e[e.SUCCESS=3]="SUCCESS",e[e.WARNING=4]="WARNING",e[e.ERROR=5]="ERROR"})(un||(un={})),N.util.setEnumType(un,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var Yo;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(Yo||(Yo={})),N.util.setEnumType(Yo,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var dn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(dn||(dn={})),N.util.setEnumType(dn,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var Bl=(Ne=class extends Q{constructor(n){super();h(this,"threshold",0);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ne,n,r)}},h(Ne,"runtime",N),h(Ne,"typeName","exa.language_server_pb.MultilineConfig"),h(Ne,"fields",N.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ne),jl=(Ce=class extends Q{constructor(n){super();h(this,"metadata");h(this,"document");h(this,"editorOptions");h(this,"otherDocuments",[]);h(this,"experimentConfig");h(this,"modelName","");h(this,"multilineConfig");N.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ce,n,r)}},h(Ce,"runtime",N),h(Ce,"typeName","exa.language_server_pb.GetCompletionsRequest"),h(Ce,"fields",N.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:Xo},{no:3,name:"editor_options",kind:"message",T:rl},{no:5,name:"other_documents",kind:"message",T:Xo,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:Wl},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:Bl}])),Ce),Pl=(Se=class extends Q{constructor(n){super();h(this,"state");h(this,"completionItems",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Se,n,r)}},h(Se,"runtime",N),h(Se,"typeName","exa.language_server_pb.GetCompletionsResponse"),h(Se,"fields",N.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:Vl},{no:2,name:"completion_items",kind:"message",T:zl,repeated:!0}])),Se),Ml=(xe=class extends Q{constructor(n){super();h(this,"metadata");h(this,"completionId","");N.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(xe,n,r)}},h(xe,"runtime",N),h(xe,"typeName","exa.language_server_pb.AcceptCompletionRequest"),h(xe,"fields",N.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),xe),Rl=(Ie=class extends Q{constructor(t){super(),N.util.initPartial(t,this)}static fromBinary(t,n){return new Ie().fromBinary(t,n)}static fromJson(t,n){return new Ie().fromJson(t,n)}static fromJsonString(t,n){return new Ie().fromJsonString(t,n)}static equals(t,n){return N.util.equals(Ie,t,n)}},h(Ie,"runtime",N),h(Ie,"typeName","exa.language_server_pb.AcceptCompletionResponse"),h(Ie,"fields",N.util.newFieldList(()=>[])),Ie),Gl=(Te=class extends Q{constructor(t){super(),N.util.initPartial(t,this)}static fromBinary(t,n){return new Te().fromBinary(t,n)}static fromJson(t,n){return new Te().fromJson(t,n)}static fromJsonString(t,n){return new Te().fromJsonString(t,n)}static equals(t,n){return N.util.equals(Te,t,n)}},h(Te,"runtime",N),h(Te,"typeName","exa.language_server_pb.GetAuthTokenRequest"),h(Te,"fields",N.util.newFieldList(()=>[])),Te),Jl=(Ae=class extends Q{constructor(n){super();h(this,"authToken","");h(this,"uuid","");N.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ae,n,r)}},h(Ae,"runtime",N),h(Ae,"typeName","exa.language_server_pb.GetAuthTokenResponse"),h(Ae,"fields",N.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ae),Zn=(Fe=class extends Q{constructor(n){super();h(this,"row",V.zero);h(this,"col",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Fe,n,r)}},h(Fe,"runtime",N),h(Fe,"typeName","exa.language_server_pb.DocumentPosition"),h(Fe,"fields",N.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),Fe),Xo=(Le=class extends Q{constructor(n){super();h(this,"absolutePath","");h(this,"relativePath","");h(this,"text","");h(this,"editorLanguage","");h(this,"language",rt.UNSPECIFIED);h(this,"cursorOffset",V.zero);h(this,"cursorPosition");h(this,"lineEnding","");N.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Le,n,r)}},h(Le,"runtime",N),h(Le,"typeName","exa.language_server_pb.Document"),h(Le,"fields",N.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:N.getEnumType(rt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:Zn},{no:7,name:"line_ending",kind:"scalar",T:9}])),Le),Wl=(Oe=class extends Q{constructor(n){super();h(this,"forceEnableExperiments",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Oe,n,r)}},h(Oe,"runtime",N),h(Oe,"typeName","exa.language_server_pb.ExperimentConfig"),h(Oe,"fields",N.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:N.getEnumType(Xn),repeated:!0}])),Oe),Vl=(De=class extends Q{constructor(n){super();h(this,"state",un.UNSPECIFIED);h(this,"message","");N.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return N.util.equals(De,n,r)}},h(De,"runtime",N),h(De,"typeName","exa.language_server_pb.State"),h(De,"fields",N.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:N.getEnumType(un)},{no:2,name:"message",kind:"scalar",T:9}])),De),$l=(_e=class extends Q{constructor(n){super();h(this,"startOffset",V.zero);h(this,"endOffset",V.zero);h(this,"startPosition");h(this,"endPosition");N.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return N.util.equals(_e,n,r)}},h(_e,"runtime",N),h(_e,"typeName","exa.language_server_pb.Range"),h(_e,"fields",N.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:Zn},{no:4,name:"end_position",kind:"message",T:Zn}])),_e),Hl=(Ue=class extends Q{constructor(n){super();h(this,"text","");h(this,"deltaCursorOffset",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ue,n,r)}},h(Ue,"runtime",N),h(Ue,"typeName","exa.language_server_pb.Suffix"),h(Ue,"fields",N.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Ue),ql=(Be=class extends Q{constructor(n){super();h(this,"text","");h(this,"offset",V.zero);h(this,"type",dn.UNSPECIFIED);h(this,"prefix","");h(this,"line",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Be,n,r)}},h(Be,"runtime",N),h(Be,"typeName","exa.language_server_pb.CompletionPart"),h(Be,"fields",N.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:N.getEnumType(dn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),zl=(je=class extends Q{constructor(n){super();h(this,"completion");h(this,"suffix");h(this,"range");h(this,"source",on.UNSPECIFIED);h(this,"completionParts",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return N.util.equals(je,n,r)}},h(je,"runtime",N),h(je,"typeName","exa.language_server_pb.CompletionItem"),h(je,"fields",N.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:nl},{no:5,name:"suffix",kind:"message",T:Hl},{no:2,name:"range",kind:"message",T:$l},{no:3,name:"source",kind:"enum",T:N.getEnumType(on)},{no:8,name:"completion_parts",kind:"message",T:ql,repeated:!0}])),je);const Kl={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:jl,O:Pl,kind:ye.Unary},acceptCompletion:{name:"AcceptCompletion",I:Ml,O:Rl,kind:ye.Unary},getAuthToken:{name:"GetAuthToken",I:Gl,O:Jl,kind:ye.Unary}}};function Yl(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Ft=function(e){return this instanceof Ft?(this.v=e,this):new Ft(e)},Xl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof Ft?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Ql(e){Yl();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:u,parse:d}=Ro(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await _l({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Bo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:qo(r.kind,t,a,i,!1),contextValues:c??Uo(),message:s},next:async f=>{let p=e.useHttpGet===!0&&r.idempotency===Ao.NoSideEffects,m=null;p?f=Dl(f,u(f.message),t):m=u(f.message);let g=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:m})),{isUnaryError:w,unaryError:y}=zo(r.kind,t,g.status,g.headers);if(w)throw Wo(await g.json(),ll(...Ho(g.headers)),y);let[v,C]=Ho(g.headers);return{stream:!1,service:n,method:r,header:v,message:t?d(new Uint8Array(await g.arrayBuffer())):r.O.fromJson(await g.json(),Mo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:u,parse:d}=Ro(r,t,e.jsonOptions,e.binaryOptions);function f(m,g,w,y){return Xl(this,arguments,function*(){let v=ul(m).getReader(),C=!1;for(;;){let T=yield Ft(v.read());if(T.done)break;let{flags:A,data:B}=T.value;if((A&1)==1)throw new pe("protocol error: received unsupported compressed output",R.Internal);if((A&2)==2){C=!0;let I=Al(B);if(I.error){let x=I.error;throw w.forEach((G,te)=>{x.metadata.append(te,G)}),x}I.metadata.forEach((x,G)=>g.set(G,x));continue}yield yield Ft(d(B))}if("throwIfAborted"in y&&y.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function p(m){if(r.kind!=ye.ServerStreaming)throw"The fetch API does not support streaming request bodies";let g=await m[Symbol.asyncIterator]().next();if(g.done==1)throw"missing request message";return dl(0,u(g.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await Ul({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Bo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:qo(r.kind,t,a,i,!1),contextValues:c??Uo(),message:s},next:async m=>{let g=await(e.fetch??globalThis.fetch)(m.url,Object.assign(Object.assign({},m.init),{headers:m.header,signal:m.signal,body:await p(m.message)}));if(zo(r.kind,t,g.status,g.headers),g.body===null)throw"missing response body";let w=new Headers;return Object.assign(Object.assign({},m),{header:g.headers,trailer:w,message:f(g.body,w,g.headers,m.signal)})}})}}}var Zl=wl(Kl,Ql({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),fn;try{fn=crypto.randomUUID()}catch{fn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function ec({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await Zl.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:fn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
9
+ `.trim(),n=ei();await ti();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:e.prompt,code:t,selectedText:e.selection,includeOtherCode:"",language:e.language})}),o=((s=e.selection.match(/^\s*/))==null?void 0:s[0])||"",a=(c=r.body)==null?void 0:c.getReader();if(!a)throw Error("Failed to get response reader");let i="";for(;;){let{done:u,value:d}=await a.read();if(u)break;i+=new TextDecoder().decode(d)}return i.startsWith(o)||(i=o+i),i}var b=Ua(gf(),1),cs=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],Jn;function us(){let e=async r=>{let o=Z.get(Tr),{saveUserConfig:a}=tm();await a({config:{runtime:{auto_reload:r}}}).then(()=>Z.set(Tr,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{Z.set(Sr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Dr()},title:"Package Installation",description:(0,b.jsxs)(b.Fragment,{children:["The package manager sidebar has been opened.",(0,b.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,b.jsxs)(b.Fragment,{children:["Module reload mode set to ",(0,b.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await e("lazy")},title:"Module reload",description:(0,b.jsxs)(b.Fragment,{children:["Module reload mode set to ",(0,b.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await e("off")},title:"Module reload",description:(0,b.jsx)(b.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,b.jsxs)(b.Fragment,{children:["Shell commands are not directly supported.",(0,b.jsx)("br",{}),"Use ",(0,b.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...cs.map(r=>({match:r,onMatch:()=>{},title:(0,b.jsx)(Pm,{className:"inline",children:r}),description:(0,b.jsxs)(b.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,b.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(t.map(r=>[r.match,r]));return P.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),Jn?Jn.upsert({title:c.title,description:c.description}):Jn=ct({title:c.title,description:c.description}))}})}var ds=new Set(["Escape","Alt-`"]);function fs(){let e=Kf.filter(t=>!ds.has(t.key));return lt.highest(Je.of([...e,{key:"Ctrl-y",run:t=>Cn(t)?si(t):!1},{key:"Ctrl-n",run:t=>Cn(t)?Ln(!0)(t):!1},{key:"Ctrl-p",run:t=>Cn(t)?Ln(!1)(t):!1}]))}const Wn=me.define(),Vn=me.define(),$n=me.define();function K(e,t){if(!e)throw Error(t)}var ms=3402823466385289e23,ps=-3402823466385289e23,hs=4294967295,gs=2147483647,bs=-2147483648;function Ht(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>gs||e<bs)throw Error("invalid int 32: "+e)}function Hn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>hs||e<0)throw Error("invalid uint 32: "+e)}function Qr(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>ms||e<ps))throw Error("invalid float 32: "+e)}var Zr=Symbol("@bufbuild/protobuf/enum-type");function ys(e){let t=e[Zr];return K(t,"missing enum type on enum object"),t}function eo(e,t,n,r){e[Zr]=to(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function to(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=no(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function ws(e,t,n){let r={};for(let o of t){let a=no(o);r[a.localName]=a.no,r[a.no]=a.localName}return eo(r,e,t,n),r}function no(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Q=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,(e==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function vs(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new Q),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Es(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function qn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var qt=4294967296;function ro(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=qt&&(o+=r/qt|0,r%=qt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?ao(r,o):zn(r,o)}function ks(e,t){let n=zn(e,t),r=n.hi&2147483648;r&&(n=ao(n.lo,n.hi));let o=oo(n.lo,n.hi);return r?"-"+o:o}function oo(e,t){if({lo:e,hi:t}=Ns(e,t),t<=2097151)return String(qt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+io(i)+io(a)}function Ns(e,t){return{lo:e>>>0,hi:t>>>0}}function zn(e,t){return{lo:e|0,hi:t|0}}function ao(e,t){return t=~t,e?e=~e+1:t+=1,zn(e,t)}var io=e=>{let t=String(e);return"0000000".slice(t.length)+t};function so(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Cs(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function Ss(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>K(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>K(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),ro(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),ro(r)},dec(r,o){return ks(r,o)},uDec(r,o){return oo(r,o)}}}const V=Ss();var E;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(E||(E={}));var nt;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(nt||(nt={}));function Xe(e,t,n){if(t===n)return!0;if(e==E.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return t==n}return!1}function ft(e,t){switch(e){case E.BOOL:return!1;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return t==0?V.zero:"0";case E.DOUBLE:case E.FLOAT:return 0;case E.BYTES:return new Uint8Array;case E.STRING:return"";default:return 0}}function lo(e,t){switch(e){case E.BOOL:return t===!1;case E.STRING:return t==="";case E.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var ee;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(ee||(ee={}));var xs=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Hn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Ht(e),so(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Qr(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Hn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Ht(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Ht(e),e=(e<<1^e>>31)>>>0,so(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return qn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return qn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return qn(t.lo,t.hi,this.buf),this}},Is=class{constructor(e,t){this.varint64=Es,this.uint32=Cs,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case ee.Varint:for(;this.buf[this.pos++]&128;);break;case ee.Bit64:this.pos+=4;case ee.Bit32:this.pos+=4;break;case ee.LengthDelimited:let r=this.uint32();this.pos+=r;break;case ee.StartGroup:for(;;){let[o,a]=this.tag();if(a===ee.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}break;default:throw Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ts(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function co(e){let t=e.field.localName,n=Object.create(null);return n[t]=As(e),[n,()=>n[t]]}function As(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Fs(e,t){if(!t.repeated&&(t.kind=="enum"||t.kind=="scalar")){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(n=>n.no===t.no)}var qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),zt=[];for(let e=0;e<qe.length;e++)zt[qe[e].charCodeAt(0)]=e;zt[45]=qe.indexOf("+"),zt[95]=qe.indexOf("/");const Kt={dec(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&--t;let n=new Uint8Array(t),r=0,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=zt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
10
+ `:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=qe[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=qe[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=qe[o|r>>6],t+=qe[r&63],n=0;break}return n&&(t+=qe[o],t+="=",n==1&&(t+="=")),t}};function Ls(e,t,n){fo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Fs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=co(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function Os(e,t,n,r){fo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(uo(e,t)){let u=e.getType().runtime.bin.listUnknownFields(e).filter(d=>d.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let d of u)e.getType().runtime.bin.onUnknownField(e,d.no,d.wireType,d.data)}let i=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[u,d]=c.tag(),f=c.skip(d,u);e.getType().runtime.bin.onUnknownField(e,u,d,f)}}function uo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function fo(e,t){K(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function mo(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?t[n]!==void 0:e.kind=="enum"?t[n]!==e.T.values[0].no:!lo(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function po(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function ze(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(Q.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function ho(e,t){return ze(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}E.DOUBLE,E.FLOAT,E.INT64,E.UINT64,E.INT32,E.UINT32,E.BOOL,E.STRING,E.BYTES;var go={ignoreUnknownFields:!1},bo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Ds(e){return e?Object.assign(Object.assign({},go),e):go}function _s(e){return e?Object.assign(Object.assign({},bo),e):bo}var Yt=Symbol(),Xt=Symbol();function Us(){return{makeReadOptions:Ds,makeWriteOptions:_s,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${We(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let u=o.get(c.oneof);if(u!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${u}", "${i}"`);o.set(c.oneof,i)}yo(r,s,c,n,e)}else{let u=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let d=a.findExtension(i.substring(1,i.length-1));if(d&&d.extendee.typeName==e.typeName){u=!0;let[f,p]=co(d);yo(f,s,d.field,n,d),Os(r,d,p(),n)}}if(!u&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!mo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!Ps(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=wo(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&uo(e,s)){let c=Ls(e,s,t),u=wo(s.field,c,t);u!==void 0&&(r[s.field.jsonName]=u)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return xt(e,t,n??nt.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||lo(e,t)))return Qt(e,t)},debug:We}}function We(e){if(e===null)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":`"${e.split('"').join('\\"')}"`;default:return String(e)}}function yo(e,t,n,r,o){let a=n.localName;if(n.repeated){if(K(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=Kn(n.T,s,r.ignoreUnknownFields,!0);c!==Xt&&i.push(c);break;case"scalar":try{i.push(xt(n.T,s,n.L,!0))}catch(u){let d=`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(s)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let u;try{u=Bs(n.K,s)}catch(d){let f=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw d instanceof Error&&d.message.length>0&&(f+=`: ${d.message}`),Error(f)}switch(n.V.kind){case"message":i[u]=n.V.T.fromJson(c,r);break;case"enum":let d=Kn(n.V.T,c,r.ignoreUnknownFields,!0);d!==Xt&&(i[u]=d);break;case"scalar":try{i[u]=xt(n.V.T,c,nt.BIGINT,!0)}catch(f){let p=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw f instanceof Error&&f.message.length>0&&(p+=`: ${f.message}`),Error(p)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];ze(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=Kn(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Yt:po(n,e);break;case Xt:break;default:e[a]=c;break}break;case"scalar":try{let u=xt(n.T,t,n.L,!1);u===Yt?po(n,e):e[a]=u}catch(u){let d=`cannot decode field ${o.typeName}.${n.name} from JSON: ${We(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}break}}function Bs(e,t){if(e===E.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return xt(e,t,nt.BIGINT,!0).toString()}function xt(e,t,n,r){if(t===null)return r?ft(e,n):Yt;switch(e){case E.DOUBLE:case E.FLOAT:if(t==="NaN")return NaN;if(t==="Infinity")return 1/0;if(t==="-Infinity")return-1/0;if(t===""||typeof t=="string"&&t.trim().length!==t.length||typeof t!="string"&&typeof t!="number")break;let o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==E.FLOAT&&Qr(o),o;case E.INT32:case E.FIXED32:case E.SFIXED32:case E.SINT32:case E.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==E.UINT32||e==E.FIXED32?Hn(a):Ht(a),a;case E.INT64:case E.SFIXED64:case E.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case E.FIXED64:case E.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case E.BOOL:if(typeof t!="boolean")break;return t;case E.STRING:if(typeof t!="string")break;return t;case E.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Kt.dec(t)}throw Error()}function Kn(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Yt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return Xt;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${We(t)}`)}function Ps(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function wo(e,t,n){if(e.kind=="map"){K(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=Qt(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=Yn(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){K(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(Qt(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(Yn(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return Qt(e.T,t);case"enum":return Yn(e.T,t,n.enumAsInteger);case"message":return ho(e.T,t).toJson(n)}}function Yn(e,t,n){var r;return K(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function Qt(e,t){switch(e){case E.INT32:case E.SFIXED32:case E.SINT32:case E.FIXED32:case E.UINT32:return K(typeof t=="number"),t;case E.FLOAT:case E.DOUBLE:return K(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case E.STRING:return K(typeof t=="string"),t;case E.BOOL:return K(typeof t=="boolean"),t;case E.UINT64:case E.FIXED64:case E.INT64:case E.SFIXED64:case E.SINT64:return K(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case E.BYTES:return K(t instanceof Uint8Array),Kt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),vo={readUnknownFields:!0,readerFactory:e=>new Is(e)},Eo={writeUnknownFields:!0,writerFactory:()=>new xs};function js(e){return e?Object.assign(Object.assign({},vo),e):vo}function Ms(e){return e?Object.assign(Object.assign({},Eo),e):Eo}function Rs(){return{makeReadOptions:js,makeWriteOptions:Ms,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==ee.EndGroup));){let u=a.fields.find(s);if(!u){let d=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,d);continue}ko(e,t,u,c,r)}if(o&&(c!=ee.EndGroup||s!==n))throw Error("invalid end group tag")},readField:ko,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!mo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}No(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&No(e,t,n,r)}}}function ko(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?E.INT32:n.T,c=en;if(n.kind=="scalar"&&n.L>0&&(c=Js),a){let p=e[i];if(r==ee.LengthDelimited&&s!=E.STRING&&s!=E.BYTES){let m=t.uint32()+t.pos;for(;t.pos<m;)p.push(c(t,s))}else p.push(c(t,s))}else e[i]=c(t,s);break;case"message":let u=n.T;a?e[i].push(Zt(t,new u,o,n)):ze(e[i])?Zt(t,e[i],o,n):(e[i]=Zt(t,new u,o,n),u.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=u.fieldWrapper.unwrapField(e[i])));break;case"map":let[d,f]=Gs(n,t,o);e[i][d]=f;break}}function Zt(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function Gs(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=en(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=en(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=Zt(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,nt.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,nt.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function Js(e,t){let n=en(e,t);return typeof n=="bigint"?n.toString():n}function en(e,t){switch(t){case E.STRING:return e.string();case E.BOOL:return e.bool();case E.DOUBLE:return e.double();case E.FLOAT:return e.float();case E.INT32:return e.int32();case E.INT64:return e.int64();case E.UINT64:return e.uint64();case E.FIXED64:return e.fixed64();case E.BYTES:return e.bytes();case E.FIXED32:return e.fixed32();case E.SFIXED32:return e.sfixed32();case E.SFIXED64:return e.sfixed64();case E.SINT64:return e.sint64();case E.UINT32:return e.uint32();case E.SINT32:return e.sint32()}}function No(e,t,n,r){K(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?E.INT32:e.T;if(o)if(K(Array.isArray(t)),e.packed)Vs(n,a,e.no,t);else for(let i of t)It(n,a,e.no,i);else It(n,a,e.no,t);break;case"message":if(o){K(Array.isArray(t));for(let i of t)Co(n,r,e,i)}else Co(n,r,e,t);break;case"map":K(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))Ws(n,r,e,i,s);break}}function Ws(e,t,n,r,o){e.tag(n.no,ee.LengthDelimited),e.fork();let a=r;switch(n.K){case E.INT32:case E.FIXED32:case E.UINT32:case E.SFIXED32:case E.SINT32:a=Number.parseInt(r);break;case E.BOOL:K(r=="true"||r=="false"),a=r=="true";break}switch(It(e,n.K,1,a),n.V.kind){case"scalar":It(e,n.V.T,2,o);break;case"enum":It(e,E.INT32,2,o);break;case"message":K(o!==void 0),e.tag(2,ee.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Co(e,t,n,r){let o=ho(n.T,r);n.delimited?e.tag(n.no,ee.StartGroup).raw(o.toBinary(t)).tag(n.no,ee.EndGroup):e.tag(n.no,ee.LengthDelimited).bytes(o.toBinary(t))}function It(e,t,n,r){K(r!==void 0);let[o,a]=So(t);e.tag(n,o)[a](r)}function Vs(e,t,n,r){if(!r.length)return;e.tag(n,ee.LengthDelimited).fork();let[,o]=So(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function So(e){let t=ee.Varint;switch(e){case E.BYTES:case E.STRING:t=ee.LengthDelimited;break;case E.DOUBLE:case E.FIXED64:case E.SFIXED64:t=ee.Bit64;break;case E.FIXED32:case E.SFIXED32:case E.FLOAT:t=ee.Bit32;break}let n=E[e].toLowerCase();return[t,n]}function $s(){return{setEnumType:eo,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),u=i[o].value;c&&c.kind=="message"&&!ze(u,c.T)?u=new c.T(u):c&&c.kind==="scalar"&&c.T===E.BYTES&&(u=Tt(u)),a[o]={case:s,value:u};break;case"scalar":case"enum":let d=i[o];r.T===E.BYTES&&(d=r.repeated?d.map(Tt):Tt(d)),a[o]=d;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===E.BYTES)for(let[m,g]of Object.entries(i[o]))a[o][m]=Tt(g);else Object.assign(a[o],i[o]);break;case"message":let p=r.V.T;for(let m of Object.keys(i[o])){let g=i[o][m];p.fieldWrapper||(g=new p(g)),a[o][m]=g}break}break;case"message":let f=r.T;if(r.repeated)a[o]=i[o].map(p=>ze(p,f)?p:new f(p));else{let p=i[o];f.fieldWrapper?f.typeName==="google.protobuf.BytesValue"?a[o]=Tt(p):a[o]=p:a[o]=ze(p,f)?p:new f(p)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Xe(r.T,i,a[s]));case"enum":return o.every((i,s)=>Xe(E.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!ze(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!ze(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Xe(E.INT32,o,a);case"scalar":return Xe(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Xe(E.INT32,o.value,a.value);case"scalar":return Xe(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let u=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let d=r.V.T;return u.every(p=>d.equals(o[p],a[p]));case"enum":return u.every(p=>Xe(E.INT32,o[p],a[p]));case"scalar":let f=r.V.T;return u.every(p=>Xe(f,o[p],a[p]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(tn);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=tn(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:tn(a.value)}:{case:void 0}:tn(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function tn(e){if(e===void 0)return e;if(ze(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Tt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Hs(e,t,n){return{syntax:e,json:Us(),bin:Rs(),util:Object.assign(Object.assign({},$s()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return vs(this,r,o,a)},makeEnum:ws,makeEnumType:to,getEnumType:ys,makeExtension(r,o,a){return Ts(this,r,o,a)}}}var qs=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function xo(e,t){let n=Io(e);return t?n:Zs(Qs(n))}function zs(e){return xo(e,!1)}const Ks=Io;function Io(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var Ys=new Set(["constructor","toString","toJSON","valueOf"]),Xs=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),To=e=>`${e}$`,Qs=e=>Xs.has(e)?To(e):e;const Zs=e=>Ys.has(e)?To(e):e;var el=class{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=zs(e)}addField(e){K(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function tl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=xo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??Ks(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??nt.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=E.BYTES&&o.T!=E.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new el(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const N=Hs("proto3",e=>new qs(e,t=>tl(t,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=ft(t.T,t.L);break;case"message":break}}});var ye;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ye||(ye={}));var Ao;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(Ao||(Ao={}));var Xn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(Xn||(Xn={})),N.util.setEnumType(Xn,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var nn;(function(e){e[e.CODEIUM=0]="CODEIUM"})(nn||(nn={})),N.util.setEnumType(nn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var rn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",e[e.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",e[e.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",e[e.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(rn||(rn={})),N.util.setEnumType(rn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var on;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",e[e.CACHE=2]="CACHE",e[e.NETWORK=3]="NETWORK"})(on||(on={})),N.util.setEnumType(on,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var rt;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.C=1]="C",e[e.CLOJURE=2]="CLOJURE",e[e.COFFEESCRIPT=3]="COFFEESCRIPT",e[e.CPP=4]="CPP",e[e.CSHARP=5]="CSHARP",e[e.CSS=6]="CSS",e[e.CUDACPP=7]="CUDACPP",e[e.DOCKERFILE=8]="DOCKERFILE",e[e.GO=9]="GO",e[e.GROOVY=10]="GROOVY",e[e.HANDLEBARS=11]="HANDLEBARS",e[e.HASKELL=12]="HASKELL",e[e.HCL=13]="HCL",e[e.HTML=14]="HTML",e[e.INI=15]="INI",e[e.JAVA=16]="JAVA",e[e.JAVASCRIPT=17]="JAVASCRIPT",e[e.JSON=18]="JSON",e[e.JULIA=19]="JULIA",e[e.KOTLIN=20]="KOTLIN",e[e.LATEX=21]="LATEX",e[e.LESS=22]="LESS",e[e.LUA=23]="LUA",e[e.MAKEFILE=24]="MAKEFILE",e[e.MARKDOWN=25]="MARKDOWN",e[e.OBJECTIVEC=26]="OBJECTIVEC",e[e.OBJECTIVECPP=27]="OBJECTIVECPP",e[e.PERL=28]="PERL",e[e.PHP=29]="PHP",e[e.PLAINTEXT=30]="PLAINTEXT",e[e.PROTOBUF=31]="PROTOBUF",e[e.PBTXT=32]="PBTXT",e[e.PYTHON=33]="PYTHON",e[e.R=34]="R",e[e.RUBY=35]="RUBY",e[e.RUST=36]="RUST",e[e.SASS=37]="SASS",e[e.SCALA=38]="SCALA",e[e.SCSS=39]="SCSS",e[e.SHELL=40]="SHELL",e[e.SQL=41]="SQL",e[e.STARLARK=42]="STARLARK",e[e.SWIFT=43]="SWIFT",e[e.TSX=44]="TSX",e[e.TYPESCRIPT=45]="TYPESCRIPT",e[e.VISUALBASIC=46]="VISUALBASIC",e[e.VUE=47]="VUE",e[e.XML=48]="XML",e[e.XSL=49]="XSL",e[e.YAML=50]="YAML",e[e.SVELTE=51]="SVELTE",e[e.TOML=52]="TOML",e[e.DART=53]="DART",e[e.RST=54]="RST",e[e.OCAML=55]="OCAML",e[e.CMAKE=56]="CMAKE",e[e.PASCAL=57]="PASCAL",e[e.ELIXIR=58]="ELIXIR",e[e.FSHARP=59]="FSHARP",e[e.LISP=60]="LISP",e[e.MATLAB=61]="MATLAB",e[e.POWERSHELL=62]="POWERSHELL",e[e.SOLIDITY=63]="SOLIDITY",e[e.ADA=64]="ADA",e[e.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(rt||(rt={})),N.util.setEnumType(rt,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var nl=(we=class extends Q{constructor(n){super();h(this,"completionId","");h(this,"text","");h(this,"prefix","");h(this,"stop","");h(this,"score",0);h(this,"tokens",[]);h(this,"decodedTokens",[]);h(this,"probabilities",[]);h(this,"adjustedProbabilities",[]);h(this,"generatedLength",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new we().fromBinary(n,r)}static fromJson(n,r){return new we().fromJson(n,r)}static fromJsonString(n,r){return new we().fromJsonString(n,r)}static equals(n,r){return N.util.equals(we,n,r)}},h(we,"runtime",N),h(we,"typeName","exa.codeium_common_pb.Completion"),h(we,"fields",N.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),we),Fo=(ve=class extends Q{constructor(n){super();h(this,"ideName","");h(this,"ideVersion","");h(this,"extensionName","");h(this,"extensionVersion","");h(this,"apiKey","");h(this,"locale","");h(this,"sessionId","");h(this,"requestId",V.zero);h(this,"userAgent","");h(this,"url","");h(this,"authSource",nn.CODEIUM);N.util.initPartial(n,this)}static fromBinary(n,r){return new ve().fromBinary(n,r)}static fromJson(n,r){return new ve().fromJson(n,r)}static fromJsonString(n,r){return new ve().fromJsonString(n,r)}static equals(n,r){return N.util.equals(ve,n,r)}},h(ve,"runtime",N),h(ve,"typeName","exa.codeium_common_pb.Metadata"),h(ve,"fields",N.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:N.getEnumType(nn)}])),ve),rl=(Ee=class extends Q{constructor(n){super();h(this,"tabSize",V.zero);h(this,"insertSpaces",!1);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ee,n,r)}},h(Ee,"runtime",N),h(Ee,"typeName","exa.codeium_common_pb.EditorOptions"),h(Ee,"fields",N.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ee);ke=class extends Q{constructor(n){super();h(this,"eventType",rn.UNSPECIFIED);h(this,"eventJson","");h(this,"timestampUnixMs",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return N.util.equals(ke,n,r)}},h(ke,"runtime",N),h(ke,"typeName","exa.codeium_common_pb.Event"),h(ke,"fields",N.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:N.getEnumType(rn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var ol=class extends Fn{constructor(t,n){super();h(this,"index");h(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const an=Bt.define({combine(e){return An(e,{language:rt.TYPESCRIPT,timeout:150,widgetClass:ol,alwaysOn:!0},{})}}),Lo=Bt.define({combine(e){return An(e,{override:()=>[]},{})}});var al=q.mark({class:"cm-ghostText"});const ot=$e.define({create(e){return null},update(e,t){var r;let n=t.state.facet(an);for(let o of t.effects){if(o.is(Wn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(u=>al.range(u.absoluteStartPos,u.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:q.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[q.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Vn)||o.is($n))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>P.decorations.from(e,t=>(t==null?void 0:t.decorations)||q.none)}),pt=In.define(),sn=In.define();var R;(function(e){e[e.Canceled=1]="Canceled",e[e.Unknown=2]="Unknown",e[e.InvalidArgument=3]="InvalidArgument",e[e.DeadlineExceeded=4]="DeadlineExceeded",e[e.NotFound=5]="NotFound",e[e.AlreadyExists=6]="AlreadyExists",e[e.PermissionDenied=7]="PermissionDenied",e[e.ResourceExhausted=8]="ResourceExhausted",e[e.FailedPrecondition=9]="FailedPrecondition",e[e.Aborted=10]="Aborted",e[e.OutOfRange=11]="OutOfRange",e[e.Unimplemented=12]="Unimplemented",e[e.Internal=13]="Internal",e[e.Unavailable=14]="Unavailable",e[e.DataLoss=15]="DataLoss",e[e.Unauthenticated=16]="Unauthenticated"})(R||(R={}));function Qn(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var ln;function il(e){if(!ln){ln={};for(let t of Object.values(R))typeof t!="string"&&(ln[Qn(t)]=t)}return ln[e]}var pe=class Et extends Error{constructor(t,n=R.Unknown,r,o,a){super(sl(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Et?t:t instanceof Error?t.name=="AbortError"?new Et(t.message,R.Canceled):new Et(t.message,n,void 0,void 0,t):new Et(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Et.prototype?!0:t.name==="ConnectError"&&"code"in t&&typeof t.code=="number"&&"metadata"in t&&"details"in t&&Array.isArray(t.details)&&"rawMessage"in t&&typeof t.rawMessage=="string"&&"cause"in t:!1}findDetails(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function sl(e,t){return e.length?`[${Qn(t)}] ${e}`:`[${Qn(t)}]`}function ll(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function cl(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function ul(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let u=1;u<5;u++)c=(c<<8)+n[u];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new pe("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function dl(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var fl=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(u){a({value:u,done:s})},i)}},At=function(e){return this instanceof At?(this.v=e,this):new At(e)},ml=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof At?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}},pl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:At(e[o](i)),done:!1}:a?a(i):i}:a}};function hl(e){return ml(this,arguments,function*(){yield At(yield*pl(fl(e)))})}var Oo=function(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values=="function"?__values(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(u){a({value:u,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},gl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},bl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof ht?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}};function yl(e,t){return cl(e,n=>{switch(n.kind){case ye.Unary:return vl(t,e,n);case ye.ServerStreaming:return El(t,e,n);case ye.ClientStreaming:return kl(t,e,n);case ye.BiDiStreaming:return Nl(t,e,n);default:return null}})}function wl(e,t){return yl(e,t)}function vl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function El(e,t,n){return function(r,o){return Do(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,hl([r]),o==null?void 0:o.contextValues),o)}}function kl(e,t,n){return async function(r,o){var a,i,s,c,u,d;let f=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(u=o==null?void 0:o.onHeader)==null||u.call(o,f.header);let p,m=0;try{for(var g=!0,w=Oo(f.message),y;y=await w.next(),a=y.done,!a;g=!0)c=y.value,g=!1,p=c,m++}catch(v){i={error:v}}finally{try{!g&&!a&&(s=w.return)&&await s.call(w)}finally{if(i)throw i.error}}if(!p)throw new pe("protocol error: missing response message",R.Unimplemented);if(m>1)throw new pe("protocol error: received extra messages for client streaming method",R.Unimplemented);return(d=o==null?void 0:o.onTrailer)==null||d.call(o,f.trailer),p}}function Nl(e,t,n){return function(r,o){return Do(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Do(e,t){let n=(function(){return bl(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*gl(Oo(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Cl(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(_o(this));for(let o of n)o.removeEventListener("abort",r)}return t}function Sl(e){let t=new AbortController,n=()=>{t.abort(new pe("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function _o(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=Error("This operation was aborted");return t.name="AbortError",t}function Uo(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Bo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function Po(e,t){return t instanceof e?t:new e(t)}function xl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:Po(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function jo(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function Mo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ro(e,t,n,r){let o=t?Go(e.I,r):Jo(e.I,n);return{parse:(t?Go(e.O,r):Jo(e.O,n)).parse,serialize:o.serialize}}function Go(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new pe(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new pe(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Jo(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=Mo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw pe.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw pe.from(i,R.Internal)}}}}const Il=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Tl(e){let t=e==null?void 0:e.match(Il);if(t)return{stream:!!t[1],binary:!!t[3]}}function Wo(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=il(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new pe(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Kt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Al(e){let t=new pe("invalid end stream",R.Unknown),n;try{n=JSON.parse(typeof e=="string"?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!="object"||!n||Array.isArray(n))throw t;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Wo(n.error,r,t):void 0}}const cn="Content-Type",Vo="Content-Encoding",$o="Connect-Protocol-Version";function Fl(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Ho(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function qo(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(cn,e==ye.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set($o,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function zo(e,t,n,r){let o=r.get(cn),a=Tl(o);if(n!==200){let s=new pe(`HTTP ${n}`,Fl(n),r);if(e==ye.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ye.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new pe(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Ll="application/";function Ol(e,t){return t?Kt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function Dl(e,t,n){let r="?connect=v1",o=e.header.get(cn);(o==null?void 0:o.indexOf(Ll))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Vo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+Ol(t,n);let i=e.url+r,s=new Headers(e.header);return[$o,cn,"Content-Length",Vo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function _l(e){let t=jo(e.next,e.interceptors),[n,r,o]=Ko(e);return t(Object.assign(Object.assign({},e.req),{message:Po(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function Ul(e){let t=jo(e.next,e.interceptors),[n,r,o]=Ko(e),a=Object.assign(Object.assign({},e.req),{message:xl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let u=e.req.message[Symbol.asyncIterator]();i||(s=u.throw)==null||s.call(u,this.reason).catch(()=>{}),(c=u.return)==null||c.call(u).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(u=>(u.done==1&&(i=!0,o()),u),r)}}}}}),r)}function Ko(e){let{signal:t,cleanup:n}=Sl(e.timeoutMs),r=Cl(e.signal,t);return[r.signal,function(o){let a=pe.from(t.aborted?_o(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var un;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INACTIVE=1]="INACTIVE",e[e.PROCESSING=2]="PROCESSING",e[e.SUCCESS=3]="SUCCESS",e[e.WARNING=4]="WARNING",e[e.ERROR=5]="ERROR"})(un||(un={})),N.util.setEnumType(un,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var Yo;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(Yo||(Yo={})),N.util.setEnumType(Yo,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var dn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(dn||(dn={})),N.util.setEnumType(dn,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var Bl=(Ne=class extends Q{constructor(n){super();h(this,"threshold",0);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ne,n,r)}},h(Ne,"runtime",N),h(Ne,"typeName","exa.language_server_pb.MultilineConfig"),h(Ne,"fields",N.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ne),Pl=(Ce=class extends Q{constructor(n){super();h(this,"metadata");h(this,"document");h(this,"editorOptions");h(this,"otherDocuments",[]);h(this,"experimentConfig");h(this,"modelName","");h(this,"multilineConfig");N.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ce,n,r)}},h(Ce,"runtime",N),h(Ce,"typeName","exa.language_server_pb.GetCompletionsRequest"),h(Ce,"fields",N.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:Xo},{no:3,name:"editor_options",kind:"message",T:rl},{no:5,name:"other_documents",kind:"message",T:Xo,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:Wl},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:Bl}])),Ce),jl=(Se=class extends Q{constructor(n){super();h(this,"state");h(this,"completionItems",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Se,n,r)}},h(Se,"runtime",N),h(Se,"typeName","exa.language_server_pb.GetCompletionsResponse"),h(Se,"fields",N.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:Vl},{no:2,name:"completion_items",kind:"message",T:zl,repeated:!0}])),Se),Ml=(xe=class extends Q{constructor(n){super();h(this,"metadata");h(this,"completionId","");N.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(xe,n,r)}},h(xe,"runtime",N),h(xe,"typeName","exa.language_server_pb.AcceptCompletionRequest"),h(xe,"fields",N.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),xe),Rl=(Ie=class extends Q{constructor(t){super(),N.util.initPartial(t,this)}static fromBinary(t,n){return new Ie().fromBinary(t,n)}static fromJson(t,n){return new Ie().fromJson(t,n)}static fromJsonString(t,n){return new Ie().fromJsonString(t,n)}static equals(t,n){return N.util.equals(Ie,t,n)}},h(Ie,"runtime",N),h(Ie,"typeName","exa.language_server_pb.AcceptCompletionResponse"),h(Ie,"fields",N.util.newFieldList(()=>[])),Ie),Gl=(Te=class extends Q{constructor(t){super(),N.util.initPartial(t,this)}static fromBinary(t,n){return new Te().fromBinary(t,n)}static fromJson(t,n){return new Te().fromJson(t,n)}static fromJsonString(t,n){return new Te().fromJsonString(t,n)}static equals(t,n){return N.util.equals(Te,t,n)}},h(Te,"runtime",N),h(Te,"typeName","exa.language_server_pb.GetAuthTokenRequest"),h(Te,"fields",N.util.newFieldList(()=>[])),Te),Jl=(Ae=class extends Q{constructor(n){super();h(this,"authToken","");h(this,"uuid","");N.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ae,n,r)}},h(Ae,"runtime",N),h(Ae,"typeName","exa.language_server_pb.GetAuthTokenResponse"),h(Ae,"fields",N.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ae),Zn=(Fe=class extends Q{constructor(n){super();h(this,"row",V.zero);h(this,"col",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Fe,n,r)}},h(Fe,"runtime",N),h(Fe,"typeName","exa.language_server_pb.DocumentPosition"),h(Fe,"fields",N.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),Fe),Xo=(Le=class extends Q{constructor(n){super();h(this,"absolutePath","");h(this,"relativePath","");h(this,"text","");h(this,"editorLanguage","");h(this,"language",rt.UNSPECIFIED);h(this,"cursorOffset",V.zero);h(this,"cursorPosition");h(this,"lineEnding","");N.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Le,n,r)}},h(Le,"runtime",N),h(Le,"typeName","exa.language_server_pb.Document"),h(Le,"fields",N.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:N.getEnumType(rt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:Zn},{no:7,name:"line_ending",kind:"scalar",T:9}])),Le),Wl=(Oe=class extends Q{constructor(n){super();h(this,"forceEnableExperiments",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Oe,n,r)}},h(Oe,"runtime",N),h(Oe,"typeName","exa.language_server_pb.ExperimentConfig"),h(Oe,"fields",N.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:N.getEnumType(Xn),repeated:!0}])),Oe),Vl=(De=class extends Q{constructor(n){super();h(this,"state",un.UNSPECIFIED);h(this,"message","");N.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return N.util.equals(De,n,r)}},h(De,"runtime",N),h(De,"typeName","exa.language_server_pb.State"),h(De,"fields",N.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:N.getEnumType(un)},{no:2,name:"message",kind:"scalar",T:9}])),De),$l=(_e=class extends Q{constructor(n){super();h(this,"startOffset",V.zero);h(this,"endOffset",V.zero);h(this,"startPosition");h(this,"endPosition");N.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return N.util.equals(_e,n,r)}},h(_e,"runtime",N),h(_e,"typeName","exa.language_server_pb.Range"),h(_e,"fields",N.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:Zn},{no:4,name:"end_position",kind:"message",T:Zn}])),_e),Hl=(Ue=class extends Q{constructor(n){super();h(this,"text","");h(this,"deltaCursorOffset",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Ue,n,r)}},h(Ue,"runtime",N),h(Ue,"typeName","exa.language_server_pb.Suffix"),h(Ue,"fields",N.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Ue),ql=(Be=class extends Q{constructor(n){super();h(this,"text","");h(this,"offset",V.zero);h(this,"type",dn.UNSPECIFIED);h(this,"prefix","");h(this,"line",V.zero);N.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Be,n,r)}},h(Be,"runtime",N),h(Be,"typeName","exa.language_server_pb.CompletionPart"),h(Be,"fields",N.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:N.getEnumType(dn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),zl=(Pe=class extends Q{constructor(n){super();h(this,"completion");h(this,"suffix");h(this,"range");h(this,"source",on.UNSPECIFIED);h(this,"completionParts",[]);N.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return N.util.equals(Pe,n,r)}},h(Pe,"runtime",N),h(Pe,"typeName","exa.language_server_pb.CompletionItem"),h(Pe,"fields",N.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:nl},{no:5,name:"suffix",kind:"message",T:Hl},{no:2,name:"range",kind:"message",T:$l},{no:3,name:"source",kind:"enum",T:N.getEnumType(on)},{no:8,name:"completion_parts",kind:"message",T:ql,repeated:!0}])),Pe);const Kl={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:Pl,O:jl,kind:ye.Unary},acceptCompletion:{name:"AcceptCompletion",I:Ml,O:Rl,kind:ye.Unary},getAuthToken:{name:"GetAuthToken",I:Gl,O:Jl,kind:ye.Unary}}};function Yl(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Ft=function(e){return this instanceof Ft?(this.v=e,this):new Ft(e)},Xl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(m){return function(g){return Promise.resolve(g).then(m,f)}}function s(m,g){r[m]&&(o[m]=function(w){return new Promise(function(y,v){a.push([m,w,y,v])>1||c(m,w)})},g&&(o[m]=g(o[m])))}function c(m,g){try{u(r[m](g))}catch(w){p(a[0][3],w)}}function u(m){m.value instanceof Ft?Promise.resolve(m.value.v).then(d,f):p(a[0][2],m)}function d(m){c("next",m)}function f(m){c("throw",m)}function p(m,g){m(g),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Ql(e){Yl();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:u,parse:d}=Ro(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await _l({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Bo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:qo(r.kind,t,a,i,!1),contextValues:c??Uo(),message:s},next:async f=>{let p=e.useHttpGet===!0&&r.idempotency===Ao.NoSideEffects,m=null;p?f=Dl(f,u(f.message),t):m=u(f.message);let g=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:m})),{isUnaryError:w,unaryError:y}=zo(r.kind,t,g.status,g.headers);if(w)throw Wo(await g.json(),ll(...Ho(g.headers)),y);let[v,C]=Ho(g.headers);return{stream:!1,service:n,method:r,header:v,message:t?d(new Uint8Array(await g.arrayBuffer())):r.O.fromJson(await g.json(),Mo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:u,parse:d}=Ro(r,t,e.jsonOptions,e.binaryOptions);function f(m,g,w,y){return Xl(this,arguments,function*(){let v=ul(m).getReader(),C=!1;for(;;){let T=yield Ft(v.read());if(T.done)break;let{flags:A,data:B}=T.value;if((A&1)==1)throw new pe("protocol error: received unsupported compressed output",R.Internal);if((A&2)==2){C=!0;let I=Al(B);if(I.error){let x=I.error;throw w.forEach((G,te)=>{x.metadata.append(te,G)}),x}I.metadata.forEach((x,G)=>g.set(G,x));continue}yield yield Ft(d(B))}if("throwIfAborted"in y&&y.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function p(m){if(r.kind!=ye.ServerStreaming)throw"The fetch API does not support streaming request bodies";let g=await m[Symbol.asyncIterator]().next();if(g.done==1)throw"missing request message";return dl(0,u(g.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await Ul({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Bo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:qo(r.kind,t,a,i,!1),contextValues:c??Uo(),message:s},next:async m=>{let g=await(e.fetch??globalThis.fetch)(m.url,Object.assign(Object.assign({},m.init),{headers:m.header,signal:m.signal,body:await p(m.message)}));if(zo(r.kind,t,g.status,g.headers),g.body===null)throw"missing response body";let w=new Headers;return Object.assign(Object.assign({},m),{header:g.headers,trailer:w,message:f(g.body,w,g.headers,m.signal)})}})}}}var Zl=wl(Kl,Ql({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),fn;try{fn=crypto.randomUUID()}catch{fn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function ec({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await Zl.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:fn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
11
11
  `},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${fn}`}})}function tc(e){return e.completionItems.map(t=>{let n=0;return t.completionParts.filter(r=>r.type!==3).map(r=>{let o=Number(r.offset),a=r.type===2?`
12
- ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function nc(e,t){let n=e.state.facet(an),{override:r}=e.state.facet(Lo),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await ec({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&Pt(e.state)!=="active"&&e.hasFocus))return;let u=tc(c),d=u.at(0);if(!d)return;let f=Tn.of(d,a.doc.length),p=f.invert(a.doc);e.dispatch({changes:f,effects:Wn.of({index:0,reverseChangeSet:p,changeSpecs:u}),annotations:[sn.of(null),pt.of(null),jt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(u=>setTimeout(u,300))}}function rc(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Vn)||n.is($n)))}function oc(e){if(!e.view.hasFocus||e.state.field(ot)||Pt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(pt)!==void 0)return!0}function ac(){let e=null,t=0;return j.updateListener.of(n=>{let r=n.view.state.facet(an);if(!r.alwaysOn||!rc(n)||(e&&clearTimeout(e),oc(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Zf(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await nc(n.view,t)},r.timeout),t=o)})}function Qo(e){var o;let t=e.state.field(ot);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Vn.of(null),annotations:[sn.of(null),pt.of(null),jt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:yt.cursor(r),annotations:[pt.of(null),jt.addToHistory.of(!0)]}),!0}const Zo=e=>{let{state:t}=e,n=t.field(ot);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Tn.of(n.reverseChangeSet,t.doc.length).compose(Tn.of(a,i.length)),c=Tn.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:Wn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[sn.of(null),pt.of(null),jt.addToHistory.of(!1)]}),!0};function er(e){let t=e.state.field(ot);return t&&e.dispatch({changes:t.reverseChangeSet,effects:$n.of(null),annotations:[sn.of(null),pt.of(null),jt.addToHistory.of(!1)]}),!1}function ic(e,t){return e.state.field(ot)?t==="Tab"?Qo(e):er(e):!1}function sc(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(ot);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function lc(){return j.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?ic(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(Zo(t),e.stopPropagation(),e.preventDefault(),!0):sc(t)?Qo(t):er(t)}})}function cc(){return Je.of([{key:"Ctrl-]",run:Zo}])}function uc(){return j.updateListener.of(e=>{e.focusChanged&&er(e.view)})}function dc(e){return[an.of(e),ot,lt.highest(cc()),lt.highest(uc()),lt.high(lc()),ac()]}function fc({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var mc=em(),pc=new Uf,tr=ge.get("@github/copilot-language-server"),ea={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const hc=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(dc({apiKey:e.codeium_api_key,language:rt.PYTHON}),Lo.of({override:async()=>[{text:kr(""),language:rt.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(Kr({...ea,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!nf()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=gc(n,kr(n.doc.toString())),s=await Zd().getCompletion(i);return a===o.state.selection.main.head?bc(s,i.position,n):(ge.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(Kr({...ea,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(xn).type,u=await ff.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(u=fc({response:u,prefix:i,suffix:s}),u):(ge.debug("ignoring response because of new position"),"")}})),[...t,lt.highest(Je.of([{key:"Escape",run:n=>{let r=zr(n);return Sn(n)?!1:r}}])),pc.of(ef())]};function gc(e,t){let n=e.doc.toString(),r=t.split(`
12
+ ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function nc(e,t){let n=e.state.facet(an),{override:r}=e.state.facet(Lo),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await ec({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&jt(e.state)!=="active"&&e.hasFocus))return;let u=tc(c),d=u.at(0);if(!d)return;let f=Tn.of(d,a.doc.length),p=f.invert(a.doc);e.dispatch({changes:f,effects:Wn.of({index:0,reverseChangeSet:p,changeSpecs:u}),annotations:[sn.of(null),pt.of(null),Pt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(u=>setTimeout(u,300))}}function rc(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Vn)||n.is($n)))}function oc(e){if(!e.view.hasFocus||e.state.field(ot)||jt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(pt)!==void 0)return!0}function ac(){let e=null,t=0;return P.updateListener.of(n=>{let r=n.view.state.facet(an);if(!r.alwaysOn||!rc(n)||(e&&clearTimeout(e),oc(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Zf(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await nc(n.view,t)},r.timeout),t=o)})}function Qo(e){var o;let t=e.state.field(ot);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Vn.of(null),annotations:[sn.of(null),pt.of(null),Pt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:yt.cursor(r),annotations:[pt.of(null),Pt.addToHistory.of(!0)]}),!0}const Zo=e=>{let{state:t}=e,n=t.field(ot);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Tn.of(n.reverseChangeSet,t.doc.length).compose(Tn.of(a,i.length)),c=Tn.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:Wn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[sn.of(null),pt.of(null),Pt.addToHistory.of(!1)]}),!0};function er(e){let t=e.state.field(ot);return t&&e.dispatch({changes:t.reverseChangeSet,effects:$n.of(null),annotations:[sn.of(null),pt.of(null),Pt.addToHistory.of(!1)]}),!1}function ic(e,t){return e.state.field(ot)?t==="Tab"?Qo(e):er(e):!1}function sc(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(ot);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function lc(){return P.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?ic(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(Zo(t),e.stopPropagation(),e.preventDefault(),!0):sc(t)?Qo(t):er(t)}})}function cc(){return Je.of([{key:"Ctrl-]",run:Zo}])}function uc(){return P.updateListener.of(e=>{e.focusChanged&&er(e.view)})}function dc(e){return[an.of(e),ot,lt.highest(cc()),lt.highest(uc()),lt.high(lc()),ac()]}function fc({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var mc=em(),pc=new Uf,tr=ge.get("@github/copilot-language-server"),ea={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const hc=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(dc({apiKey:e.codeium_api_key,language:rt.PYTHON}),Lo.of({override:async()=>[{text:kr(""),language:rt.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(Kr({...ea,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!nf()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=gc(n,kr(n.doc.toString())),s=await Zd().getCompletion(i);return a===o.state.selection.main.head?bc(s,i.position,n):(ge.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(Kr({...ea,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(xn).type,u=await ff.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(u=fc({response:u,prefix:i,suffix:s}),u):(ge.debug("ignoring response because of new position"),"")}})),[...t,lt.highest(Je.of([{key:"Escape",run:n=>{let r=zr(n);return Cn(n)?!1:r}}])),pc.of(ef())]};function gc(e,t){let n=e.doc.toString(),r=t.split(`
13
13
  `).length-n.split(`
14
- `).length,o=yc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Qd}`,version:"replace_me"},position:o,context:{triggerKind:mc.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function bc(e,t,n){if(!e)return tr.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return tr.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return tr.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,u=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let d=0;d<c.length;d++){let f=c.slice(d);if(u.startsWith(f))return c.slice(0,d)}return c}function yc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}Dn=function(e){return Ut("create"in e,'Expected query to have a "create" method'),e},be=Ld({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Gr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Z.set(be,{type:"setFind",find:n}),Z.set(be,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Z.set(be,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Z.get(be).isOpen?(Z.set(be,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Z.set(be,{type:"setIsOpen",isOpen:!0})}),!0):(Z.set(be,{type:"setIsOpen",isOpen:!0}),!0)};function wc(){return Z.get(be).isOpen?(Z.set(be,{type:"setIsOpen",isOpen:!1}),!0):!1}var nr=me.define();Fi=function(){let e=Z.get(be),t=qa();for(let n of t)n.state.readOnly||n.dispatch({effects:nr.of(new Lr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},Di=function(){let e=qa();for(let t of e)t.state.readOnly||t.dispatch({effects:nr.of(new Lr({search:""}))})};const mn=$e.define({create(){let e=Z.get(be);return Dn(new Lr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(nr)&&(e=Dn(n.value).create());return e}});var vc=q.mark({class:"cm-searchMatch"}),Ec=q.mark({class:"cm-searchMatch cm-searchMatch-selected"}),kc=250;const Nc=He.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(mn))}update(e){let t=e.state.field(mn);(t!==e.startState.field(mn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return q.none;let{view:t}=this,n=new vf,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*kc;)i=r[++a].to;e.highlight(t.state,s,i,(c,u)=>{let d=t.state.selection.ranges.some(f=>f.from===c&&f.to===u);n.add(c,u,d?Ec:vc)})}return n.finish()}},{decorations:e=>e.decorations}),Cc=j.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function Sc(e){return[Je.of([{key:"Escape",preventDefault:!1,run:wc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Mf},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Gr}]),Gf(),Nc,mn,Cc]}var xc=q.mark({class:"underline"}),ta=me.define(),na=me.define(),ra=me.define();const Ic=$e.define({create(){return q.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(ta)?n=e.update({add:[xc.range(r.value.from,r.value.to)]}):r.is(na)?n=e.update({add:[Gd.range(r.value.from,r.value.to)]}):r.is(ra)&&(n=q.none);return n},provide:e=>j.decorations.from(e)});var Tc=class{constructor(e,t){h(this,"keydown",e=>{(e.key==="Meta"||e.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});h(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});h(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});h(this,"mousemove",e=>{var o;if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=(o=this.view.state.field(_d,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:na.of(this.hoveredRange)});return}let r=oi(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:ta.of(this.hoveredRange)})}else this.clearUnderline()});h(this,"click",e=>{if(this.hoveredRange){let t=this.view.state.doc.sliceString(this.hoveredRange.from,this.hoveredRange.to);e.preventDefault(),e.stopPropagation(),this.onClick(this.view,t),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}})}});this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(e){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:ra.of(null)}),null))}};const Ac=e=>He.define(t=>new Tc(t,e));function Fc(){return[Ic,Ac((e,t)=>{Md(e,t)}),j.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function Lc(){return[j.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),Ad(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Td(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function Oc(){return[j.domEventHandlers({paste:(e,t)=>{var o;let n=(o=e.clipboardData)==null?void 0:o.getData("text/plain");if(!(n!=null&&n.includes("@app.cell")))return!1;let r=Dc(n);return r.length===0?!1:(t.state.facet(Pd).createManyBelow(r),!0)}})]}function Dc(e){if(!e.includes("@app.cell"))return[];let t=[],n=e.split(`
14
+ `).length,o=yc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${Qd}`,version:"replace_me"},position:o,context:{triggerKind:mc.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function bc(e,t,n){if(!e)return tr.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return tr.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return tr.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,u=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let d=0;d<c.length;d++){let f=c.slice(d);if(u.startsWith(f))return c.slice(0,d)}return c}function yc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}Dn=function(e){return Ut("create"in e,'Expected query to have a "create" method'),e},be=jd({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case"setFind":return{...e,findText:t.find};case"setReplace":return{...e,replaceText:t.replace};case"setCaseSensitive":return{...e,caseSensitive:t.caseSensitive};case"setWholeWord":return{...e,wholeWord:t.wholeWord};case"setRegex":return{...e,regexp:t.regexp};case"setIsOpen":return{...e,isOpen:t.isOpen};case"setCurrentView":return{...e,currentView:{view:t.view,range:t.range}};case"clearCurrentView":return{...e,currentView:void 0}}}),Gr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Z.set(be,{type:"setFind",find:n}),Z.set(be,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Z.set(be,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Z.get(be).isOpen?(Z.set(be,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Z.set(be,{type:"setIsOpen",isOpen:!0})}),!0):(Z.set(be,{type:"setIsOpen",isOpen:!0}),!0)};function wc(){return Z.get(be).isOpen?(Z.set(be,{type:"setIsOpen",isOpen:!1}),!0):!1}var nr=me.define();Fi=function(){let e=Z.get(be),t=qa();for(let n of t)n.state.readOnly||n.dispatch({effects:nr.of(new Lr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},Di=function(){let e=qa();for(let t of e)t.state.readOnly||t.dispatch({effects:nr.of(new Lr({search:""}))})};const mn=$e.define({create(){let e=Z.get(be);return Dn(new Lr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(nr)&&(e=Dn(n.value).create());return e}});var vc=q.mark({class:"cm-searchMatch"}),Ec=q.mark({class:"cm-searchMatch cm-searchMatch-selected"}),kc=250;const Nc=He.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(mn))}update(e){let t=e.state.field(mn);(t!==e.startState.field(mn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return q.none;let{view:t}=this,n=new vf,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*kc;)i=r[++a].to;e.highlight(t.state,s,i,(c,u)=>{let d=t.state.selection.ranges.some(f=>f.from===c&&f.to===u);n.add(c,u,d?Ec:vc)})}return n.finish()}},{decorations:e=>e.decorations}),Cc=P.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function Sc(e){return[Je.of([{key:"Escape",preventDefault:!1,run:wc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Mf},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Gr}]),Gf(),Nc,mn,Cc]}var xc=q.mark({class:"underline"}),ta=me.define(),na=me.define(),ra=me.define();const Ic=$e.define({create(){return q.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(ta)?n=e.update({add:[xc.range(r.value.from,r.value.to)]}):r.is(na)?n=e.update({add:[Gd.range(r.value.from,r.value.to)]}):r.is(ra)&&(n=q.none);return n},provide:e=>P.decorations.from(e)});var Tc=class{constructor(e,t){h(this,"keydown",e=>{(e.key==="Meta"||e.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});h(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});h(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});h(this,"mousemove",e=>{var o;if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=(o=this.view.state.field(Dd,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:na.of(this.hoveredRange)});return}let r=oi(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:ta.of(this.hoveredRange)})}else this.clearUnderline()});h(this,"click",e=>{if(this.hoveredRange){let t=this.view.state.doc.sliceString(this.hoveredRange.from,this.hoveredRange.to);e.preventDefault(),e.stopPropagation(),this.onClick(this.view,t),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}})}});this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(e){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:ra.of(null)}),null))}};const Ac=e=>He.define(t=>new Tc(t,e));function Fc(){return[Ic,Ac((e,t)=>{Md(e,t)}),P.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function Lc(){return[P.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),Ad(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Td(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function Oc(){return[P.domEventHandlers({paste:(e,t)=>{var o;let n=(o=e.clipboardData)==null?void 0:o.getData("text/plain");if(!(n!=null&&n.includes("@app.cell")))return!1;let r=Dc(n);return r.length===0?!1:(t.state.facet(Pd).createManyBelow(r),!0)}})]}function Dc(e){if(!e.includes("@app.cell"))return[];let t=[],n=e.split(`
15
15
  `),r=[],o=!1,a=0,i=!1,s=!1,c=0,u=null,d=/\(/g,f=/\)/g,p=new Set(["@"]);function m(y){return(y.match(d)||[]).length-(y.match(f)||[]).length}function g(y){let v=y.match(/^\s*/);return v?v[0].length:0}function w(){r.length!==0&&(r.some(y=>y.trim()!=="")&&t.push(_c(r.join(`
16
16
  `))),r=[])}for(let y of n){let v=y.trim();if(!(!v&&!o)){if(v.startsWith("@app.cell")){w(),o=!0,a=1,u=null;continue}if(a>0){v.startsWith("def")&&v.includes("(")&&!v.includes("):")&&(i=!0,c=m(v)),a--;continue}if(i){c+=m(v),c===0&&(i=!1);continue}if(o){if(p.has(v[0])||v.startsWith("if __name__")){w(),o=v.startsWith("@");continue}if(u===null&&v&&(u=g(y)),v.startsWith("return")&&g(y)===u){v.includes("(")&&!v.endsWith(")")&&(s=!0,c=m(v));continue}if(s){c+=m(v),c===0&&(s=!1);continue}r.push(y)}}}return w(),t}function _c(e){let t=e.split(`
17
17
  `);if(t.length===0)return"";let n=t.filter(a=>a.trim().length>0);if(n.length===0)return"";let r=/^\s*/,o=Math.min(...n.map(a=>{var i;return((i=a.match(r))==null?void 0:i[0].length)??1/0}));return o===0?e.trim():t.map(a=>a.slice(o)).join(`
18
- `).trim()}function Uc(e,t,n,r){var o;return r!=="{"||t!==n||!((o=oi(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function Bc(){return j.inputHandler.of(Uc)}var ae=({variant:e,settings:t,styles:n})=>[j.theme({"&":{backgroundColor:t.background,color:t.foreground},".cm-content":{caretColor:t.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:t.selection},".cm-activeLine":{backgroundColor:t.lineHighlight},".cm-gutters":{backgroundColor:t.gutterBackground,color:t.gutterForeground},".cm-activeLineGutter":{backgroundColor:t.lineHighlight}},{dark:e==="dark"}),ai(Cf.define(n))];ae({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:l.comment,color:"#404080"},{tag:[l.string,l.regexp],color:"#999999"},{tag:l.number,color:"#7090B0"},{tag:[l.bool,l.null],color:"#8080A0"},{tag:[l.punctuation,l.derefOperator],color:"#805080"},{tag:l.keyword,color:"#60B0FF"},{tag:l.definitionKeyword,color:"#B0FFF0"},{tag:l.moduleKeyword,color:"#60B0FF"},{tag:l.operator,color:"#A0A0FF"},{tag:[l.variableName,l.self],color:"#008080"},{tag:l.operatorKeyword,color:"#A0A0FF"},{tag:l.controlKeyword,color:"#80A0FF"},{tag:l.className,color:"#70E080"},{tag:[l.function(l.propertyName),l.propertyName],color:"#50A0A0"},{tag:l.tagName,color:"#009090"},{tag:l.modifier,color:"#B0FFF0"},{tag:[l.squareBracket,l.attributeName],color:"#D0D0FF"}]}),ae({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:l.comment,color:"#787b8099"},{tag:l.string,color:"#86b300"},{tag:l.regexp,color:"#4cbf99"},{tag:[l.number,l.bool,l.null],color:"#ffaa33"},{tag:l.variableName,color:"#5c6166"},{tag:[l.definitionKeyword,l.modifier],color:"#fa8d3e"},{tag:[l.keyword,l.special(l.brace)],color:"#fa8d3e"},{tag:l.operator,color:"#ed9366"},{tag:l.separator,color:"#5c6166b3"},{tag:l.punctuation,color:"#5c6166"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#f2ae49"},{tag:[l.className,l.definition(l.typeName)],color:"#22a4e6"},{tag:[l.tagName,l.typeName,l.self,l.labelName],color:"#55b4d4"},{tag:l.angleBracket,color:"#55b4d480"},{tag:l.attributeName,color:"#f2ae49"}]}),ae({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:l.comment,color:"#6E6E6E"},{tag:[l.string,l.regexp,l.special(l.brace)],color:"#5C81B3"},{tag:l.number,color:"#C1E1B8"},{tag:l.bool,color:"#53667D"},{tag:[l.definitionKeyword,l.modifier,l.function(l.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[l.keyword,l.moduleKeyword,l.operatorKeyword,l.operator],color:"#697A8E",fontWeight:"bold"},{tag:[l.variableName,l.attributeName],color:"#708E67"},{tag:[l.function(l.variableName),l.definition(l.propertyName),l.derefOperator],color:"#fff"},{tag:l.tagName,color:"#A3D295"}]}),ae({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:l.comment,color:"#666666"},{tag:[l.string,l.special(l.brace)],color:"#54BE0D"},{tag:l.regexp,color:"#E9C062"},{tag:l.number,color:"#CF6A4C"},{tag:[l.keyword,l.operator],color:"#5EA6EA"},{tag:l.variableName,color:"#7587A6"},{tag:[l.definitionKeyword,l.modifier],color:"#F9EE98"},{tag:[l.propertyName,l.function(l.variableName)],color:"#937121"},{tag:[l.typeName,l.angleBracket,l.tagName],color:"#9B859D"}]}),ae({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:l.comment,color:"#6B4E32"},{tag:[l.keyword,l.operator,l.derefOperator],color:"#EF5D32"},{tag:l.className,color:"#EFAC32",fontWeight:"bold"},{tag:[l.typeName,l.propertyName,l.function(l.variableName),l.definition(l.variableName)],color:"#EFAC32"},{tag:l.definition(l.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:l.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[l.number,l.bool],color:"#6C99BB"},{tag:[l.variableName,l.self],color:"#7DAF9C"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#D9D762"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#EFCB43"}]}),ae({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:l.comment,color:"#404040"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#00D8FF"},{tag:l.number,color:"#E62286"},{tag:[l.variableName,l.attributeName,l.self],color:"#E62286",fontWeight:"bold"},{tag:l.function(l.variableName),color:"#fff",fontWeight:"bold"}]}),ae({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:l.comment,color:"#BCC8BA"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#5D90CD"},{tag:[l.number,l.bool,l.null],color:"#46A609"},{tag:l.keyword,color:"#AF956F"},{tag:[l.definitionKeyword,l.modifier],color:"#C52727"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#606060"},{tag:l.self,color:"#000"}]}),ae({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:l.comment,color:"#0088FF"},{tag:l.string,color:"#3AD900"},{tag:l.regexp,color:"#80FFC2"},{tag:[l.number,l.bool,l.null],color:"#FF628C"},{tag:[l.definitionKeyword,l.modifier],color:"#FFEE80"},{tag:l.variableName,color:"#CCCCCC"},{tag:l.self,color:"#FF80E1"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.definition(l.typeName),l.labelName],color:"#FFDD00"},{tag:[l.keyword,l.operator],color:"#FF9D00"},{tag:[l.propertyName,l.typeName],color:"#80FFBB"},{tag:l.special(l.brace),color:"#EDEF7D"},{tag:l.attributeName,color:"#9EFFFF"},{tag:l.derefOperator,color:"#fff"}]}),ae({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:l.comment,color:"#AEAEAE"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#8DFF8E"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.function(l.definition(l.variableName)),l.definition(l.typeName)],color:"#A3EBFF"},{tag:[l.number,l.bool,l.null],color:"#62E9BD"},{tag:[l.keyword,l.operator],color:"#2BF1DC"},{tag:[l.definitionKeyword,l.modifier],color:"#F8FBB1"},{tag:[l.variableName,l.self],color:"#B683CA"},{tag:[l.angleBracket,l.tagName,l.typeName,l.propertyName],color:"#60A4F1"},{tag:l.derefOperator,color:"#E0E0E0"},{tag:l.attributeName,color:"#7BACCA"}]}),ae({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:l.comment,color:"#6272a4"},{tag:[l.string,l.special(l.brace)],color:"#f1fa8c"},{tag:[l.number,l.self,l.bool,l.null],color:"#bd93f9"},{tag:[l.keyword,l.operator],color:"#ff79c6"},{tag:[l.definitionKeyword,l.typeName],color:"#8be9fd"},{tag:l.definition(l.typeName),color:"#f8f8f2"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.attributeName],color:"#50fa7b"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:l.comment,color:"#AAAAAA"},{tag:[l.keyword,l.operator,l.typeName,l.tagName,l.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[l.attributeName,l.definition(l.propertyName)],color:"#4F9FD0"},{tag:[l.className,l.string,l.special(l.brace)],color:"#CF4F5F"},{tag:l.number,color:"#CF4F5F",fontWeight:"bold"},{tag:l.variableName,fontWeight:"bold"}]}),ae({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:l.comment,color:"#9995b7"},{tag:l.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#ff5792"},{tag:[l.className,l.tagName,l.definition(l.typeName)],color:"#0094f0"},{tag:[l.number,l.bool,l.null,l.special(l.brace)],color:"#5842ff"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#0095a8"},{tag:l.typeName,color:"#b3694d"},{tag:[l.propertyName,l.variableName],color:"#fa8900"},{tag:l.operator,color:"#ff5792"},{tag:l.self,color:"#e64100"},{tag:[l.string,l.regexp],color:"#00b368"},{tag:[l.paren,l.bracket],color:"#0431fa"},{tag:l.labelName,color:"#00bdd6"},{tag:l.attributeName,color:"#e64100"},{tag:l.angleBracket,color:"#9995b7"}]}),ae({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:l.comment,color:"#9893a5"},{tag:[l.bool,l.null],color:"#286983"},{tag:l.number,color:"#d7827e"},{tag:l.className,color:"#d7827e"},{tag:[l.angleBracket,l.tagName,l.typeName],color:"#56949f"},{tag:l.attributeName,color:"#907aa9"},{tag:l.punctuation,color:"#797593"},{tag:[l.keyword,l.modifier],color:"#286983"},{tag:[l.string,l.regexp],color:"#ea9d34"},{tag:l.variableName,color:"#d7827e"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:l.comment,color:"#CFCFCF"},{tag:[l.number,l.bool,l.null],color:"#E66C29"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.labelName,l.definition(l.typeName)],color:"#2EB43B"},{tag:l.keyword,color:"#D8B229"},{tag:l.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#925A47"},{tag:l.string,color:"#704D3D"},{tag:l.typeName,color:"#2F8996"},{tag:[l.variableName,l.propertyName],color:"#77ACB0"},{tag:l.self,color:"#77ACB0",fontWeight:"bold"},{tag:l.regexp,color:"#E3965E"},{tag:[l.tagName,l.angleBracket],color:"#BAA827"},{tag:l.attributeName,color:"#B06520"},{tag:l.derefOperator,color:"#000"}]}),ae({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:l.comment,color:"#93A1A1"},{tag:l.string,color:"#2AA198"},{tag:l.regexp,color:"#D30102"},{tag:l.number,color:"#D33682"},{tag:l.variableName,color:"#268BD2"},{tag:[l.keyword,l.operator,l.punctuation],color:"#859900"},{tag:[l.definitionKeyword,l.modifier],color:"#073642",fontWeight:"bold"},{tag:[l.className,l.self,l.definition(l.propertyName)],color:"#268BD2"},{tag:l.function(l.variableName),color:"#268BD2"},{tag:[l.bool,l.null],color:"#B58900"},{tag:l.tagName,color:"#268BD2",fontWeight:"bold"},{tag:l.angleBracket,color:"#93A1A1"},{tag:l.attributeName,color:"#93A1A1"},{tag:l.typeName,color:"#859900"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:l.comment,color:"#8E908C"},{tag:[l.variableName,l.self,l.propertyName,l.attributeName,l.regexp],color:"#C82829"},{tag:[l.number,l.bool,l.null],color:"#F5871F"},{tag:[l.className,l.typeName,l.definition(l.typeName)],color:"#C99E00"},{tag:[l.string,l.special(l.brace)],color:"#718C00"},{tag:l.operator,color:"#3E999F"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#4271AE"},{tag:l.keyword,color:"#8959A8"},{tag:l.derefOperator,color:"#4D4D4C"}]});const jc=[ae({variant:"dark",settings:{background:"var(--cm-background)",foreground:"#abb2bf",caret:"#528bff",selection:"#3E4451",lineHighlight:"#2c313c",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#abb2bf"},{tag:[l.string,l.special(l.brace)],color:"#98c379"},{tag:l.number,color:"#d19a66"},{tag:l.bool,color:"#d19a66"},{tag:l.null,color:"#d19a66"},{tag:l.keyword,color:"#c678dd",fontWeight:500},{tag:l.className,color:"#61afef"},{tag:l.definition(l.typeName),color:"#61afef"},{tag:l.typeName,color:"#56b6c2"},{tag:l.angleBracket,color:"#abb2bf"},{tag:l.tagName,color:"#e06c75"},{tag:l.attributeName,color:"#d19a66"},{tag:l.operator,color:"#56b6c2",fontWeight:500},{tag:[l.function(l.variableName)],color:"#61afef"},{tag:[l.propertyName],color:"#e5c07b"}]}),j.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],Pc=[ae({variant:"light",settings:{background:"#ffffff",foreground:"#000000",caret:"#000000",selection:"#d7d4f0",lineHighlight:"#cceeff44",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#000000"},{tag:[l.string,l.special(l.brace)],color:"#a11"},{tag:l.number,color:"#164"},{tag:l.bool,color:"#219"},{tag:l.null,color:"#219"},{tag:l.keyword,color:"#708",fontWeight:500},{tag:l.className,color:"#00f"},{tag:l.definition(l.typeName),color:"#00f"},{tag:l.typeName,color:"#085"},{tag:l.angleBracket,color:"#000000"},{tag:l.tagName,color:"#170"},{tag:l.attributeName,color:"#00c"},{tag:l.operator,color:"#a2f",fontWeight:500},{tag:[l.function(l.variableName)],color:"#00c"},{tag:[l.propertyName],color:"#05a"}]}),j.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function oa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Mc=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=oa(e);return[Xd(n,r),Lc(),Oc(),us(),Hd({cellId:t,completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),Cd({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),Gc(e),Fc(),c!=null&&c.enabled?Rf():[],o&&d?[ts({prompt:p=>ls({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:Nd(p.editorView)})}),Rn.of({hideOnBlur:!0})]:[],Ud(t,u.reference_highlighting??!0)]};var Rc=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Yf(e)};const Gc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=oa(e);return[j.lineWrapping,xf(),Af(),Lf(),_f(),Sf(),Df(),bf(),Ef({position:"fixed",parent:document.querySelector("#App")??void 0}),Ed(),t==="dark"?jc:Pc,Dd(a),hc(r),Of(),Bc(),Xf(),fs(),lt.high(Je.of(zf)),Tf(),kf(),wf.of(" "),ai(Nf,{fallback:!0}),Je.of(yf),Vd({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),Sd.of(Pf()),Fr.allowMultipleSelections.of(!0),Sc(n),Je.of([{key:"Tab",run:c=>si(c)||Rc(c)||Wf(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>Pt(c.state)===null?!1:(Ln(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>Pt(c.state)===null?!1:(Ln(!1)(c),!0),preventDefault:!0}]),Je.of([...Vf,Bf])]};var Qe=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(Ym),rr=e=>{Qm(e),typeof Si=="function"&&Si(),Jc(vt)};function Jc(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(Qe&&Qe.__wbindgen_start)rr(Qe);else if("Bun"in globalThis){let e;if(Qe instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(Qe,{"./loro_wasm_bg.js":vt}));else{let t=Bun.pathToFileURL(Qe);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":vt}))}rr(e.exports)}else{let e=Qe instanceof WebAssembly.Module?Qe:await Sm(()=>import("./loro_wasm_bg-D0L2fcEg.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":vt});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":vt});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":vt});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);rr(n.exports??n)}var Wc=["Map","Text","List","Tree","MovableList","Counter"];function Vc(e){return e.startsWith("cid:")}function aa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Wc.includes(e.kind())}var $c=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new Xm(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};jr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Vc(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let u=e(a,c);if(u===c){let d=c.getShallowValue();return typeof d=="object"?o(d):d}if(aa(u))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof u=="object"&&u?o(u):u}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(aa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let u=r(s,c);u!==void 0&&(i[s]=u)}return i};return o(n.getShallowValue())};var ia=Symbol("loro.callPendingEventsWrapped");function Hc(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ia])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Ci()}):Ci()}};o[ia]=!0,Object.defineProperty(e,t,{...n,value:o})}function or(e,t){for(let n of t)Hc(e,n)}or(jr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),or(zm.prototype,["set","delete","apply","removeOutdated"]),or(Km.prototype,["undo","redo"]);const qc=j.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});In.define();const Lt=me.define(),ar=$e.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Lt))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var sa=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Lt));return e.docChanged||e.viewportChanged||t.length>0};const zc=()=>ri({above:!0,class:"loro-cursor-layer",update:sa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ar);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=yt.cursor(r.cursor.anchor);return Yc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Kc=()=>ri({above:!1,class:"loro-selection-layer",update:sa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ar);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=yt.range(r.cursor.anchor,r.cursor.head);return Ff.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Yc=class Jr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Jr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===If.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Jr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},Xc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=la(e,t,s,r);c&&o.push(c)}return o},la=(e,t,n,r)=>{var c,u;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Lt.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=xi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let d=xi.decode(o.cursor.head);s=((u=e.getCursorPos(d))==null?void 0:u.offset)??0}return Lt.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Qc=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let u of this.awareness.peers()){let d=la(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Lt.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=eu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Zc=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:Xc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},eu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const pn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],tu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return pn[Math.abs(t)%pn.length]}return pn[e%pn.length]},nu=(e,t,n)=>He.define(r=>new ru(r,e,t,n)),gt=In.define();var ru=class{constructor(e,t,n,r){h(this,"isInitDispatch",!1);h(this,"onRemoteUpdate",e=>{if(e.by!=="local"){if(e.by==="checkout"){this.view.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:this.getTextFromDoc(this.doc).toString()}],annotations:[gt.of(this)]});return}if(e.by==="import"){let t=[],n=0;for(let{diff:r,path:o}of e.events){if(o.join("/")!==this.docPath.join("/")||r.type!=="text")continue;let a=r.diff;for(let i of a)i.insert?t.push({from:n,to:n,insert:i.insert}):i.delete?(t.push({from:n,to:n+i.delete}),n+=i.delete):i.retain!=null&&(n+=i.retain);t.length>0&&this.view.dispatch({changes:t,annotations:[gt.of(this)]})}}}});this.view=e,this.doc=t,this.docPath=n,this.getTextFromDoc=r,this.sub=t.subscribe(this.onRemoteUpdate),Promise.resolve().then(()=>{this.isInitDispatch=!0;let o=this.view.state.doc.toString(),a=this.getTextFromDoc(this.doc);o!==a.toString()&&e.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:a.toString()}]})})}update(e){if(this.isInitDispatch){this.isInitDispatch=!1;return}if(!e.docChanged||e.transactions.length>0&&(e.transactions[0].annotation(gt)===this||e.transactions[0].annotation(gt)==="undo"))return;let t=0;e.changes.iterChanges((n,r,o,a,i)=>{let s=i.sliceString(0,i.length,`
19
- `);n!==r&&this.getTextFromDoc(this.doc).delete(n+t,r-n),s.length>0&&this.getTextFromDoc(this.doc).insert(n+t,s),t+=s.length-(r-n)}),this.doc.commit()}destroy(){var e;(e=this.sub)==null||e.call(this),this.sub=void 0}},ue=ge.get("rtc"),ca=ue.get("awareness").disabled(),ir="awareness:";function ou(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function au(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function iu(e,t){return e.slice(t.length)}ut=Dt(void 0);var ie=new jr,hn=new $c(ie.peerIdStr),sr=qf(()=>{ue.debug("creating websocket");let e=new ep(ei().getWsSyncURL(Im()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await ti(),Wd()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(au(r,ir)){let o=iu(r,ir);hn.apply(o),ca.debug("applied awareness update");return}ie.import(r),ue.debug("imported doc change. new doc:",ie.toJSON()),Z.get(ut)!==ie&&Z.set(ut,ie)}),e.addEventListener("open",()=>{ue.debug("websocket open")}),e.addEventListener("close",t=>{ue.warn("websocket close",t),Z.get(ut)===ie&&Z.set(ut,void 0)}),e});wr()&&sr(),ie.subscribeLocalUpdates(e=>{ue.debug("local update, sending to server"),sr().send(e)}),hn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ca.debug("awareness changes",n),sr().send(ou(ir,hn.encode(n))))});function lr(e,t,n=""){if(cf())return{extension:[],code:n};let r=ie.getByPath(`codes/${e}`)!==void 0,o=ie.getMap("codes").getOrCreateContainer(e,new Br);return r||(ue.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[su(e),lu(e),cu(ie,hn,{get name(){return Z.get(Od)||"Anonymous"},get colorClassName(){return tu(this.name)}},()=>o,e),nu(ie,["codes",e],()=>o)]}}function su(e){let t=(r,o)=>{let a=r.state.field(xn).type,i=o.toString();i&&i!==a&&(ue.debug(`[incoming] setting language type: ${a} -> ${i}`),_t(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Er),i=o.toJSON();kn(a,i)||r.dispatch({effects:[Ma.of(i)],annotations:[gt.of(!0)]})};return He.define(r=>{let o;return Promise.resolve().then(()=>{let a=ie.getByPath(`languages/${e}`);if(!a){ue.error("no language container found for cell",e);return}Ut(a instanceof Br,"language type is not a LoroText");let i=ie.getByPath(`language_metadata/${e}`);if(!i){ue.error("no language metadata container found for cell",e);return}Ut(i instanceof Ii,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=ie.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(d=>d.target===a.id),u=s.events.some(d=>d.target===i.id);c&&t(r,a),u&&n(r,i)})}),{destroy(){o()}}})}function lu(e){let t=ie.getMap("languages").getOrCreateContainer(e,new Br),n=ie.getMap("language_metadata").getOrCreateContainer(e,new Ii);return j.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=Nr(r.state).type;_t(r.view,{language:i}),ue.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),ue.debug("no initial language metadata, setting default to",r.state.field(Er));let s=r.state.field(Er);for(let c of Object.keys(s))n.set(c,s[c]);ie.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(gt)){for(let s of i.effects)if(s.is(hd)&&t.toString()!==s.value.type&&(ue.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(Ma)||s.is(Ha)){let c=s.value;s.is(Ha)?(ue.debug("[outgoing] setting language metadata: ",c),n.clear()):ue.debug("[outgoing] updating language metadata: ",c);for(let u of Object.keys(c))n.set(u,c[u]);a=!0}}a&&ie.commit()})}function cu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ar,zc(),Kc(),He.define(s=>new Qc(s,e,n,t,r,i,a)),He.define(s=>new Zc(s,e,t,i)),qc]}var uu=Re();Rr=e=>{let t=(0,uu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,u=o===void 0?null:o,d=a===void 0?!1:a,{sendListFiles:f}=Mt(),[p,m]=(0,F.useState)(u),g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=[],t[0]=g):g=t[0];let[w,y]=(0,F.useState)(g),[v,C]=(0,F.useState)(!1),T=(0,F.useRef)(null),A=(0,F.useRef)(!1),B,I;t[1]===u?(B=t[2],I=t[3]):(B=()=>{m(u)},I=[u],t[1]=u,t[2]=B,t[3]=I),(0,F.useEffect)(B,I);let x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{C(!0)},t[4]=x):x=t[4];let G=x,te;t[5]!==u||t[6]!==c?(te=fe=>{var vn;(vn=fe.relatedTarget)!=null&&vn.closest(".filename-input")||(C(!1),c&&m(u))},t[5]=u,t[6]=c,t[7]=te):te=t[7];let J=te,O;t[8]===p?O=t[9]:(O=Ye.dirname(p||""),t[8]=p,t[9]=O);let P=O,se=Ye.basename(p||""),U=w.filter(fe=>Ye.basename(fe.path).startsWith(se)),M;t[10]!==P||t[11]!==v||t[12]!==f?(M=async()=>{if(!v){y([]);return}y((await f({path:P})).files)},t[10]=P,t[11]=v,t[12]=f,t[13]=M):M=t[13];let de;t[14]!==P||t[15]!==v?(de=[P,v],t[14]=P,t[15]=v,t[16]=de):de=t[16];let{isPending:Y}=Mm(M,de),k=du(p,w,u),S=(k||U.length>0)&&(0,b.jsxs)(vi,{className:"font-mono",children:[!Y&&(0,b.jsx)(Gm,{children:"No files"}),k&&(0,b.jsxs)(wi,{variant:"success",className:"py-2 px-3",onSelect:()=>{var fe;k&&(A.current=!0,i(k),(fe=T.current)==null||fe.blur())},children:[(0,b.jsx)(oe,{className:"w-4 h-4 mr-2"})," ",(0,b.jsxs)("span",{className:"text-sm",children:[u?"Rename to: ":"Save as: ",(0,b.jsx)("span",{className:"font-medium text-sm",children:Ye.basename(k)})]})]},"_rename_"),U.map(fe=>{let vn=vm[fe.isDirectory?"directory":wm(fe.path)];return(0,b.jsxs)(wi,{variant:fe.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{fe.isDirectory?m(`${fe.path}/`):m(fe.path)},children:[(0,b.jsx)(vn,{className:"w-4 h-4 mr-2"})," ",Ye.basename(fe.path)]},fe.path)})]}),W=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,_=v?p||"":u||"",ne;t[17]!==d||t[18]!==W?(ne=d?{maxWidth:W}:void 0,t[17]=d,t[18]=W,t[19]=ne):ne=t[19];let Ge;t[20]===s?Ge=t[21]:(Ge=st(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=Ge);let Pe;t[22]!==r||t[23]!==_||t[24]!==ne||t[25]!==Ge?(Pe=(0,b.jsx)(Lm,{children:(0,b.jsx)(Rm,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:_,onKeyDown:fu,icon:null,ref:T,onValueChange:m,placeholder:r,autoComplete:"off",style:ne,className:Ge})}),t[22]=r,t[23]=_,t[24]=ne,t[25]=Ge,t[26]=Pe):Pe=t[26];let Ve=S&&"group-focus-within:block",Me;t[27]===Ve?Me=t[28]:(Me=st("p-0 w-full min-w-80 max-w-80vw hidden",Ve),t[27]=Ve,t[28]=Me);let D;t[29]!==S||t[30]!==Me?(D=(0,b.jsx)(Om,{side:"bottom",className:Me,portal:!1,children:S}),t[29]=S,t[30]=Me,t[31]=D):D=t[31];let $;t[32]!==Pe||t[33]!==D?($=(0,b.jsxs)(vi,{children:[Pe,D]}),t[32]=Pe,t[33]=D,t[34]=$):$=t[34];let L;t[35]!==J||t[36]!==$?(L=(0,b.jsx)(Jm,{onFocus:G,onBlur:J,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:$}),t[35]=J,t[36]=$,t[37]=L):L=t[37];let H;return t[38]!==v||t[39]!==L?(H=(0,b.jsx)(hf,{children:(0,b.jsx)(Dm,{open:v,modal:!1,children:L})}),t[38]=v,t[39]=L,t[40]=H):H=t[40],H};function du(e,t,n){if(e&&!e.endsWith("/")&&((bd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ye.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Ye.basename(r.path)===e)&&!(n&&(n===e||Ye.basename(n)===e))))return e}function fu(e){e.key==="Escape"&&e.currentTarget.blur()}var ua=Re(),mu=e=>{let t=(0,ua.c)(33),n=()=>{hm(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=le(gu),o;t[0]!==n||t[1]!==e?(o=B=>{B.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=B=>{B.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,b.jsx)(hi,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,u;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("p",{children:"This app has unsaved changes. To recover:"}),u={paddingBottom:"10px"},t[7]=c,t[8]=u):(c=t[7],u=t[8]);let d;t[9]===e.proposedName?d=t[10]:(d=(0,b.jsxs)("li",{style:u,children:['Click the "Download" button. This will download a file called\xA0',(0,b.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=d);let f;t[11]===Symbol.for("react.memo_cache_sentinel")?(f={paddingBottom:"10px"},t[11]=f):f=t[11];let p;t[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},t[12]=p):p=t[12];let m;t[13]===e.proposedName?m=t[14]:(m=(0,b.jsxs)("code",{style:p,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=m);let g;t[15]===e.proposedName?g=t[16]:(g=(0,b.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=g);let w;t[17]!==g||t[18]!==m?(w=(0,b.jsxs)("li",{style:f,children:["In your terminal, type",m,"to overwrite ",g," with the recovered changes."]}),t[17]=g,t[18]=m,t[19]=w):w=t[19];let y;t[20]!==w||t[21]!==d?(y=(0,b.jsx)(Am,{className:"markdown break-words",style:s,children:(0,b.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,b.jsxs)("ol",{children:[d,w]})]})}),t[20]=w,t[21]=d,t[22]=y):y=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,b.jsx)(it,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,b.jsx)(it,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let T;t[26]===v?T=t[27]:(T=(0,b.jsxs)(gi,{children:[v,C]}),t[26]=v,t[27]=T);let A;return t[28]!==o||t[29]!==a||t[30]!==y||t[31]!==T?(A=(0,b.jsx)(bi,{className:"w-fit",children:(0,b.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,y,T]})}),t[28]=o,t[29]=a,t[30]=y,t[31]=T,t[32]=A):A=t[32],A};const pu=e=>{let t=(0,ua.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=yi(),i;t[0]===n?i=t[1]:(i=n===null?"app":Ye.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,b.jsx)(mu,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let u=c;ni("global.save",u);let d;t[7]===Symbol.for("react.memo_cache_sentinel")?(d=Ei("global.save"),t[7]=d):d=t[7];let f=r?"yellow":"gray",p;t[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,b.jsx)(fi,{strokeWidth:1.5,size:18}),t[8]=p):p=t[8];let m;return t[9]!==u||t[10]!==f?(m=(0,b.jsx)(On,{content:d,children:(0,b.jsx)(Ti,{onClick:u,id:"save-button","aria-label":"Save",className:"rectangle",color:f,children:p})}),t[9]=u,t[10]=f,t[11]=m):m=t[11],m};function hu(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function gu(){let e=vr(Cr()),t={version:"1",metadata:{marimo_version:pf()},cells:e.map(hu)};return JSON.stringify(t,null,2)}var bu=class{constructor(){h(this,"capturedInputs",new Map);h(this,"inFlight",new Map)}cancelEntry(e){e.controller.abort(),e.deferred.status==="pending"&&e.deferred.resolve(void 0)}needsCapture(e,t){if(this.capturedInputs.get(e)===t)return!1;let n=this.inFlight.get(e);return!(n&&n.inputValue===t)}waitForInFlight(e,t){let n=this.inFlight.get(e);return n&&n.inputValue===t?n.deferred.promise:null}startCapture(e,t){let n=this.inFlight.get(e);n&&this.cancelEntry(n);let r=new AbortController,o=new xm,a={controller:r,inputValue:t,deferred:o};return this.inFlight.set(e,a),{signal:r.signal,markCaptured:i=>{this.inFlight.get(e)===a&&(o.resolve(i),this.capturedInputs.set(e,t),this.inFlight.delete(e))},markFailed:()=>{this.inFlight.get(e)===a&&(o.resolve(void 0),this.inFlight.delete(e))}}}prune(e){for(let t of this.capturedInputs.keys())e.has(t)||this.capturedInputs.delete(t);for(let[t,n]of this.inFlight)e.has(t)||(this.cancelEntry(n),this.inFlight.delete(t))}get isCapturing(){return this.inFlight.size>0}abort(){for(let e of this.inFlight.values())this.cancelEntry(e);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},yu=Re(),cr=5e3;function wu(){let e=(0,yu.c)(14),t=re(af),{state:n}=re(at),r=t.auto_download.includes("markdown"),o=t.auto_download.includes("html"),a=t.auto_download.includes("ipynb"),i=n===bt.OPEN,s=!r||!i,c=!o||!i,u=!a||!i,{autoExportAsHTML:d,autoExportAsIPYNB:f,autoExportAsMarkdown:p,updateCellOutputs:m}=Mt(),g=Eu(),w;e[0]===p?w=e[1]:(w=async()=>{await p({download:!1})},e[0]=p,e[1]=w);let y;e[2]===s?y=e[3]:(y={delayMs:cr,whenVisible:!0,disabled:s},e[2]=s,e[3]=y),Pr(w,y);let v;e[4]===d?v=e[5]:(v=async()=>{await d({download:!1,includeCode:!0,files:rm.INSTANCE.filenames()})},e[4]=d,e[5]=v);let C;e[6]===c?C=e[7]:(C={delayMs:cr,whenVisible:!0,disabled:c},e[6]=c,e[7]=C),Pr(v,C);let T;e[8]!==f||e[9]!==g||e[10]!==m?(T=async()=>{await ku({takeScreenshots:()=>g({progress:bm.indeterminate()}),updateCellOutputs:m}),await f({download:!1})},e[8]=f,e[9]=g,e[10]=m,e[11]=T):T=e[11];let A;e[12]===u?A=e[13]:(A={delayMs:cr,whenVisible:!0,disabled:u,skipIfRunning:!0},e[12]=u,e[13]=A),Pr(T,A)}var vu=new Set(["text/html","application/vnd.vegalite.v5+json","application/vnd.vega.v5+json","application/vnd.vegalite.v6+json","application/vnd.vega.v6+json"]);const gn=new bu;function Eu(){let e=re(Jd);return async t=>{var c,u;let{progress:n}=t,r=new Set(xr.keys(e));gn.prune(r);let o=[],a=[];for(let[d,f]of xr.entries(e)){let p=(c=f.output)==null?void 0:c.data;if((u=f.output)!=null&&u.mimetype&&vu.has(f.output.mimetype)&&p)if(gn.needsCapture(d,p))o.push([d,p]);else{let m=gn.waitForInFlight(d,p);m&&a.push({cellId:d,promise:m})}}if(o.length===0&&a.length===0)return{};o.length>0&&n.addTotal(o.length);let i={};for(let[d,f]of o){let p=gn.startCapture(d,f);try{let m=await gm(d);if(p.signal.aborted)continue;if(!m){ge.error(`Failed to capture screenshot for cell ${d}`),p.markFailed();continue}let g=["image/png",m];i[d]=g,p.markCaptured(g)}catch(m){ge.error(`Error screenshotting cell ${d}:`,m),p.markFailed()}finally{n.increment(1)}}let s=await Promise.allSettled(a.map(({promise:d})=>d));for(let[d,{cellId:f}]of a.entries()){let p=s[d];p.status==="fulfilled"&&p.value&&(i[f]=p.value)}return i}}async function ku(e){let{takeScreenshots:t,updateCellOutputs:n}=e;try{let r=await t();xr.size(r)>0&&await n({cellIdsToOutput:r})}catch(r){ge.error("Error updating cell outputs with screenshots:",r),ct({title:"Failed to capture cell outputs",description:"Some outputs may not appear in the PDF. Continuing with export.",variant:"danger"})}}let ur;Un=Dt(void 0),ur=Dt(e=>{let t=e(Un);return Nu({state:e(Ze),layout:e(li),lastSavedNotebook:t})});function Nu({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(u=>o[u]),i=a.map(u=>u.code),s=a.map(u=>u.config),c=a.map(u=>u.name);return!ii(i,n.codes)||!ii(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Cu=Re();function Su(e){let t=(0,Cu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:u}=e,d=(0,F.useRef)(null),f;t[0]===n?f=t[1]:(f=n.join(":"),t[0]=n,t[1]=f);let p=f,m;t[2]===r?m=t[3]:(m=r.map(xu).join(":"),t[2]=r,t[3]=m);let g=m,w;t[4]===i?w=t[5]:(w=i.join(":"),t[4]=i,t[5]=w);let y=w,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==u?(v=()=>{if(!c)return o.autosave==="after_delay"&&(d.current!==null&&clearTimeout(d.current),s&&a.state===bt.OPEN&&(d.current=setTimeout(u,o.autosave_delay))),()=>{d.current!==null&&clearTimeout(d.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=u,t[11]=v):v=t[11];let C;t[12]!==g||t[13]!==y||t[14]!==p||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==u?(C=[p,g,y,o,a.state,u,c,s],t[12]=g,t[13]=y,t[14]=p,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=u,t[20]=C):C=t[20],(0,F.useEffect)(v,C)}function xu(e){return JSON.stringify(e)}var bn=Re();Ai=e=>{let t=(0,bn.c)(15),{kioskMode:n}=e,r=jm(),o=re(ur),a=re(at).state===bt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Jt(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Fu(c),wu();let u;t[3]===o?u=t[4]:(u=y=>{if(o)return y.preventDefault(),y.returnValue="You have unsaved changes. Are you sure you want to leave?",y.returnValue},t[3]=o,t[4]=u),of(window,"beforeunload",u);let d;t[5]===i?d=t[6]:(d=y=>{y.preventDefault(),y.stopPropagation(),i()},t[5]=i,t[6]=d);let f=d;if(ni("global.save",i),a){let y;return t[7]!==r||t[8]!==o?(y=(0,b.jsx)(pu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=y):y=t[9],y}let p;t[10]===Symbol.for("react.memo_cache_sentinel")?(p=Ei("global.save"),t[10]=p):p=t[10];let m=o?"yellow":"hint-green",g;t[11]===Symbol.for("react.memo_cache_sentinel")?(g=(0,b.jsx)(fi,{strokeWidth:1.5,size:18}),t[11]=g):g=t[11];let w;return t[12]!==f||t[13]!==m?(w=(0,b.jsx)(On,{content:p,children:(0,b.jsx)(Ti,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:m,onClick:f,children:g})}),t[12]=f,t[13]=m,t[14]=w):w=t[14],w},Jt=function(){let e=(0,bn.c)(21),{sendSave:t}=Mt(),{openModal:n,closeModal:r,openAlert:o}=yi(),a=Ba(Un),i=Pm(),s=yr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let T=s.get(at),A=s.get(Za);if(s.get(Rd))return;if(T.state!==bt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}ge.log("saving to ",v),C&&A.format_on_save&&(ge.log("formatting notebook (onSave)"),await $d());let B=Cr(),I=vr(B),x=I.map(Au),G=I.map(Tu),te=I.map(Iu),J=Va(B),O=s.get(li);G.length!==0&&(await t({cellIds:x,codes:G,names:te,filename:v,configs:J,layout:om(),persist:!0}),a({names:te,codes:G,configs:J,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let u=le(c),d;e[5]!==u||e[6]!==s?(d=v=>{let C=v===void 0?!1:v,T=s.get($a),A=s.get(at);da(T)&&A.state===bt.OPEN&&u(T,C)},e[5]=u,e[6]=s,e[7]=d):d=e[7];let f=le(d),p;e[8]!==u||e[9]!==i?(p=v=>{i(v).then(C=>{C!==null&&u(C,!0)})},e[8]=u,e[9]=i,e[10]=p):p=e[10];let m=p,g;e[11]!==r||e[12]!==m||e[13]!==n||e[14]!==f||e[15]!==s?(g=()=>{let v=s.get($a),C=s.get(at);f(!0),!da(v)&&C.state!==bt.CLOSED&&n((0,b.jsx)(Du,{onClose:r,onSave:m}))},e[11]=r,e[12]=m,e[13]=n,e[14]=f,e[15]=s,e[16]=g):g=e[16];let w=le(g),y;return e[17]!==f||e[18]!==u||e[19]!==w?(y={saveOrNameNotebook:w,saveIfNotebookIsPersistent:f,saveNotebook:u},e[17]=f,e[18]=u,e[19]=w,e[20]=y):y=e[20],y};function Iu(e){return e.name}function Tu(e){return e.code}function Au(e){return e.id}function da(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Fu(e){let t=(0,bn.c)(14),n=re(Za),r=kd(),[o]=En(at),a=re(ur),i,s;if(t[0]!==r){let p=vr(r);i=p.map(Ou),s=p.map(Lu),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,u;t[3]===r?u=t[4]:(u=Va(r),t[3]=r,t[4]=u);let d=u,f;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==d||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(f={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:d,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=d,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=f):f=t[13],Su(f)}function Lu(e){return e.name}function Ou(e){return e.code}var Du=e=>{let t=(0,bn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,F.useState)(),i;t[0]!==n||t[1]!==r?(i=y=>{a(y),y.trim()&&(r(y),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)(hi,{children:"Save notebook"}),t[3]=c):c=t[3];let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,b.jsx)(_r,{className:"text-md pt-6 px-1",children:"Save as"}),t[4]=u):u=t[4];let d;t[5]===s?d=t[6]:(d=(0,b.jsxs)("div",{className:"flex flex-col",children:[u,(0,b.jsx)(Rr,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=d);let f;t[7]===n?f=t[8]:(f=(0,b.jsx)(it,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=f);let p=!o,m;t[9]===p?m=t[10]:(m=(0,b.jsx)(it,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),t[9]=p,t[10]=m);let g;t[11]!==f||t[12]!==m?(g=(0,b.jsxs)(gi,{children:[f,m]}),t[11]=f,t[12]=m,t[13]=g):g=t[13];let w;return t[14]!==d||t[15]!==g?(w=(0,b.jsxs)(bi,{children:[c,d,g]}),t[14]=d,t[15]=g,t[16]=w):w=t[16],w};_n=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var fa={modified:{doc:""},original:{doc:""}},ma=(0,F.createContext)(fa);function _u(e,t){return X({},e,t,{modified:X({},e.modified,t.modified),original:X({},e.original,t.original)})}var dr=()=>(0,F.useContext)(ma),Uu=e=>{var{children:t,theme:n}=e,[r,o]=(0,F.useReducer)(_u,X({},fa,{theme:n}));return(0,F.useEffect)(()=>o({theme:n}),[n]),(0,b.jsx)(ma.Provider,{value:X({},r,{dispatch:o}),children:t})},Bu=["extensions","value","selection","onChange"],pa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,Bu),{theme:i,dispatch:s}=dr(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};pa.displayName="CodeMirrorMerge.Original";var ju=["extensions","value","selection","onChange"],ha=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,ju),{theme:i,dispatch:s}=dr(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};ha.displayName="CodeMirrorMerge.Modified";var Pu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Mu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],ga=F.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:u=!0,renderRevertControl:d,diffConfig:f,root:p}=e,m=Rt(e,Pu),g=dr(),{modified:w,modifiedExtension:y,original:v,originalExtension:C,theme:T,dispatch:A}=g,B=Rt(g,Mu),I=(0,F.useRef)(null),x=(0,F.useRef)(),G={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:d,diffConfig:f,root:p};(0,F.useImperativeHandle)(t,()=>({container:I.current,view:x.current,modified:w,original:v,config:X({a:v,b:w,parent:I.current},G)}),[I,x,w,v,G]);var te=j.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var P=O.state.doc.toString();C==null||C.onChange(P,O)}}),J=j.updateListener.of(O=>{if(O.docChanged&&typeof(y==null?void 0:y.onChange)=="function"){var P=O.state.doc.toString();y==null||y.onChange(P,O)}});return(0,F.useEffect)(()=>{!x.current&&I.current&&C&&y&&(x.current=new Ni(X({a:X({},v,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:T})),te]}),b:X({},w,{extensions:[...(y==null?void 0:y.extension)||[],...wt(X({},y==null?void 0:y.option,{theme:T})),J]}),parent:I.current},G)),A({view:x.current}))},[x,I,C,y]),(0,F.useEffect)(()=>{var Y,k;if(v&&v.doc&&x.current){var O=(Y=x.current)==null?void 0:Y.a.state.doc.toString();if(O!==v.doc){var P;(P=x.current)==null||P.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(w&&w.doc&&x.current){var se=(k=x.current)==null?void 0:k.b.state.doc.toString();if(se!==w.doc){var U;(U=x.current)==null||U.b.dispatch({changes:{from:0,to:se.length,insert:w.doc||""}})}}if(u&&x.current){var M=x.current.a.state.selection.ranges[0].from,de=x.current.b.state.selection.ranges[0].from;x.current.destroy(),x.current=new Ni(X({a:X({},v,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:T}))]}),b:X({},w,{extensions:[...(y==null?void 0:y.extension)||[],...wt(X({},y==null?void 0:y.option,{theme:T}))]}),parent:I.current},G)),M&&(x.current.a.focus(),x.current.a.dispatch({selection:{anchor:M,head:M}})),de&&(x.current.b.focus(),x.current.b.dispatch({selection:{anchor:de,head:de}}))}},[x,T,I.current,v,w,C,y,u]),(0,F.useEffect)(()=>()=>x.current&&x.current.destroy(),[]),(0,F.useEffect)(()=>{if(x.current){var O={};B.orientation!==o&&(O.orientation=o),B.revertControls!==a&&(O.revertControls=a),B.highlightChanges!==i&&(O.highlightChanges=i),B.gutter!==s&&(O.gutter=s),B.collapseUnchanged!==c&&(O.collapseUnchanged=c),B.renderRevertControl!==d&&(O.collapseUnchanged=c),Object.keys(O).length&&A&&x.current&&(x.current.reconfigure(X({},O)),A(X({},O)))}},[A,x,o,a,i,s,c,d]),(0,b.jsx)("div",X({ref:I,className:"cm-merge-theme"+(n?" "+n:"")},m,{children:r}))});ga.displayName="CodeMirrorMerge.Internal";var Ru=["theme"],yn=F.forwardRef((e,t)=>{var{theme:n}=e;return(0,b.jsx)(Uu,{theme:n,children:(0,b.jsx)(ga,X({},Rt(e,Ru),{ref:t}))})});yn.Original=pa,yn.Modified=ha,yn.displayName="CodeMirrorMerge";var fr=yn,Gu=Re(),Ju=fr.Original,Wu=fr.Modified,ba=[wd(),j.lineWrapping];const Vu=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:u,children:d})=>{let[f,p]=(0,F.useState)(!1),[m,g]=(0,F.useState)({}),[w,y]=En(Cm),v=(0,F.useId)(),C=df(),{initialPrompt:T,triggerImmediately:A,cellId:B}=t??{},I=B===e,x=re(mm).get(e),G;(x==null?void 0:x.type)==="update_cell"&&(G=x.previousCode);let{completion:te,input:J,stop:O,isLoading:P,setCompletion:se,setInput:U,handleSubmit:M,complete:de}=im({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:T,streamProtocol:"text",experimental_throttle:100,body:{...Object.keys(m).length>0?m:T?ui({input:T}):{},includeOtherCode:w?kr(a):"",code:a,language:o},onError:L=>{ct({title:"Completion failed",description:_m(L)})},onFinish:(L,H)=>{se(H.trimEnd())}}),Y=F.useRef(null),k=te.trimEnd(),S=(0,F.useCallback)(()=>{A&&!P&&T&&de(T)},[A]);(0,F.useEffect)(()=>{var L;I&&(pd(()=>{let H=Y.current;return H!=null&&H.view?(H.view.focus(),S(),!0):!1},{retries:3,delay:100,initialDelay:100}),jd((L=Y.current)==null?void 0:L.view))},[I,S]),(0,F.useEffect)(()=>{I&&U(T||"")},[I,T,U]);let{theme:W}=Tm(),_=()=>{s(k),se("")},ne=()=>{i(),se("")},Ge=I&&A&&(k||P);u??(u="below");let Pe=I&&(!A||f),Ve=(0,b.jsx)("div",{className:st("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",Ge?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,b.jsx)($u,{status:P?"loading":"generated",onAccept:_,onReject:ne,showInputPrompt:f,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-128"})}),Me=(L,H)=>(0,b.jsxs)(fr,{className:"cm",theme:W,children:[(0,b.jsx)(Ju,{onChange:r,value:L,extensions:ba}),(0,b.jsx)(Wu,{value:H,editable:!1,readOnly:!0,extensions:ba})]}),D=()=>{if(k&&I)return Me(a,k);if(!k&&G)return Me(G,a)},$=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(di,{isLoading:P,onAccept:_,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,b.jsx)(ci,{onDecline:ne,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,b.jsxs)("div",{"data-ai-input-open":Pe,className:st("flex flex-col w-full rounded-[inherit]",n),children:[(0,b.jsx)("div",{className:st("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",Pe&&"max-h-[400px] border-b min-h-11 visible",!Pe&&"max-h-0 min-h-0 invisible"),children:I&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Nm,{className:"text-(--blue-10) shrink-0",size:16}),(0,b.jsx)(um,{inputRef:Y,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:J,onChange:L=>{U(L),g(ui({input:L}))},onSubmit:()=>{var L;P||((L=Y.current)!=null&&L.view&&fm(Y.current.view),M())},onKeyDown:dm({handleAcceptCompletion:_,handleDeclineCompletion:ne,isLoading:P,hasCompletion:k.trim().length>0})}),(0,b.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,b.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,b.jsx)(cm,{isLoading:P,onStop:O,onSendClick:M,isEmpty:!J.trim(),showStopLabel:!0}),(0,b.jsx)(lm,{handleAddContext:()=>sm(Y),isLoading:P}),(0,b.jsx)(tf,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),k&&(0,b.jsx)("div",{className:"mt-1 flex items-center gap-1",children:$})]}),(0,b.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,b.jsx)(On,{content:"Include code from other cells",children:(0,b.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,b.jsx)(yd,{"data-testid":"include-other-cells-checkbox",id:v,checked:w,onCheckedChange:L=>y(!!L)}),(0,b.jsx)(_r,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,b.jsx)(it,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:P,onClick:()=>{O(),i(),se("")},children:(0,b.jsx)(pm,{className:"text-(--red-10)",size:16})})]})}),u==="above"&&Ve,D(),(!k||!I)&&!G&&d,u==="below"&&Ve]})};var $u=e=>{let t=(0,Gu.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,u=n==="loading",d;t[0]===a?d=t[1]:(d=st("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=d);let f;t[2]===u?f=t[3]:(f=u?(0,b.jsx)(Em,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,b.jsx)(ym,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=u,t[3]=f);let p=u?"Generating fix...":"Showing fix",m;t[4]===p?m=t[5]:(m=(0,b.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),t[4]=p,t[5]=m);let g;t[6]!==f||t[7]!==m?(g=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[f,m]}),t[6]=f,t[7]=m,t[8]=g):g=t[8];let w;t[9]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)(_r,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=w):w=t[9];let y;t[10]!==s||t[11]!==i?(y=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[w,(0,b.jsx)(mf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=y):y=t[12];let v;t[13]!==u||t[14]!==r||t[15]!==c?(v=(0,b.jsx)(di,{isLoading:u,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=u,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,b.jsx)(ci,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let T;t[19]!==v||t[20]!==C?(T=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=T):T=t[21];let A;return t[22]!==d||t[23]!==T||t[24]!==g||t[25]!==y?(A=(0,b.jsxs)("div",{className:d,children:[g,y,T]}),t[22]=d,t[23]=T,t[24]=g,t[25]=y,t[26]=A):A=t[26],A},mr="web application/x-marimo-cell",Hu=Ka({cells:Yd(Ka({code:zd()})),version:Kd("1.0")});function qu(){let e=Nn();return{copyCells:le(async t=>{let n=Cr(),r=t.map(o=>n.cellData[o]).filter(Boolean);if(r.length!==0)try{let o={cells:r.map(s=>({code:s.code})),version:"1.0"},a=r.map(s=>s.code).join(`
18
+ `).trim()}function Uc(e,t,n,r){var o;return r!=="{"||t!==n||!((o=oi(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function Bc(){return P.inputHandler.of(Uc)}var ae=({variant:e,settings:t,styles:n})=>[P.theme({"&":{backgroundColor:t.background,color:t.foreground},".cm-content":{caretColor:t.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:t.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:t.selection},".cm-activeLine":{backgroundColor:t.lineHighlight},".cm-gutters":{backgroundColor:t.gutterBackground,color:t.gutterForeground},".cm-activeLineGutter":{backgroundColor:t.lineHighlight}},{dark:e==="dark"}),ai(Cf.define(n))];ae({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:l.comment,color:"#404080"},{tag:[l.string,l.regexp],color:"#999999"},{tag:l.number,color:"#7090B0"},{tag:[l.bool,l.null],color:"#8080A0"},{tag:[l.punctuation,l.derefOperator],color:"#805080"},{tag:l.keyword,color:"#60B0FF"},{tag:l.definitionKeyword,color:"#B0FFF0"},{tag:l.moduleKeyword,color:"#60B0FF"},{tag:l.operator,color:"#A0A0FF"},{tag:[l.variableName,l.self],color:"#008080"},{tag:l.operatorKeyword,color:"#A0A0FF"},{tag:l.controlKeyword,color:"#80A0FF"},{tag:l.className,color:"#70E080"},{tag:[l.function(l.propertyName),l.propertyName],color:"#50A0A0"},{tag:l.tagName,color:"#009090"},{tag:l.modifier,color:"#B0FFF0"},{tag:[l.squareBracket,l.attributeName],color:"#D0D0FF"}]}),ae({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:l.comment,color:"#787b8099"},{tag:l.string,color:"#86b300"},{tag:l.regexp,color:"#4cbf99"},{tag:[l.number,l.bool,l.null],color:"#ffaa33"},{tag:l.variableName,color:"#5c6166"},{tag:[l.definitionKeyword,l.modifier],color:"#fa8d3e"},{tag:[l.keyword,l.special(l.brace)],color:"#fa8d3e"},{tag:l.operator,color:"#ed9366"},{tag:l.separator,color:"#5c6166b3"},{tag:l.punctuation,color:"#5c6166"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#f2ae49"},{tag:[l.className,l.definition(l.typeName)],color:"#22a4e6"},{tag:[l.tagName,l.typeName,l.self,l.labelName],color:"#55b4d4"},{tag:l.angleBracket,color:"#55b4d480"},{tag:l.attributeName,color:"#f2ae49"}]}),ae({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:l.comment,color:"#6E6E6E"},{tag:[l.string,l.regexp,l.special(l.brace)],color:"#5C81B3"},{tag:l.number,color:"#C1E1B8"},{tag:l.bool,color:"#53667D"},{tag:[l.definitionKeyword,l.modifier,l.function(l.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[l.keyword,l.moduleKeyword,l.operatorKeyword,l.operator],color:"#697A8E",fontWeight:"bold"},{tag:[l.variableName,l.attributeName],color:"#708E67"},{tag:[l.function(l.variableName),l.definition(l.propertyName),l.derefOperator],color:"#fff"},{tag:l.tagName,color:"#A3D295"}]}),ae({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:l.comment,color:"#666666"},{tag:[l.string,l.special(l.brace)],color:"#54BE0D"},{tag:l.regexp,color:"#E9C062"},{tag:l.number,color:"#CF6A4C"},{tag:[l.keyword,l.operator],color:"#5EA6EA"},{tag:l.variableName,color:"#7587A6"},{tag:[l.definitionKeyword,l.modifier],color:"#F9EE98"},{tag:[l.propertyName,l.function(l.variableName)],color:"#937121"},{tag:[l.typeName,l.angleBracket,l.tagName],color:"#9B859D"}]}),ae({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:l.comment,color:"#6B4E32"},{tag:[l.keyword,l.operator,l.derefOperator],color:"#EF5D32"},{tag:l.className,color:"#EFAC32",fontWeight:"bold"},{tag:[l.typeName,l.propertyName,l.function(l.variableName),l.definition(l.variableName)],color:"#EFAC32"},{tag:l.definition(l.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:l.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[l.number,l.bool],color:"#6C99BB"},{tag:[l.variableName,l.self],color:"#7DAF9C"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#D9D762"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#EFCB43"}]}),ae({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:l.comment,color:"#404040"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#00D8FF"},{tag:l.number,color:"#E62286"},{tag:[l.variableName,l.attributeName,l.self],color:"#E62286",fontWeight:"bold"},{tag:l.function(l.variableName),color:"#fff",fontWeight:"bold"}]}),ae({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:l.comment,color:"#BCC8BA"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#5D90CD"},{tag:[l.number,l.bool,l.null],color:"#46A609"},{tag:l.keyword,color:"#AF956F"},{tag:[l.definitionKeyword,l.modifier],color:"#C52727"},{tag:[l.angleBracket,l.tagName,l.attributeName],color:"#606060"},{tag:l.self,color:"#000"}]}),ae({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:l.comment,color:"#0088FF"},{tag:l.string,color:"#3AD900"},{tag:l.regexp,color:"#80FFC2"},{tag:[l.number,l.bool,l.null],color:"#FF628C"},{tag:[l.definitionKeyword,l.modifier],color:"#FFEE80"},{tag:l.variableName,color:"#CCCCCC"},{tag:l.self,color:"#FF80E1"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.definition(l.typeName),l.labelName],color:"#FFDD00"},{tag:[l.keyword,l.operator],color:"#FF9D00"},{tag:[l.propertyName,l.typeName],color:"#80FFBB"},{tag:l.special(l.brace),color:"#EDEF7D"},{tag:l.attributeName,color:"#9EFFFF"},{tag:l.derefOperator,color:"#fff"}]}),ae({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:l.comment,color:"#AEAEAE"},{tag:[l.string,l.special(l.brace),l.regexp],color:"#8DFF8E"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.function(l.definition(l.variableName)),l.definition(l.typeName)],color:"#A3EBFF"},{tag:[l.number,l.bool,l.null],color:"#62E9BD"},{tag:[l.keyword,l.operator],color:"#2BF1DC"},{tag:[l.definitionKeyword,l.modifier],color:"#F8FBB1"},{tag:[l.variableName,l.self],color:"#B683CA"},{tag:[l.angleBracket,l.tagName,l.typeName,l.propertyName],color:"#60A4F1"},{tag:l.derefOperator,color:"#E0E0E0"},{tag:l.attributeName,color:"#7BACCA"}]}),ae({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:l.comment,color:"#6272a4"},{tag:[l.string,l.special(l.brace)],color:"#f1fa8c"},{tag:[l.number,l.self,l.bool,l.null],color:"#bd93f9"},{tag:[l.keyword,l.operator],color:"#ff79c6"},{tag:[l.definitionKeyword,l.typeName],color:"#8be9fd"},{tag:l.definition(l.typeName),color:"#f8f8f2"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.attributeName],color:"#50fa7b"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:l.comment,color:"#AAAAAA"},{tag:[l.keyword,l.operator,l.typeName,l.tagName,l.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[l.attributeName,l.definition(l.propertyName)],color:"#4F9FD0"},{tag:[l.className,l.string,l.special(l.brace)],color:"#CF4F5F"},{tag:l.number,color:"#CF4F5F",fontWeight:"bold"},{tag:l.variableName,fontWeight:"bold"}]}),ae({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:l.comment,color:"#9995b7"},{tag:l.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#ff5792"},{tag:[l.className,l.tagName,l.definition(l.typeName)],color:"#0094f0"},{tag:[l.number,l.bool,l.null,l.special(l.brace)],color:"#5842ff"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#0095a8"},{tag:l.typeName,color:"#b3694d"},{tag:[l.propertyName,l.variableName],color:"#fa8900"},{tag:l.operator,color:"#ff5792"},{tag:l.self,color:"#e64100"},{tag:[l.string,l.regexp],color:"#00b368"},{tag:[l.paren,l.bracket],color:"#0431fa"},{tag:l.labelName,color:"#00bdd6"},{tag:l.attributeName,color:"#e64100"},{tag:l.angleBracket,color:"#9995b7"}]}),ae({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:l.comment,color:"#9893a5"},{tag:[l.bool,l.null],color:"#286983"},{tag:l.number,color:"#d7827e"},{tag:l.className,color:"#d7827e"},{tag:[l.angleBracket,l.tagName,l.typeName],color:"#56949f"},{tag:l.attributeName,color:"#907aa9"},{tag:l.punctuation,color:"#797593"},{tag:[l.keyword,l.modifier],color:"#286983"},{tag:[l.string,l.regexp],color:"#ea9d34"},{tag:l.variableName,color:"#d7827e"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:l.comment,color:"#CFCFCF"},{tag:[l.number,l.bool,l.null],color:"#E66C29"},{tag:[l.className,l.definition(l.propertyName),l.function(l.variableName),l.labelName,l.definition(l.typeName)],color:"#2EB43B"},{tag:l.keyword,color:"#D8B229"},{tag:l.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[l.definitionKeyword,l.modifier],color:"#925A47"},{tag:l.string,color:"#704D3D"},{tag:l.typeName,color:"#2F8996"},{tag:[l.variableName,l.propertyName],color:"#77ACB0"},{tag:l.self,color:"#77ACB0",fontWeight:"bold"},{tag:l.regexp,color:"#E3965E"},{tag:[l.tagName,l.angleBracket],color:"#BAA827"},{tag:l.attributeName,color:"#B06520"},{tag:l.derefOperator,color:"#000"}]}),ae({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:l.comment,color:"#93A1A1"},{tag:l.string,color:"#2AA198"},{tag:l.regexp,color:"#D30102"},{tag:l.number,color:"#D33682"},{tag:l.variableName,color:"#268BD2"},{tag:[l.keyword,l.operator,l.punctuation],color:"#859900"},{tag:[l.definitionKeyword,l.modifier],color:"#073642",fontWeight:"bold"},{tag:[l.className,l.self,l.definition(l.propertyName)],color:"#268BD2"},{tag:l.function(l.variableName),color:"#268BD2"},{tag:[l.bool,l.null],color:"#B58900"},{tag:l.tagName,color:"#268BD2",fontWeight:"bold"},{tag:l.angleBracket,color:"#93A1A1"},{tag:l.attributeName,color:"#93A1A1"},{tag:l.typeName,color:"#859900"}]}),ae({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:l.comment,color:"#8E908C"},{tag:[l.variableName,l.self,l.propertyName,l.attributeName,l.regexp],color:"#C82829"},{tag:[l.number,l.bool,l.null],color:"#F5871F"},{tag:[l.className,l.typeName,l.definition(l.typeName)],color:"#C99E00"},{tag:[l.string,l.special(l.brace)],color:"#718C00"},{tag:l.operator,color:"#3E999F"},{tag:[l.definition(l.propertyName),l.function(l.variableName)],color:"#4271AE"},{tag:l.keyword,color:"#8959A8"},{tag:l.derefOperator,color:"#4D4D4C"}]});const Pc=[ae({variant:"dark",settings:{background:"var(--cm-background)",foreground:"#abb2bf",caret:"#528bff",selection:"#3E4451",lineHighlight:"#2c313c",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#abb2bf"},{tag:[l.string,l.special(l.brace)],color:"#98c379"},{tag:l.number,color:"#d19a66"},{tag:l.bool,color:"#d19a66"},{tag:l.null,color:"#d19a66"},{tag:l.keyword,color:"#c678dd",fontWeight:500},{tag:l.className,color:"#61afef"},{tag:l.definition(l.typeName),color:"#61afef"},{tag:l.typeName,color:"#56b6c2"},{tag:l.angleBracket,color:"#abb2bf"},{tag:l.tagName,color:"#e06c75"},{tag:l.attributeName,color:"#d19a66"},{tag:l.operator,color:"#56b6c2",fontWeight:500},{tag:[l.function(l.variableName)],color:"#61afef"},{tag:[l.propertyName],color:"#e5c07b"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#2a7aa5",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px",borderBottomColor:"#4a90a5"}})],jc=[ae({variant:"light",settings:{background:"#ffffff",foreground:"#000000",caret:"#000000",selection:"#d7d4f0",lineHighlight:"#cceeff44",gutterBackground:"var(--color-background)",gutterForeground:"var(--gray-10)"},styles:[{tag:l.comment,color:"var(--cm-comment)"},{tag:l.variableName,color:"#000000"},{tag:[l.string,l.special(l.brace)],color:"#a11"},{tag:l.number,color:"#164"},{tag:l.bool,color:"#219"},{tag:l.null,color:"#219"},{tag:l.keyword,color:"#708",fontWeight:500},{tag:l.className,color:"#00f"},{tag:l.definition(l.typeName),color:"#00f"},{tag:l.typeName,color:"#085"},{tag:l.angleBracket,color:"#000000"},{tag:l.tagName,color:"#170"},{tag:l.attributeName,color:"#00c"},{tag:l.operator,color:"#a2f",fontWeight:500},{tag:[l.function(l.variableName)],color:"#00c"},{tag:[l.propertyName],color:"#05a"}]}),P.theme({".mo-cm-reactive-reference":{fontWeight:"400",color:"#005f87",borderBottom:"2px solid #bad3de"},".mo-cm-reactive-reference-hover":{cursor:"pointer",borderBottomWidth:"3px"}})];function oa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}const Mc=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:u,inlineAiTooltip:d}=e,f=oa(e);return[Xd(n,r),Lc(),Oc(),us(),Hd({cellId:t,completionConfig:i,hotkeys:r,placeholderType:f,lspConfig:s,diagnosticsConfig:c}),Cd({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),Gc(e),Fc(),c!=null&&c.enabled?Rf():[],o&&d?[ts({prompt:p=>ls({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:Nd(p.editorView)})}),Rn.of({hideOnBlur:!0})]:[],_d(t,u.reference_highlighting??!0)]};var Rc=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Yf(e)};const Gc=e=>{let{theme:t,hotkeys:n,completionConfig:r,cellId:o,lspConfig:a,diagnosticsConfig:i}=e,s=oa(e);return[P.lineWrapping,xf(),Af(),Lf(),_f(),Sf(),Df(),bf(),Ef({position:"fixed",parent:document.querySelector("#App")??void 0}),Ed(),t==="dark"?Pc:jc,Od(a),hc(r),Of(),Bc(),Xf(),fs(),lt.high(Je.of(zf)),Tf(),kf(),wf.of(" "),ai(Nf,{fallback:!0}),Je.of(yf),Vd({placeholderType:s,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...a,diagnostics:i}}),Sd.of(jf()),Fr.allowMultipleSelections.of(!0),Sc(n),Je.of([{key:"Tab",run:c=>si(c)||Rc(c)||Wf(c),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:c=>jt(c.state)===null?!1:(Ln(!0)(c),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:c=>jt(c.state)===null?!1:(Ln(!1)(c),!0),preventDefault:!0}]),Je.of([...Vf,Bf])]};var Qe=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(Ym),rr=e=>{Qm(e),typeof Si=="function"&&Si(),Jc(vt)};function Jc(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(Qe&&Qe.__wbindgen_start)rr(Qe);else if("Bun"in globalThis){let e;if(Qe instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(Qe,{"./loro_wasm_bg.js":vt}));else{let t=Bun.pathToFileURL(Qe);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":vt}))}rr(e.exports)}else{let e=Qe instanceof WebAssembly.Module?Qe:await xm(()=>import("./loro_wasm_bg-CvVVQqkx.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":vt});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":vt});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":vt});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);rr(n.exports??n)}var Wc=["Map","Text","List","Tree","MovableList","Counter"];function Vc(e){return e.startsWith("cid:")}function aa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:Wc.includes(e.kind())}var $c=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new Xm(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Pr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&Vc(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let u=e(a,c);if(u===c){let d=c.getShallowValue();return typeof d=="object"?o(d):d}if(aa(u))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof u=="object"&&u?o(u):u}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(aa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let u=r(s,c);u!==void 0&&(i[s]=u)}return i};return o(n.getShallowValue())};var ia=Symbol("loro.callPendingEventsWrapped");function Hc(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ia])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Ci()}):Ci()}};o[ia]=!0,Object.defineProperty(e,t,{...n,value:o})}function or(e,t){for(let n of t)Hc(e,n)}or(Pr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),or(zm.prototype,["set","delete","apply","removeOutdated"]),or(Km.prototype,["undo","redo"]);const qc=P.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});In.define();const Lt=me.define(),ar=$e.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Lt))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var sa=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Lt));return e.docChanged||e.viewportChanged||t.length>0};const zc=()=>ri({above:!0,class:"loro-cursor-layer",update:sa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ar);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=yt.cursor(r.cursor.anchor);return Yc.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),Kc=()=>ri({above:!1,class:"loro-selection-layer",update:sa,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ar);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=yt.range(r.cursor.anchor,r.cursor.head);return Ff.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var Yc=class Jr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Jr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===If.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Jr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},Xc=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=la(e,t,s,r);c&&o.push(c)}return o},la=(e,t,n,r)=>{var c,u;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Lt.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=xi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let d=xi.decode(o.cursor.head);s=((u=e.getCursorPos(d))==null?void 0:u.offset)??0}return Lt.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},Qc=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let u of this.awareness.peers()){let d=la(this.doc,this.awareness,u,this.scopeId);d&&c.push(d)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Lt.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=eu({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Zc=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:Xc(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},eu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const pn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],tu=e=>{if(typeof e=="string"){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return pn[Math.abs(t)%pn.length]}return pn[e%pn.length]},nu=(e,t,n)=>He.define(r=>new ru(r,e,t,n)),gt=In.define();var ru=class{constructor(e,t,n,r){h(this,"isInitDispatch",!1);h(this,"onRemoteUpdate",e=>{if(e.by!=="local"){if(e.by==="checkout"){this.view.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:this.getTextFromDoc(this.doc).toString()}],annotations:[gt.of(this)]});return}if(e.by==="import"){let t=[],n=0;for(let{diff:r,path:o}of e.events){if(o.join("/")!==this.docPath.join("/")||r.type!=="text")continue;let a=r.diff;for(let i of a)i.insert?t.push({from:n,to:n,insert:i.insert}):i.delete?(t.push({from:n,to:n+i.delete}),n+=i.delete):i.retain!=null&&(n+=i.retain);t.length>0&&this.view.dispatch({changes:t,annotations:[gt.of(this)]})}}}});this.view=e,this.doc=t,this.docPath=n,this.getTextFromDoc=r,this.sub=t.subscribe(this.onRemoteUpdate),Promise.resolve().then(()=>{this.isInitDispatch=!0;let o=this.view.state.doc.toString(),a=this.getTextFromDoc(this.doc);o!==a.toString()&&e.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:a.toString()}]})})}update(e){if(this.isInitDispatch){this.isInitDispatch=!1;return}if(!e.docChanged||e.transactions.length>0&&(e.transactions[0].annotation(gt)===this||e.transactions[0].annotation(gt)==="undo"))return;let t=0;e.changes.iterChanges((n,r,o,a,i)=>{let s=i.sliceString(0,i.length,`
19
+ `);n!==r&&this.getTextFromDoc(this.doc).delete(n+t,r-n),s.length>0&&this.getTextFromDoc(this.doc).insert(n+t,s),t+=s.length-(r-n)}),this.doc.commit()}destroy(){var e;(e=this.sub)==null||e.call(this),this.sub=void 0}},ue=ge.get("rtc"),ca=ue.get("awareness").disabled(),ir="awareness:";function ou(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function au(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function iu(e,t){return e.slice(t.length)}ut=Dt(void 0);var ie=new Pr,hn=new $c(ie.peerIdStr),sr=qf(()=>{ue.debug("creating websocket");let e=new ep(ei().getWsSyncURL(Tm()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await ti(),Wd()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(au(r,ir)){let o=iu(r,ir);hn.apply(o),ca.debug("applied awareness update");return}ie.import(r),ue.debug("imported doc change. new doc:",ie.toJSON()),Z.get(ut)!==ie&&Z.set(ut,ie)}),e.addEventListener("open",()=>{ue.debug("websocket open")}),e.addEventListener("close",t=>{ue.warn("websocket close",t),Z.get(ut)===ie&&Z.set(ut,void 0)}),e});wr()&&sr(),ie.subscribeLocalUpdates(e=>{ue.debug("local update, sending to server"),sr().send(e)}),hn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ca.debug("awareness changes",n),sr().send(ou(ir,hn.encode(n))))});function lr(e,t,n=""){if(cf())return{extension:[],code:n};let r=ie.getByPath(`codes/${e}`)!==void 0,o=ie.getMap("codes").getOrCreateContainer(e,new Br);return r||(ue.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[su(e),lu(e),cu(ie,hn,{get name(){return Z.get(Ld)||"Anonymous"},get colorClassName(){return tu(this.name)}},()=>o,e),nu(ie,["codes",e],()=>o)]}}function su(e){let t=(r,o)=>{let a=r.state.field(xn).type,i=o.toString();i&&i!==a&&(ue.debug(`[incoming] setting language type: ${a} -> ${i}`),_t(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Er),i=o.toJSON();kn(a,i)||r.dispatch({effects:[Ma.of(i)],annotations:[gt.of(!0)]})};return He.define(r=>{let o;return Promise.resolve().then(()=>{let a=ie.getByPath(`languages/${e}`);if(!a){ue.error("no language container found for cell",e);return}Ut(a instanceof Br,"language type is not a LoroText");let i=ie.getByPath(`language_metadata/${e}`);if(!i){ue.error("no language metadata container found for cell",e);return}Ut(i instanceof Ii,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=ie.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(d=>d.target===a.id),u=s.events.some(d=>d.target===i.id);c&&t(r,a),u&&n(r,i)})}),{destroy(){o()}}})}function lu(e){let t=ie.getMap("languages").getOrCreateContainer(e,new Br),n=ie.getMap("language_metadata").getOrCreateContainer(e,new Ii);return P.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=Nr(r.state).type;_t(r.view,{language:i}),ue.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),ue.debug("no initial language metadata, setting default to",r.state.field(Er));let s=r.state.field(Er);for(let c of Object.keys(s))n.set(c,s[c]);ie.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(gt)){for(let s of i.effects)if(s.is(hd)&&t.toString()!==s.value.type&&(ue.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(Ma)||s.is($a)){let c=s.value;s.is($a)?(ue.debug("[outgoing] setting language metadata: ",c),n.clear()):ue.debug("[outgoing] updating language metadata: ",c);for(let u of Object.keys(c))n.set(u,c[u]);a=!0}}a&&ie.commit()})}function cu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ar,zc(),Kc(),He.define(s=>new Qc(s,e,n,t,r,i,a)),He.define(s=>new Zc(s,e,t,i)),qc]}var uu=Re();Rr=e=>{let t=(0,uu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,u=o===void 0?null:o,d=a===void 0?!1:a,{sendListFiles:f}=Mt(),[p,m]=(0,F.useState)(u),g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=[],t[0]=g):g=t[0];let[w,y]=(0,F.useState)(g),[v,C]=(0,F.useState)(!1),T=(0,F.useRef)(null),A=(0,F.useRef)(!1),B,I;t[1]===u?(B=t[2],I=t[3]):(B=()=>{m(u)},I=[u],t[1]=u,t[2]=B,t[3]=I),(0,F.useEffect)(B,I);let x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{C(!0)},t[4]=x):x=t[4];let G=x,te;t[5]!==u||t[6]!==c?(te=fe=>{var vn;(vn=fe.relatedTarget)!=null&&vn.closest(".filename-input")||(C(!1),c&&m(u))},t[5]=u,t[6]=c,t[7]=te):te=t[7];let J=te,O;t[8]===p?O=t[9]:(O=Ye.dirname(p||""),t[8]=p,t[9]=O);let j=O,se=Ye.basename(p||""),U=w.filter(fe=>Ye.basename(fe.path).startsWith(se)),M;t[10]!==j||t[11]!==v||t[12]!==f?(M=async()=>{if(!v){y([]);return}y((await f({path:j})).files)},t[10]=j,t[11]=v,t[12]=f,t[13]=M):M=t[13];let de;t[14]!==j||t[15]!==v?(de=[j,v],t[14]=j,t[15]=v,t[16]=de):de=t[16];let{isPending:Y}=Rm(M,de),k=du(p,w,u),S=(k||U.length>0)&&(0,b.jsxs)(vi,{className:"font-mono",children:[!Y&&(0,b.jsx)(Jm,{children:"No files"}),k&&(0,b.jsxs)(wi,{variant:"success",className:"py-2 px-3",onSelect:()=>{var fe;k&&(A.current=!0,i(k),(fe=T.current)==null||fe.blur())},children:[(0,b.jsx)(oe,{className:"w-4 h-4 mr-2"})," ",(0,b.jsxs)("span",{className:"text-sm",children:[u?"Rename to: ":"Save as: ",(0,b.jsx)("span",{className:"font-medium text-sm",children:Ye.basename(k)})]})]},"_rename_"),U.map(fe=>{let vn=vm[fe.isDirectory?"directory":wm(fe.path)];return(0,b.jsxs)(wi,{variant:fe.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{fe.isDirectory?m(`${fe.path}/`):m(fe.path)},children:[(0,b.jsx)(vn,{className:"w-4 h-4 mr-2"})," ",Ye.basename(fe.path)]},fe.path)})]}),W=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,_=v?p||"":u||"",ne;t[17]!==d||t[18]!==W?(ne=d?{maxWidth:W}:void 0,t[17]=d,t[18]=W,t[19]=ne):ne=t[19];let Ge;t[20]===s?Ge=t[21]:(Ge=st(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=Ge);let je;t[22]!==r||t[23]!==_||t[24]!==ne||t[25]!==Ge?(je=(0,b.jsx)(Om,{children:(0,b.jsx)(Gm,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:_,onKeyDown:fu,icon:null,ref:T,onValueChange:m,placeholder:r,autoComplete:"off",style:ne,className:Ge})}),t[22]=r,t[23]=_,t[24]=ne,t[25]=Ge,t[26]=je):je=t[26];let Ve=S&&"group-focus-within:block",Me;t[27]===Ve?Me=t[28]:(Me=st("p-0 w-full min-w-80 max-w-80vw hidden",Ve),t[27]=Ve,t[28]=Me);let D;t[29]!==S||t[30]!==Me?(D=(0,b.jsx)(Dm,{side:"bottom",className:Me,portal:!1,children:S}),t[29]=S,t[30]=Me,t[31]=D):D=t[31];let $;t[32]!==je||t[33]!==D?($=(0,b.jsxs)(vi,{children:[je,D]}),t[32]=je,t[33]=D,t[34]=$):$=t[34];let L;t[35]!==J||t[36]!==$?(L=(0,b.jsx)(Wm,{onFocus:G,onBlur:J,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:$}),t[35]=J,t[36]=$,t[37]=L):L=t[37];let H;return t[38]!==v||t[39]!==L?(H=(0,b.jsx)(hf,{children:(0,b.jsx)(_m,{open:v,modal:!1,children:L})}),t[38]=v,t[39]=L,t[40]=H):H=t[40],H};function du(e,t,n){if(e&&!e.endsWith("/")&&((bd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ye.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Ye.basename(r.path)===e)&&!(n&&(n===e||Ye.basename(n)===e))))return e}function fu(e){e.key==="Escape"&&e.currentTarget.blur()}var ua=Re(),mu=e=>{let t=(0,ua.c)(33),n=()=>{hm(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=le(gu),o;t[0]!==n||t[1]!==e?(o=B=>{B.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=B=>{B.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,b.jsx)(hi,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,u;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("p",{children:"This app has unsaved changes. To recover:"}),u={paddingBottom:"10px"},t[7]=c,t[8]=u):(c=t[7],u=t[8]);let d;t[9]===e.proposedName?d=t[10]:(d=(0,b.jsxs)("li",{style:u,children:['Click the "Download" button. This will download a file called\xA0',(0,b.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=d);let f;t[11]===Symbol.for("react.memo_cache_sentinel")?(f={paddingBottom:"10px"},t[11]=f):f=t[11];let p;t[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},t[12]=p):p=t[12];let m;t[13]===e.proposedName?m=t[14]:(m=(0,b.jsxs)("code",{style:p,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=m);let g;t[15]===e.proposedName?g=t[16]:(g=(0,b.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=g);let w;t[17]!==g||t[18]!==m?(w=(0,b.jsxs)("li",{style:f,children:["In your terminal, type",m,"to overwrite ",g," with the recovered changes."]}),t[17]=g,t[18]=m,t[19]=w):w=t[19];let y;t[20]!==w||t[21]!==d?(y=(0,b.jsx)(Fm,{className:"markdown break-words",style:s,children:(0,b.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,b.jsxs)("ol",{children:[d,w]})]})}),t[20]=w,t[21]=d,t[22]=y):y=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,b.jsx)(it,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,b.jsx)(it,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let T;t[26]===v?T=t[27]:(T=(0,b.jsxs)(gi,{children:[v,C]}),t[26]=v,t[27]=T);let A;return t[28]!==o||t[29]!==a||t[30]!==y||t[31]!==T?(A=(0,b.jsx)(bi,{className:"w-fit",children:(0,b.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,y,T]})}),t[28]=o,t[29]=a,t[30]=y,t[31]=T,t[32]=A):A=t[32],A};const pu=e=>{let t=(0,ua.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=yi(),i;t[0]===n?i=t[1]:(i=n===null?"app":Ye.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,b.jsx)(mu,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let u=c;ni("global.save",u);let d;t[7]===Symbol.for("react.memo_cache_sentinel")?(d=Ei("global.save"),t[7]=d):d=t[7];let f=r?"yellow":"gray",p;t[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,b.jsx)(fi,{strokeWidth:1.5,size:18}),t[8]=p):p=t[8];let m;return t[9]!==u||t[10]!==f?(m=(0,b.jsx)(On,{content:d,children:(0,b.jsx)(Ti,{onClick:u,id:"save-button","aria-label":"Save",className:"rectangle",color:f,children:p})}),t[9]=u,t[10]=f,t[11]=m):m=t[11],m};function hu(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function gu(){let e=vr(Cr()),t={version:"1",metadata:{marimo_version:pf()},cells:e.map(hu)};return JSON.stringify(t,null,2)}var bu=class{constructor(){h(this,"capturedInputs",new Map);h(this,"inFlight",new Map)}cancelEntry(e){e.controller.abort(),e.deferred.status==="pending"&&e.deferred.resolve(void 0)}needsCapture(e,t){if(this.capturedInputs.get(e)===t)return!1;let n=this.inFlight.get(e);return!(n&&n.inputValue===t)}waitForInFlight(e,t){let n=this.inFlight.get(e);return n&&n.inputValue===t?n.deferred.promise:null}startCapture(e,t){let n=this.inFlight.get(e);n&&this.cancelEntry(n);let r=new AbortController,o=new Im,a={controller:r,inputValue:t,deferred:o};return this.inFlight.set(e,a),{signal:r.signal,markCaptured:i=>{this.inFlight.get(e)===a&&(o.resolve(i),this.capturedInputs.set(e,t),this.inFlight.delete(e))},markFailed:()=>{this.inFlight.get(e)===a&&(o.resolve(void 0),this.inFlight.delete(e))}}}prune(e){for(let t of this.capturedInputs.keys())e.has(t)||this.capturedInputs.delete(t);for(let[t,n]of this.inFlight)e.has(t)||(this.cancelEntry(n),this.inFlight.delete(t))}get isCapturing(){return this.inFlight.size>0}abort(){for(let e of this.inFlight.values())this.cancelEntry(e);this.inFlight.clear()}reset(){this.abort(),this.capturedInputs.clear()}},yu=Re(),cr=5e3;function wu(){let e=(0,yu.c)(14),t=re(af),{state:n}=re(at),r=t.auto_download.includes("markdown"),o=t.auto_download.includes("html"),a=t.auto_download.includes("ipynb"),i=n===bt.OPEN,s=!r||!i,c=!o||!i,u=!a||!i,{autoExportAsHTML:d,autoExportAsIPYNB:f,autoExportAsMarkdown:p,updateCellOutputs:m}=Mt(),g=Eu(),w;e[0]===p?w=e[1]:(w=async()=>{await p({download:!1})},e[0]=p,e[1]=w);let y;e[2]===s?y=e[3]:(y={delayMs:cr,whenVisible:!0,disabled:s},e[2]=s,e[3]=y),jr(w,y);let v;e[4]===d?v=e[5]:(v=async()=>{await d({download:!1,includeCode:!0,files:rm.INSTANCE.filenames()})},e[4]=d,e[5]=v);let C;e[6]===c?C=e[7]:(C={delayMs:cr,whenVisible:!0,disabled:c},e[6]=c,e[7]=C),jr(v,C);let T;e[8]!==f||e[9]!==g||e[10]!==m?(T=async()=>{await ku({takeScreenshots:()=>g({progress:bm.indeterminate()}),updateCellOutputs:m}),await f({download:!1})},e[8]=f,e[9]=g,e[10]=m,e[11]=T):T=e[11];let A;e[12]===u?A=e[13]:(A={delayMs:cr,whenVisible:!0,disabled:u,skipIfRunning:!0},e[12]=u,e[13]=A),jr(T,A)}var vu=new Set(["text/html","application/vnd.vegalite.v5+json","application/vnd.vega.v5+json","application/vnd.vegalite.v6+json","application/vnd.vega.v6+json"]);const gn=new bu;function Eu(){let e=re(Jd);return async t=>{var c,u;let{progress:n}=t,r=new Set(xr.keys(e));gn.prune(r);let o=[],a=[];for(let[d,f]of xr.entries(e)){let p=(c=f.output)==null?void 0:c.data;if((u=f.output)!=null&&u.mimetype&&vu.has(f.output.mimetype)&&p)if(gn.needsCapture(d,p))o.push([d,p]);else{let m=gn.waitForInFlight(d,p);m&&a.push({cellId:d,promise:m})}}if(o.length===0&&a.length===0)return{};o.length>0&&n.addTotal(o.length);let i={};for(let[d,f]of o){let p=gn.startCapture(d,f);try{let m=await gm(d);if(p.signal.aborted)continue;if(!m){ge.error(`Failed to capture screenshot for cell ${d}`),p.markFailed();continue}let g=["image/png",m];i[d]=g,p.markCaptured(g)}catch(m){ge.error(`Error screenshotting cell ${d}:`,m),p.markFailed()}finally{n.increment(1)}}let s=await Promise.allSettled(a.map(({promise:d})=>d));for(let[d,{cellId:f}]of a.entries()){let p=s[d];p.status==="fulfilled"&&p.value&&(i[f]=p.value)}return i}}async function ku(e){let{takeScreenshots:t,updateCellOutputs:n}=e;try{let r=await t();xr.size(r)>0&&await n({cellIdsToOutput:r})}catch(r){ge.error("Error updating cell outputs with screenshots:",r),ct({title:"Failed to capture cell outputs",description:"Some outputs may not appear in the PDF. Continuing with export.",variant:"danger"})}}let ur;Un=Dt(void 0),ur=Dt(e=>{let t=e(Un);return Nu({state:e(Ze),layout:e(li),lastSavedNotebook:t})});function Nu({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(u=>o[u]),i=a.map(u=>u.code),s=a.map(u=>u.config),c=a.map(u=>u.name);return!ii(i,n.codes)||!ii(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Cu=Re();function Su(e){let t=(0,Cu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:u}=e,d=(0,F.useRef)(null),f;t[0]===n?f=t[1]:(f=n.join(":"),t[0]=n,t[1]=f);let p=f,m;t[2]===r?m=t[3]:(m=r.map(xu).join(":"),t[2]=r,t[3]=m);let g=m,w;t[4]===i?w=t[5]:(w=i.join(":"),t[4]=i,t[5]=w);let y=w,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==u?(v=()=>{if(!c)return o.autosave==="after_delay"&&(d.current!==null&&clearTimeout(d.current),s&&a.state===bt.OPEN&&(d.current=setTimeout(u,o.autosave_delay))),()=>{d.current!==null&&clearTimeout(d.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=u,t[11]=v):v=t[11];let C;t[12]!==g||t[13]!==y||t[14]!==p||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==u?(C=[p,g,y,o,a.state,u,c,s],t[12]=g,t[13]=y,t[14]=p,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=u,t[20]=C):C=t[20],(0,F.useEffect)(v,C)}function xu(e){return JSON.stringify(e)}var bn=Re();Ai=e=>{let t=(0,bn.c)(15),{kioskMode:n}=e,r=jm(),o=re(ur),a=re(at).state===bt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Jt(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Fu(c),wu();let u;t[3]===o?u=t[4]:(u=y=>{if(o)return y.preventDefault(),y.returnValue="You have unsaved changes. Are you sure you want to leave?",y.returnValue},t[3]=o,t[4]=u),of(window,"beforeunload",u);let d;t[5]===i?d=t[6]:(d=y=>{y.preventDefault(),y.stopPropagation(),i()},t[5]=i,t[6]=d);let f=d;if(ni("global.save",i),a){let y;return t[7]!==r||t[8]!==o?(y=(0,b.jsx)(pu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=y):y=t[9],y}let p;t[10]===Symbol.for("react.memo_cache_sentinel")?(p=Ei("global.save"),t[10]=p):p=t[10];let m=o?"yellow":"hint-green",g;t[11]===Symbol.for("react.memo_cache_sentinel")?(g=(0,b.jsx)(fi,{strokeWidth:1.5,size:18}),t[11]=g):g=t[11];let w;return t[12]!==f||t[13]!==m?(w=(0,b.jsx)(On,{content:p,children:(0,b.jsx)(Ti,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:m,onClick:f,children:g})}),t[12]=f,t[13]=m,t[14]=w):w=t[14],w},Jt=function(){let e=(0,bn.c)(21),{sendSave:t}=Mt(),{openModal:n,closeModal:r,openAlert:o}=yi(),a=Ba(Un),i=Mm(),s=yr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let T=s.get(at),A=s.get(Za);if(s.get(Rd))return;if(T.state!==bt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}ge.log("saving to ",v),C&&A.format_on_save&&(ge.log("formatting notebook (onSave)"),await $d());let B=Cr(),I=vr(B),x=I.map(Au),G=I.map(Tu),te=I.map(Iu),J=Va(B),O=s.get(li);G.length!==0&&(await t({cellIds:x,codes:G,names:te,filename:v,configs:J,layout:om(),persist:!0}),a({names:te,codes:G,configs:J,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let u=le(c),d;e[5]!==u||e[6]!==s?(d=v=>{let C=v===void 0?!1:v,T=s.get(Ha),A=s.get(at);da(T)&&A.state===bt.OPEN&&u(T,C)},e[5]=u,e[6]=s,e[7]=d):d=e[7];let f=le(d),p;e[8]!==u||e[9]!==i?(p=v=>{i(v).then(C=>{C!==null&&u(C,!0)})},e[8]=u,e[9]=i,e[10]=p):p=e[10];let m=p,g;e[11]!==r||e[12]!==m||e[13]!==n||e[14]!==f||e[15]!==s?(g=()=>{let v=s.get(Ha),C=s.get(at);f(!0),!da(v)&&C.state!==bt.CLOSED&&n((0,b.jsx)(Du,{onClose:r,onSave:m}))},e[11]=r,e[12]=m,e[13]=n,e[14]=f,e[15]=s,e[16]=g):g=e[16];let w=le(g),y;return e[17]!==f||e[18]!==u||e[19]!==w?(y={saveOrNameNotebook:w,saveIfNotebookIsPersistent:f,saveNotebook:u},e[17]=f,e[18]=u,e[19]=w,e[20]=y):y=e[20],y};function Iu(e){return e.name}function Tu(e){return e.code}function Au(e){return e.id}function da(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Fu(e){let t=(0,bn.c)(14),n=re(Za),r=kd(),[o]=En(at),a=re(ur),i,s;if(t[0]!==r){let p=vr(r);i=p.map(Ou),s=p.map(Lu),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,u;t[3]===r?u=t[4]:(u=Va(r),t[3]=r,t[4]=u);let d=u,f;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==d||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(f={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:d,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=d,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=f):f=t[13],Su(f)}function Lu(e){return e.name}function Ou(e){return e.code}var Du=e=>{let t=(0,bn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,F.useState)(),i;t[0]!==n||t[1]!==r?(i=y=>{a(y),y.trim()&&(r(y),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)(hi,{children:"Save notebook"}),t[3]=c):c=t[3];let u;t[4]===Symbol.for("react.memo_cache_sentinel")?(u=(0,b.jsx)(_r,{className:"text-md pt-6 px-1",children:"Save as"}),t[4]=u):u=t[4];let d;t[5]===s?d=t[6]:(d=(0,b.jsxs)("div",{className:"flex flex-col",children:[u,(0,b.jsx)(Rr,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=d);let f;t[7]===n?f=t[8]:(f=(0,b.jsx)(it,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=f);let p=!o,m;t[9]===p?m=t[10]:(m=(0,b.jsx)(it,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),t[9]=p,t[10]=m);let g;t[11]!==f||t[12]!==m?(g=(0,b.jsxs)(gi,{children:[f,m]}),t[11]=f,t[12]=m,t[13]=g):g=t[13];let w;return t[14]!==d||t[15]!==g?(w=(0,b.jsxs)(bi,{children:[c,d,g]}),t[14]=d,t[15]=g,t[16]=w):w=t[16],w};_n=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var fa={modified:{doc:""},original:{doc:""}},ma=(0,F.createContext)(fa);function _u(e,t){return X({},e,t,{modified:X({},e.modified,t.modified),original:X({},e.original,t.original)})}var dr=()=>(0,F.useContext)(ma),Uu=e=>{var{children:t,theme:n}=e,[r,o]=(0,F.useReducer)(_u,X({},fa,{theme:n}));return(0,F.useEffect)(()=>o({theme:n}),[n]),(0,b.jsx)(ma.Provider,{value:X({},r,{dispatch:o}),children:t})},Bu=["extensions","value","selection","onChange"],pa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,Bu),{theme:i,dispatch:s}=dr(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};pa.displayName="CodeMirrorMerge.Original";var Pu=["extensions","value","selection","onChange"],ha=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Rt(e,Pu),{theme:i,dispatch:s}=dr(),c=wt(X({},a,{theme:i}));return(0,F.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};ha.displayName="CodeMirrorMerge.Modified";var ju=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Mu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],ga=F.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:u=!0,renderRevertControl:d,diffConfig:f,root:p}=e,m=Rt(e,ju),g=dr(),{modified:w,modifiedExtension:y,original:v,originalExtension:C,theme:T,dispatch:A}=g,B=Rt(g,Mu),I=(0,F.useRef)(null),x=(0,F.useRef)(),G={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:d,diffConfig:f,root:p};(0,F.useImperativeHandle)(t,()=>({container:I.current,view:x.current,modified:w,original:v,config:X({a:v,b:w,parent:I.current},G)}),[I,x,w,v,G]);var te=P.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var j=O.state.doc.toString();C==null||C.onChange(j,O)}}),J=P.updateListener.of(O=>{if(O.docChanged&&typeof(y==null?void 0:y.onChange)=="function"){var j=O.state.doc.toString();y==null||y.onChange(j,O)}});return(0,F.useEffect)(()=>{!x.current&&I.current&&C&&y&&(x.current=new Ni(X({a:X({},v,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:T})),te]}),b:X({},w,{extensions:[...(y==null?void 0:y.extension)||[],...wt(X({},y==null?void 0:y.option,{theme:T})),J]}),parent:I.current},G)),A({view:x.current}))},[x,I,C,y]),(0,F.useEffect)(()=>{var Y,k;if(v&&v.doc&&x.current){var O=(Y=x.current)==null?void 0:Y.a.state.doc.toString();if(O!==v.doc){var j;(j=x.current)==null||j.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(w&&w.doc&&x.current){var se=(k=x.current)==null?void 0:k.b.state.doc.toString();if(se!==w.doc){var U;(U=x.current)==null||U.b.dispatch({changes:{from:0,to:se.length,insert:w.doc||""}})}}if(u&&x.current){var M=x.current.a.state.selection.ranges[0].from,de=x.current.b.state.selection.ranges[0].from;x.current.destroy(),x.current=new Ni(X({a:X({},v,{extensions:[...(C==null?void 0:C.extension)||[],...wt(X({},C==null?void 0:C.option,{theme:T}))]}),b:X({},w,{extensions:[...(y==null?void 0:y.extension)||[],...wt(X({},y==null?void 0:y.option,{theme:T}))]}),parent:I.current},G)),M&&(x.current.a.focus(),x.current.a.dispatch({selection:{anchor:M,head:M}})),de&&(x.current.b.focus(),x.current.b.dispatch({selection:{anchor:de,head:de}}))}},[x,T,I.current,v,w,C,y,u]),(0,F.useEffect)(()=>()=>x.current&&x.current.destroy(),[]),(0,F.useEffect)(()=>{if(x.current){var O={};B.orientation!==o&&(O.orientation=o),B.revertControls!==a&&(O.revertControls=a),B.highlightChanges!==i&&(O.highlightChanges=i),B.gutter!==s&&(O.gutter=s),B.collapseUnchanged!==c&&(O.collapseUnchanged=c),B.renderRevertControl!==d&&(O.collapseUnchanged=c),Object.keys(O).length&&A&&x.current&&(x.current.reconfigure(X({},O)),A(X({},O)))}},[A,x,o,a,i,s,c,d]),(0,b.jsx)("div",X({ref:I,className:"cm-merge-theme"+(n?" "+n:"")},m,{children:r}))});ga.displayName="CodeMirrorMerge.Internal";var Ru=["theme"],yn=F.forwardRef((e,t)=>{var{theme:n}=e;return(0,b.jsx)(Uu,{theme:n,children:(0,b.jsx)(ga,X({},Rt(e,Ru),{ref:t}))})});yn.Original=pa,yn.Modified=ha,yn.displayName="CodeMirrorMerge";var fr=yn,Gu=Re(),Ju=fr.Original,Wu=fr.Modified,ba=[wd(),P.lineWrapping];const Vu=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:u,children:d})=>{let[f,p]=(0,F.useState)(!1),[m,g]=(0,F.useState)({}),[w,y]=En(Sm),v=(0,F.useId)(),C=df(),{initialPrompt:T,triggerImmediately:A,cellId:B}=t??{},I=B===e,x=re(mm).get(e),G;(x==null?void 0:x.type)==="update_cell"&&(G=x.previousCode);let{completion:te,input:J,stop:O,isLoading:j,setCompletion:se,setInput:U,handleSubmit:M,complete:de}=im({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:T,streamProtocol:"text",experimental_throttle:100,body:{...Object.keys(m).length>0?m:T?ui({input:T}):{},includeOtherCode:w?kr(a):"",code:a,language:o},onError:L=>{ct({title:"Completion failed",description:Um(L)})},onFinish:(L,H)=>{se(H.trimEnd())}}),Y=F.useRef(null),k=te.trimEnd(),S=(0,F.useCallback)(()=>{A&&!j&&T&&de(T)},[A]);(0,F.useEffect)(()=>{var L;I&&(pd(()=>{let H=Y.current;return H!=null&&H.view?(H.view.focus(),S(),!0):!1},{retries:3,delay:100,initialDelay:100}),Bd((L=Y.current)==null?void 0:L.view))},[I,S]),(0,F.useEffect)(()=>{I&&U(T||"")},[I,T,U]);let{theme:W}=Am(),_=()=>{s(k),se("")},ne=()=>{i(),se("")},Ge=I&&A&&(k||j);u??(u="below");let je=I&&(!A||f),Ve=(0,b.jsx)("div",{className:st("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",Ge?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,b.jsx)($u,{status:j?"loading":"generated",onAccept:_,onReject:ne,showInputPrompt:f,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-128"})}),Me=(L,H)=>(0,b.jsxs)(fr,{className:"cm",theme:W,children:[(0,b.jsx)(Ju,{onChange:r,value:L,extensions:ba}),(0,b.jsx)(Wu,{value:H,editable:!1,readOnly:!0,extensions:ba})]}),D=()=>{if(k&&I)return Me(a,k);if(!k&&G)return Me(G,a)},$=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(di,{isLoading:j,onAccept:_,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,b.jsx)(ci,{onDecline:ne,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,b.jsxs)("div",{"data-ai-input-open":je,className:st("flex flex-col w-full rounded-[inherit]",n),children:[(0,b.jsx)("div",{className:st("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",je&&"max-h-[400px] border-b min-h-11 visible",!je&&"max-h-0 min-h-0 invisible"),children:I&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Cm,{className:"text-(--blue-10) shrink-0",size:16}),(0,b.jsx)(um,{inputRef:Y,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:J,onChange:L=>{U(L),g(ui({input:L}))},onSubmit:()=>{var L;j||((L=Y.current)!=null&&L.view&&fm(Y.current.view),M())},onKeyDown:dm({handleAcceptCompletion:_,handleDeclineCompletion:ne,isLoading:j,hasCompletion:k.trim().length>0})}),(0,b.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,b.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,b.jsx)(cm,{isLoading:j,onStop:O,onSendClick:M,isEmpty:!J.trim(),showStopLabel:!0}),(0,b.jsx)(lm,{handleAddContext:()=>sm(Y),isLoading:j}),(0,b.jsx)(tf,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),k&&(0,b.jsx)("div",{className:"mt-1 flex items-center gap-1",children:$})]}),(0,b.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,b.jsx)(On,{content:"Include code from other cells",children:(0,b.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,b.jsx)(yd,{"data-testid":"include-other-cells-checkbox",id:v,checked:w,onCheckedChange:L=>y(!!L)}),(0,b.jsx)(_r,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,b.jsx)(it,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:j,onClick:()=>{O(),i(),se("")},children:(0,b.jsx)(pm,{className:"text-(--red-10)",size:16})})]})}),u==="above"&&Ve,D(),(!k||!I)&&!G&&d,u==="below"&&Ve]})};var $u=e=>{let t=(0,Gu.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,u=n==="loading",d;t[0]===a?d=t[1]:(d=st("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=d);let f;t[2]===u?f=t[3]:(f=u?(0,b.jsx)(km,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,b.jsx)(ym,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=u,t[3]=f);let p=u?"Generating fix...":"Showing fix",m;t[4]===p?m=t[5]:(m=(0,b.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),t[4]=p,t[5]=m);let g;t[6]!==f||t[7]!==m?(g=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[f,m]}),t[6]=f,t[7]=m,t[8]=g):g=t[8];let w;t[9]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)(_r,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=w):w=t[9];let y;t[10]!==s||t[11]!==i?(y=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[w,(0,b.jsx)(mf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=y):y=t[12];let v;t[13]!==u||t[14]!==r||t[15]!==c?(v=(0,b.jsx)(di,{isLoading:u,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=u,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,b.jsx)(ci,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let T;t[19]!==v||t[20]!==C?(T=(0,b.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=T):T=t[21];let A;return t[22]!==d||t[23]!==T||t[24]!==g||t[25]!==y?(A=(0,b.jsxs)("div",{className:d,children:[g,y,T]}),t[22]=d,t[23]=T,t[24]=g,t[25]=y,t[26]=A):A=t[26],A},mr="web application/x-marimo-cell",Hu=Ka({cells:Yd(Ka({code:zd()})),version:Kd("1.0")});function qu(){let e=Nn();return{copyCells:le(async t=>{let n=Cr(),r=t.map(o=>n.cellData[o]).filter(Boolean);if(r.length!==0)try{let o={cells:r.map(s=>({code:s.code})),version:"1.0"},a=r.map(s=>s.code).join(`
20
20
 
21
- `),i=new Xu().add(mr,o).add("text/plain",a).build();await navigator.clipboard.write([i]),ya(r.length)}catch(o){ge.error("Failed to copy cells to clipboard",o);try{await Um(r.map(a=>a.code).join(`
21
+ `),i=new Xu().add(mr,o).add("text/plain",a).build();await navigator.clipboard.write([i]),ya(r.length)}catch(o){ge.error("Failed to copy cells to clipboard",o);try{await Bm(r.map(a=>a.code).join(`
22
22
 
23
- `)),ya(r.length)}catch{zu()}}}),pasteAtCell:le(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(mr)){let s=await(await i.getType(mr)).text();try{let c=Hu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.reverse();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){ge.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Ku()}catch(o){ge.error("Failed to paste from clipboard",o),Yu()}})}}var ya=e=>{let t=e===1?"Cell":`${e} cells`;ct({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},zu=()=>{ct({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Ku=()=>{ct({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},Yu=()=>{ct({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Xu=class{constructor(){h(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(ge.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Qu=Re();function wa(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:np,createActions:rp,valueAtom:pr,useActions:Zu}=Or(wa,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:wa()});Oi=()=>re(pr);function ed(e){let t=(0,Qu.c)(2),n;return t[0]===e?n=t[1]:(n=Dt(r=>r(pr).selected.has(e)),t[0]=e,t[1]=n),re(n)}Mr=function(){return Zu()};function td(e){return e.get(pr).selected}let va,Ea,ka;va=Re(),{valueAtom:Ea,useActions:Gt}=Or(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),Ga(()=>{let r=document.activeElement;if(!r)return;let o=Cn.findElementThroughShadowDOMs(r);o&&za(Cn.parse(o.id))}),n}}),ka=e=>Dt(t=>t(Ea).has(e)),_i=function(e){let t=(0,va.c)(2),n;return t[0]===e?n=t[1]:(n=ka(e),t[0]=e,t[1]=n),re(n)};var Ot=new WeakMap,nd=500;function rd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function od(e,t){let n=rd(e),r=e.target;if(!n||!r)return!1;let o=Ot.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Ot.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Ot.delete(r)},nd);return Ot.set(r,{sequence:a,timeout:s}),!0}return Ot.delete(r),!1}var hr=Re();function Na(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function Ke(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function ad(e,t){let n=(0,hr.c)(12),r=Vm(),o=Nn(),a=Gt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=d=>{var f;Ca(d.relatedTarget)||Ca(d.target)||Sa(d.relatedTarget)===e||Sa((f=d.relatedTarget)==null?void 0:f.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&gr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:u}=km(c);return u}function Ca(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function Sa(e){return e&&e.getAttribute(gd)||null}Li=function(e,t){let n=(0,hr.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=Jt(),{saveCellConfig:s}=Mt(),c=Ba(pi),u=Nn(),d=yr(),f=Gt(),p=Bd(),m=re(Xa),{copyCells:g,pasteAtCell:w}=qu(),y=Mr(),v=ed(e),C=Bn(),T=Ur(),A=re(Tr),B;n[0]!==C||n[1]!==y?(B={clear:()=>{C.clear(),y.clear()},extend:U=>{C.clear(),y.extend(U)},select:U=>{C.clear(),y.select(U)}},n[0]=C,n[1]=y,n[2]=B):B=n[2];let I=B,x=re(Qa),G;n[3]===x?G=n[4]:(G=(U,M)=>Ir(x.getHotkey(U).key)(M.nativeEvent||M),n[3]=x,n[4]=G);let te=G,J=ad(e,o),O;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==g||n[10]!==T||n[11]!==o||n[12]!==v||n[13]!==te||n[14]!==m||n[15]!==w||n[16]!==C||n[17]!==p||n[18]!==s||n[19]!==i||n[20]!==I||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==A?(O={onKeyDown:U=>{if(Ar.fromInput(U)){U.continuePropagation();return}let M={"Mod+ArrowUp":()=>(u.focusTopCell(),I.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),I.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),I.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),I.clear(),!0),ArrowLeft:()=>{if(r){let k=d.get(Ze),S=k.cellIds.findWithId(e),W=k.cellIds.indexOf(S),_=k.cellIds.at(W-1);if(_&&_.length>0){let ne=xa(e,_);return u.focusCell({cellId:ne,where:"exact"}),I.clear(),!0}}return!1},ArrowRight:()=>{if(r){let k=d.get(Ze),S=k.cellIds.findWithId(e),W=k.cellIds.indexOf(S),_=k.cellIds.at(W+1);if(_&&_.length>0){let ne=xa(e,_);return u.focusCell({cellId:ne,where:"exact"}),I.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let k=d.get(Wa);I.extend({cellId:e,allCellIds:k});let S=k.findWithId(e).before(e);return S&&I.extend({cellId:S,allCellIds:k}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let k=d.get(Wa);I.extend({cellId:e,allCellIds:k});let S=k.findWithId(e).after(e);return S&&I.extend({cellId:S,allCellIds:k}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>v?(I.clear(),!0):!1,Enter:()=>(f.add(e),ja(d,e),I.clear(),!0),s:()=>(i(),!0)};for(let[k,S]of Object.entries(M))if(Ir(k)(U)&&S()){U.preventDefault();return}let de={"cell.run":Ke(k=>(p(k),!0)),"cell.runAndNewBelow":Ke(k=>{p(k);let S=k[k.length-1];return u.moveToNextCell({cellId:S,before:!1}),!0}),"cell.runAndNewAbove":Ke(k=>{p(k);let S=k[0];return u.moveToNextCell({cellId:S,before:!0}),!0}),"cell.createAbove":k=>(u.createNewCell({cellId:k,before:!0}),!0),"cell.createBelow":k=>(u.createNewCell({cellId:k,before:!1}),!0),"cell.moveUp":Ke(k=>{let S=k[0];return d.get(Ze).cellIds.findWithId(S).first()===S?!1:(k.forEach(W=>{u.moveCell({cellId:W,before:!0})}),!0)}),"cell.moveDown":Ke(k=>{let S=k[k.length-1];return d.get(Ze).cellIds.findWithId(S).last()===S?!1:([...k].reverse().forEach(W=>{u.moveCell({cellId:W,before:!1})}),!0)}),"cell.moveLeft":Na(k=>r?(u.moveCell({cellId:k,direction:"left"}),!0):!1),"cell.moveRight":Na(k=>r?(u.moveCell({cellId:k,direction:"right"}),!0):!1),"cell.hideCode":Ke(k=>{var W;let S=!k.map(_=>{var ne;return((ne=d.get(Ze).cellData[_])==null?void 0:ne.config)||null}).every(id);s({configs:Object.fromEntries(k.map(_=>[_,{hide_code:S}]))});for(let _ of k)u.updateCellConfig({cellId:_,config:{hide_code:S}});if(k.length===1){let _=k[0];u.focusCell({cellId:_,where:"after"}),S?((W=o.current)==null||W.contentDOM.blur(),Ra(_)):ja(d,_)}return!0}),"cell.focusDown":k=>(u.focusCell({cellId:k,where:"after"}),!0),"cell.focusUp":k=>(u.focusCell({cellId:k,where:"before"}),!0),"cell.sendToBottom":Ke(k=>(k.forEach(S=>{u.sendToBottom({cellId:S})}),!0)),"cell.sendToTop":Ke(k=>([...k].reverse().forEach(S=>{u.sendToTop({cellId:S})}),!0)),"cell.aiCompletion":k=>{var W;let S=!1;return c(_=>(_==null?void 0:_.cellId)===k?(S=!0,null):{cellId:k}),S&&((W=o.current)==null||W.focus()),!0},"cell.cellActions":()=>{var k;return(k=a.current)==null||k.toggle(),!0},"command.copyCell":Ke(k=>(g(k),!0)),"command.pasteCell":k=>(w(k),!0),"command.createCellBefore":k=>Ar.hasModifier(U)?!1:(u.createNewCell({cellId:k,before:!0,autoFocus:!0}),!0),"command.createCellAfter":k=>Ar.hasModifier(U)?!1:(u.createNewCell({cellId:k,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!A.keymap.destructive_delete)return!1;let k=Y.size>=2?[...Y]:[e],S=d.get(Ze);return k.some(W=>{let{status:_}=S.cellRuntime[W];return _==="running"||_==="queued"})?!1:C.idle?(C.submit(k),!0):(T({cellIds:k}),C.clear(),!0)}},Y=td(d);if(m==="vim"&&od(U.nativeEvent||U,{j:M.ArrowDown,k:M.ArrowUp,h:M.ArrowLeft,l:M.ArrowRight,i:M.Enter,"shift+j":M["Shift+ArrowDown"],"shift+k":M["Shift+ArrowUp"],"g g":M["Mod+ArrowUp"],"shift+g":M["Mod+ArrowDown"],"d d":()=>de["cell.delete"](),"y y":()=>(g(Y.size>=2?[...Y]:[e]),!0),p:()=>(w(e,{before:!1}),!0),"shift+p":()=>(w(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[k,S]of Object.entries(de))if(te(k,U)){if(S instanceof Function){if(S(e)){U.preventDefault();return}}else if(Y.size>=2?S.bulkHandle([...Y]):S.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=g,n[10]=T,n[11]=o,n[12]=v,n[13]=te,n[14]=m,n[15]=w,n[16]=C,n[17]=p,n[18]=s,n[19]=i,n[20]=I,n[21]=c,n[22]=d,n[23]=f,n[24]=A,n[25]=O):O=n[25];let{keyboardProps:P}=mi(O),se;return n[26]!==J||n[27]!==v||n[28]!==P?(se=Fm(J,P,{"data-selected":v,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=J,n[27]=v,n[28]=P,n[29]=se):se=n[29],se};function id(e){return e==null?void 0:e.hide_code}function sd(e,t){let n=(0,hr.c)(12),r=Gt(),o=re(Xa),a=re(Qa),i;n[0]===a?i=n[1]:(i=Ir(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),Ra(e),Ga(()=>{za(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let g=t.current,w=g.state;if(jf(g))return;let y=w.field(Ja,!1),v=Pt(w)!==null;y&&gr(g),v&&Qf(g),!(y||v)&&u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,p;n[8]!==f||n[9]!==o||n[10]!==s?(p={onKeyDown:g=>{o==="vim"?s(g)&&f():g.key==="Escape"&&f(),g.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:m}=mi(p);return m}function xa(e,t){let n=document.getElementById(Cn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Cn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function gr(e){e.state.field(Ja,!1)&&e.dispatch({effects:Id.of(null)})}var Ia=Re();const ld=e=>{let t=(0,Ia.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=Pa.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=Pa.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Fd,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let p=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(Hm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let g;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==p?(g=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:p,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=p,t[15]=g):g=t[15];let w;t[16]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)($m,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=w):w=t[16];let y;t[17]!==o||t[18]!==n?(y=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:w,toType:"python",displayName:"Python",onAfterToggle:rf.NOOP}),t[17]=o,t[18]=n,t[19]=y):y=t[19];let v;return t[20]!==y||t[21]!==f||t[22]!==g?(v=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,g,y]}),t[20]=y,t[21]=f,t[22]=g,t[23]=v):v=t[23],v},br=e=>{let t=(0,Ia.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(_t(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,p;t[4]!==d||t[5]!==a?(p=(0,b.jsx)(it,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=p):p=t[6];let m;return t[7]!==f||t[8]!==p?(m=(0,b.jsx)(On,{content:f,children:p}),t[7]=f,t[8]=p,t[9]=m):m=t[9],m};var Ta=Re(),Aa=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:p,hasOutput:m,showHiddenCode:g,languageAdapter:w,setLanguageAdapter:y,showLanguageToggles:v=!0,outputArea:C})=>{var Me;let[T,A]=En(pi),B=ki(),{saveOrNameNotebook:I}=Jt(),x=Bn(),{saveCellConfig:G}=Mt(),te=a==="running"||a==="queued",J=Nn(),O=qm(),P=w==="markdown",se=le(()=>te?!1:x.idle&&u.keymap.destructive_delete?(x.submit([n]),!0):(B({cellId:n}),!0)),U=le(()=>te?!1:(c(),d.current&&gr(d.current),!0)),M=le(()=>{let D=!r.hide_code;return G({configs:{[n]:{hide_code:D}}}),J.updateCellConfig({cellId:n,config:{hide_code:D}}),D}),de=re(lf),Y=le(()=>{Wm({autoInstantiate:de,createNewCell:J.createNewCell}),r.hide_code||(G({configs:{[n]:{hide_code:!0}}}),J.updateCellConfig({cellId:n,config:{hide_code:!0}}),J.markUntouched({cellId:n}))}),k=sf(u),S=(0,F.useMemo)(()=>{var $;let D=Mc({cellId:n,showPlaceholder:t,enableAI:k,cellActions:{...J,afterToggleMarkdown:Y,onRun:U,deleteCell:se,saveNotebook:I,createManyBelow:L=>{for(let H of[...L].reverse())J.createNewCell({code:H,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:O,toggleHideCode:M,aiCellCompletion:()=>{let L=!1;return A(H=>(H==null?void 0:H.cellId)===n?(L=!0,null):{cellId:n}),L}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new Ya(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:(($=u.ai)==null?void 0:$.inline_tooltip)??!1});return D.push(He.define(L=>(y(L.state.field(xn).type),{update(H){y(H.state.field(xn).type)}})),j.updateListener.of(L=>{L.selectionSet&&L.state.selection.ranges.some(H=>H.from!==H.to)&&g({focus:!1})}),j.domEventHandlers({focus:()=>{g({focus:!1})}})),D},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,k,e,t,J,O,M,se,U,A,Y,y,g,I]),W=wr(),_=le(()=>{if(W){let $=lr(n,L=>{J.updateCellCode({cellId:n,code:L,formattingChange:!0})},o);S.push($.extension),o=$.code}let D=new j({state:Fr.create({doc:o,extensions:S})});s(D),W||_t(D,{language:Nr(D.state).type})}),ne=le(()=>{if(Ut(d.current!==null,"Editor view is not initialized"),W){let D=lr(n,$=>{J.updateCellCode({cellId:n,code:$,formattingChange:!0})});S.push(D.extension)}d.current.dispatch({effects:[me.reconfigure.of([S]),xd(d.current,{completionConfig:u.completion,hotkeysProvider:new Ya(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),Ge=le(()=>{if(Ut(i,"Editor view is not initialized"),W){let $=lr(n,L=>{J.updateCellCode({cellId:n,code:L,formattingChange:!0})},o);S.push($.extension),o=$.code}let D=new j({state:Fr.fromJSON(i,{doc:o,extensions:S},{history:Jf})});W||_t(D,{language:Nr(D.state).type}),s(D),J.clearSerializedEditorState({cellId:n})});(0,F.useEffect)(()=>{i===null?d.current===null?_():ne():Ge(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[_,ne,Ge,d,f,i,S]),(0,F.useEffect)(()=>{let D=d.current;return()=>{D==null||D.destroy()}},[d]);let Pe=sd(n,d),Ve="";return P&&p&&m?Ve="h-0 overflow-hidden":p&&(Ve="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(Vu,{cellId:n,aiCompletionCell:T,currentCode:((Me=d.current)==null?void 0:Me.state.doc.toString())??o,currentLanguageAdapter:w,declineChange:le(()=>{var D;A(null),(D=d.current)==null||D.focus()}),onChange:le(D=>{var $;($=d.current)==null||$.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}})}),acceptChange:le(D=>{var $,L;($=d.current)==null||$.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}}),(L=d.current)==null||L.focus(),A(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...Pe,children:[(0,b.jsx)(Fa,{className:Ve,editorView:d.current,ref:f,hidden:p,showHiddenCode:g}),!p&&v&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(ld,{code:o,editorView:d.current,currentLanguageAdapter:w,onAfterToggle:Y})})]})})},Fa=F.forwardRef((e,t)=>{let n=(0,Ta.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,F.useRef)(null),c,u;n[0]===o?(c=n[1],u=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},u=[o,s],n[0]=o,n[1]=c,n[2]=u),(0,F.useEffect)(c,u);let d;n[3]===r?d=n[4]:(d=st("cm mathjax_ignore",r),n[3]=r,n[4]=d);let f;n[5]!==a||n[6]!==i?(f=g=>{a&&i&&(g.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=f):f=n[7];let p;n[8]===t?p=n[9]:(p=g=>{t?_n(t,s)(g):_n(s)(g)},n[8]=t,n[9]=p);let m;return n[10]!==d||n[11]!==f||n[12]!==p?(m=(0,b.jsx)("div",{className:d,onDoubleClick:f,ref:p,"data-testid":"cell-editor"}),n[10]=d,n[11]=f,n[12]=p,n[13]=m):m=n[13],m});Fa.displayName="CellCodeMirrorEditor";function cd(e){let t=n=>{let r=(0,Ta.c)(5),o=re(at),[a,i]=En(ut);if(uf(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)($f,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(it,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}Ui=wr()?cd((0,F.memo)(Aa)):(0,F.memo)(Aa)});export{Dn as _,tp as __tla,Mr as a,Ai as c,Rr as d,ut as f,Gr as g,be as h,Gt as i,Jt as l,Fi as m,Li as n,Oi as o,Di as p,_i as r,_n as s,Ui as t,Un as u,Bi as v,Bn as y};
23
+ `)),ya(r.length)}catch{zu()}}}),pasteAtCell:le(async(t,n)=>{let{before:r=!1}=n??{};try{let o=await navigator.clipboard.read();for(let i of o)if(i.types.includes(mr)){let s=await(await i.getType(mr)).text();try{let c=Hu.parse(JSON.parse(s));if(c.cells.length===0)break;let u=t,d=c.cells.reverse();for(let f of d)e.createNewCell({cellId:u,before:r,code:f.code,autoFocus:!0});return}catch(c){ge.warn("Failed to parse clipboard cell data",c)}}let a=await navigator.clipboard.readText();a.trim()?e.createNewCell({cellId:t,before:r,code:a,autoFocus:!0}):Ku()}catch(o){ge.error("Failed to paste from clipboard",o),Yu()}})}}var ya=e=>{let t=e===1?"Cell":`${e} cells`;ct({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},zu=()=>{ct({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},Ku=()=>{ct({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},Yu=()=>{ct({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},Xu=class{constructor(){h(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(ge.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},Qu=Re();function wa(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:np,createActions:rp,valueAtom:pr,useActions:Zu}=Or(wa,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],u=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(u)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:wa()});Oi=()=>re(pr);function ed(e){let t=(0,Qu.c)(2),n;return t[0]===e?n=t[1]:(n=Dt(r=>r(pr).selected.has(e)),t[0]=e,t[1]=n),re(n)}Mr=function(){return Zu()};function td(e){return e.get(pr).selected}let va,Ea,ka;va=Re(),{valueAtom:Ea,useActions:Gt}=Or(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),Ga(()=>{let r=document.activeElement;if(!r)return;let o=Sn.findElementThroughShadowDOMs(r);o&&za(Sn.parse(o.id))}),n}}),ka=e=>Dt(t=>t(Ea).has(e)),_i=function(e){let t=(0,va.c)(2),n;return t[0]===e?n=t[1]:(n=ka(e),t[0]=e,t[1]=n),re(n)};var Ot=new WeakMap,nd=500;function rd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function od(e,t){let n=rd(e),r=e.target;if(!n||!r)return!1;let o=Ot.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Ot.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Ot.delete(r)},nd);return Ot.set(r,{sequence:a,timeout:s}),!0}return Ot.delete(r),!1}var hr=Re();function Na(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function Ke(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function ad(e,t){let n=(0,hr.c)(12),r=Vm(),o=Nn(),a=Gt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=d=>{var f;Ca(d.relatedTarget)||Ca(d.target)||Sa(d.relatedTarget)===e||Sa((f=d.relatedTarget)==null?void 0:f.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&gr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:u}=Nm(c);return u}function Ca(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function Sa(e){return e&&e.getAttribute(gd)||null}Li=function(e,t){let n=(0,hr.c)(30),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=Jt(),{saveCellConfig:s}=Mt(),c=Ba(pi),u=Nn(),d=yr(),f=Gt(),p=Ud(),m=re(Xa),{copyCells:g,pasteAtCell:w}=qu(),y=Mr(),v=ed(e),C=Bn(),T=Ur(),A=re(Tr),B;n[0]!==C||n[1]!==y?(B={clear:()=>{C.clear(),y.clear()},extend:U=>{C.clear(),y.extend(U)},select:U=>{C.clear(),y.select(U)}},n[0]=C,n[1]=y,n[2]=B):B=n[2];let I=B,x=re(Qa),G;n[3]===x?G=n[4]:(G=(U,M)=>Ir(x.getHotkey(U).key)(M.nativeEvent||M),n[3]=x,n[4]=G);let te=G,J=ad(e,o),O;n[5]!==u||n[6]!==r||n[7]!==a||n[8]!==e||n[9]!==g||n[10]!==T||n[11]!==o||n[12]!==v||n[13]!==te||n[14]!==m||n[15]!==w||n[16]!==C||n[17]!==p||n[18]!==s||n[19]!==i||n[20]!==I||n[21]!==c||n[22]!==d||n[23]!==f||n[24]!==A?(O={onKeyDown:U=>{if(Ar.fromInput(U)){U.continuePropagation();return}let M={"Mod+ArrowUp":()=>(u.focusTopCell(),I.clear(),!0),"Mod+ArrowDown":()=>(u.focusBottomCell(),I.clear(),!0),ArrowUp:()=>(u.focusCell({cellId:e,where:"before"}),I.clear(),!0),ArrowDown:()=>(u.focusCell({cellId:e,where:"after"}),I.clear(),!0),ArrowLeft:()=>{if(r){let k=d.get(Ze),S=k.cellIds.findWithId(e),W=k.cellIds.indexOf(S),_=k.cellIds.at(W-1);if(_&&_.length>0){let ne=xa(e,_);return u.focusCell({cellId:ne,where:"exact"}),I.clear(),!0}}return!1},ArrowRight:()=>{if(r){let k=d.get(Ze),S=k.cellIds.findWithId(e),W=k.cellIds.indexOf(S),_=k.cellIds.at(W+1);if(_&&_.length>0){let ne=xa(e,_);return u.focusCell({cellId:ne,where:"exact"}),I.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let k=d.get(Wa);I.extend({cellId:e,allCellIds:k});let S=k.findWithId(e).before(e);return S&&I.extend({cellId:S,allCellIds:k}),u.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let k=d.get(Wa);I.extend({cellId:e,allCellIds:k});let S=k.findWithId(e).after(e);return S&&I.extend({cellId:S,allCellIds:k}),u.focusCell({cellId:e,where:"after"}),!0},Escape:()=>v?(I.clear(),!0):!1,Enter:()=>(f.add(e),Pa(d,e),I.clear(),!0),s:()=>(i(),!0)};for(let[k,S]of Object.entries(M))if(Ir(k)(U)&&S()){U.preventDefault();return}let de={"cell.run":Ke(k=>(p(k),!0)),"cell.runAndNewBelow":Ke(k=>{p(k);let S=k[k.length-1];return u.moveToNextCell({cellId:S,before:!1}),!0}),"cell.runAndNewAbove":Ke(k=>{p(k);let S=k[0];return u.moveToNextCell({cellId:S,before:!0}),!0}),"cell.createAbove":k=>(u.createNewCell({cellId:k,before:!0}),!0),"cell.createBelow":k=>(u.createNewCell({cellId:k,before:!1}),!0),"cell.moveUp":Ke(k=>{let S=k[0];return d.get(Ze).cellIds.findWithId(S).first()===S?!1:(k.forEach(W=>{u.moveCell({cellId:W,before:!0})}),!0)}),"cell.moveDown":Ke(k=>{let S=k[k.length-1];return d.get(Ze).cellIds.findWithId(S).last()===S?!1:([...k].reverse().forEach(W=>{u.moveCell({cellId:W,before:!1})}),!0)}),"cell.moveLeft":Na(k=>r?(u.moveCell({cellId:k,direction:"left"}),!0):!1),"cell.moveRight":Na(k=>r?(u.moveCell({cellId:k,direction:"right"}),!0):!1),"cell.hideCode":Ke(k=>{var W;let S=!k.map(_=>{var ne;return((ne=d.get(Ze).cellData[_])==null?void 0:ne.config)||null}).every(id);s({configs:Object.fromEntries(k.map(_=>[_,{hide_code:S}]))});for(let _ of k)u.updateCellConfig({cellId:_,config:{hide_code:S}});if(k.length===1){let _=k[0];u.focusCell({cellId:_,where:"after"}),S?((W=o.current)==null||W.contentDOM.blur(),Ra(_)):Pa(d,_)}return!0}),"cell.focusDown":k=>(u.focusCell({cellId:k,where:"after"}),!0),"cell.focusUp":k=>(u.focusCell({cellId:k,where:"before"}),!0),"cell.sendToBottom":Ke(k=>(k.forEach(S=>{u.sendToBottom({cellId:S})}),!0)),"cell.sendToTop":Ke(k=>([...k].reverse().forEach(S=>{u.sendToTop({cellId:S})}),!0)),"cell.aiCompletion":k=>{var W;let S=!1;return c(_=>(_==null?void 0:_.cellId)===k?(S=!0,null):{cellId:k}),S&&((W=o.current)==null||W.focus()),!0},"cell.cellActions":()=>{var k;return(k=a.current)==null||k.toggle(),!0},"command.copyCell":Ke(k=>(g(k),!0)),"command.pasteCell":k=>(w(k),!0),"command.createCellBefore":k=>Ar.hasModifier(U)?!1:(u.createNewCell({cellId:k,before:!0,autoFocus:!0}),!0),"command.createCellAfter":k=>Ar.hasModifier(U)?!1:(u.createNewCell({cellId:k,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!A.keymap.destructive_delete)return!1;let k=Y.size>=2?[...Y]:[e],S=d.get(Ze);return k.some(W=>{let{status:_}=S.cellRuntime[W];return _==="running"||_==="queued"})?!1:C.idle?(C.submit(k),!0):(T({cellIds:k}),C.clear(),!0)}},Y=td(d);if(m==="vim"&&od(U.nativeEvent||U,{j:M.ArrowDown,k:M.ArrowUp,h:M.ArrowLeft,l:M.ArrowRight,i:M.Enter,"shift+j":M["Shift+ArrowDown"],"shift+k":M["Shift+ArrowUp"],"g g":M["Mod+ArrowUp"],"shift+g":M["Mod+ArrowDown"],"d d":()=>de["cell.delete"](),"y y":()=>(g(Y.size>=2?[...Y]:[e]),!0),p:()=>(w(e,{before:!1}),!0),"shift+p":()=>(w(e,{before:!0}),!0),o:()=>(u.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(u.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(u.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[k,S]of Object.entries(de))if(te(k,U)){if(S instanceof Function){if(S(e)){U.preventDefault();return}}else if(Y.size>=2?S.bulkHandle([...Y]):S.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[5]=u,n[6]=r,n[7]=a,n[8]=e,n[9]=g,n[10]=T,n[11]=o,n[12]=v,n[13]=te,n[14]=m,n[15]=w,n[16]=C,n[17]=p,n[18]=s,n[19]=i,n[20]=I,n[21]=c,n[22]=d,n[23]=f,n[24]=A,n[25]=O):O=n[25];let{keyboardProps:j}=mi(O),se;return n[26]!==J||n[27]!==v||n[28]!==j?(se=Lm(J,j,{"data-selected":v,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[26]=J,n[27]=v,n[28]=j,n[29]=se):se=n[29],se};function id(e){return e==null?void 0:e.hide_code}function sd(e,t){let n=(0,hr.c)(12),r=Gt(),o=re(Xa),a=re(Qa),i;n[0]===a?i=n[1]:(i=Ir(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),Ra(e),Ga(()=>{za(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let u=c,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let g=t.current,w=g.state;if(Pf(g))return;let y=w.field(Ja,!1),v=jt(w)!==null;y&&gr(g),v&&Qf(g),!(y||v)&&u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,p;n[8]!==f||n[9]!==o||n[10]!==s?(p={onKeyDown:g=>{o==="vim"?s(g)&&f():g.key==="Escape"&&f(),g.continuePropagation()}},n[8]=f,n[9]=o,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:m}=mi(p);return m}function xa(e,t){let n=document.getElementById(Sn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Sn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function gr(e){e.state.field(Ja,!1)&&e.dispatch({effects:Id.of(null)})}var Ia=Re();const ld=e=>{let t=(0,Ia.c)(24),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a}=e,i;t[0]===r?i=t[1]:(i=ja.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=i);let s=i,c;t[2]===r?c=t[3]:(c=ja.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=c);let u=c&&o==="python",d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=(0,b.jsx)(Fd,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=d):d=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==u?(f=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:u,icon:d,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=u,t[9]=f):f=t[9];let p=s&&o==="python",m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=(0,b.jsx)(Hm,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=m):m=t[10];let g;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==p?(g=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:p,icon:m,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=p,t[15]=g):g=t[15];let w;t[16]===Symbol.for("react.memo_cache_sentinel")?(w=(0,b.jsx)($m,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=w):w=t[16];let y;t[17]!==o||t[18]!==n?(y=(0,b.jsx)(br,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:w,toType:"python",displayName:"Python",onAfterToggle:rf.NOOP}),t[17]=o,t[18]=n,t[19]=y):y=t[19];let v;return t[20]!==y||t[21]!==f||t[22]!==g?(v=(0,b.jsxs)("div",{className:"absolute right-3 top-2 z-20 flex hover-action gap-1",children:[f,g,y]}),t[20]=y,t[21]=f,t[22]=g,t[23]=v):v=t[23],v},br=e=>{let t=(0,Ia.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,u;t[0]!==n||t[1]!==c||t[2]!==i?(u=()=>{n&&(_t(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=u):u=t[3];let d=u;if(!o||r===i)return null;let f=`View as ${s}`,p;t[4]!==d||t[5]!==a?(p=(0,b.jsx)(it,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:d,children:a}),t[4]=d,t[5]=a,t[6]=p):p=t[6];let m;return t[7]!==f||t[8]!==p?(m=(0,b.jsx)(On,{content:f,children:p}),t[7]=f,t[8]=p,t[9]=m):m=t[9],m};var Ta=Re(),Aa=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:u,editorViewRef:d,editorViewParentRef:f,hidden:p,hasOutput:m,showHiddenCode:g,languageAdapter:w,setLanguageAdapter:y,showLanguageToggles:v=!0,outputArea:C})=>{var Me;let[T,A]=En(pi),B=ki(),{saveOrNameNotebook:I}=Jt(),x=Bn(),{saveCellConfig:G}=Mt(),te=a==="running"||a==="queued",J=Nn(),O=qm(),j=w==="markdown",se=le(()=>te?!1:x.idle&&u.keymap.destructive_delete?(x.submit([n]),!0):(B({cellId:n}),!0)),U=le(()=>te?!1:(c(),d.current&&gr(d.current),!0)),M=le(()=>{let D=!r.hide_code;return G({configs:{[n]:{hide_code:D}}}),J.updateCellConfig({cellId:n,config:{hide_code:D}}),D}),de=re(lf),Y=le(()=>{Em({autoInstantiate:de,createNewCell:J.createNewCell}),r.hide_code||(G({configs:{[n]:{hide_code:!0}}}),J.updateCellConfig({cellId:n,config:{hide_code:!0}}),J.markUntouched({cellId:n}))}),k=sf(u),S=(0,F.useMemo)(()=>{var $;let D=Mc({cellId:n,showPlaceholder:t,enableAI:k,cellActions:{...J,afterToggleMarkdown:Y,onRun:U,deleteCell:se,saveNotebook:I,createManyBelow:L=>{for(let H of[...L].reverse())J.createNewCell({code:H,before:!1,cellId:n,skipIfCodeExists:!0})},splitCell:O,toggleHideCode:M,aiCellCompletion:()=>{let L=!1;return A(H=>(H==null?void 0:H.cellId)===n?(L=!0,null):{cellId:n}),L}},completionConfig:u.completion,keymapConfig:u.keymap,lspConfig:u.language_servers,theme:e,hotkeys:new Ya(u.keymap.overrides??{}),diagnosticsConfig:u.diagnostics,displayConfig:u.display,inlineAiTooltip:(($=u.ai)==null?void 0:$.inline_tooltip)??!1});return D.push(He.define(L=>(y(L.state.field(xn).type),{update(H){y(H.state.field(xn).type)}})),P.updateListener.of(L=>{L.selectionSet&&L.state.selection.ranges.some(H=>H.from!==H.to)&&g({focus:!1})}),P.domEventHandlers({focus:()=>{g({focus:!1})}})),D},[n,u.keymap,u.completion,u.language_servers,u.display,u.diagnostics,k,e,t,J,O,M,se,U,A,Y,y,g,I]),W=wr(),_=le(()=>{if(W){let $=lr(n,L=>{J.updateCellCode({cellId:n,code:L,formattingChange:!0})},o);S.push($.extension),o=$.code}let D=new P({state:Fr.create({doc:o,extensions:S})});s(D),W||_t(D,{language:Nr(D.state).type})}),ne=le(()=>{if(Ut(d.current!==null,"Editor view is not initialized"),W){let D=lr(n,$=>{J.updateCellCode({cellId:n,code:$,formattingChange:!0})});S.push(D.extension)}d.current.dispatch({effects:[me.reconfigure.of([S]),xd(d.current,{completionConfig:u.completion,hotkeysProvider:new Ya(u.keymap.overrides??{}),lspConfig:{...u.language_servers,diagnostics:u.diagnostics}})]})}),Ge=le(()=>{if(Ut(i,"Editor view is not initialized"),W){let $=lr(n,L=>{J.updateCellCode({cellId:n,code:L,formattingChange:!0})},o);S.push($.extension),o=$.code}let D=new P({state:Fr.fromJSON(i,{doc:o,extensions:S},{history:Jf})});W||_t(D,{language:Nr(D.state).type}),s(D),J.clearSerializedEditorState({cellId:n})});(0,F.useEffect)(()=>{i===null?d.current===null?_():ne():Ge(),d.current!==null&&f&&f.current!==null&&f.current.replaceChildren(d.current.dom)},[_,ne,Ge,d,f,i,S]),(0,F.useEffect)(()=>{let D=d.current;return()=>{D==null||D.destroy()}},[d]);let je=sd(n,d),Ve="";return j&&p&&m?Ve="h-0 overflow-hidden":p&&(Ve="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,b.jsx)(Vu,{cellId:n,aiCompletionCell:T,currentCode:((Me=d.current)==null?void 0:Me.state.doc.toString())??o,currentLanguageAdapter:w,declineChange:le(()=>{var D;A(null),(D=d.current)==null||D.focus()}),onChange:le(D=>{var $;($=d.current)==null||$.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}})}),acceptChange:le(D=>{var $,L;($=d.current)==null||$.dispatch({changes:{from:0,to:d.current.state.doc.length,insert:D}}),(L=d.current)==null||L.focus(),A(null)}),runCell:U,outputArea:C,children:(0,b.jsxs)("div",{className:"relative w-full",...je,children:[(0,b.jsx)(Fa,{className:Ve,editorView:d.current,ref:f,hidden:p,showHiddenCode:g}),!p&&v&&(0,b.jsx)("div",{className:"absolute top-1 right-5",children:(0,b.jsx)(ld,{code:o,editorView:d.current,currentLanguageAdapter:w,onAfterToggle:Y})})]})})},Fa=F.forwardRef((e,t)=>{let n=(0,Ta.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,F.useRef)(null),c,u;n[0]===o?(c=n[1],u=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},u=[o,s],n[0]=o,n[1]=c,n[2]=u),(0,F.useEffect)(c,u);let d;n[3]===r?d=n[4]:(d=st("cm mathjax_ignore",r),n[3]=r,n[4]=d);let f;n[5]!==a||n[6]!==i?(f=g=>{a&&i&&(g.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=f):f=n[7];let p;n[8]===t?p=n[9]:(p=g=>{t?_n(t,s)(g):_n(s)(g)},n[8]=t,n[9]=p);let m;return n[10]!==d||n[11]!==f||n[12]!==p?(m=(0,b.jsx)("div",{className:d,onDoubleClick:f,ref:p,"data-testid":"cell-editor"}),n[10]=d,n[11]=f,n[12]=p,n[13]=m):m=n[13],m});Fa.displayName="CellCodeMirrorEditor";function cd(e){let t=n=>{let r=(0,Ta.c)(5),o=re(at),[a,i]=En(ut);if(uf(o.state)||a===void 0){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,b.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let u;return r[1]===i?u=r[2]:(u=(0,b.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,b.jsxs)($f,{milliseconds:1e3,fallback:null,children:[c,(0,b.jsx)(it,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=u),u}let s;return r[3]===n?s=r[4]:(s=(0,b.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}Ui=wr()?cd((0,F.memo)(Aa)):(0,F.memo)(Aa)});export{Dn as _,tp as __tla,Mr as a,Ai as c,Rr as d,ut as f,Gr as g,be as h,Gt as i,Jt as l,Fi as m,Li as n,Oi as o,Di as p,_i as r,_n as s,Ui as t,Un as u,Bi as v,Bn as y};