@marimo-team/islands 0.21.2-dev8 → 0.21.2-dev80

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 (664) hide show
  1. package/dist/{Combination-BBPQRrDo.js → Combination-B_FmEi05.js} +3 -3
  2. package/dist/{ConnectedDataExplorerComponent-D0GoOd_c.js → ConnectedDataExplorerComponent-CLLlotD4.js} +30 -29
  3. package/dist/{ImageComparisonComponent-BYQfAfSR.js → ImageComparisonComponent-BC00mJmw.js} +1 -1
  4. package/dist/{Plot-DfUav0o0.js → Plot-B1ahrLui.js} +1 -1
  5. package/dist/{_baseIsEqual-CvgsjYoW.js → _baseIsEqual-QWfxbVqg.js} +1 -1
  6. package/dist/_basePickBy-Do49cXgl.js +34 -0
  7. package/dist/{_baseUniq-BUFhl85h.js → _baseUniq-vFmWNipH.js} +1 -1
  8. package/dist/{any-language-editor-DlsjUw_l.js → any-language-editor-BBegsg-m.js} +22 -21
  9. package/dist/apl-e1B5LPEL.js +4 -0
  10. package/dist/{arc-DXxE-tFl.js → arc-CHF8PiiF.js} +2 -2
  11. package/dist/architecture-7HQA4BMR-KeUc82D1.js +6 -0
  12. package/dist/{architectureDiagram-VXUJARFQ-Df0FNeBR.js → architectureDiagram-VXUJARFQ-CIl7H_7A.js} +19 -19
  13. package/dist/asciiarmor-B-gwgesP.js +4 -0
  14. package/dist/asn1-DF2ckRB4.js +4 -0
  15. package/dist/{blockDiagram-VD42YOAC-DszWqlLz.js → blockDiagram-VD42YOAC-Bxg4bo7H.js} +14 -14
  16. package/dist/brainfuck-4G-7_gq_.js +4 -0
  17. package/dist/{button-BKkuUpZh.js → button-B1ZgJ7Cc.js} +2 -2
  18. package/dist/{c4Diagram-YG6GDRKO-Dyj8LoUX.js → c4Diagram-YG6GDRKO-k4TEDUb8.js} +6 -6
  19. package/dist/capabilities-DAGZLwa6.js +36 -0
  20. package/dist/{channel-CUFaIkTh.js → channel-CCR8wXOx.js} +1 -1
  21. package/dist/chat-ui-Dbn0M4Oo.js +7295 -0
  22. package/dist/{check-Diwc5emq.js → check-B2OoWw2h.js} +1 -1
  23. package/dist/{chunk-4BX2VUAB-CwMMQLZ_.js → chunk-4BX2VUAB-BwfrWBqN.js} +1 -1
  24. package/dist/{chunk-4F5CHEZ2-CRwwZ2ED.js → chunk-4F5CHEZ2-BigWQaTs.js} +1 -1
  25. package/dist/{chunk-55IACEB6-Dj8CzJvE.js → chunk-55IACEB6-D8THf2mi.js} +1 -1
  26. package/dist/{chunk-5FQGJX7Z-BkzUmppO.js → chunk-5FQGJX7Z-Cz2QbNIw.js} +1504 -2846
  27. package/dist/{chunk-ABZYJK2D-7QYXAAhe.js → chunk-ABZYJK2D-NPoevJcI.js} +3 -3
  28. package/dist/{chunk-ATLVNIR6-pmHPAPSd.js → chunk-ATLVNIR6-DAhC1FCG.js} +2 -2
  29. package/dist/{chunk-B2363JML-BuBMltZc.js → chunk-B2363JML-DOYwB798.js} +1 -1
  30. package/dist/{chunk-B4BG7PRW-Dbta9cTX.js → chunk-B4BG7PRW-BDmytgmO.js} +7 -7
  31. package/dist/{chunk-CVBHYZKI-D8iwHsLF.js → chunk-CVBHYZKI-B6xhgaBd.js} +1 -1
  32. package/dist/{chunk-DI55MBZ5-DyKB35wC.js → chunk-DI55MBZ5-C6iNEV8U.js} +6 -6
  33. package/dist/{chunk-EXTU4WIE-BRFl4iNd.js → chunk-EXTU4WIE-BtA6WdD4.js} +2 -2
  34. package/dist/{chunk-FMBD7UC4-XTL4xAvH.js → chunk-FMBD7UC4-CHdus51S.js} +1 -1
  35. package/dist/{chunk-FRFDVMJY-Bk2LD5Te.js → chunk-FRFDVMJY-Bo7Hv3UF.js} +1 -1
  36. package/dist/{chunk-HN2XXSSU-CzO5Phf0.js → chunk-HN2XXSSU-2Vfbq-kU.js} +1 -1
  37. package/dist/{chunk-JA3XYJ7Z-BkrY9SdL.js → chunk-JA3XYJ7Z-BeXqAsc9.js} +3 -3
  38. package/dist/{chunk-JZLCHNYA-Bk_Lil-q.js → chunk-JZLCHNYA-ibE7xTEx.js} +6 -6
  39. package/dist/{chunk-MI3HLSF2-DvCKDmpi.js → chunk-MI3HLSF2-Do0-KRc0.js} +1 -1
  40. package/dist/{chunk-N4CR4FBY-f5n6meOd.js → chunk-N4CR4FBY-CHAcubAf.js} +7 -7
  41. package/dist/{chunk-PL6DKKU2-DiFkzMfM.js → chunk-PL6DKKU2-D3wYz-iW.js} +1 -1
  42. package/dist/{chunk-QN33PNHL-CXfJywHv.js → chunk-QN33PNHL-CDWJY_kT.js} +2 -2
  43. package/dist/{chunk-QXUST7PY-D7-26sj3.js → chunk-QXUST7PY-CV37xRZd.js} +10 -10
  44. package/dist/{chunk-QZHKN3VN-CYbwZKgJ.js → chunk-QZHKN3VN-B_Mdb8GC.js} +1 -1
  45. package/dist/{chunk-S3R3BYOJ-BRT9vd1R.js → chunk-S3R3BYOJ-CGlk8NH-.js} +6 -6
  46. package/dist/{chunk-SJTYNZTY-BvVkbShU.js → chunk-SJTYNZTY-Bauwp2-p.js} +1 -1
  47. package/dist/{chunk-TCCFYFTB-DqxhgXG0.js → chunk-TCCFYFTB-C5_FjmXA.js} +15 -14
  48. package/dist/{chunk-TQ3KTPDO-CPkEruAA.js → chunk-TQ3KTPDO-TjHW8xfv.js} +1 -1
  49. package/dist/{chunk-TZMSLE5B-DSfBOnzx.js → chunk-TZMSLE5B-DfY6C3FB.js} +3 -3
  50. package/dist/{chunk-UMXZTB3W-C4ypIY3V.js → chunk-UMXZTB3W-DdRiIIOF.js} +1 -1
  51. package/dist/classDiagram-2ON5EDUG-DbWOiPgs.js +30 -0
  52. package/dist/classDiagram-v2-WZHVMYZB-COnXBrRA.js +30 -0
  53. package/dist/{clike-CLJYUAWw.js → clike-7lgyEYRk.js} +1 -1
  54. package/dist/clojure-CUybM11R.js +4 -0
  55. package/dist/{clone-CEQ-pda1.js → clone-BM9_Wkaf.js} +1 -1
  56. package/dist/cmake-BPjGcuDL.js +4 -0
  57. package/dist/cobol-BETk_nb6.js +4 -0
  58. package/dist/{code-block-37QAKDTI-DV_ZyoUh.js → code-block-37QAKDTI-DW3JC11U.js} +2 -2
  59. package/dist/coffeescript-CManZxXL.js +4 -0
  60. package/dist/commonlisp-DWkn7GW8.js +4 -0
  61. package/dist/{constants-CytQ_3LM.js → constants-LmeAawHa.js} +3 -3
  62. package/dist/{copy-DIK6DiIA.js → copy-B7XqFjF_.js} +14 -4
  63. package/dist/{cose-bilkent-S5V4N54A-BCDTZDay.js → cose-bilkent-S5V4N54A-DXHZkJKX.js} +2 -2
  64. package/dist/crystal-CCbg5EUH.js +4 -0
  65. package/dist/css-By8eo-XS.js +4 -0
  66. package/dist/cypher-DwfHg3nP.js +4 -0
  67. package/dist/d-Brs1wNbw.js +4 -0
  68. package/dist/{dagre-6UL2VRFP-DGEbtmgU.js → dagre-6UL2VRFP-B8UW0fXE.js} +16 -16
  69. package/dist/{dagre-BVnNvbvD.js → dagre-B3-rUlCT.js} +14 -14
  70. package/dist/{data-grid-overlay-editor-BD0BFHzy.js → data-grid-overlay-editor-CpL5Zajy.js} +3 -3
  71. package/dist/{diagram-PSM6KHXK-CG_usglE.js → diagram-PSM6KHXK-DGD-j1bM.js} +22 -22
  72. package/dist/{diagram-QEK2KX5R-CtGFEwzJ.js → diagram-QEK2KX5R-DgsT6ZW4.js} +17 -17
  73. package/dist/{diagram-S2PKOQOG-ClKAGmbv.js → diagram-S2PKOQOG-CDh5Ij8z.js} +17 -17
  74. package/dist/diff-DJIRmJ1g.js +4 -0
  75. package/dist/{dist-DEj2X26M.js → dist-1-E4bC9V.js} +2 -2
  76. package/dist/{dist-RNGn_-uD.js → dist-APyhcmvq.js} +1 -1
  77. package/dist/{dist-i-ud9aCA.js → dist-B5thW2rT.js} +1 -1
  78. package/dist/{dist-BpMlUdNO.js → dist-BFe8Nc_2.js} +3 -3
  79. package/dist/dist-BHGf2Zey.js +5 -0
  80. package/dist/dist-BImOGJZM.js +5 -0
  81. package/dist/{dist-lNe4i1Nm.js → dist-BJvk9DSp.js} +1 -1
  82. package/dist/{dist-DUretbKK.js → dist-BLrc9iNb.js} +2 -2
  83. package/dist/{dist-CSEWGuDq.js → dist-BYr4a-wE.js} +1 -1
  84. package/dist/dist-BbJfmCHJ.js +5 -0
  85. package/dist/{dist-C0Rnbr-_.js → dist-BiNtCiQ9.js} +4 -4
  86. package/dist/{dist-D4gcY469.js → dist-BrJQDkv_.js} +2 -2
  87. package/dist/dist-C0v-nFs_.js +8 -0
  88. package/dist/{dist-C4K7pumm.js → dist-C16JG-Ok.js} +2 -2
  89. package/dist/dist-C8N7114Z.js +5 -0
  90. package/dist/dist-C9TDg2aq.js +8 -0
  91. package/dist/{dist-gc9KgJuA.js → dist-CGH6Jw-c.js} +1 -1
  92. package/dist/{dist-BSfYc7vq.js → dist-CKVkWFcB.js} +2 -2
  93. package/dist/dist-CN4RKgNR.js +5 -0
  94. package/dist/{dist-DodLQWPg.js → dist-CQ3XmGIH.js} +1 -1
  95. package/dist/{dist-BGZ7TWS9.js → dist-CSiTW5NO.js} +3 -3
  96. package/dist/dist-CVOkf_3P.js +6 -0
  97. package/dist/{dist-CAKwXCWI.js → dist-CYuoqvce.js} +2 -2
  98. package/dist/dist-Cbkga3s5.js +5 -0
  99. package/dist/{dist-Ux6dL_VB.js → dist-Cm4SOB1A.js} +1 -1
  100. package/dist/dist-CwEBZkrQ.js +550 -0
  101. package/dist/{dist-D_-CGmlh.js → dist-CxczluAk.js} +2 -2
  102. package/dist/dist-D6YTv0Kj.js +5 -0
  103. package/dist/{dist-Bq5eYK43.js → dist-D75XqRaT.js} +2 -2
  104. package/dist/dist-D9vawryf.js +8 -0
  105. package/dist/{dist-CseYuPtL.js → dist-DFBjYgbq.js} +2 -2
  106. package/dist/{dist-Bq9zYwJs.js → dist-DUg5n_x5.js} +5 -5
  107. package/dist/dist-DasJgTvL.js +6 -0
  108. package/dist/{dist-D5NMgbbv.js → dist-DbyoYfBn.js} +2 -2
  109. package/dist/{dist-CPlGUbk-.js → dist-Dd9vDQtp.js} +2 -2
  110. package/dist/{dist-Cl5iM8xL.js → dist-Dk13KZ54.js} +3 -3
  111. package/dist/{dist-COpDrwi-.js → dist-Dl9_0tkc.js} +1 -1
  112. package/dist/dist-Ui51qXMz.js +8 -0
  113. package/dist/{dist-BFxYppVR.js → dist-XYBhoeSX.js} +4 -4
  114. package/dist/{dist-DERtJN02.js → dist-Y9GfSR6_.js} +2 -2
  115. package/dist/{dist-B9EjSb9T.js → dist-aW74oyUt.js} +1 -1
  116. package/dist/dist-d2msfN-B.js +5 -0
  117. package/dist/{dist-BUrWeMEP.js → dist-iM9VwH8Z.js} +1 -1
  118. package/dist/{dist-HoZO6brh.js → dist-uR-o9IVx.js} +2 -2
  119. package/dist/{dist-CDHl2i1x.js → dist-zGOEySUQ.js} +4 -4
  120. package/dist/{dockerfile-BxhYdLHL.js → dockerfile-DG6A2DdH.js} +1 -1
  121. package/dist/dtd-Dyiazv4N.js +4 -0
  122. package/dist/dylan-D8Fcw7NA.js +4 -0
  123. package/dist/ecl-CjKp8Vii.js +4 -0
  124. package/dist/eiffel-K9ViOX5r.js +4 -0
  125. package/dist/elm-B5NVtRco.js +4 -0
  126. package/dist/{erDiagram-Q2GNP2WA-DPMseVVp.js → erDiagram-Q2GNP2WA-CGK0SUdu.js} +15 -15
  127. package/dist/erlang-BnLzgk7R.js +4 -0
  128. package/dist/{error-banner-Dmi5ujan.js → error-banner-D-KBGvBj.js} +3 -3
  129. package/dist/esm-CCD9xN05.js +1587 -0
  130. package/dist/esm-CxoKu9RN.js +2805 -0
  131. package/dist/{factor-Png_OsVt.js → factor-Bq2mGIHt.js} +1 -1
  132. package/dist/factor-C7f9Jz5R.js +4 -0
  133. package/dist/{flowDiagram-NV44I4VS-BpAIFwW7.js → flowDiagram-NV44I4VS-PjhviPI_.js} +17 -17
  134. package/dist/forth-rGM8jLao.js +4 -0
  135. package/dist/fortran-B3acSe0i.js +4 -0
  136. package/dist/{ganttDiagram-JELNMOA3-DXYghZ9C.js → ganttDiagram-JELNMOA3-CUVtQqgT.js} +10 -10
  137. package/dist/gas-Bb1Vmv_N.js +4 -0
  138. package/dist/gherkin-C9Lyidgd.js +4 -0
  139. package/dist/{gitGraph-G5XIXVHT-ChHUSAop.js → gitGraph-G5XIXVHT-B6b-Z3mr.js} +3 -3
  140. package/dist/{gitGraphDiagram-V2S2FVAM-CBL-7g3_.js → gitGraphDiagram-V2S2FVAM-CNdrlK1I.js} +17 -17
  141. package/dist/{glide-data-editor-pZyd9UJ_.js → glide-data-editor-DQEuWuu_.js} +94 -93
  142. package/dist/{graphlib-D18eZCT4.js → graphlib-CIQjMxKw.js} +6 -6
  143. package/dist/groovy-DQk6XcGH.js +4 -0
  144. package/dist/{hasIn-B9AbGLj3.js → hasIn-eLCPDloT.js} +5 -5
  145. package/dist/haskell-mV0Vw9gv.js +4 -0
  146. package/dist/haxe-DqxN89zH.js +5 -0
  147. package/dist/idl-ya8W561J.js +4 -0
  148. package/dist/{info-VBDWY6EO-CwyXEo8E.js → info-VBDWY6EO-DfFl0Z8H.js} +3 -3
  149. package/dist/infoDiagram-HS3SLOUP-DGimKb9k.js +30 -0
  150. package/dist/{types-CGc7peZV.js → input-B8CM-AuM.js} +208 -405
  151. package/dist/{isEmpty-C-xMag79.js → isEmpty-CI9akcsL.js} +2 -2
  152. package/dist/{isString-D-vNYDBA.js → isString-xiQUcgm4.js} +1 -1
  153. package/dist/{isSymbol-Dyt2NSnN.js → isSymbol-DFp8040B.js} +1 -1
  154. package/dist/javascript-CgqgptVu.js +4 -0
  155. package/dist/{journeyDiagram-XKPGCS4Q-D5BIjS4N.js → journeyDiagram-XKPGCS4Q-CyoESVVb.js} +7 -7
  156. package/dist/julia-CFQ-HusI.js +4 -0
  157. package/dist/{kanban-definition-3W4ZIXB7-DhDkqxFB.js → kanban-definition-3W4ZIXB7-Doc2YV80.js} +12 -12
  158. package/dist/{katex-pyO_klYC.js → katex-qPqrBHZ8.js} +1 -1
  159. package/dist/{label-BbpGrh4j.js → label-e5-84vsp.js} +10 -10
  160. package/dist/{line-C1k1rG3Z.js → line-BWRi3U3S.js} +3 -3
  161. package/dist/{linear-DIp6l9sg.js → linear-DZ8_CGCd.js} +4 -4
  162. package/dist/livescript-D__3TmDo.js +4 -0
  163. package/dist/{loader-CABJs6GU.js → loader-C51Irhxm.js} +3 -3
  164. package/dist/lua-Bytcgj_W.js +4 -0
  165. package/dist/main.js +35383 -70488
  166. package/dist/mathematica-DJhvVKvl.js +4 -0
  167. package/dist/mbox-IGHPCjfR.js +4 -0
  168. package/dist/{memoize-Cs8aS5RW.js → memoize-zYM53m8l.js} +1 -1
  169. package/dist/{merge-NuyC7LN7.js → merge-CqBPpP0q.js} +1 -1
  170. package/dist/mermaid-4DMBBIKO-DQdI9xDR.js +6 -0
  171. package/dist/{mermaid-CrKqsE2j.js → mermaid-CzWpf81s.js} +50 -50
  172. package/dist/{mermaid-parser.core-OkWZ8nr-.js → mermaid-parser.core-CrrqF1ZZ.js} +8 -8
  173. package/dist/{mhchem-DckvwtV8.js → mhchem-BwoRNwg_.js} +1 -1
  174. package/dist/micromark-factory-space-DQCQsiYz.js +1341 -0
  175. package/dist/{min-ECVRnCdn.js → min-IJGSWMpU.js} +8 -8
  176. package/dist/{mindmap-definition-VGOIOE7T-BxQi78Vl.js → mindmap-definition-VGOIOE7T-L2ybicpO.js} +14 -14
  177. package/dist/mirc-tcwvVugm.js +4 -0
  178. package/dist/mllike-Dx91i62r.js +6 -0
  179. package/dist/modelica-_SRt-yU5.js +4 -0
  180. package/dist/mscgen-GZrGS9gt.js +6 -0
  181. package/dist/mumps-Cv3ygyod.js +4 -0
  182. package/dist/{now-BC2mX0ZT.js → now-CnuN5fN5.js} +1 -1
  183. package/dist/nsis-BU7GeGbI.js +4 -0
  184. package/dist/{nsis-BrAITej_.js → nsis-i9_sgigf.js} +1 -1
  185. package/dist/ntriples-CL-FCYXb.js +4 -0
  186. package/dist/{number-overlay-editor-CQrncFlP.js → number-overlay-editor-D2Y0RpcH.js} +1 -1
  187. package/dist/octave-Dc6_3DIu.js +4 -0
  188. package/dist/{once-BqS42WgZ.js → once-DjP4Kbhy.js} +1 -1
  189. package/dist/{ordinal-Dcvf4J1m.js → ordinal-B4zYMadD.js} +1 -1
  190. package/dist/oz-DpUAJCXf.js +4 -0
  191. package/dist/{packet-DYOGHKS2-C62XQjZh.js → packet-DYOGHKS2-DIf3Dotq.js} +3 -3
  192. package/dist/pascal-B17mncXs.js +4 -0
  193. package/dist/perl-BTpK97q9.js +4 -0
  194. package/dist/{pie-VRWISCQL-nfAKQJw3.js → pie-VRWISCQL-Dj_gvPcD.js} +3 -3
  195. package/dist/{pieDiagram-ADFJNKIX-DfSJXUHa.js → pieDiagram-ADFJNKIX-x5w7q6Yp.js} +22 -22
  196. package/dist/pig-CFb638Ap.js +4 -0
  197. package/dist/powershell-Cxo-_2A5.js +4 -0
  198. package/dist/{precisionRound-BAc-kQ3q.js → precisionRound-C-DW449D.js} +1 -1
  199. package/dist/process-output-BD2HO0W_.js +28024 -0
  200. package/dist/properties-BPgT1xTB.js +4 -0
  201. package/dist/protobuf-BgHBaIIK.js +4 -0
  202. package/dist/pug-25-oS0SG.js +4 -0
  203. package/dist/{pug-CH-17az-.js → pug-BhE2JRSg.js} +1 -1
  204. package/dist/puppet-DarIr20S.js +4 -0
  205. package/dist/python-BqmOsBsi.js +4 -0
  206. package/dist/q-D3QJCTup.js +4 -0
  207. package/dist/{quadrantDiagram-AYHSOK5B-CAcVWXc-.js → quadrantDiagram-AYHSOK5B-D5j_5qG_.js} +5 -5
  208. package/dist/r-Cz_yBX4z.js +4 -0
  209. package/dist/{radar-ZZBFDIW7-lopS8_4j.js → radar-ZZBFDIW7-DXDVq3gi.js} +3 -3
  210. package/dist/{range-BKaWvVUE.js → range-DffmqG6L.js} +4 -3
  211. package/dist/{react-vega-C6kwcd86.js → react-vega-BBUxfZoV.js} +19 -19
  212. package/dist/react-vega-Cs3lfDw8.js +9 -0
  213. package/dist/{reduce-CqQo8ppc.js → reduce-CGwzfrDo.js} +5 -5
  214. package/dist/{requirementDiagram-UZGBJVZJ-BU7dwzFM.js → requirementDiagram-UZGBJVZJ-3SoJH6yP.js} +14 -14
  215. package/dist/rpm-DGOtYwAI.js +5 -0
  216. package/dist/ruby-DBZu4rPc.js +4 -0
  217. package/dist/{sankeyDiagram-TZEHDZUN-BVJnR4_b.js → sankeyDiagram-TZEHDZUN-fGkFNe5q.js} +5 -5
  218. package/dist/sas-Dd1D9qTq.js +4 -0
  219. package/dist/scheme-BmDjvTHX.js +4 -0
  220. package/dist/{sequenceDiagram-WL72ISMW-CQcFQTwX.js → sequenceDiagram-WL72ISMW-BE2uTn_d.js} +8 -8
  221. package/dist/shell-BL8zFSaj.js +4 -0
  222. package/dist/sieve-BAx2WqUP.js +4 -0
  223. package/dist/{slides-component-GkilRW21.js → slides-component-Cjo6LzW9.js} +3 -3
  224. package/dist/smalltalk-CYRzF7VV.js +4 -0
  225. package/dist/sparql-YWaDRO4A.js +4 -0
  226. package/dist/{spec-Bfvf9Hre.js → spec-UGFYIDJb.js} +12 -422
  227. package/dist/{src-CHUphWwL.js → src-BY0BGg6V.js} +1 -1
  228. package/dist/{stateDiagram-FKZM4ZOC-Dx9AIGDe.js → stateDiagram-FKZM4ZOC-Dmk9IAOx.js} +19 -19
  229. package/dist/stateDiagram-v2-4FDKWEC3-BGF0BvU6.js +29 -0
  230. package/dist/{step-BbmiiQdf.js → step-DGAGWg3y.js} +1 -1
  231. package/dist/stex-BvZqVamL.js +4 -0
  232. package/dist/style.css +1 -1
  233. package/dist/stylus-lYsyLFc1.js +4 -0
  234. package/dist/swift-ClQz9z1n.js +4 -0
  235. package/dist/tcl-B3jhsfqY.js +4 -0
  236. package/dist/textile-Cb1Dw7Aq.js +4 -0
  237. package/dist/{time-DFFVNc1Q.js → time-C_pvjzP0.js} +4 -4
  238. package/dist/{timeline-definition-IT6M3QCI-D8B3p7ID.js → timeline-definition-IT6M3QCI-CvB4yGrN.js} +4 -4
  239. package/dist/toDate-COI3hP-5.js +637 -0
  240. package/dist/toInteger-BUeg_O0F.js +15 -0
  241. package/dist/{toNumber-CbZ70FdN.js → toNumber-xFPoy1OI.js} +2 -2
  242. package/dist/{toString-DbIAWQpF.js → toString-CtXX84W6.js} +2 -2
  243. package/dist/toml-nHZhetdO.js +4 -0
  244. package/dist/{tooltip-CKG75XQa.js → tooltip-DnI4CwIS.js} +4 -4
  245. package/dist/{treemap-GDKQZRPO-CkR-5ai2.js → treemap-GDKQZRPO-CIG6WH-x.js} +3 -3
  246. package/dist/troff-DuJAGWKH.js +4 -0
  247. package/dist/ttcn-BxrcwP21.js +4 -0
  248. package/dist/ttcn-cfg-BAg_9dcc.js +4 -0
  249. package/dist/turtle-zCq949as.js +4 -0
  250. package/dist/types-BqLAaq-i.js +209 -0
  251. package/dist/{uniq-H2E5nMLq.js → uniq-CCKqEs7T.js} +1 -1
  252. package/dist/{useAsyncData-CEjJxwFB.js → useAsyncData-BtHYXgXF.js} +2 -2
  253. package/dist/useDeepCompareMemoize-9dXEtK7u.js +124 -0
  254. package/dist/useIframeCapabilities-CzVvBDe8.js +13 -0
  255. package/dist/useLifecycle-Be1LUuEg.js +427 -0
  256. package/dist/{useTheme-CPybHVFN.js → useTheme-5GTtjXjy.js} +4 -4
  257. package/dist/vb-De5hElus.js +4 -0
  258. package/dist/vbscript-Cypcpv4F.js +4 -0
  259. package/dist/{vega-component-CuPTCRp5.js → vega-component-BQNW4qnB.js} +198 -197
  260. package/dist/{vega-loader.browser-CQ-lnUkI.js → vega-loader.browser-DnqN5nbz.js} +3 -3
  261. package/dist/velocity-Di7l-yhe.js +4 -0
  262. package/dist/verilog-Bzi-S3g2.js +4 -0
  263. package/dist/vhdl-B0ZZITaW.js +4 -0
  264. package/dist/webidl-0sviiRcN.js +4 -0
  265. package/dist/xquery-B4qMVWaB.js +4 -0
  266. package/dist/{xychartDiagram-PRI3JC2R-XO8FiQjU.js → xychartDiagram-PRI3JC2R-BbEInSqY.js} +13 -13
  267. package/dist/yacas-Jt25Fuv8.js +4 -0
  268. package/dist/z80-CrcbYzmp.js +4 -0
  269. package/package.json +2 -1
  270. package/src/__mocks__/notebook.ts +9 -9
  271. package/src/__mocks__/requests.ts +2 -1
  272. package/src/__tests__/branded.ts +20 -0
  273. package/src/__tests__/setup.ts +15 -0
  274. package/src/components/app-config/__tests__/get-dirty-values.test.ts +1 -1
  275. package/src/components/app-config/get-dirty-values.ts +100 -0
  276. package/src/components/app-config/user-config-form.tsx +6 -101
  277. package/src/components/data-table/TableActions.tsx +8 -2
  278. package/src/components/data-table/__tests__/columns.test.tsx +138 -0
  279. package/src/components/data-table/__tests__/data-table.test.tsx +63 -0
  280. package/src/components/data-table/__tests__/utils.test.ts +138 -1
  281. package/src/components/data-table/charts/__tests__/storage.test.ts +7 -7
  282. package/src/components/data-table/columns.tsx +44 -4
  283. package/src/components/data-table/context-menu.tsx +9 -5
  284. package/src/components/data-table/data-table.tsx +13 -31
  285. package/src/components/data-table/filters.ts +1 -0
  286. package/src/components/data-table/hooks/use-scroll-container-height.ts +97 -0
  287. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +8 -2
  288. package/src/components/data-table/range-focus/__tests__/test-utils.ts +2 -0
  289. package/src/components/data-table/range-focus/__tests__/use-cell-range-selection.test.ts +119 -0
  290. package/src/components/data-table/range-focus/__tests__/utils.test.ts +82 -8
  291. package/src/components/data-table/range-focus/atoms.ts +2 -2
  292. package/src/components/data-table/range-focus/use-cell-range-selection.ts +19 -0
  293. package/src/components/data-table/range-focus/utils.ts +50 -12
  294. package/src/components/data-table/renderers.tsx +103 -46
  295. package/src/components/data-table/types.ts +21 -0
  296. package/src/components/data-table/utils.ts +87 -0
  297. package/src/components/datasources/datasources.tsx +45 -0
  298. package/src/components/editor/__tests__/data-attributes.test.tsx +8 -8
  299. package/src/components/editor/ai/__tests__/completion-utils.test.ts +15 -15
  300. package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +2 -2
  301. package/src/components/editor/connections/storage/as-code.ts +2 -2
  302. package/src/components/editor/file-tree/file-explorer.tsx +16 -2
  303. package/src/components/editor/file-tree/file-viewer.tsx +17 -3
  304. package/src/components/editor/navigation/__tests__/clipboard.test.ts +2 -2
  305. package/src/components/editor/navigation/__tests__/selection.test.ts +7 -6
  306. package/src/components/editor/navigation/__tests__/state.test.ts +8 -7
  307. package/src/components/editor/output/MarimoErrorOutput.tsx +7 -7
  308. package/src/components/editor/output/__tests__/traceback.test.tsx +4 -4
  309. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +4 -4
  310. package/src/components/editor/package-alert.tsx +1 -1
  311. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +8 -1
  312. package/src/components/markdown/markdown-renderer.tsx +18 -2
  313. package/src/components/storage/storage-file-viewer.tsx +35 -1
  314. package/src/components/storage/storage-inspector.tsx +9 -4
  315. package/src/components/storage/storage-snippets.ts +3 -3
  316. package/src/components/tracing/tracing.tsx +3 -1
  317. package/src/components/ui/range-slider.tsx +108 -1
  318. package/src/core/ai/__tests__/staged-cells.test.ts +9 -8
  319. package/src/core/ai/context/providers/__tests__/cell-output.test.ts +31 -31
  320. package/src/core/ai/context/providers/__tests__/datasource.test.ts +3 -3
  321. package/src/core/ai/context/providers/__tests__/tables.test.ts +3 -2
  322. package/src/core/ai/context/providers/__tests__/variable.test.ts +84 -63
  323. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +10 -9
  324. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +6 -6
  325. package/src/core/ai/tools/edit-notebook-tool.ts +3 -3
  326. package/src/core/cells/__tests__/add-missing-import.test.ts +3 -3
  327. package/src/core/cells/__tests__/apply-transaction.test.ts +279 -0
  328. package/src/core/cells/__tests__/cells.test.ts +198 -135
  329. package/src/core/cells/__tests__/document-changes.test.ts +572 -0
  330. package/src/core/cells/__tests__/document-roundtrip.test.ts +376 -0
  331. package/src/core/cells/__tests__/focus.test.ts +5 -4
  332. package/src/core/cells/__tests__/logs.test.ts +13 -12
  333. package/src/core/cells/__tests__/pending-delete-service.test.tsx +3 -3
  334. package/src/core/cells/__tests__/runs.test.ts +29 -24
  335. package/src/core/cells/__tests__/scrollCellIntoView.test.ts +8 -7
  336. package/src/core/cells/__tests__/session.test.ts +23 -22
  337. package/src/core/cells/cells.ts +31 -5
  338. package/src/core/cells/document-changes.ts +644 -0
  339. package/src/core/cells/ids.ts +5 -5
  340. package/src/core/cells/logs.ts +2 -2
  341. package/src/core/cells/runs.ts +6 -8
  342. package/src/core/codemirror/__tests__/format.test.ts +34 -36
  343. package/src/core/codemirror/__tests__/setup.test.ts +2 -2
  344. package/src/core/codemirror/cells/__tests__/extensions.test.ts +114 -0
  345. package/src/core/codemirror/cells/__tests__/traceback-decorations.test.ts +33 -32
  346. package/src/core/codemirror/cells/extensions.ts +66 -23
  347. package/src/core/codemirror/completion/__tests__/keymap.test.ts +15 -35
  348. package/src/core/codemirror/completion/keymap.ts +14 -4
  349. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +12 -13
  350. package/src/core/codemirror/language/__tests__/utils.test.ts +3 -3
  351. package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +7 -8
  352. package/src/core/codemirror/language/languages/python.ts +4 -0
  353. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +4 -3
  354. package/src/core/codemirror/lsp/notebook-lsp.ts +28 -2
  355. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +7 -6
  356. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  357. package/src/core/codemirror/rtc/loro/__tests__/sync.test.ts +52 -0
  358. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  359. package/src/core/datasets/__tests__/data-source.test.ts +93 -7
  360. package/src/core/datasets/data-source-connections.ts +44 -0
  361. package/src/core/datasets/request-registry.ts +13 -0
  362. package/src/core/datasets/state.ts +1 -1
  363. package/src/core/edit-app.tsx +0 -5
  364. package/src/core/errors/__tests__/errors.test.ts +2 -1
  365. package/src/core/export/__tests__/hooks.test.ts +37 -36
  366. package/src/core/islands/bridge.ts +2 -1
  367. package/src/core/islands/main.ts +5 -9
  368. package/src/core/kernel/__tests__/handlers.test.ts +5 -4
  369. package/src/core/kernel/handlers.ts +7 -4
  370. package/src/core/kernel/messages.ts +2 -0
  371. package/src/core/network/DeferredRequestRegistry.ts +2 -2
  372. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +9 -10
  373. package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +4 -6
  374. package/src/core/network/requests-lazy.ts +2 -1
  375. package/src/core/network/requests-network.ts +10 -2
  376. package/src/core/network/requests-static.ts +2 -1
  377. package/src/core/network/requests-toasting.tsx +2 -1
  378. package/src/core/network/types.ts +7 -2
  379. package/src/core/static/__tests__/virtual-file-tracker.test.ts +8 -8
  380. package/src/core/static/virtual-file-tracker.ts +1 -1
  381. package/src/core/storage/__tests__/state.test.ts +31 -21
  382. package/src/core/storage/state.ts +1 -1
  383. package/src/core/variables/__tests__/state.test.ts +6 -6
  384. package/src/core/variables/types.ts +2 -2
  385. package/src/core/wasm/__tests__/state.test.ts +8 -8
  386. package/src/core/wasm/bridge.ts +11 -1
  387. package/src/core/websocket/useMarimoKernelConnection.tsx +33 -26
  388. package/src/css/app/fonts.css +6 -6
  389. package/src/css/md-tooltip.css +4 -39
  390. package/src/css/md.css +10 -0
  391. package/src/fonts/Fira_Mono/FiraMono-Bold.woff2 +0 -0
  392. package/src/fonts/Fira_Mono/FiraMono-Medium.woff2 +0 -0
  393. package/src/fonts/Fira_Mono/FiraMono-Regular.woff2 +0 -0
  394. package/src/fonts/Lora/Lora-VariableFont_wght.woff2 +0 -0
  395. package/src/fonts/PT_Sans/PTSans-Bold.woff2 +0 -0
  396. package/src/fonts/PT_Sans/PTSans-Regular.woff2 +0 -0
  397. package/src/plugins/core/RenderHTML.tsx +17 -0
  398. package/src/plugins/core/__test__/RenderHTML.test.ts +45 -0
  399. package/src/plugins/core/sanitize-html.ts +25 -18
  400. package/src/plugins/impl/DataTablePlugin.tsx +50 -2
  401. package/src/plugins/impl/SliderPlugin.tsx +1 -3
  402. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +120 -0
  403. package/src/plugins/impl/anywidget/model.ts +1 -2
  404. package/src/plugins/impl/chat/ChatPlugin.tsx +6 -3
  405. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +5 -2
  406. package/src/stories/cell.stories.tsx +8 -8
  407. package/src/stories/layout/vertical/one-column.stories.tsx +9 -8
  408. package/src/stories/log-viewer.stories.tsx +8 -8
  409. package/src/stories/variables.stories.tsx +2 -2
  410. package/src/utils/__tests__/createReducer.test.ts +2 -1
  411. package/src/utils/__tests__/download.test.tsx +21 -20
  412. package/src/utils/copy.ts +18 -5
  413. package/src/utils/createReducer.ts +46 -26
  414. package/src/utils/download.ts +4 -3
  415. package/src/utils/html-to-image.ts +6 -0
  416. package/src/utils/json/base64.ts +3 -3
  417. package/src/utils/traceback.ts +5 -3
  418. package/dist/_basePickBy-pTDW2_2A.js +0 -47
  419. package/dist/apl-lHFVoxx7.js +0 -4
  420. package/dist/architecture-7HQA4BMR-BmtmhGMc.js +0 -6
  421. package/dist/asciiarmor-DqCdZUHI.js +0 -4
  422. package/dist/asn1-DEcwtw-q.js +0 -4
  423. package/dist/brainfuck-Bro9Oz5x.js +0 -4
  424. package/dist/classDiagram-2ON5EDUG-DphiMW3Y.js +0 -30
  425. package/dist/classDiagram-v2-WZHVMYZB-BH1x5h4a.js +0 -30
  426. package/dist/clojure-B2uhdQPa.js +0 -4
  427. package/dist/cmake-B9WXyQcc.js +0 -4
  428. package/dist/cobol-CPD3EJfO.js +0 -4
  429. package/dist/coffeescript-KD9TnEnS.js +0 -4
  430. package/dist/commonlisp-DNEULz_Q.js +0 -4
  431. package/dist/crystal-DVPNgAPQ.js +0 -4
  432. package/dist/css-fq3a1AH1.js +0 -4
  433. package/dist/cypher-Dtzq0BP7.js +0 -4
  434. package/dist/d-DcZudIhJ.js +0 -4
  435. package/dist/diff-D9BPDC3o.js +0 -4
  436. package/dist/dist-B4MxkKHf.js +0 -8
  437. package/dist/dist-BYghZv6b.js +0 -5
  438. package/dist/dist-Be-uQhz5.js +0 -6
  439. package/dist/dist-CB_xf0ju.js +0 -5
  440. package/dist/dist-CK0qFAbF.js +0 -8
  441. package/dist/dist-CYEk-qrr.js +0 -8
  442. package/dist/dist-CmKoWpMk.js +0 -5
  443. package/dist/dist-D1nf4IQl.js +0 -5
  444. package/dist/dist-Df3AcKpt.js +0 -6
  445. package/dist/dist-DgaFHt_I.js +0 -5
  446. package/dist/dist-Dk10C3ui.js +0 -5
  447. package/dist/dist-DtyPVMHR.js +0 -5
  448. package/dist/dist-ko7WnHAO.js +0 -5
  449. package/dist/dist-of7gLRFK.js +0 -8
  450. package/dist/dtd-FhG-tVom.js +0 -4
  451. package/dist/dylan-HWpZOBPw.js +0 -4
  452. package/dist/ecl-B_rcje1I.js +0 -4
  453. package/dist/eiffel-oqHyHs6f.js +0 -4
  454. package/dist/elm-B62RQEds.js +0 -4
  455. package/dist/erlang-CjRjjA-B.js +0 -4
  456. package/dist/esm-BLobyqMs.js +0 -4387
  457. package/dist/factor-CGH_TnIV.js +0 -4
  458. package/dist/forth-5N06oHNp.js +0 -4
  459. package/dist/fortran-wZ-sNg3h.js +0 -4
  460. package/dist/gas-3H4_FaS8.js +0 -4
  461. package/dist/gherkin-PEA2uy50.js +0 -4
  462. package/dist/groovy-DZzbvCP1.js +0 -4
  463. package/dist/haskell-CExLTzho.js +0 -4
  464. package/dist/haxe-f3pVb8qU.js +0 -5
  465. package/dist/idl-BbWlJ0gk.js +0 -4
  466. package/dist/infoDiagram-HS3SLOUP-BXGbfBss.js +0 -30
  467. package/dist/javascript-eMOhp6Aq.js +0 -4
  468. package/dist/julia-C6w3Rvqb.js +0 -4
  469. package/dist/livescript-ChQl9lD-.js +0 -4
  470. package/dist/lua-CiDvI96j.js +0 -4
  471. package/dist/mathematica-ClVO4k7N.js +0 -4
  472. package/dist/mbox-BEI7DeUg.js +0 -4
  473. package/dist/mermaid-4DMBBIKO-PVrJfEpX.js +0 -6
  474. package/dist/mirc-DwidJ3iH.js +0 -4
  475. package/dist/mllike-Dspdy0xJ.js +0 -6
  476. package/dist/modelica-CIUejP-L.js +0 -4
  477. package/dist/mscgen-BWXU4Omp.js +0 -6
  478. package/dist/mumps-PHFFoPk5.js +0 -4
  479. package/dist/nsis-B7xooKLf.js +0 -4
  480. package/dist/ntriples-DnOgtCzG.js +0 -4
  481. package/dist/octave-Cn5kH_QT.js +0 -4
  482. package/dist/oz-DR-sROpu.js +0 -4
  483. package/dist/pascal-CPKK1zcS.js +0 -4
  484. package/dist/perl-D7FuFdyd.js +0 -4
  485. package/dist/pig-CEXnOAnI.js +0 -4
  486. package/dist/powershell-BKvWab7q.js +0 -4
  487. package/dist/properties-7jnK_vYx.js +0 -4
  488. package/dist/protobuf-4rslMjEN.js +0 -4
  489. package/dist/pug-BVwdEv4r.js +0 -4
  490. package/dist/puppet-iSHg_1Z2.js +0 -4
  491. package/dist/python-tK3wUCn0.js +0 -4
  492. package/dist/q-DP_Dcoox.js +0 -4
  493. package/dist/r-C32wHLYu.js +0 -4
  494. package/dist/react-vega-CFUuchds.js +0 -9
  495. package/dist/rpm-BbDBUfs9.js +0 -5
  496. package/dist/ruby-COfWUiIr.js +0 -4
  497. package/dist/sas-y_Hue2-X.js +0 -4
  498. package/dist/scheme-7jTCqHw8.js +0 -4
  499. package/dist/shell-DAqJWXDk.js +0 -4
  500. package/dist/sieve-EaqnbCO3.js +0 -4
  501. package/dist/smalltalk-DL03YKLJ.js +0 -4
  502. package/dist/sparql-DTA-tQ_q.js +0 -4
  503. package/dist/stateDiagram-v2-4FDKWEC3-BIeUs-Ed.js +0 -29
  504. package/dist/stex-KfRnSHzF.js +0 -4
  505. package/dist/stylus-CfjeFry_.js +0 -4
  506. package/dist/swift-Dl0RRDbH.js +0 -4
  507. package/dist/tcl-wv9O7fLZ.js +0 -4
  508. package/dist/textile-DzMRCBcV.js +0 -4
  509. package/dist/toml-CyIWqgbe.js +0 -4
  510. package/dist/troff-_huin_CY.js +0 -4
  511. package/dist/ttcn-BEiJuYYc.js +0 -4
  512. package/dist/ttcn-cfg-DB6Ksh67.js +0 -4
  513. package/dist/turtle-DzhzGEum.js +0 -4
  514. package/dist/useDeepCompareMemoize-BWUwfh37.js +0 -755
  515. package/dist/useIframeCapabilities-OQaMKgZl.js +0 -46
  516. package/dist/vb-CngKZQHu.js +0 -4
  517. package/dist/vbscript-BV_8nbeM.js +0 -4
  518. package/dist/velocity-IqE7qYKE.js +0 -4
  519. package/dist/verilog-xtyaWTnc.js +0 -4
  520. package/dist/vhdl-BaqXCtf3.js +0 -4
  521. package/dist/webidl-BDB8PTTO.js +0 -4
  522. package/dist/xquery-BIC-qj9Z.js +0 -4
  523. package/dist/yacas-ifv5tftd.js +0 -4
  524. package/dist/z80-B8zOMVNt.js +0 -4
  525. package/src/core/cells/effects.ts +0 -42
  526. package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
  527. package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
  528. package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
  529. package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
  530. package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
  531. package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
  532. package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
  533. package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
  534. package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
  535. package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
  536. package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
  537. package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
  538. package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
  539. package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  540. package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  541. package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  542. package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  543. /package/dist/{_arrayReduce-BfFy684W.js → _arrayReduce-6BJAuN54.js} +0 -0
  544. /package/dist/{_baseSlice-BrVixxuc.js → _baseSlice-bwIVgwNq.js} +0 -0
  545. /package/dist/{_hasUnicode-C32WqUu7.js → _hasUnicode-DOFcQHhs.js} +0 -0
  546. /package/dist/{apl-DRxKiEot.js → apl-99A7dLQe.js} +0 -0
  547. /package/dist/{array-D-nrDupM.js → array-B-MVxRIF.js} +0 -0
  548. /package/dist/{asciiarmor-C8HoXFIm.js → asciiarmor-DLEhpFDx.js} +0 -0
  549. /package/dist/{asn1-9Bo0DYT-.js → asn1-CMrcTsT4.js} +0 -0
  550. /package/dist/{asterisk-BsiuGzWq.js → asterisk-BUZwqih-.js} +0 -0
  551. /package/dist/{brainfuck-Db8njC-p.js → brainfuck-ChPt5yBe.js} +0 -0
  552. /package/dist/{chunk-DR5Q36YT-D4q96vNV.js → chunk-DR5Q36YT-CP69aZS_.js} +0 -0
  553. /package/dist/{click-outside-container-CKfwEZqH.js → click-outside-container-DB_bTXRG.js} +0 -0
  554. /package/dist/{clike-CFhUNtI5.js → clike-CE0fXfM_.js} +0 -0
  555. /package/dist/{clojure-CX7oovsp.js → clojure-QkBEMU-g.js} +0 -0
  556. /package/dist/{clsx-D2KVTYnW.js → clsx-yW_RAw0K.js} +0 -0
  557. /package/dist/{cmake-C29AR2kk.js → cmake-CU1jX7Mo.js} +0 -0
  558. /package/dist/{cobol-CNkuRW9i.js → cobol-DMOKzzky.js} +0 -0
  559. /package/dist/{coffeescript-BJAbfGam.js → coffeescript-DjnjLyfk.js} +0 -0
  560. /package/dist/{colors-6nB_pSln.js → colors-Cn2p_FA3.js} +0 -0
  561. /package/dist/{common-keywords-BAkLFdud.js → common-keywords-hbLeU7VU.js} +0 -0
  562. /package/dist/{commonlisp-BTNhj2l9.js → commonlisp-CYd9iOSe.js} +0 -0
  563. /package/dist/{crystal-CZc0nIm9.js → crystal-Dy55yoYG.js} +0 -0
  564. /package/dist/{css-L2-0OTXc.js → css-CNU8w3HJ.js} +0 -0
  565. /package/dist/{cypher-Dnc6MXl0.js → cypher-q47DGzK7.js} +0 -0
  566. /package/dist/{cytoscape.esm-BXzSsA6N.js → cytoscape.esm-WbbDoCfu.js} +0 -0
  567. /package/dist/{d-C6X9iIga.js → d-jEkaLvxX.js} +0 -0
  568. /package/dist/{defaultLocale-CfQ4kBaV.js → defaultLocale-Dr6Bz4JK.js} +0 -0
  569. /package/dist/{defaultLocale-Bklbu-Tp.js → defaultLocale-I3_GfJ4U.js} +0 -0
  570. /package/dist/{diff-ZzKinYqY.js → diff-vb2-unFN.js} +0 -0
  571. /package/dist/{dist-DOoqn-VL.js → dist-C4EV3aDt.js} +0 -0
  572. /package/dist/{dist-Bymy0kEH.js → dist-C89sHDXk.js} +0 -0
  573. /package/dist/{dtd-CytEpkAo.js → dtd-C9kR-bXa.js} +0 -0
  574. /package/dist/{duckdb-keywords-C1WxmSfG.js → duckdb-keywords-CZ_ZTscu.js} +0 -0
  575. /package/dist/{dylan-CZByFBEQ.js → dylan-BLckrK-V.js} +0 -0
  576. /package/dist/{ebnf-BF2FOt-m.js → ebnf-WEXPLEWb.js} +0 -0
  577. /package/dist/{ecl-Cp7L1F5B.js → ecl-CEsf6XVg.js} +0 -0
  578. /package/dist/{eiffel-C66yjnFL.js → eiffel-2KGZNzx6.js} +0 -0
  579. /package/dist/{elm-DtHo-73e.js → elm-D2s3K5wF.js} +0 -0
  580. /package/dist/{emotion-is-prop-valid.esm-DtW2o230.js → emotion-is-prop-valid.esm-CflmeIys.js} +0 -0
  581. /package/dist/{erlang-C_sj44mF.js → erlang-0PMFOndk.js} +0 -0
  582. /package/dist/{esm-BWftfC-A.js → esm-Bb_hbWan.js} +0 -0
  583. /package/dist/{fcl-BhLcvRo_.js → fcl-B_Gv5Jfx.js} +0 -0
  584. /package/dist/{forth-CIDHh56T.js → forth-DG89iUsu.js} +0 -0
  585. /package/dist/{fortran-BQrDVXRU.js → fortran-ytKsAVvu.js} +0 -0
  586. /package/dist/{gas-D4HQPB0Q.js → gas-Cg2Fm0N2.js} +0 -0
  587. /package/dist/{gherkin-UB2gJHdT.js → gherkin-B87FEnZ-.js} +0 -0
  588. /package/dist/{groovy-DVz6jkOx.js → groovy-Dcs08AWD.js} +0 -0
  589. /package/dist/{haskell-CpUdAPCz.js → haskell-cwkOuhx6.js} +0 -0
  590. /package/dist/{haxe-DCV5_cqD.js → haxe-DWEo4q10.js} +0 -0
  591. /package/dist/{http-C_TDb8VX.js → http-Dc2fv19V.js} +0 -0
  592. /package/dist/{idl-D7WCIgHw.js → idl-WWQwDcRV.js} +0 -0
  593. /package/dist/{init-Ci8VD8ZH.js → init-D-g0ONX1.js} +0 -0
  594. /package/dist/{invariant-D9QLJ4SZ.js → invariant-Ctm_8TNZ.js} +0 -0
  595. /package/dist/{isArrayLikeObject-BrYl-ETg.js → isArrayLikeObject-C-hFPChh.js} +0 -0
  596. /package/dist/{javascript-B2Rn0Lmd.js → javascript-BeR74dxD.js} +0 -0
  597. /package/dist/{jsx-runtime-CTBg5pdT.js → jsx-runtime-9hcJiI23.js} +0 -0
  598. /package/dist/{julia-ApprtEaw.js → julia-UlvCUYGL.js} +0 -0
  599. /package/dist/{katex-Bk_FvVSR.js → katex-B7pMJpE0.js} +0 -0
  600. /package/dist/{livescript-BMLIlM7C.js → livescript-GPmFcmYV.js} +0 -0
  601. /package/dist/{lua-DdDaW3tC.js → lua-DYoT_0zM.js} +0 -0
  602. /package/dist/{main-Tj_-QTyF.js → main-sxFlUO_N.js} +0 -0
  603. /package/dist/{math-HUZifhTs.js → math-BYK36kWZ.js} +0 -0
  604. /package/dist/{mathematica-PnNN7c2Z.js → mathematica-DSFIQlbG.js} +0 -0
  605. /package/dist/{mbox-B84OtHBK.js → mbox-ej8lFMdL.js} +0 -0
  606. /package/dist/{mirc-BVWXJxIq.js → mirc-CAdIdvHQ.js} +0 -0
  607. /package/dist/{mllike-BawXWupH.js → mllike-CjTB1lHF.js} +0 -0
  608. /package/dist/{modelica-C8-X4Hf_.js → modelica-BB68FYMa.js} +0 -0
  609. /package/dist/{mscgen-BOM6dDj8.js → mscgen-BkbzgGGI.js} +0 -0
  610. /package/dist/{mumps-DQOY8n05.js → mumps-Cu-28E9F.js} +0 -0
  611. /package/dist/{nginx-DkMgA__9.js → nginx-ComVAAGN.js} +0 -0
  612. /package/dist/{node-sql-parser-D53LM_7b.js → node-sql-parser-DNGGJ-Rw.js} +0 -0
  613. /package/dist/{ntriples-DU8VrXdW.js → ntriples-D9cQiZxZ.js} +0 -0
  614. /package/dist/{octave-BzTIBsQ8.js → octave-BvtAnPX0.js} +0 -0
  615. /package/dist/{oz-DKFcZsoi.js → oz-COaVHk2E.js} +0 -0
  616. /package/dist/{pascal-DHBZ15pT.js → pascal-BFpqVD2x.js} +0 -0
  617. /package/dist/{path-BVI7RNUv.js → path-Du6n3sOU.js} +0 -0
  618. /package/dist/{perl-75NMI3w0.js → perl-DaiORxHP.js} +0 -0
  619. /package/dist/{pig-B-HY1fo_.js → pig-DFzRhmsF.js} +0 -0
  620. /package/dist/{powershell-DEH22U53.js → powershell-BG2LQNKN.js} +0 -0
  621. /package/dist/{properties-B1MzBoJC.js → properties-CqJJR5QY.js} +0 -0
  622. /package/dist/{protobuf-Dr14KV0p.js → protobuf-WwDYV1yY.js} +0 -0
  623. /package/dist/{puppet-C4z38l7v.js → puppet-QNY3w_uN.js} +0 -0
  624. /package/dist/{purify.es-DGenX2XH.js → purify.es-Co_dANLh.js} +0 -0
  625. /package/dist/{python-D2L7Nknt.js → python-4QrQ3Ugi.js} +0 -0
  626. /package/dist/{q-PxipHfgS.js → q-DhwXuxE2.js} +0 -0
  627. /package/dist/{r-CEMMu_Tf.js → r-Df-nkR25.js} +0 -0
  628. /package/dist/{range-BToS7LsA.js → range-Bn3no95s.js} +0 -0
  629. /package/dist/{react-dom-CqtLRVZP.js → react-dom-BKwCWYPW.js} +0 -0
  630. /package/dist/{rpm-D3xyahkR.js → rpm-Cokue07s.js} +0 -0
  631. /package/dist/{ruby-DwEkwdiu.js → ruby-DrYcL3qF.js} +0 -0
  632. /package/dist/{sas-L1W0BRft.js → sas-CoiPirA5.js} +0 -0
  633. /package/dist/{scheme-CTybTrX0.js → scheme-CwFLjzHv.js} +0 -0
  634. /package/dist/{shell-BSx3LZnu.js → shell-BFV-R24I.js} +0 -0
  635. /package/dist/{sieve-BjUfbv-6.js → sieve-CxwXF5T9.js} +0 -0
  636. /package/dist/{simple-mode-IPZGFbI6.js → simple-mode-DTaJtKPt.js} +0 -0
  637. /package/dist/{smalltalk-BlzuYrMv.js → smalltalk-QivVOCtX.js} +0 -0
  638. /package/dist/{solr-Cj_9RM4d.js → solr-DTkyqJ-Z.js} +0 -0
  639. /package/dist/{sparql-BXKjQ0cK.js → sparql-nKsFk8j7.js} +0 -0
  640. /package/dist/{spreadsheet-CifI10GO.js → spreadsheet-CER0raqY.js} +0 -0
  641. /package/dist/{sql-B0bFyY1c.js → sql-ByOoEONQ.js} +0 -0
  642. /package/dist/{stex-BIsgBmK4.js → stex-7yEw16Ww.js} +0 -0
  643. /package/dist/{stylus-CqrLLVnG.js → stylus-BLKQAycn.js} +0 -0
  644. /package/dist/{swift-DIqvj3_G.js → swift-CJoKqiKj.js} +0 -0
  645. /package/dist/{tcl-B8bOIGVK.js → tcl-YTeYFNUc.js} +0 -0
  646. /package/dist/{textile-DZsjavD_.js → textile-C6rKQqMQ.js} +0 -0
  647. /package/dist/{tiddlywiki-BbGdvEjx.js → tiddlywiki-Cr9xyOY1.js} +0 -0
  648. /package/dist/{tiki-BYesmRDo.js → tiki-D5JONyfZ.js} +0 -0
  649. /package/dist/{timer-CPsmIOdm.js → timer-D7JVdX9U.js} +0 -0
  650. /package/dist/{toml-Uc7m08nl.js → toml-DxlPGbRy.js} +0 -0
  651. /package/dist/{treemap-DMn4tIJ7.js → treemap-qFGzn7xk.js} +0 -0
  652. /package/dist/{troff-GEl5wcXR.js → troff-DFCfH7Ku.js} +0 -0
  653. /package/dist/{ttcn-pr4FDOLT.js → ttcn-DAW-ERVP.js} +0 -0
  654. /package/dist/{ttcn-cfg-dZQ_fWTH.js → ttcn-cfg-CpJ8b7EN.js} +0 -0
  655. /package/dist/{turtle-TPRDOknA.js → turtle-BneV2f8L.js} +0 -0
  656. /package/dist/{vb-BJUAeTYr.js → vb-D973Vxxh.js} +0 -0
  657. /package/dist/{vbscript-CcJ6Z3ic.js → vbscript-Dckaq3YO.js} +0 -0
  658. /package/dist/{velocity-pq4ZMzU3.js → velocity-DKty-GUC.js} +0 -0
  659. /package/dist/{verilog-timMNjHt.js → verilog-aNaK_biA.js} +0 -0
  660. /package/dist/{vhdl-DYFbVKNm.js → vhdl-CQuehnQy.js} +0 -0
  661. /package/dist/{webidl-pue9oqnb.js → webidl-Bhg8vaMr.js} +0 -0
  662. /package/dist/{xquery-DeItGynK.js → xquery-D2q16GaM.js} +0 -0
  663. /package/dist/{yacas-By2Qrjba.js → yacas-DHGOHnNa.js} +0 -0
  664. /package/dist/{z80-C7iLsyPC.js → z80-BPhTmO22.js} +0 -0
@@ -1,4387 +0,0 @@
1
- import { s as __toESM } from "./chunk-BNovOVIE.js";
2
- import { t as require_react } from "./react-Bs6Z0kvn.js";
3
- import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { n as Copy, r as toast, t as copyToClipboard } from "./copy-DIK6DiIA.js";
5
- import { t as Check } from "./check-Diwc5emq.js";
6
- import { h as Events, y as cn } from "./button-BKkuUpZh.js";
7
- import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
8
- import { t as Tooltip } from "./tooltip-CKG75XQa.js";
9
- import { $ as ViewPlugin, A as indentString, At as Prec, B as tags, Bt as combineConfig, C as foldKeymap, Ct as ChangeSet, D as getIndentation, Dt as EditorState, E as getIndentUnit, Et as EditorSelection, F as syntaxHighlighting, Ft as StateField, H as NodeProp, Ht as findClusterBreak, I as syntaxTree, It as Text, J as parseMixed, Lt as Transaction, Mt as RangeSetBuilder, N as matchBrackets, O as indentNodeProp, Ot as Facet, Pt as StateEffect, R as Tag, Rt as codePointAt, S as foldInside, St as ChangeDesc, Ut as fromCodePoint, Vt as countColumn, X as Direction, Y as Decoration, Z as EditorView, _t as showDialog, a as HighlightStyle, bt as crelt, ct as highlightActiveLineGutter, dt as keymap, et as WidgetType, f as StreamLanguage, ft as lineNumbers, g as defaultHighlightStyle, gt as runScopeHandlers, h as continuedIndent, ht as rectangularSelection, it as getPanel, j as indentUnit, jt as RangeSet, k as indentOnInput, lt as highlightSpecialChars, mt as placeholder, n as ExternalTokenizer, nt as drawSelection, o as IndentContext, p as bracketMatching, pt as logException, r as LRParser, rt as dropCursor, s as LRLanguage, st as highlightActiveLine, t as ContextTracker, tt as crosshairCursor, u as LanguageSupport, ut as hoverTooltip, v as delimitedIndent, vt as showPanel, w as foldNodeProp, wt as CharCategory, x as foldGutter, xt as Annotation, z as styleTags, zt as codePointSize } from "./dist-DOoqn-VL.js";
10
- import { a as closeBracketsKeymap, c as completionKeymap, f as snippetCompletion, i as closeBrackets, l as ifNotIn, r as autocompletion, s as completeFromList } from "./dist-CSEWGuDq.js";
11
- import { a as PLSQL, f as sql, l as StandardSQL, t as Cassandra } from "./dist-Bq5eYK43.js";
12
- import { a as markdown } from "./dist-BGZ7TWS9.js";
13
- import { n as html, r as htmlCompletionSource } from "./dist-BpMlUdNO.js";
14
- import { r as cssLanguage, t as css } from "./dist-Ux6dL_VB.js";
15
- import { c as typescriptLanguage, n as javascript, r as javascriptLanguage, u as parser$1 } from "./dist-D4gcY469.js";
16
- import { r as python } from "./dist-C4K7pumm.js";
17
- import { t as stex } from "./stex-BIsgBmK4.js";
18
- import { t as cpp } from "./dist-lNe4i1Nm.js";
19
- import { t as go } from "./dist-D5NMgbbv.js";
20
- import { t as java } from "./dist-B9EjSb9T.js";
21
- import { n as jinja } from "./dist-CseYuPtL.js";
22
- import { t as json } from "./dist-gc9KgJuA.js";
23
- import { t as less } from "./dist-D_-CGmlh.js";
24
- import { n as liquid } from "./dist-DUretbKK.js";
25
- import { t as php } from "./dist-DEj2X26M.js";
26
- import { t as rust } from "./dist-i-ud9aCA.js";
27
- import { t as sass } from "./dist-CAKwXCWI.js";
28
- import { t as wast } from "./dist-RNGn_-uD.js";
29
- import { r as xml } from "./dist-BUrWeMEP.js";
30
- import { t as yaml } from "./dist-DodLQWPg.js";
31
- import { t as apl } from "./apl-DRxKiEot.js";
32
- import { t as asciiArmor } from "./asciiarmor-C8HoXFIm.js";
33
- import { t as asn1 } from "./asn1-9Bo0DYT-.js";
34
- import { t as brainfuck } from "./brainfuck-Db8njC-p.js";
35
- import { t as cobol } from "./cobol-CNkuRW9i.js";
36
- import { c as squirrel, i as kotlin, n as csharp, o as objectiveCpp, r as dart, s as scala } from "./clike-CFhUNtI5.js";
37
- import { t as clojure } from "./clojure-CX7oovsp.js";
38
- import { t as gss } from "./css-L2-0OTXc.js";
39
- import { t as cmake } from "./cmake-C29AR2kk.js";
40
- import { t as coffeeScript } from "./coffeescript-BJAbfGam.js";
41
- import { t as commonLisp } from "./commonlisp-BTNhj2l9.js";
42
- import { t as cypher } from "./cypher-Dnc6MXl0.js";
43
- import { t as cython } from "./python-D2L7Nknt.js";
44
- import { t as crystal } from "./crystal-CZc0nIm9.js";
45
- import { t as d } from "./d-C6X9iIga.js";
46
- import { t as diff } from "./diff-ZzKinYqY.js";
47
- import { t as dtd } from "./dtd-CytEpkAo.js";
48
- import { t as dylan } from "./dylan-CZByFBEQ.js";
49
- import { t as ecl } from "./ecl-Cp7L1F5B.js";
50
- import { t as eiffel } from "./eiffel-C66yjnFL.js";
51
- import { t as elm } from "./elm-DtHo-73e.js";
52
- import { t as erlang } from "./erlang-C_sj44mF.js";
53
- import { t as factor } from "./factor-Png_OsVt.js";
54
- import { t as forth } from "./forth-CIDHh56T.js";
55
- import { t as fortran } from "./fortran-BQrDVXRU.js";
56
- import { n as oCaml, r as sml, t as fSharp } from "./mllike-BawXWupH.js";
57
- import { t as gas } from "./gas-D4HQPB0Q.js";
58
- import { t as gherkin } from "./gherkin-UB2gJHdT.js";
59
- import { t as groovy } from "./groovy-DVz6jkOx.js";
60
- import { t as haskell } from "./haskell-CpUdAPCz.js";
61
- import { n as hxml, t as haxe } from "./haxe-DCV5_cqD.js";
62
- import { t as idl } from "./idl-D7WCIgHw.js";
63
- import { n as jsonld } from "./javascript-B2Rn0Lmd.js";
64
- import { t as julia } from "./julia-ApprtEaw.js";
65
- import { t as liveScript } from "./livescript-BMLIlM7C.js";
66
- import { t as lua } from "./lua-DdDaW3tC.js";
67
- import { t as mirc } from "./mirc-BVWXJxIq.js";
68
- import { t as mathematica } from "./mathematica-PnNN7c2Z.js";
69
- import { t as modelica } from "./modelica-C8-X4Hf_.js";
70
- import { t as mumps } from "./mumps-DQOY8n05.js";
71
- import { t as mbox } from "./mbox-B84OtHBK.js";
72
- import { t as nsis } from "./nsis-BrAITej_.js";
73
- import { t as ntriples } from "./ntriples-DU8VrXdW.js";
74
- import { t as octave } from "./octave-BzTIBsQ8.js";
75
- import { t as oz } from "./oz-DKFcZsoi.js";
76
- import { t as pascal } from "./pascal-DHBZ15pT.js";
77
- import { t as perl } from "./perl-75NMI3w0.js";
78
- import { t as pig } from "./pig-B-HY1fo_.js";
79
- import { t as powerShell } from "./powershell-DEH22U53.js";
80
- import { t as properties } from "./properties-B1MzBoJC.js";
81
- import { t as protobuf } from "./protobuf-Dr14KV0p.js";
82
- import { t as pug } from "./pug-CH-17az-.js";
83
- import { t as puppet } from "./puppet-C4z38l7v.js";
84
- import { t as q } from "./q-PxipHfgS.js";
85
- import { t as r } from "./r-CEMMu_Tf.js";
86
- import { n as rpmSpec } from "./rpm-D3xyahkR.js";
87
- import { t as ruby } from "./ruby-DwEkwdiu.js";
88
- import { t as sas } from "./sas-L1W0BRft.js";
89
- import { t as scheme } from "./scheme-CTybTrX0.js";
90
- import { t as shell } from "./shell-BSx3LZnu.js";
91
- import { t as sieve } from "./sieve-BjUfbv-6.js";
92
- import { t as smalltalk } from "./smalltalk-BlzuYrMv.js";
93
- import { t as sparql } from "./sparql-BXKjQ0cK.js";
94
- import { t as stylus } from "./stylus-CqrLLVnG.js";
95
- import { t as swift } from "./swift-DIqvj3_G.js";
96
- import { t as verilog } from "./verilog-timMNjHt.js";
97
- import { t as tcl } from "./tcl-B8bOIGVK.js";
98
- import { t as textile } from "./textile-DZsjavD_.js";
99
- import { t as toml } from "./toml-Uc7m08nl.js";
100
- import { t as troff } from "./troff-GEl5wcXR.js";
101
- import { t as ttcn } from "./ttcn-pr4FDOLT.js";
102
- import { t as ttcnCfg } from "./ttcn-cfg-dZQ_fWTH.js";
103
- import { t as turtle } from "./turtle-TPRDOknA.js";
104
- import { t as webIDL } from "./webidl-pue9oqnb.js";
105
- import { t as vb } from "./vb-BJUAeTYr.js";
106
- import { t as vbScript } from "./vbscript-CcJ6Z3ic.js";
107
- import { t as velocity } from "./velocity-pq4ZMzU3.js";
108
- import { t as vhdl } from "./vhdl-DYFbVKNm.js";
109
- import { t as xQuery } from "./xquery-DeItGynK.js";
110
- import { t as yacas } from "./yacas-By2Qrjba.js";
111
- import { t as z80 } from "./z80-C7iLsyPC.js";
112
- import { n as msgenny, r as xu, t as mscgen } from "./mscgen-BOM6dDj8.js";
113
- import { t as vue } from "./dist-Cl5iM8xL.js";
114
- var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1);
115
- const CopyClipboardIcon = (e6) => {
116
- let b = (0, import_compiler_runtime.c)(14), { value: x, className: O, buttonClassName: A, tooltip: j, toastTitle: M, ariaLabel: N } = e6, [P, F] = (0, import_react.useState)(false), I;
117
- b[0] !== M || b[1] !== x ? (I = Events.stopPropagation(async (e7) => {
118
- await copyToClipboard(typeof x == "function" ? x(e7) : x).then(() => {
119
- F(true), setTimeout(() => F(false), 2e3), M && toast({ title: M });
120
- });
121
- }), b[0] = M, b[1] = x, b[2] = I) : I = b[2];
122
- let L = I, R = N ?? "Copy to clipboard", z;
123
- b[3] !== O || b[4] !== P ? (z = P ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: cn(O, "text-(--grass-11)") }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Copy, { className: O }), b[3] = O, b[4] = P, b[5] = z) : z = b[5];
124
- let B;
125
- b[6] !== A || b[7] !== L || b[8] !== R || b[9] !== z ? (B = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
126
- type: "button",
127
- onClick: L,
128
- "aria-label": R,
129
- className: A,
130
- children: z
131
- }), b[6] = A, b[7] = L, b[8] = R, b[9] = z, b[10] = B) : B = b[10];
132
- let V = B;
133
- if (j === false) return V;
134
- let H = P ? "Copied!" : j ?? "Copy to clipboard", U;
135
- return b[11] !== V || b[12] !== H ? (U = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tooltip, {
136
- content: H,
137
- delayDuration: 400,
138
- children: V
139
- }), b[11] = V, b[12] = H, b[13] = U) : U = b[13], U;
140
- };
141
- var toggleComment = (e6) => {
142
- let { state: b } = e6, x = b.doc.lineAt(b.selection.main.from), S = getConfig(e6.state, x.from);
143
- return S.line ? toggleLineComment(e6) : S.block ? toggleBlockCommentByLine(e6) : false;
144
- };
145
- function command(e6, b) {
146
- return ({ state: x, dispatch: S }) => {
147
- if (x.readOnly) return false;
148
- let C = e6(b, x);
149
- return C ? (S(x.update(C)), true) : false;
150
- };
151
- }
152
- var toggleLineComment = /* @__PURE__ */ command(changeLineComment, 0), toggleBlockComment = /* @__PURE__ */ command(changeBlockComment, 0), toggleBlockCommentByLine = /* @__PURE__ */ command((e6, b) => changeBlockComment(e6, b, selectedLineRanges(b)), 0);
153
- function getConfig(e6, b) {
154
- let x = e6.languageDataAt("commentTokens", b, 1);
155
- return x.length ? x[0] : {};
156
- }
157
- var SearchMargin = 50;
158
- function findBlockComment(e6, { open: b, close: x }, S, C) {
159
- let w = e6.sliceDoc(S - SearchMargin, S), T = e6.sliceDoc(C, C + SearchMargin), E = /\s*$/.exec(w)[0].length, D = /^\s*/.exec(T)[0].length, O = w.length - E;
160
- if (w.slice(O - b.length, O) == b && T.slice(D, D + x.length) == x) return {
161
- open: {
162
- pos: S - E,
163
- margin: E && 1
164
- },
165
- close: {
166
- pos: C + D,
167
- margin: D && 1
168
- }
169
- };
170
- let k, A;
171
- C - S <= 2 * SearchMargin ? k = A = e6.sliceDoc(S, C) : (k = e6.sliceDoc(S, S + SearchMargin), A = e6.sliceDoc(C - SearchMargin, C));
172
- let j = /^\s*/.exec(k)[0].length, M = /\s*$/.exec(A)[0].length, N = A.length - M - x.length;
173
- return k.slice(j, j + b.length) == b && A.slice(N, N + x.length) == x ? {
174
- open: {
175
- pos: S + j + b.length,
176
- margin: /\s/.test(k.charAt(j + b.length)) ? 1 : 0
177
- },
178
- close: {
179
- pos: C - M - x.length,
180
- margin: /\s/.test(A.charAt(N - 1)) ? 1 : 0
181
- }
182
- } : null;
183
- }
184
- function selectedLineRanges(e6) {
185
- let b = [];
186
- for (let x of e6.selection.ranges) {
187
- let S = e6.doc.lineAt(x.from), C = x.to <= S.to ? S : e6.doc.lineAt(x.to);
188
- C.from > S.from && C.from == x.to && (C = x.to == S.to + 1 ? S : e6.doc.lineAt(x.to - 1));
189
- let w = b.length - 1;
190
- w >= 0 && b[w].to > S.from ? b[w].to = C.to : b.push({
191
- from: S.from + /^\s*/.exec(S.text)[0].length,
192
- to: C.to
193
- });
194
- }
195
- return b;
196
- }
197
- function changeBlockComment(e6, b, x = b.selection.ranges) {
198
- let S = x.map((e7) => getConfig(b, e7.from).block);
199
- if (!S.every((e7) => e7)) return null;
200
- let C = x.map((e7, x2) => findBlockComment(b, S[x2], e7.from, e7.to));
201
- if (e6 != 2 && !C.every((e7) => e7)) return { changes: b.changes(x.map((e7, b2) => C[b2] ? [] : [{
202
- from: e7.from,
203
- insert: S[b2].open + " "
204
- }, {
205
- from: e7.to,
206
- insert: " " + S[b2].close
207
- }])) };
208
- if (e6 != 1 && C.some((e7) => e7)) {
209
- let e7 = [];
210
- for (let b2 = 0, x2; b2 < C.length; b2++) if (x2 = C[b2]) {
211
- let C2 = S[b2], { open: w, close: T } = x2;
212
- e7.push({
213
- from: w.pos - C2.open.length,
214
- to: w.pos + w.margin
215
- }, {
216
- from: T.pos - T.margin,
217
- to: T.pos + C2.close.length
218
- });
219
- }
220
- return { changes: e7 };
221
- }
222
- return null;
223
- }
224
- function changeLineComment(e6, b, x = b.selection.ranges) {
225
- let S = [], C = -1;
226
- ranges: for (let { from: e7, to: w } of x) {
227
- let x2 = S.length, T = 1e9, E;
228
- for (let x3 = e7; x3 <= w; ) {
229
- let D = b.doc.lineAt(x3);
230
- if (E == null && (E = getConfig(b, D.from).line, !E)) continue ranges;
231
- if (D.from > C && (e7 == w || w > D.from)) {
232
- C = D.from;
233
- let e8 = /^\s*/.exec(D.text)[0].length, b2 = e8 == D.length, x4 = D.text.slice(e8, e8 + E.length) == E ? e8 : -1;
234
- e8 < D.text.length && e8 < T && (T = e8), S.push({
235
- line: D,
236
- comment: x4,
237
- token: E,
238
- indent: e8,
239
- empty: b2,
240
- single: false
241
- });
242
- }
243
- x3 = D.to + 1;
244
- }
245
- if (T < 1e9) for (let e8 = x2; e8 < S.length; e8++) S[e8].indent < S[e8].line.text.length && (S[e8].indent = T);
246
- S.length == x2 + 1 && (S[x2].single = true);
247
- }
248
- if (e6 != 2 && S.some((e7) => e7.comment < 0 && (!e7.empty || e7.single))) {
249
- let e7 = [];
250
- for (let { line: b2, token: x3, indent: C2, empty: w, single: T } of S) (T || !w) && e7.push({
251
- from: b2.from + C2,
252
- insert: x3 + " "
253
- });
254
- let x2 = b.changes(e7);
255
- return {
256
- changes: x2,
257
- selection: b.selection.map(x2, 1)
258
- };
259
- } else if (e6 != 1 && S.some((e7) => e7.comment >= 0)) {
260
- let e7 = [];
261
- for (let { line: b2, comment: x2, token: C2 } of S) if (x2 >= 0) {
262
- let S2 = b2.from + x2, w = S2 + C2.length;
263
- b2.text[w - b2.from] == " " && w++, e7.push({
264
- from: S2,
265
- to: w
266
- });
267
- }
268
- return { changes: e7 };
269
- }
270
- return null;
271
- }
272
- var fromHistory = /* @__PURE__ */ Annotation.define(), isolateHistory = /* @__PURE__ */ Annotation.define(), invertedEffects = /* @__PURE__ */ Facet.define(), historyConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
273
- return combineConfig(e6, {
274
- minDepth: 100,
275
- newGroupDelay: 500,
276
- joinToEvent: (e7, b) => b
277
- }, {
278
- minDepth: Math.max,
279
- newGroupDelay: Math.min,
280
- joinToEvent: (e7, b) => (x, S) => e7(x, S) || b(x, S)
281
- });
282
- } }), historyField_ = /* @__PURE__ */ StateField.define({
283
- create() {
284
- return HistoryState.empty;
285
- },
286
- update(e6, b) {
287
- let x = b.state.facet(historyConfig), S = b.annotation(fromHistory);
288
- if (S) {
289
- let C2 = HistEvent.fromTransaction(b, S.selection), w2 = S.side, T2 = w2 == 0 ? e6.undone : e6.done;
290
- return T2 = C2 ? updateBranch(T2, T2.length, x.minDepth, C2) : addSelection(T2, b.startState.selection), new HistoryState(w2 == 0 ? S.rest : T2, w2 == 0 ? T2 : S.rest);
291
- }
292
- let C = b.annotation(isolateHistory);
293
- if ((C == "full" || C == "before") && (e6 = e6.isolate()), b.annotation(Transaction.addToHistory) === false) return b.changes.empty ? e6 : e6.addMapping(b.changes.desc);
294
- let w = HistEvent.fromTransaction(b), T = b.annotation(Transaction.time), E = b.annotation(Transaction.userEvent);
295
- return w ? e6 = e6.addChanges(w, T, E, x, b) : b.selection && (e6 = e6.addSelection(b.startState.selection, T, E, x.newGroupDelay)), (C == "full" || C == "after") && (e6 = e6.isolate()), e6;
296
- },
297
- toJSON(e6) {
298
- return {
299
- done: e6.done.map((e7) => e7.toJSON()),
300
- undone: e6.undone.map((e7) => e7.toJSON())
301
- };
302
- },
303
- fromJSON(e6) {
304
- return new HistoryState(e6.done.map(HistEvent.fromJSON), e6.undone.map(HistEvent.fromJSON));
305
- }
306
- });
307
- function history(e6 = {}) {
308
- return [
309
- historyField_,
310
- historyConfig.of(e6),
311
- EditorView.domEventHandlers({ beforeinput(e7, b) {
312
- let x = e7.inputType == "historyUndo" ? undo : e7.inputType == "historyRedo" ? redo : null;
313
- return x ? (e7.preventDefault(), x(b)) : false;
314
- } })
315
- ];
316
- }
317
- var historyField = historyField_;
318
- function cmd(e6, b) {
319
- return function({ state: x, dispatch: S }) {
320
- if (!b && x.readOnly) return false;
321
- let C = x.field(historyField_, false);
322
- if (!C) return false;
323
- let w = C.pop(e6, x, b);
324
- return w ? (S(w), true) : false;
325
- };
326
- }
327
- var undo = /* @__PURE__ */ cmd(0, false), redo = /* @__PURE__ */ cmd(1, false), undoSelection = /* @__PURE__ */ cmd(0, true), redoSelection = /* @__PURE__ */ cmd(1, true), HistEvent = class e {
328
- constructor(e6, b, x, S, C) {
329
- this.changes = e6, this.effects = b, this.mapped = x, this.startSelection = S, this.selectionsAfter = C;
330
- }
331
- setSelAfter(b) {
332
- return new e(this.changes, this.effects, this.mapped, this.startSelection, b);
333
- }
334
- toJSON() {
335
- var _a, _b, _c;
336
- return {
337
- changes: (_a = this.changes) == null ? void 0 : _a.toJSON(),
338
- mapped: (_b = this.mapped) == null ? void 0 : _b.toJSON(),
339
- startSelection: (_c = this.startSelection) == null ? void 0 : _c.toJSON(),
340
- selectionsAfter: this.selectionsAfter.map((e6) => e6.toJSON())
341
- };
342
- }
343
- static fromJSON(b) {
344
- return new e(b.changes && ChangeSet.fromJSON(b.changes), [], b.mapped && ChangeDesc.fromJSON(b.mapped), b.startSelection && EditorSelection.fromJSON(b.startSelection), b.selectionsAfter.map(EditorSelection.fromJSON));
345
- }
346
- static fromTransaction(b, x) {
347
- let S = none;
348
- for (let e6 of b.startState.facet(invertedEffects)) {
349
- let x2 = e6(b);
350
- x2.length && (S = S.concat(x2));
351
- }
352
- return !S.length && b.changes.empty ? null : new e(b.changes.invert(b.startState.doc), S, void 0, x || b.startState.selection, none);
353
- }
354
- static selection(b) {
355
- return new e(void 0, none, void 0, void 0, b);
356
- }
357
- };
358
- function updateBranch(e6, b, x, S) {
359
- let C = b + 1 > x + 20 ? b - x - 1 : 0, w = e6.slice(C, b);
360
- return w.push(S), w;
361
- }
362
- function isAdjacent(e6, b) {
363
- let x = [], S = false;
364
- return e6.iterChangedRanges((e7, b2) => x.push(e7, b2)), b.iterChangedRanges((e7, b2, C, w) => {
365
- for (let e8 = 0; e8 < x.length; ) {
366
- let b3 = x[e8++], T = x[e8++];
367
- w >= b3 && C <= T && (S = true);
368
- }
369
- }), S;
370
- }
371
- function eqSelectionShape(e6, b) {
372
- return e6.ranges.length == b.ranges.length && e6.ranges.filter((e7, x) => e7.empty != b.ranges[x].empty).length === 0;
373
- }
374
- function conc(e6, b) {
375
- return e6.length ? b.length ? e6.concat(b) : e6 : b;
376
- }
377
- var none = [], MaxSelectionsPerEvent = 200;
378
- function addSelection(e6, b) {
379
- if (e6.length) {
380
- let x = e6[e6.length - 1], S = x.selectionsAfter.slice(Math.max(0, x.selectionsAfter.length - MaxSelectionsPerEvent));
381
- return S.length && S[S.length - 1].eq(b) ? e6 : (S.push(b), updateBranch(e6, e6.length - 1, 1e9, x.setSelAfter(S)));
382
- } else return [HistEvent.selection([b])];
383
- }
384
- function popSelection(e6) {
385
- let b = e6[e6.length - 1], x = e6.slice();
386
- return x[e6.length - 1] = b.setSelAfter(b.selectionsAfter.slice(0, b.selectionsAfter.length - 1)), x;
387
- }
388
- function addMappingToBranch(e6, b) {
389
- if (!e6.length) return e6;
390
- let x = e6.length, S = none;
391
- for (; x; ) {
392
- let C = mapEvent(e6[x - 1], b, S);
393
- if (C.changes && !C.changes.empty || C.effects.length) {
394
- let b2 = e6.slice(0, x);
395
- return b2[x - 1] = C, b2;
396
- } else b = C.mapped, x--, S = C.selectionsAfter;
397
- }
398
- return S.length ? [HistEvent.selection(S)] : none;
399
- }
400
- function mapEvent(e6, b, x) {
401
- let S = conc(e6.selectionsAfter.length ? e6.selectionsAfter.map((e7) => e7.map(b)) : none, x);
402
- if (!e6.changes) return HistEvent.selection(S);
403
- let C = e6.changes.map(b), w = b.mapDesc(e6.changes, true), T = e6.mapped ? e6.mapped.composeDesc(w) : w;
404
- return new HistEvent(C, StateEffect.mapEffects(e6.effects, b), T, e6.startSelection.map(w), S);
405
- }
406
- var joinableUserEvent = /^(input\.type|delete)($|\.)/, HistoryState = class e2 {
407
- constructor(e6, b, x = 0, S = void 0) {
408
- this.done = e6, this.undone = b, this.prevTime = x, this.prevUserEvent = S;
409
- }
410
- isolate() {
411
- return this.prevTime ? new e2(this.done, this.undone) : this;
412
- }
413
- addChanges(b, x, S, C, w) {
414
- let T = this.done, E = T[T.length - 1];
415
- return T = E && E.changes && !E.changes.empty && b.changes && (!S || joinableUserEvent.test(S)) && (!E.selectionsAfter.length && x - this.prevTime < C.newGroupDelay && C.joinToEvent(w, isAdjacent(E.changes, b.changes)) || S == "input.type.compose") ? updateBranch(T, T.length - 1, C.minDepth, new HistEvent(b.changes.compose(E.changes), conc(StateEffect.mapEffects(b.effects, E.changes), E.effects), E.mapped, E.startSelection, none)) : updateBranch(T, T.length, C.minDepth, b), new e2(T, none, x, S);
416
- }
417
- addSelection(b, x, S, C) {
418
- let w = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;
419
- return w.length > 0 && x - this.prevTime < C && S == this.prevUserEvent && S && /^select($|\.)/.test(S) && eqSelectionShape(w[w.length - 1], b) ? this : new e2(addSelection(this.done, b), this.undone, x, S);
420
- }
421
- addMapping(b) {
422
- return new e2(addMappingToBranch(this.done, b), addMappingToBranch(this.undone, b), this.prevTime, this.prevUserEvent);
423
- }
424
- pop(e6, b, x) {
425
- let S = e6 == 0 ? this.done : this.undone;
426
- if (S.length == 0) return null;
427
- let C = S[S.length - 1], w = C.selectionsAfter[0] || (C.startSelection ? C.startSelection.map(C.changes.invertedDesc, 1) : b.selection);
428
- if (x && C.selectionsAfter.length) return b.update({
429
- selection: C.selectionsAfter[C.selectionsAfter.length - 1],
430
- annotations: fromHistory.of({
431
- side: e6,
432
- rest: popSelection(S),
433
- selection: w
434
- }),
435
- userEvent: e6 == 0 ? "select.undo" : "select.redo",
436
- scrollIntoView: true
437
- });
438
- if (C.changes) {
439
- let x2 = S.length == 1 ? none : S.slice(0, S.length - 1);
440
- return C.mapped && (x2 = addMappingToBranch(x2, C.mapped)), b.update({
441
- changes: C.changes,
442
- selection: C.startSelection,
443
- effects: C.effects,
444
- annotations: fromHistory.of({
445
- side: e6,
446
- rest: x2,
447
- selection: w
448
- }),
449
- filter: false,
450
- userEvent: e6 == 0 ? "undo" : "redo",
451
- scrollIntoView: true
452
- });
453
- } else return null;
454
- }
455
- };
456
- HistoryState.empty = /* @__PURE__ */ new HistoryState(none, none);
457
- var historyKeymap = [
458
- {
459
- key: "Mod-z",
460
- run: undo,
461
- preventDefault: true
462
- },
463
- {
464
- key: "Mod-y",
465
- mac: "Mod-Shift-z",
466
- run: redo,
467
- preventDefault: true
468
- },
469
- {
470
- linux: "Ctrl-Shift-z",
471
- run: redo,
472
- preventDefault: true
473
- },
474
- {
475
- key: "Mod-u",
476
- run: undoSelection,
477
- preventDefault: true
478
- },
479
- {
480
- key: "Alt-u",
481
- mac: "Mod-Shift-u",
482
- run: redoSelection,
483
- preventDefault: true
484
- }
485
- ];
486
- function updateSel(e6, b) {
487
- return EditorSelection.create(e6.ranges.map(b), e6.mainIndex);
488
- }
489
- function setSel(e6, b) {
490
- return e6.update({
491
- selection: b,
492
- scrollIntoView: true,
493
- userEvent: "select"
494
- });
495
- }
496
- function moveSel({ state: e6, dispatch: b }, x) {
497
- let S = updateSel(e6.selection, x);
498
- return S.eq(e6.selection, true) ? false : (b(setSel(e6, S)), true);
499
- }
500
- function rangeEnd(e6, b) {
501
- return EditorSelection.cursor(b ? e6.to : e6.from);
502
- }
503
- function cursorByChar(e6, b) {
504
- return moveSel(e6, (x) => x.empty ? e6.moveByChar(x, b) : rangeEnd(x, b));
505
- }
506
- function ltrAtCursor(e6) {
507
- return e6.textDirectionAt(e6.state.selection.main.head) == Direction.LTR;
508
- }
509
- var cursorCharLeft = (e6) => cursorByChar(e6, !ltrAtCursor(e6)), cursorCharRight = (e6) => cursorByChar(e6, ltrAtCursor(e6));
510
- function cursorByGroup(e6, b) {
511
- return moveSel(e6, (x) => x.empty ? e6.moveByGroup(x, b) : rangeEnd(x, b));
512
- }
513
- var cursorGroupLeft = (e6) => cursorByGroup(e6, !ltrAtCursor(e6)), cursorGroupRight = (e6) => cursorByGroup(e6, ltrAtCursor(e6));
514
- typeof Intl < "u" && Intl.Segmenter;
515
- function interestingNode(e6, b, x) {
516
- if (b.type.prop(x)) return true;
517
- let S = b.to - b.from;
518
- return S && (S > 2 || /[^\s,.;:]/.test(e6.sliceDoc(b.from, b.to))) || b.firstChild;
519
- }
520
- function moveBySyntax(e6, b, x) {
521
- let S = syntaxTree(e6).resolveInner(b.head), C = x ? NodeProp.closedBy : NodeProp.openedBy;
522
- for (let w2 = b.head; ; ) {
523
- let b2 = x ? S.childAfter(w2) : S.childBefore(w2);
524
- if (!b2) break;
525
- interestingNode(e6, b2, C) ? S = b2 : w2 = x ? b2.to : b2.from;
526
- }
527
- let w = S.type.prop(C), T, E;
528
- return E = w && (T = x ? matchBrackets(e6, S.from, 1) : matchBrackets(e6, S.to, -1)) && T.matched ? x ? T.end.to : T.end.from : x ? S.to : S.from, EditorSelection.cursor(E, x ? -1 : 1);
529
- }
530
- var cursorSyntaxLeft = (e6) => moveSel(e6, (b) => moveBySyntax(e6.state, b, !ltrAtCursor(e6))), cursorSyntaxRight = (e6) => moveSel(e6, (b) => moveBySyntax(e6.state, b, ltrAtCursor(e6)));
531
- function cursorByLine(e6, b) {
532
- return moveSel(e6, (x) => {
533
- if (!x.empty) return rangeEnd(x, b);
534
- let S = e6.moveVertically(x, b);
535
- return S.head == x.head ? e6.moveToLineBoundary(x, b) : S;
536
- });
537
- }
538
- var cursorLineUp = (e6) => cursorByLine(e6, false), cursorLineDown = (e6) => cursorByLine(e6, true);
539
- function pageInfo(e6) {
540
- let b = e6.scrollDOM.clientHeight < e6.scrollDOM.scrollHeight - 2, x = 0, S = 0, C;
541
- if (b) {
542
- for (let b2 of e6.state.facet(EditorView.scrollMargins)) {
543
- let C2 = b2(e6);
544
- (C2 == null ? void 0 : C2.top) && (x = Math.max(C2 == null ? void 0 : C2.top, x)), (C2 == null ? void 0 : C2.bottom) && (S = Math.max(C2 == null ? void 0 : C2.bottom, S));
545
- }
546
- C = e6.scrollDOM.clientHeight - x - S;
547
- } else C = (e6.dom.ownerDocument.defaultView || window).innerHeight;
548
- return {
549
- marginTop: x,
550
- marginBottom: S,
551
- selfScroll: b,
552
- height: Math.max(e6.defaultLineHeight, C - 5)
553
- };
554
- }
555
- function cursorByPage(e6, b) {
556
- let x = pageInfo(e6), { state: S } = e6, C = updateSel(S.selection, (S2) => S2.empty ? e6.moveVertically(S2, b, x.height) : rangeEnd(S2, b));
557
- if (C.eq(S.selection)) return false;
558
- let w;
559
- if (x.selfScroll) {
560
- let b2 = e6.coordsAtPos(S.selection.main.head), T = e6.scrollDOM.getBoundingClientRect(), E = T.top + x.marginTop, D = T.bottom - x.marginBottom;
561
- b2 && b2.top > E && b2.bottom < D && (w = EditorView.scrollIntoView(C.main.head, {
562
- y: "start",
563
- yMargin: b2.top - E
564
- }));
565
- }
566
- return e6.dispatch(setSel(S, C), { effects: w }), true;
567
- }
568
- var cursorPageUp = (e6) => cursorByPage(e6, false), cursorPageDown = (e6) => cursorByPage(e6, true);
569
- function moveByLineBoundary(e6, b, x) {
570
- let S = e6.lineBlockAt(b.head), C = e6.moveToLineBoundary(b, x);
571
- if (C.head == b.head && C.head != (x ? S.to : S.from) && (C = e6.moveToLineBoundary(b, x, false)), !x && C.head == S.from && S.length) {
572
- let x2 = /^\s*/.exec(e6.state.sliceDoc(S.from, Math.min(S.from + 100, S.to)))[0].length;
573
- x2 && b.head != S.from + x2 && (C = EditorSelection.cursor(S.from + x2));
574
- }
575
- return C;
576
- }
577
- var cursorLineBoundaryForward = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, true)), cursorLineBoundaryBackward = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, false)), cursorLineBoundaryLeft = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, !ltrAtCursor(e6))), cursorLineBoundaryRight = (e6) => moveSel(e6, (b) => moveByLineBoundary(e6, b, ltrAtCursor(e6))), cursorLineStart = (e6) => moveSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).from, 1)), cursorLineEnd = (e6) => moveSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).to, -1));
578
- function toMatchingBracket(e6, b, x) {
579
- let S = false, C = updateSel(e6.selection, (b2) => {
580
- let C2 = matchBrackets(e6, b2.head, -1) || matchBrackets(e6, b2.head, 1) || b2.head > 0 && matchBrackets(e6, b2.head - 1, 1) || b2.head < e6.doc.length && matchBrackets(e6, b2.head + 1, -1);
581
- if (!C2 || !C2.end) return b2;
582
- S = true;
583
- let w = C2.start.from == b2.head ? C2.end.to : C2.end.from;
584
- return x ? EditorSelection.range(b2.anchor, w) : EditorSelection.cursor(w);
585
- });
586
- return S ? (b(setSel(e6, C)), true) : false;
587
- }
588
- var cursorMatchingBracket = ({ state: e6, dispatch: b }) => toMatchingBracket(e6, b, false);
589
- function extendSel(e6, b) {
590
- let x = updateSel(e6.state.selection, (e7) => {
591
- let x2 = b(e7);
592
- return EditorSelection.range(e7.anchor, x2.head, x2.goalColumn, x2.bidiLevel || void 0);
593
- });
594
- return x.eq(e6.state.selection) ? false : (e6.dispatch(setSel(e6.state, x)), true);
595
- }
596
- function selectByChar(e6, b) {
597
- return extendSel(e6, (x) => e6.moveByChar(x, b));
598
- }
599
- var selectCharLeft = (e6) => selectByChar(e6, !ltrAtCursor(e6)), selectCharRight = (e6) => selectByChar(e6, ltrAtCursor(e6));
600
- function selectByGroup(e6, b) {
601
- return extendSel(e6, (x) => e6.moveByGroup(x, b));
602
- }
603
- var selectGroupLeft = (e6) => selectByGroup(e6, !ltrAtCursor(e6)), selectGroupRight = (e6) => selectByGroup(e6, ltrAtCursor(e6)), selectSyntaxLeft = (e6) => extendSel(e6, (b) => moveBySyntax(e6.state, b, !ltrAtCursor(e6))), selectSyntaxRight = (e6) => extendSel(e6, (b) => moveBySyntax(e6.state, b, ltrAtCursor(e6)));
604
- function selectByLine(e6, b) {
605
- return extendSel(e6, (x) => e6.moveVertically(x, b));
606
- }
607
- var selectLineUp = (e6) => selectByLine(e6, false), selectLineDown = (e6) => selectByLine(e6, true);
608
- function selectByPage(e6, b) {
609
- return extendSel(e6, (x) => e6.moveVertically(x, b, pageInfo(e6).height));
610
- }
611
- var selectPageUp = (e6) => selectByPage(e6, false), selectPageDown = (e6) => selectByPage(e6, true), selectLineBoundaryForward = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, true)), selectLineBoundaryBackward = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, false)), selectLineBoundaryLeft = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, !ltrAtCursor(e6))), selectLineBoundaryRight = (e6) => extendSel(e6, (b) => moveByLineBoundary(e6, b, ltrAtCursor(e6))), selectLineStart = (e6) => extendSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).from)), selectLineEnd = (e6) => extendSel(e6, (b) => EditorSelection.cursor(e6.lineBlockAt(b.head).to)), cursorDocStart = ({ state: e6, dispatch: b }) => (b(setSel(e6, { anchor: 0 })), true), cursorDocEnd = ({ state: e6, dispatch: b }) => (b(setSel(e6, { anchor: e6.doc.length })), true), selectDocStart = ({ state: e6, dispatch: b }) => (b(setSel(e6, {
612
- anchor: e6.selection.main.anchor,
613
- head: 0
614
- })), true), selectDocEnd = ({ state: e6, dispatch: b }) => (b(setSel(e6, {
615
- anchor: e6.selection.main.anchor,
616
- head: e6.doc.length
617
- })), true), selectAll = ({ state: e6, dispatch: b }) => (b(e6.update({
618
- selection: {
619
- anchor: 0,
620
- head: e6.doc.length
621
- },
622
- userEvent: "select"
623
- })), true), selectLine = ({ state: e6, dispatch: b }) => {
624
- let x = selectedLineBlocks(e6).map(({ from: b2, to: x2 }) => EditorSelection.range(b2, Math.min(x2 + 1, e6.doc.length)));
625
- return b(e6.update({
626
- selection: EditorSelection.create(x),
627
- userEvent: "select"
628
- })), true;
629
- }, selectParentSyntax = ({ state: e6, dispatch: b }) => {
630
- let x = updateSel(e6.selection, (b2) => {
631
- let x2 = syntaxTree(e6), S = x2.resolveStack(b2.from, 1);
632
- if (b2.empty) {
633
- let e7 = x2.resolveStack(b2.from, -1);
634
- e7.node.from >= S.node.from && e7.node.to <= S.node.to && (S = e7);
635
- }
636
- for (let e7 = S; e7; e7 = e7.next) {
637
- let { node: x3 } = e7;
638
- if ((x3.from < b2.from && x3.to >= b2.to || x3.to > b2.to && x3.from <= b2.from) && e7.next) return EditorSelection.range(x3.to, x3.from);
639
- }
640
- return b2;
641
- });
642
- return x.eq(e6.selection) ? false : (b(setSel(e6, x)), true);
643
- };
644
- function addCursorVertically(e6, b) {
645
- let { state: x } = e6, S = x.selection, C = x.selection.ranges.slice();
646
- for (let S2 of x.selection.ranges) {
647
- let w = x.doc.lineAt(S2.head);
648
- if (b ? w.to < e6.state.doc.length : w.from > 0) for (let x2 = S2; ; ) {
649
- let S3 = e6.moveVertically(x2, b);
650
- if (S3.head < w.from || S3.head > w.to) {
651
- C.some((e7) => e7.head == S3.head) || C.push(S3);
652
- break;
653
- } else if (S3.head == x2.head) break;
654
- else x2 = S3;
655
- }
656
- }
657
- return C.length == S.ranges.length ? false : (e6.dispatch(setSel(x, EditorSelection.create(C, C.length - 1))), true);
658
- }
659
- var addCursorAbove = (e6) => addCursorVertically(e6, false), addCursorBelow = (e6) => addCursorVertically(e6, true), simplifySelection = ({ state: e6, dispatch: b }) => {
660
- let x = e6.selection, S = null;
661
- return x.ranges.length > 1 ? S = EditorSelection.create([x.main]) : x.main.empty || (S = EditorSelection.create([EditorSelection.cursor(x.main.head)])), S ? (b(setSel(e6, S)), true) : false;
662
- };
663
- function deleteBy(e6, b) {
664
- if (e6.state.readOnly) return false;
665
- let x = "delete.selection", { state: S } = e6, C = S.changeByRange((S2) => {
666
- let { from: C2, to: w } = S2;
667
- if (C2 == w) {
668
- let T = b(S2);
669
- T < C2 ? (x = "delete.backward", T = skipAtomic(e6, T, false)) : T > C2 && (x = "delete.forward", T = skipAtomic(e6, T, true)), C2 = Math.min(C2, T), w = Math.max(w, T);
670
- } else C2 = skipAtomic(e6, C2, false), w = skipAtomic(e6, w, true);
671
- return C2 == w ? { range: S2 } : {
672
- changes: {
673
- from: C2,
674
- to: w
675
- },
676
- range: EditorSelection.cursor(C2, C2 < S2.head ? -1 : 1)
677
- };
678
- });
679
- return C.changes.empty ? false : (e6.dispatch(S.update(C, {
680
- scrollIntoView: true,
681
- userEvent: x,
682
- effects: x == "delete.selection" ? EditorView.announce.of(S.phrase("Selection deleted")) : void 0
683
- })), true);
684
- }
685
- function skipAtomic(e6, b, x) {
686
- if (e6 instanceof EditorView) for (let S of e6.state.facet(EditorView.atomicRanges).map((b2) => b2(e6))) S.between(b, b, (e7, S2) => {
687
- e7 < b && S2 > b && (b = x ? S2 : e7);
688
- });
689
- return b;
690
- }
691
- var deleteByChar = (e6, b, x) => deleteBy(e6, (S) => {
692
- let C = S.from, { state: w } = e6, T = w.doc.lineAt(C), E, D;
693
- if (x && !b && C > T.from && C < T.from + 200 && !/[^ \t]/.test(E = T.text.slice(0, C - T.from))) {
694
- if (E[E.length - 1] == " ") return C - 1;
695
- let e7 = countColumn(E, w.tabSize) % getIndentUnit(w) || getIndentUnit(w);
696
- for (let b2 = 0; b2 < e7 && E[E.length - 1 - b2] == " "; b2++) C--;
697
- D = C;
698
- } else D = findClusterBreak(T.text, C - T.from, b, b) + T.from, D == C && T.number != (b ? w.doc.lines : 1) ? D += b ? 1 : -1 : !b && /[\ufe00-\ufe0f]/.test(T.text.slice(D - T.from, C - T.from)) && (D = findClusterBreak(T.text, D - T.from, false, false) + T.from);
699
- return D;
700
- }), deleteCharBackward = (e6) => deleteByChar(e6, false, true), deleteCharForward = (e6) => deleteByChar(e6, true, false), deleteByGroup = (e6, b) => deleteBy(e6, (x) => {
701
- let S = x.head, { state: C } = e6, w = C.doc.lineAt(S), T = C.charCategorizer(S);
702
- for (let e7 = null; ; ) {
703
- if (S == (b ? w.to : w.from)) {
704
- S == x.head && w.number != (b ? C.doc.lines : 1) && (S += b ? 1 : -1);
705
- break;
706
- }
707
- let E = findClusterBreak(w.text, S - w.from, b) + w.from, D = w.text.slice(Math.min(S, E) - w.from, Math.max(S, E) - w.from), O = T(D);
708
- if (e7 != null && O != e7) break;
709
- (D != " " || S != x.head) && (e7 = O), S = E;
710
- }
711
- return S;
712
- }), deleteGroupBackward = (e6) => deleteByGroup(e6, false), deleteGroupForward = (e6) => deleteByGroup(e6, true), deleteToLineEnd = (e6) => deleteBy(e6, (b) => {
713
- let x = e6.lineBlockAt(b.head).to;
714
- return b.head < x ? x : Math.min(e6.state.doc.length, b.head + 1);
715
- }), deleteLineBoundaryBackward = (e6) => deleteBy(e6, (b) => {
716
- let x = e6.moveToLineBoundary(b, false).head;
717
- return b.head > x ? x : Math.max(0, b.head - 1);
718
- }), deleteLineBoundaryForward = (e6) => deleteBy(e6, (b) => {
719
- let x = e6.moveToLineBoundary(b, true).head;
720
- return b.head < x ? x : Math.min(e6.state.doc.length, b.head + 1);
721
- }), splitLine = ({ state: e6, dispatch: b }) => {
722
- if (e6.readOnly) return false;
723
- let x = e6.changeByRange((e7) => ({
724
- changes: {
725
- from: e7.from,
726
- to: e7.to,
727
- insert: Text.of(["", ""])
728
- },
729
- range: EditorSelection.cursor(e7.from)
730
- }));
731
- return b(e6.update(x, {
732
- scrollIntoView: true,
733
- userEvent: "input"
734
- })), true;
735
- }, transposeChars = ({ state: e6, dispatch: b }) => {
736
- if (e6.readOnly) return false;
737
- let x = e6.changeByRange((b2) => {
738
- if (!b2.empty || b2.from == 0 || b2.from == e6.doc.length) return { range: b2 };
739
- let x2 = b2.from, S = e6.doc.lineAt(x2), C = x2 == S.from ? x2 - 1 : findClusterBreak(S.text, x2 - S.from, false) + S.from, w = x2 == S.to ? x2 + 1 : findClusterBreak(S.text, x2 - S.from, true) + S.from;
740
- return {
741
- changes: {
742
- from: C,
743
- to: w,
744
- insert: e6.doc.slice(x2, w).append(e6.doc.slice(C, x2))
745
- },
746
- range: EditorSelection.cursor(w)
747
- };
748
- });
749
- return x.changes.empty ? false : (b(e6.update(x, {
750
- scrollIntoView: true,
751
- userEvent: "move.character"
752
- })), true);
753
- };
754
- function selectedLineBlocks(e6) {
755
- let b = [], x = -1;
756
- for (let S of e6.selection.ranges) {
757
- let C = e6.doc.lineAt(S.from), w = e6.doc.lineAt(S.to);
758
- if (!S.empty && S.to == w.from && (w = e6.doc.lineAt(S.to - 1)), x >= C.number) {
759
- let e7 = b[b.length - 1];
760
- e7.to = w.to, e7.ranges.push(S);
761
- } else b.push({
762
- from: C.from,
763
- to: w.to,
764
- ranges: [S]
765
- });
766
- x = w.number + 1;
767
- }
768
- return b;
769
- }
770
- function moveLine(e6, b, x) {
771
- if (e6.readOnly) return false;
772
- let S = [], C = [];
773
- for (let b2 of selectedLineBlocks(e6)) {
774
- if (x ? b2.to == e6.doc.length : b2.from == 0) continue;
775
- let w = e6.doc.lineAt(x ? b2.to + 1 : b2.from - 1), T = w.length + 1;
776
- if (x) {
777
- S.push({
778
- from: b2.to,
779
- to: w.to
780
- }, {
781
- from: b2.from,
782
- insert: w.text + e6.lineBreak
783
- });
784
- for (let x2 of b2.ranges) C.push(EditorSelection.range(Math.min(e6.doc.length, x2.anchor + T), Math.min(e6.doc.length, x2.head + T)));
785
- } else {
786
- S.push({
787
- from: w.from,
788
- to: b2.from
789
- }, {
790
- from: b2.to,
791
- insert: e6.lineBreak + w.text
792
- });
793
- for (let e7 of b2.ranges) C.push(EditorSelection.range(e7.anchor - T, e7.head - T));
794
- }
795
- }
796
- return S.length ? (b(e6.update({
797
- changes: S,
798
- scrollIntoView: true,
799
- selection: EditorSelection.create(C, e6.selection.mainIndex),
800
- userEvent: "move.line"
801
- })), true) : false;
802
- }
803
- var moveLineUp = ({ state: e6, dispatch: b }) => moveLine(e6, b, false), moveLineDown = ({ state: e6, dispatch: b }) => moveLine(e6, b, true);
804
- function copyLine(e6, b, x) {
805
- if (e6.readOnly) return false;
806
- let S = [];
807
- for (let b2 of selectedLineBlocks(e6)) x ? S.push({
808
- from: b2.from,
809
- insert: e6.doc.slice(b2.from, b2.to) + e6.lineBreak
810
- }) : S.push({
811
- from: b2.to,
812
- insert: e6.lineBreak + e6.doc.slice(b2.from, b2.to)
813
- });
814
- let C = e6.changes(S);
815
- return b(e6.update({
816
- changes: C,
817
- selection: e6.selection.map(C, x ? 1 : -1),
818
- scrollIntoView: true,
819
- userEvent: "input.copyline"
820
- })), true;
821
- }
822
- var copyLineUp = ({ state: e6, dispatch: b }) => copyLine(e6, b, false), copyLineDown = ({ state: e6, dispatch: b }) => copyLine(e6, b, true), deleteLine = (e6) => {
823
- if (e6.state.readOnly) return false;
824
- let { state: b } = e6, x = b.changes(selectedLineBlocks(b).map(({ from: e7, to: x2 }) => (e7 > 0 ? e7-- : x2 < b.doc.length && x2++, {
825
- from: e7,
826
- to: x2
827
- }))), S = updateSel(b.selection, (b2) => {
828
- let x2;
829
- if (e6.lineWrapping) {
830
- let S2 = e6.lineBlockAt(b2.head), C = e6.coordsAtPos(b2.head, b2.assoc || 1);
831
- C && (x2 = S2.bottom + e6.documentTop - C.bottom + e6.defaultLineHeight / 2);
832
- }
833
- return e6.moveVertically(b2, true, x2);
834
- }).map(x);
835
- return e6.dispatch({
836
- changes: x,
837
- selection: S,
838
- scrollIntoView: true,
839
- userEvent: "delete.line"
840
- }), true;
841
- };
842
- function isBetweenBrackets(e6, b) {
843
- if (/\(\)|\[\]|\{\}/.test(e6.sliceDoc(b - 1, b + 1))) return {
844
- from: b,
845
- to: b
846
- };
847
- let x = syntaxTree(e6).resolveInner(b), S = x.childBefore(b), C = x.childAfter(b), w;
848
- return S && C && S.to <= b && C.from >= b && (w = S.type.prop(NodeProp.closedBy)) && w.indexOf(C.name) > -1 && e6.doc.lineAt(S.to).from == e6.doc.lineAt(C.from).from && !/\S/.test(e6.sliceDoc(S.to, C.from)) ? {
849
- from: S.to,
850
- to: C.from
851
- } : null;
852
- }
853
- var insertNewlineAndIndent = /* @__PURE__ */ newlineAndIndent(false), insertBlankLine = /* @__PURE__ */ newlineAndIndent(true);
854
- function newlineAndIndent(e6) {
855
- return ({ state: b, dispatch: x }) => {
856
- if (b.readOnly) return false;
857
- let S = b.changeByRange((x2) => {
858
- let { from: S2, to: C } = x2, w = b.doc.lineAt(S2), T = !e6 && S2 == C && isBetweenBrackets(b, S2);
859
- e6 && (S2 = C = (C <= w.to ? w : b.doc.lineAt(C)).to);
860
- let E = new IndentContext(b, {
861
- simulateBreak: S2,
862
- simulateDoubleBreak: !!T
863
- }), D = getIndentation(E, S2);
864
- for (D ?? (D = countColumn(/^\s*/.exec(b.doc.lineAt(S2).text)[0], b.tabSize)); C < w.to && /\s/.test(w.text[C - w.from]); ) C++;
865
- T ? { from: S2, to: C } = T : S2 > w.from && S2 < w.from + 100 && !/\S/.test(w.text.slice(0, S2)) && (S2 = w.from);
866
- let O = ["", indentString(b, D)];
867
- return T && O.push(indentString(b, E.lineIndent(w.from, -1))), {
868
- changes: {
869
- from: S2,
870
- to: C,
871
- insert: Text.of(O)
872
- },
873
- range: EditorSelection.cursor(S2 + 1 + O[1].length)
874
- };
875
- });
876
- return x(b.update(S, {
877
- scrollIntoView: true,
878
- userEvent: "input"
879
- })), true;
880
- };
881
- }
882
- function changeBySelectedLine(e6, b) {
883
- let x = -1;
884
- return e6.changeByRange((S) => {
885
- let C = [];
886
- for (let w2 = S.from; w2 <= S.to; ) {
887
- let T = e6.doc.lineAt(w2);
888
- T.number > x && (S.empty || S.to > T.from) && (b(T, C, S), x = T.number), w2 = T.to + 1;
889
- }
890
- let w = e6.changes(C);
891
- return {
892
- changes: C,
893
- range: EditorSelection.range(w.mapPos(S.anchor, 1), w.mapPos(S.head, 1))
894
- };
895
- });
896
- }
897
- var indentSelection = ({ state: e6, dispatch: b }) => {
898
- if (e6.readOnly) return false;
899
- let x = /* @__PURE__ */ Object.create(null), S = new IndentContext(e6, { overrideIndentation: (e7) => x[e7] ?? -1 }), C = changeBySelectedLine(e6, (b2, C2, w) => {
900
- let T = getIndentation(S, b2.from);
901
- if (T == null) return;
902
- /\S/.test(b2.text) || (T = 0);
903
- let E = /^\s*/.exec(b2.text)[0], D = indentString(e6, T);
904
- (E != D || w.from < b2.from + E.length) && (x[b2.from] = T, C2.push({
905
- from: b2.from,
906
- to: b2.from + E.length,
907
- insert: D
908
- }));
909
- });
910
- return C.changes.empty || b(e6.update(C, { userEvent: "indent" })), true;
911
- }, indentMore = ({ state: e6, dispatch: b }) => e6.readOnly ? false : (b(e6.update(changeBySelectedLine(e6, (b2, x) => {
912
- x.push({
913
- from: b2.from,
914
- insert: e6.facet(indentUnit)
915
- });
916
- }), { userEvent: "input.indent" })), true), indentLess = ({ state: e6, dispatch: b }) => e6.readOnly ? false : (b(e6.update(changeBySelectedLine(e6, (b2, x) => {
917
- let S = /^\s*/.exec(b2.text)[0];
918
- if (!S) return;
919
- let C = countColumn(S, e6.tabSize), w = 0, T = indentString(e6, Math.max(0, C - getIndentUnit(e6)));
920
- for (; w < S.length && w < T.length && S.charCodeAt(w) == T.charCodeAt(w); ) w++;
921
- x.push({
922
- from: b2.from + w,
923
- to: b2.from + S.length,
924
- insert: T.slice(w)
925
- });
926
- }), { userEvent: "delete.dedent" })), true), toggleTabFocusMode = (e6) => (e6.setTabFocusMode(), true), insertTab = ({ state: e6, dispatch: b }) => e6.selection.ranges.some((e7) => !e7.empty) ? indentMore({
927
- state: e6,
928
- dispatch: b
929
- }) : (b(e6.update(e6.replaceSelection(" "), {
930
- scrollIntoView: true,
931
- userEvent: "input"
932
- })), true), emacsStyleKeymap = [
933
- {
934
- key: "Ctrl-b",
935
- run: cursorCharLeft,
936
- shift: selectCharLeft,
937
- preventDefault: true
938
- },
939
- {
940
- key: "Ctrl-f",
941
- run: cursorCharRight,
942
- shift: selectCharRight
943
- },
944
- {
945
- key: "Ctrl-p",
946
- run: cursorLineUp,
947
- shift: selectLineUp
948
- },
949
- {
950
- key: "Ctrl-n",
951
- run: cursorLineDown,
952
- shift: selectLineDown
953
- },
954
- {
955
- key: "Ctrl-a",
956
- run: cursorLineStart,
957
- shift: selectLineStart
958
- },
959
- {
960
- key: "Ctrl-e",
961
- run: cursorLineEnd,
962
- shift: selectLineEnd
963
- },
964
- {
965
- key: "Ctrl-d",
966
- run: deleteCharForward
967
- },
968
- {
969
- key: "Ctrl-h",
970
- run: deleteCharBackward
971
- },
972
- {
973
- key: "Ctrl-k",
974
- run: deleteToLineEnd
975
- },
976
- {
977
- key: "Ctrl-Alt-h",
978
- run: deleteGroupBackward
979
- },
980
- {
981
- key: "Ctrl-o",
982
- run: splitLine
983
- },
984
- {
985
- key: "Ctrl-t",
986
- run: transposeChars
987
- },
988
- {
989
- key: "Ctrl-v",
990
- run: cursorPageDown
991
- }
992
- ], standardKeymap = /* @__PURE__ */ [
993
- {
994
- key: "ArrowLeft",
995
- run: cursorCharLeft,
996
- shift: selectCharLeft,
997
- preventDefault: true
998
- },
999
- {
1000
- key: "Mod-ArrowLeft",
1001
- mac: "Alt-ArrowLeft",
1002
- run: cursorGroupLeft,
1003
- shift: selectGroupLeft,
1004
- preventDefault: true
1005
- },
1006
- {
1007
- mac: "Cmd-ArrowLeft",
1008
- run: cursorLineBoundaryLeft,
1009
- shift: selectLineBoundaryLeft,
1010
- preventDefault: true
1011
- },
1012
- {
1013
- key: "ArrowRight",
1014
- run: cursorCharRight,
1015
- shift: selectCharRight,
1016
- preventDefault: true
1017
- },
1018
- {
1019
- key: "Mod-ArrowRight",
1020
- mac: "Alt-ArrowRight",
1021
- run: cursorGroupRight,
1022
- shift: selectGroupRight,
1023
- preventDefault: true
1024
- },
1025
- {
1026
- mac: "Cmd-ArrowRight",
1027
- run: cursorLineBoundaryRight,
1028
- shift: selectLineBoundaryRight,
1029
- preventDefault: true
1030
- },
1031
- {
1032
- key: "ArrowUp",
1033
- run: cursorLineUp,
1034
- shift: selectLineUp,
1035
- preventDefault: true
1036
- },
1037
- {
1038
- mac: "Cmd-ArrowUp",
1039
- run: cursorDocStart,
1040
- shift: selectDocStart
1041
- },
1042
- {
1043
- mac: "Ctrl-ArrowUp",
1044
- run: cursorPageUp,
1045
- shift: selectPageUp
1046
- },
1047
- {
1048
- key: "ArrowDown",
1049
- run: cursorLineDown,
1050
- shift: selectLineDown,
1051
- preventDefault: true
1052
- },
1053
- {
1054
- mac: "Cmd-ArrowDown",
1055
- run: cursorDocEnd,
1056
- shift: selectDocEnd
1057
- },
1058
- {
1059
- mac: "Ctrl-ArrowDown",
1060
- run: cursorPageDown,
1061
- shift: selectPageDown
1062
- },
1063
- {
1064
- key: "PageUp",
1065
- run: cursorPageUp,
1066
- shift: selectPageUp
1067
- },
1068
- {
1069
- key: "PageDown",
1070
- run: cursorPageDown,
1071
- shift: selectPageDown
1072
- },
1073
- {
1074
- key: "Home",
1075
- run: cursorLineBoundaryBackward,
1076
- shift: selectLineBoundaryBackward,
1077
- preventDefault: true
1078
- },
1079
- {
1080
- key: "Mod-Home",
1081
- run: cursorDocStart,
1082
- shift: selectDocStart
1083
- },
1084
- {
1085
- key: "End",
1086
- run: cursorLineBoundaryForward,
1087
- shift: selectLineBoundaryForward,
1088
- preventDefault: true
1089
- },
1090
- {
1091
- key: "Mod-End",
1092
- run: cursorDocEnd,
1093
- shift: selectDocEnd
1094
- },
1095
- {
1096
- key: "Enter",
1097
- run: insertNewlineAndIndent,
1098
- shift: insertNewlineAndIndent
1099
- },
1100
- {
1101
- key: "Mod-a",
1102
- run: selectAll
1103
- },
1104
- {
1105
- key: "Backspace",
1106
- run: deleteCharBackward,
1107
- shift: deleteCharBackward,
1108
- preventDefault: true
1109
- },
1110
- {
1111
- key: "Delete",
1112
- run: deleteCharForward,
1113
- preventDefault: true
1114
- },
1115
- {
1116
- key: "Mod-Backspace",
1117
- mac: "Alt-Backspace",
1118
- run: deleteGroupBackward,
1119
- preventDefault: true
1120
- },
1121
- {
1122
- key: "Mod-Delete",
1123
- mac: "Alt-Delete",
1124
- run: deleteGroupForward,
1125
- preventDefault: true
1126
- },
1127
- {
1128
- mac: "Mod-Backspace",
1129
- run: deleteLineBoundaryBackward,
1130
- preventDefault: true
1131
- },
1132
- {
1133
- mac: "Mod-Delete",
1134
- run: deleteLineBoundaryForward,
1135
- preventDefault: true
1136
- }
1137
- ].concat(/* @__PURE__ */ emacsStyleKeymap.map((e6) => ({
1138
- mac: e6.key,
1139
- run: e6.run,
1140
- shift: e6.shift
1141
- }))), defaultKeymap = /* @__PURE__ */ [
1142
- {
1143
- key: "Alt-ArrowLeft",
1144
- mac: "Ctrl-ArrowLeft",
1145
- run: cursorSyntaxLeft,
1146
- shift: selectSyntaxLeft
1147
- },
1148
- {
1149
- key: "Alt-ArrowRight",
1150
- mac: "Ctrl-ArrowRight",
1151
- run: cursorSyntaxRight,
1152
- shift: selectSyntaxRight
1153
- },
1154
- {
1155
- key: "Alt-ArrowUp",
1156
- run: moveLineUp
1157
- },
1158
- {
1159
- key: "Shift-Alt-ArrowUp",
1160
- run: copyLineUp
1161
- },
1162
- {
1163
- key: "Alt-ArrowDown",
1164
- run: moveLineDown
1165
- },
1166
- {
1167
- key: "Shift-Alt-ArrowDown",
1168
- run: copyLineDown
1169
- },
1170
- {
1171
- key: "Mod-Alt-ArrowUp",
1172
- run: addCursorAbove
1173
- },
1174
- {
1175
- key: "Mod-Alt-ArrowDown",
1176
- run: addCursorBelow
1177
- },
1178
- {
1179
- key: "Escape",
1180
- run: simplifySelection
1181
- },
1182
- {
1183
- key: "Mod-Enter",
1184
- run: insertBlankLine
1185
- },
1186
- {
1187
- key: "Alt-l",
1188
- mac: "Ctrl-l",
1189
- run: selectLine
1190
- },
1191
- {
1192
- key: "Mod-i",
1193
- run: selectParentSyntax,
1194
- preventDefault: true
1195
- },
1196
- {
1197
- key: "Mod-[",
1198
- run: indentLess
1199
- },
1200
- {
1201
- key: "Mod-]",
1202
- run: indentMore
1203
- },
1204
- {
1205
- key: "Mod-Alt-\\",
1206
- run: indentSelection
1207
- },
1208
- {
1209
- key: "Shift-Mod-k",
1210
- run: deleteLine
1211
- },
1212
- {
1213
- key: "Shift-Mod-\\",
1214
- run: cursorMatchingBracket
1215
- },
1216
- {
1217
- key: "Mod-/",
1218
- run: toggleComment
1219
- },
1220
- {
1221
- key: "Alt-A",
1222
- run: toggleBlockComment
1223
- },
1224
- {
1225
- key: "Ctrl-m",
1226
- mac: "Shift-Alt-m",
1227
- run: toggleTabFocusMode
1228
- }
1229
- ].concat(standardKeymap), indentWithTab = {
1230
- key: "Tab",
1231
- run: indentMore,
1232
- shift: indentLess
1233
- }, SelectedDiagnostic = class {
1234
- constructor(e6, b, x) {
1235
- this.from = e6, this.to = b, this.diagnostic = x;
1236
- }
1237
- }, LintState = class e3 {
1238
- constructor(e6, b, x) {
1239
- this.diagnostics = e6, this.panel = b, this.selected = x;
1240
- }
1241
- static init(b, x, S) {
1242
- let C = S.facet(lintConfig).markerFilter;
1243
- C && (b = C(b, S));
1244
- let w = b.slice().sort((e6, b2) => e6.from - b2.from || e6.to - b2.to), T = new RangeSetBuilder(), E = [], D = 0, O = S.doc.iter(), k = 0, A = S.doc.length;
1245
- for (let e6 = 0; ; ) {
1246
- let b2 = e6 == w.length ? null : w[e6];
1247
- if (!b2 && !E.length) break;
1248
- let x2, S2;
1249
- if (E.length) x2 = D, S2 = E.reduce((e7, b3) => Math.min(e7, b3.to), b2 && b2.from > x2 ? b2.from : 1e8);
1250
- else {
1251
- if (x2 = b2.from, x2 > A) break;
1252
- S2 = b2.to, E.push(b2), e6++;
1253
- }
1254
- for (; e6 < w.length; ) {
1255
- let b3 = w[e6];
1256
- if (b3.from == x2 && (b3.to > b3.from || b3.to == x2)) E.push(b3), e6++, S2 = Math.min(b3.to, S2);
1257
- else {
1258
- S2 = Math.min(b3.from, S2);
1259
- break;
1260
- }
1261
- }
1262
- S2 = Math.min(S2, A);
1263
- let C2 = false;
1264
- if (E.some((e7) => e7.from == x2 && (e7.to == S2 || S2 == A)) && (C2 = x2 == S2, !C2 && S2 - x2 < 10)) {
1265
- let e7 = x2 - (k + O.value.length);
1266
- e7 > 0 && (O.next(e7), k = x2);
1267
- for (let e8 = x2; ; ) {
1268
- if (e8 >= S2) {
1269
- C2 = true;
1270
- break;
1271
- }
1272
- if (!O.lineBreak && k + O.value.length > e8) break;
1273
- e8 = k + O.value.length, k += O.value.length, O.next();
1274
- }
1275
- }
1276
- let j2 = maxSeverity(E);
1277
- if (C2) T.add(x2, x2, Decoration.widget({
1278
- widget: new DiagnosticWidget(j2),
1279
- diagnostics: E.slice()
1280
- }));
1281
- else {
1282
- let e7 = E.reduce((e8, b3) => b3.markClass ? e8 + " " + b3.markClass : e8, "");
1283
- T.add(x2, S2, Decoration.mark({
1284
- class: "cm-lintRange cm-lintRange-" + j2 + e7,
1285
- diagnostics: E.slice(),
1286
- inclusiveEnd: E.some((e8) => e8.to > S2)
1287
- }));
1288
- }
1289
- if (D = S2, D == A) break;
1290
- for (let e7 = 0; e7 < E.length; e7++) E[e7].to <= D && E.splice(e7--, 1);
1291
- }
1292
- let j = T.finish();
1293
- return new e3(j, x, findDiagnostic(j));
1294
- }
1295
- };
1296
- function findDiagnostic(e6, b = null, x = 0) {
1297
- let S = null;
1298
- return e6.between(x, 1e9, (e7, x2, { spec: C }) => {
1299
- if (!(b && C.diagnostics.indexOf(b) < 0)) if (!S) S = new SelectedDiagnostic(e7, x2, b || C.diagnostics[0]);
1300
- else if (C.diagnostics.indexOf(S.diagnostic) < 0) return false;
1301
- else S = new SelectedDiagnostic(S.from, x2, S.diagnostic);
1302
- }), S;
1303
- }
1304
- function hideTooltip(e6, b) {
1305
- let x = b.pos, S = b.end || x, C = e6.state.facet(lintConfig).hideOn(e6, x, S);
1306
- if (C != null) return C;
1307
- let w = e6.startState.doc.lineAt(b.pos);
1308
- return !!(e6.effects.some((e7) => e7.is(setDiagnosticsEffect)) || e6.changes.touchesRange(w.from, Math.max(w.to, S)));
1309
- }
1310
- function maybeEnableLint(e6, b) {
1311
- return e6.field(lintState, false) ? b : b.concat(StateEffect.appendConfig.of(lintExtensions));
1312
- }
1313
- function setDiagnostics(e6, b) {
1314
- return { effects: maybeEnableLint(e6, [setDiagnosticsEffect.of(b)]) };
1315
- }
1316
- var setDiagnosticsEffect = /* @__PURE__ */ StateEffect.define(), togglePanel$1 = /* @__PURE__ */ StateEffect.define(), movePanelSelection = /* @__PURE__ */ StateEffect.define(), lintState = /* @__PURE__ */ StateField.define({
1317
- create() {
1318
- return new LintState(Decoration.none, null, null);
1319
- },
1320
- update(e6, b) {
1321
- if (b.docChanged && e6.diagnostics.size) {
1322
- let x = e6.diagnostics.map(b.changes), S = null, C = e6.panel;
1323
- if (e6.selected) {
1324
- let C2 = b.changes.mapPos(e6.selected.from, 1);
1325
- S = findDiagnostic(x, e6.selected.diagnostic, C2) || findDiagnostic(x, null, C2);
1326
- }
1327
- !x.size && C && b.state.facet(lintConfig).autoPanel && (C = null), e6 = new LintState(x, C, S);
1328
- }
1329
- for (let x of b.effects) if (x.is(setDiagnosticsEffect)) {
1330
- let S = b.state.facet(lintConfig).autoPanel ? x.value.length ? LintPanel.open : null : e6.panel;
1331
- e6 = LintState.init(x.value, S, b.state);
1332
- } else x.is(togglePanel$1) ? e6 = new LintState(e6.diagnostics, x.value ? LintPanel.open : null, e6.selected) : x.is(movePanelSelection) && (e6 = new LintState(e6.diagnostics, e6.panel, x.value));
1333
- return e6;
1334
- },
1335
- provide: (e6) => [showPanel.from(e6, (e7) => e7.panel), EditorView.decorations.from(e6, (e7) => e7.diagnostics)]
1336
- }), activeMark = /* @__PURE__ */ Decoration.mark({ class: "cm-lintRange cm-lintRange-active" });
1337
- function lintTooltip(e6, b, x) {
1338
- let { diagnostics: S } = e6.state.field(lintState), C, w = -1, T = -1;
1339
- S.between(b - (x < 0 ? 1 : 0), b + (x > 0 ? 1 : 0), (e7, S2, { spec: E2 }) => {
1340
- if (b >= e7 && b <= S2 && (e7 == S2 || (b > e7 || x > 0) && (b < S2 || x < 0))) return C = E2.diagnostics, w = e7, T = S2, false;
1341
- });
1342
- let E = e6.state.facet(lintConfig).tooltipFilter;
1343
- return C && E && (C = E(C, e6.state)), C ? {
1344
- pos: w,
1345
- end: T,
1346
- above: e6.state.doc.lineAt(w).to < T,
1347
- create() {
1348
- return { dom: diagnosticsTooltip(e6, C) };
1349
- }
1350
- } : null;
1351
- }
1352
- function diagnosticsTooltip(e6, b) {
1353
- return crelt("ul", { class: "cm-tooltip-lint" }, b.map((b2) => renderDiagnostic(e6, b2, false)));
1354
- }
1355
- var openLintPanel = (e6) => {
1356
- let b = e6.state.field(lintState, false);
1357
- (!b || !b.panel) && e6.dispatch({ effects: maybeEnableLint(e6.state, [togglePanel$1.of(true)]) });
1358
- let x = getPanel(e6, LintPanel.open);
1359
- return x && x.dom.querySelector(".cm-panel-lint ul").focus(), true;
1360
- }, closeLintPanel = (e6) => {
1361
- let b = e6.state.field(lintState, false);
1362
- return !b || !b.panel ? false : (e6.dispatch({ effects: togglePanel$1.of(false) }), true);
1363
- }, lintKeymap = [{
1364
- key: "Mod-Shift-m",
1365
- run: openLintPanel,
1366
- preventDefault: true
1367
- }, {
1368
- key: "F8",
1369
- run: (e6) => {
1370
- let b = e6.state.field(lintState, false);
1371
- if (!b) return false;
1372
- let x = e6.state.selection.main, S = findDiagnostic(b.diagnostics, null, x.to + 1);
1373
- return !S && (S = findDiagnostic(b.diagnostics, null, 0), !S || S.from == x.from && S.to == x.to) ? false : (e6.dispatch({
1374
- selection: {
1375
- anchor: S.from,
1376
- head: S.to
1377
- },
1378
- scrollIntoView: true
1379
- }), true);
1380
- }
1381
- }], lintPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class {
1382
- constructor(e6) {
1383
- this.view = e6, this.timeout = -1, this.set = true;
1384
- let { delay: b } = e6.state.facet(lintConfig);
1385
- this.lintTime = Date.now() + b, this.run = this.run.bind(this), this.timeout = setTimeout(this.run, b);
1386
- }
1387
- run() {
1388
- clearTimeout(this.timeout);
1389
- let e6 = Date.now();
1390
- if (e6 < this.lintTime - 10) this.timeout = setTimeout(this.run, this.lintTime - e6);
1391
- else {
1392
- this.set = false;
1393
- let { state: e7 } = this.view, { sources: b } = e7.facet(lintConfig);
1394
- b.length && batchResults(b.map((e8) => Promise.resolve(e8(this.view))), (b2) => {
1395
- this.view.state.doc == e7.doc && this.view.dispatch(setDiagnostics(this.view.state, b2.reduce((e8, b3) => e8.concat(b3))));
1396
- }, (e8) => {
1397
- logException(this.view.state, e8);
1398
- });
1399
- }
1400
- }
1401
- update(e6) {
1402
- let b = e6.state.facet(lintConfig);
1403
- (e6.docChanged || b != e6.startState.facet(lintConfig) || b.needsRefresh && b.needsRefresh(e6)) && (this.lintTime = Date.now() + b.delay, this.set || (this.set = true, this.timeout = setTimeout(this.run, b.delay)));
1404
- }
1405
- force() {
1406
- this.set && (this.lintTime = Date.now(), this.run());
1407
- }
1408
- destroy() {
1409
- clearTimeout(this.timeout);
1410
- }
1411
- });
1412
- function batchResults(e6, b, x) {
1413
- let S = [], C = -1;
1414
- for (let w of e6) w.then((x2) => {
1415
- S.push(x2), clearTimeout(C), S.length == e6.length ? b(S) : C = setTimeout(() => b(S), 200);
1416
- }, x);
1417
- }
1418
- var lintConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
1419
- return {
1420
- sources: e6.map((e7) => e7.source).filter((e7) => e7 != null),
1421
- ...combineConfig(e6.map((e7) => e7.config), {
1422
- delay: 750,
1423
- markerFilter: null,
1424
- tooltipFilter: null,
1425
- needsRefresh: null,
1426
- hideOn: () => null
1427
- }, {
1428
- delay: Math.max,
1429
- markerFilter: combineFilter,
1430
- tooltipFilter: combineFilter,
1431
- needsRefresh: (e7, b) => e7 ? b ? (x) => e7(x) || b(x) : e7 : b,
1432
- hideOn: (e7, b) => e7 ? b ? (x, S, C) => e7(x, S, C) || b(x, S, C) : e7 : b,
1433
- autoPanel: (e7, b) => e7 || b
1434
- })
1435
- };
1436
- } });
1437
- function combineFilter(e6, b) {
1438
- return e6 ? b ? (x, S) => b(e6(x, S), S) : e6 : b;
1439
- }
1440
- function linter(e6, b = {}) {
1441
- return [
1442
- lintConfig.of({
1443
- source: e6,
1444
- config: b
1445
- }),
1446
- lintPlugin,
1447
- lintExtensions
1448
- ];
1449
- }
1450
- function assignKeys(e6) {
1451
- let b = [];
1452
- if (e6) actions: for (let { name: x } of e6) {
1453
- for (let e7 = 0; e7 < x.length; e7++) {
1454
- let S = x[e7];
1455
- if (/[a-zA-Z]/.test(S) && !b.some((e8) => e8.toLowerCase() == S.toLowerCase())) {
1456
- b.push(S);
1457
- continue actions;
1458
- }
1459
- }
1460
- b.push("");
1461
- }
1462
- return b;
1463
- }
1464
- function renderDiagnostic(e6, b, x) {
1465
- var _a;
1466
- let S = x ? assignKeys(b.actions) : [];
1467
- return crelt("li", { class: "cm-diagnostic cm-diagnostic-" + b.severity }, crelt("span", { class: "cm-diagnosticText" }, b.renderMessage ? b.renderMessage(e6) : b.message), (_a = b.actions) == null ? void 0 : _a.map((x2, C) => {
1468
- let w = false, T = (S2) => {
1469
- if (S2.preventDefault(), w) return;
1470
- w = true;
1471
- let C2 = findDiagnostic(e6.state.field(lintState).diagnostics, b);
1472
- C2 && x2.apply(e6, C2.from, C2.to);
1473
- }, { name: E } = x2, D = S[C] ? E.indexOf(S[C]) : -1, O = D < 0 ? E : [
1474
- E.slice(0, D),
1475
- crelt("u", E.slice(D, D + 1)),
1476
- E.slice(D + 1)
1477
- ];
1478
- return crelt("button", {
1479
- type: "button",
1480
- class: "cm-diagnosticAction" + (x2.markClass ? " " + x2.markClass : ""),
1481
- onclick: T,
1482
- onmousedown: T,
1483
- "aria-label": ` Action: ${E}${D < 0 ? "" : ` (access key "${S[C]})"`}.`
1484
- }, O);
1485
- }), b.source && crelt("div", { class: "cm-diagnosticSource" }, b.source));
1486
- }
1487
- var DiagnosticWidget = class extends WidgetType {
1488
- constructor(e6) {
1489
- super(), this.sev = e6;
1490
- }
1491
- eq(e6) {
1492
- return e6.sev == this.sev;
1493
- }
1494
- toDOM() {
1495
- return crelt("span", { class: "cm-lintPoint cm-lintPoint-" + this.sev });
1496
- }
1497
- }, PanelItem = class {
1498
- constructor(e6, b) {
1499
- this.diagnostic = b, this.id = "item_" + Math.floor(Math.random() * 4294967295).toString(16), this.dom = renderDiagnostic(e6, b, true), this.dom.id = this.id, this.dom.setAttribute("role", "option");
1500
- }
1501
- }, LintPanel = class e4 {
1502
- constructor(e6) {
1503
- this.view = e6, this.items = [];
1504
- let b = (b2) => {
1505
- if (!(b2.ctrlKey || b2.altKey || b2.metaKey)) {
1506
- if (b2.keyCode == 27) closeLintPanel(this.view), this.view.focus();
1507
- else if (b2.keyCode == 38 || b2.keyCode == 33) this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);
1508
- else if (b2.keyCode == 40 || b2.keyCode == 34) this.moveSelection((this.selectedIndex + 1) % this.items.length);
1509
- else if (b2.keyCode == 36) this.moveSelection(0);
1510
- else if (b2.keyCode == 35) this.moveSelection(this.items.length - 1);
1511
- else if (b2.keyCode == 13) this.view.focus();
1512
- else if (b2.keyCode >= 65 && b2.keyCode <= 90 && this.selectedIndex >= 0) {
1513
- let { diagnostic: x2 } = this.items[this.selectedIndex], S = assignKeys(x2.actions);
1514
- for (let C = 0; C < S.length; C++) if (S[C].toUpperCase().charCodeAt(0) == b2.keyCode) {
1515
- let b3 = findDiagnostic(this.view.state.field(lintState).diagnostics, x2);
1516
- b3 && x2.actions[C].apply(e6, b3.from, b3.to);
1517
- }
1518
- } else return;
1519
- b2.preventDefault();
1520
- }
1521
- }, x = (e7) => {
1522
- for (let b2 = 0; b2 < this.items.length; b2++) this.items[b2].dom.contains(e7.target) && this.moveSelection(b2);
1523
- };
1524
- this.list = crelt("ul", {
1525
- tabIndex: 0,
1526
- role: "listbox",
1527
- "aria-label": this.view.state.phrase("Diagnostics"),
1528
- onkeydown: b,
1529
- onclick: x
1530
- }), this.dom = crelt("div", { class: "cm-panel-lint" }, this.list, crelt("button", {
1531
- type: "button",
1532
- name: "close",
1533
- "aria-label": this.view.state.phrase("close"),
1534
- onclick: () => closeLintPanel(this.view)
1535
- }, "\xD7")), this.update();
1536
- }
1537
- get selectedIndex() {
1538
- let e6 = this.view.state.field(lintState).selected;
1539
- if (!e6) return -1;
1540
- for (let b = 0; b < this.items.length; b++) if (this.items[b].diagnostic == e6.diagnostic) return b;
1541
- return -1;
1542
- }
1543
- update() {
1544
- let { diagnostics: e6, selected: b } = this.view.state.field(lintState), x = 0, S = false, C = null, w = /* @__PURE__ */ new Set();
1545
- for (e6.between(0, this.view.state.doc.length, (e7, T, { spec: E }) => {
1546
- for (let e8 of E.diagnostics) {
1547
- if (w.has(e8)) continue;
1548
- w.add(e8);
1549
- let T2 = -1, E2;
1550
- for (let b2 = x; b2 < this.items.length; b2++) if (this.items[b2].diagnostic == e8) {
1551
- T2 = b2;
1552
- break;
1553
- }
1554
- T2 < 0 ? (E2 = new PanelItem(this.view, e8), this.items.splice(x, 0, E2), S = true) : (E2 = this.items[T2], T2 > x && (this.items.splice(x, T2 - x), S = true)), b && E2.diagnostic == b.diagnostic ? E2.dom.hasAttribute("aria-selected") || (E2.dom.setAttribute("aria-selected", "true"), C = E2) : E2.dom.hasAttribute("aria-selected") && E2.dom.removeAttribute("aria-selected"), x++;
1555
- }
1556
- }); x < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0); ) S = true, this.items.pop();
1557
- this.items.length == 0 && (this.items.push(new PanelItem(this.view, {
1558
- from: -1,
1559
- to: -1,
1560
- severity: "info",
1561
- message: this.view.state.phrase("No diagnostics")
1562
- })), S = true), C ? (this.list.setAttribute("aria-activedescendant", C.id), this.view.requestMeasure({
1563
- key: this,
1564
- read: () => ({
1565
- sel: C.dom.getBoundingClientRect(),
1566
- panel: this.list.getBoundingClientRect()
1567
- }),
1568
- write: ({ sel: e7, panel: b2 }) => {
1569
- let x2 = b2.height / this.list.offsetHeight;
1570
- e7.top < b2.top ? this.list.scrollTop -= (b2.top - e7.top) / x2 : e7.bottom > b2.bottom && (this.list.scrollTop += (e7.bottom - b2.bottom) / x2);
1571
- }
1572
- })) : this.selectedIndex < 0 && this.list.removeAttribute("aria-activedescendant"), S && this.sync();
1573
- }
1574
- sync() {
1575
- let e6 = this.list.firstChild;
1576
- function b() {
1577
- let b2 = e6;
1578
- e6 = b2.nextSibling, b2.remove();
1579
- }
1580
- for (let x of this.items) if (x.dom.parentNode == this.list) {
1581
- for (; e6 != x.dom; ) b();
1582
- e6 = x.dom.nextSibling;
1583
- } else this.list.insertBefore(x.dom, e6);
1584
- for (; e6; ) b();
1585
- }
1586
- moveSelection(e6) {
1587
- if (this.selectedIndex < 0) return;
1588
- let b = findDiagnostic(this.view.state.field(lintState).diagnostics, this.items[e6].diagnostic);
1589
- b && this.view.dispatch({
1590
- selection: {
1591
- anchor: b.from,
1592
- head: b.to
1593
- },
1594
- scrollIntoView: true,
1595
- effects: movePanelSelection.of(b)
1596
- });
1597
- }
1598
- static open(b) {
1599
- return new e4(b);
1600
- }
1601
- };
1602
- function svg(e6, b = 'viewBox="0 0 40 40"') {
1603
- return `url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${b}>${encodeURIComponent(e6)}</svg>')`;
1604
- }
1605
- function underline(e6) {
1606
- return svg(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e6}" fill="none" stroke-width=".7"/>`, 'width="6" height="3"');
1607
- }
1608
- var baseTheme$1 = /* @__PURE__ */ EditorView.baseTheme({
1609
- ".cm-diagnostic": {
1610
- padding: "3px 6px 3px 8px",
1611
- marginLeft: "-1px",
1612
- display: "block",
1613
- whiteSpace: "pre-wrap"
1614
- },
1615
- ".cm-diagnostic-error": { borderLeft: "5px solid #d11" },
1616
- ".cm-diagnostic-warning": { borderLeft: "5px solid orange" },
1617
- ".cm-diagnostic-info": { borderLeft: "5px solid #999" },
1618
- ".cm-diagnostic-hint": { borderLeft: "5px solid #66d" },
1619
- ".cm-diagnosticAction": {
1620
- font: "inherit",
1621
- border: "none",
1622
- padding: "2px 4px",
1623
- backgroundColor: "#444",
1624
- color: "white",
1625
- borderRadius: "3px",
1626
- marginLeft: "8px",
1627
- cursor: "pointer"
1628
- },
1629
- ".cm-diagnosticSource": {
1630
- fontSize: "70%",
1631
- opacity: 0.7
1632
- },
1633
- ".cm-lintRange": {
1634
- backgroundPosition: "left bottom",
1635
- backgroundRepeat: "repeat-x",
1636
- paddingBottom: "0.7px"
1637
- },
1638
- ".cm-lintRange-error": { backgroundImage: /* @__PURE__ */ underline("#d11") },
1639
- ".cm-lintRange-warning": { backgroundImage: /* @__PURE__ */ underline("orange") },
1640
- ".cm-lintRange-info": { backgroundImage: /* @__PURE__ */ underline("#999") },
1641
- ".cm-lintRange-hint": { backgroundImage: /* @__PURE__ */ underline("#66d") },
1642
- ".cm-lintRange-active": { backgroundColor: "#ffdd9980" },
1643
- ".cm-tooltip-lint": {
1644
- padding: 0,
1645
- margin: 0
1646
- },
1647
- ".cm-lintPoint": {
1648
- position: "relative",
1649
- "&:after": {
1650
- content: '""',
1651
- position: "absolute",
1652
- bottom: 0,
1653
- left: "-2px",
1654
- borderLeft: "3px solid transparent",
1655
- borderRight: "3px solid transparent",
1656
- borderBottom: "4px solid #d11"
1657
- }
1658
- },
1659
- ".cm-lintPoint-warning": { "&:after": { borderBottomColor: "orange" } },
1660
- ".cm-lintPoint-info": { "&:after": { borderBottomColor: "#999" } },
1661
- ".cm-lintPoint-hint": { "&:after": { borderBottomColor: "#66d" } },
1662
- ".cm-panel.cm-panel-lint": {
1663
- position: "relative",
1664
- "& ul": {
1665
- maxHeight: "100px",
1666
- overflowY: "auto",
1667
- "& [aria-selected]": {
1668
- backgroundColor: "#ddd",
1669
- "& u": { textDecoration: "underline" }
1670
- },
1671
- "&:focus [aria-selected]": {
1672
- background_fallback: "#bdf",
1673
- backgroundColor: "Highlight",
1674
- color_fallback: "white",
1675
- color: "HighlightText"
1676
- },
1677
- "& u": { textDecoration: "none" },
1678
- padding: 0,
1679
- margin: 0
1680
- },
1681
- "& [name=close]": {
1682
- position: "absolute",
1683
- top: "0",
1684
- right: "2px",
1685
- background: "inherit",
1686
- border: "none",
1687
- font: "inherit",
1688
- padding: 0,
1689
- margin: 0
1690
- }
1691
- },
1692
- "&dark .cm-lintRange-active": { backgroundColor: "#86714a80" },
1693
- "&dark .cm-panel.cm-panel-lint ul": { "& [aria-selected]": { backgroundColor: "#2e343e" } }
1694
- });
1695
- function severityWeight(e6) {
1696
- return e6 == "error" ? 4 : e6 == "warning" ? 3 : e6 == "info" ? 2 : 1;
1697
- }
1698
- function maxSeverity(e6) {
1699
- let b = "hint", x = 1;
1700
- for (let S of e6) {
1701
- let e7 = severityWeight(S.severity);
1702
- e7 > x && (x = e7, b = S.severity);
1703
- }
1704
- return b;
1705
- }
1706
- var lintExtensions = [
1707
- lintState,
1708
- /* @__PURE__ */ EditorView.decorations.compute([lintState], (e6) => {
1709
- let { selected: b, panel: x } = e6.field(lintState);
1710
- return !b || !x || b.from == b.to ? Decoration.none : Decoration.set([activeMark.range(b.from, b.to)]);
1711
- }),
1712
- /* @__PURE__ */ hoverTooltip(lintTooltip, { hideOn: hideTooltip }),
1713
- baseTheme$1
1714
- ];
1715
- function forEachDiagnostic(e6, b) {
1716
- let x = e6.field(lintState, false);
1717
- if (x && x.diagnostics.size) {
1718
- let e7 = [], S = [], C = -1;
1719
- for (let w = RangeSet.iter([x.diagnostics]); ; w.next()) {
1720
- for (let x2 = 0; x2 < e7.length; x2++) (!w.value || w.value.spec.diagnostics.indexOf(e7[x2]) < 0) && (b(e7[x2], S[x2], C), e7.splice(x2, 1), S.splice(x2--, 1));
1721
- if (!w.value) break;
1722
- for (let b2 of w.value.spec.diagnostics) e7.indexOf(b2) < 0 && (e7.push(b2), S.push(w.from));
1723
- C = w.to;
1724
- }
1725
- }
1726
- }
1727
- var basicNormalize = typeof String.prototype.normalize == "function" ? (e6) => e6.normalize("NFKD") : (e6) => e6, SearchCursor = class {
1728
- constructor(e6, b, x = 0, S = e6.length, C, w) {
1729
- this.test = w, this.value = {
1730
- from: 0,
1731
- to: 0
1732
- }, this.done = false, this.matches = [], this.buffer = "", this.bufferPos = 0, this.iter = e6.iterRange(x, S), this.bufferStart = x, this.normalize = C ? (e7) => C(basicNormalize(e7)) : basicNormalize, this.query = this.normalize(b);
1733
- }
1734
- peek() {
1735
- if (this.bufferPos == this.buffer.length) {
1736
- if (this.bufferStart += this.buffer.length, this.iter.next(), this.iter.done) return -1;
1737
- this.bufferPos = 0, this.buffer = this.iter.value;
1738
- }
1739
- return codePointAt(this.buffer, this.bufferPos);
1740
- }
1741
- next() {
1742
- for (; this.matches.length; ) this.matches.pop();
1743
- return this.nextOverlapping();
1744
- }
1745
- nextOverlapping() {
1746
- for (; ; ) {
1747
- let e6 = this.peek();
1748
- if (e6 < 0) return this.done = true, this;
1749
- let b = fromCodePoint(e6), x = this.bufferStart + this.bufferPos;
1750
- this.bufferPos += codePointSize(e6);
1751
- let S = this.normalize(b);
1752
- if (S.length) for (let e7 = 0, C = x; ; e7++) {
1753
- let w = S.charCodeAt(e7), T = this.match(w, C, this.bufferPos + this.bufferStart);
1754
- if (e7 == S.length - 1) {
1755
- if (T) return this.value = T, this;
1756
- break;
1757
- }
1758
- C == x && e7 < b.length && b.charCodeAt(e7) == w && C++;
1759
- }
1760
- }
1761
- }
1762
- match(e6, b, x) {
1763
- let S = null;
1764
- for (let b2 = 0; b2 < this.matches.length; b2 += 2) {
1765
- let C = this.matches[b2], w = false;
1766
- this.query.charCodeAt(C) == e6 && (C == this.query.length - 1 ? S = {
1767
- from: this.matches[b2 + 1],
1768
- to: x
1769
- } : (this.matches[b2]++, w = true)), w || (this.matches.splice(b2, 2), b2 -= 2);
1770
- }
1771
- return this.query.charCodeAt(0) == e6 && (this.query.length == 1 ? S = {
1772
- from: b,
1773
- to: x
1774
- } : this.matches.push(1, b)), S && this.test && !this.test(S.from, S.to, this.buffer, this.bufferStart) && (S = null), S;
1775
- }
1776
- };
1777
- typeof Symbol < "u" && (SearchCursor.prototype[Symbol.iterator] = function() {
1778
- return this;
1779
- });
1780
- var empty = {
1781
- from: -1,
1782
- to: -1,
1783
- match: /* @__PURE__ */ /.*/.exec("")
1784
- }, baseFlags = "gm" + (/x/.unicode == null ? "" : "u"), RegExpCursor = class {
1785
- constructor(e6, b, x, S = 0, C = e6.length) {
1786
- if (this.text = e6, this.to = C, this.curLine = "", this.done = false, this.value = empty, /\\[sWDnr]|\n|\r|\[\^/.test(b)) return new MultilineRegExpCursor(e6, b, x, S, C);
1787
- this.re = new RegExp(b, baseFlags + ((x == null ? void 0 : x.ignoreCase) ? "i" : "")), this.test = x == null ? void 0 : x.test, this.iter = e6.iter(), this.curLineStart = e6.lineAt(S).from, this.matchPos = toCharEnd(e6, S), this.getLine(this.curLineStart);
1788
- }
1789
- getLine(e6) {
1790
- this.iter.next(e6), this.iter.lineBreak ? this.curLine = "" : (this.curLine = this.iter.value, this.curLineStart + this.curLine.length > this.to && (this.curLine = this.curLine.slice(0, this.to - this.curLineStart)), this.iter.next());
1791
- }
1792
- nextLine() {
1793
- this.curLineStart = this.curLineStart + this.curLine.length + 1, this.curLineStart > this.to ? this.curLine = "" : this.getLine(0);
1794
- }
1795
- next() {
1796
- for (let e6 = this.matchPos - this.curLineStart; ; ) {
1797
- this.re.lastIndex = e6;
1798
- let b = this.matchPos <= this.to && this.re.exec(this.curLine);
1799
- if (b) {
1800
- let x = this.curLineStart + b.index, S = x + b[0].length;
1801
- if (this.matchPos = toCharEnd(this.text, S + (x == S ? 1 : 0)), x == this.curLineStart + this.curLine.length && this.nextLine(), (x < S || x > this.value.to) && (!this.test || this.test(x, S, b))) return this.value = {
1802
- from: x,
1803
- to: S,
1804
- match: b
1805
- }, this;
1806
- e6 = this.matchPos - this.curLineStart;
1807
- } else if (this.curLineStart + this.curLine.length < this.to) this.nextLine(), e6 = 0;
1808
- else return this.done = true, this;
1809
- }
1810
- }
1811
- }, flattened = /* @__PURE__ */ new WeakMap(), FlattenedDoc = class e5 {
1812
- constructor(e6, b) {
1813
- this.from = e6, this.text = b;
1814
- }
1815
- get to() {
1816
- return this.from + this.text.length;
1817
- }
1818
- static get(b, x, S) {
1819
- let C = flattened.get(b);
1820
- if (!C || C.from >= S || C.to <= x) {
1821
- let C2 = new e5(x, b.sliceString(x, S));
1822
- return flattened.set(b, C2), C2;
1823
- }
1824
- if (C.from == x && C.to == S) return C;
1825
- let { text: w, from: T } = C;
1826
- return T > x && (w = b.sliceString(x, T) + w, T = x), C.to < S && (w += b.sliceString(C.to, S)), flattened.set(b, new e5(T, w)), new e5(x, w.slice(x - T, S - T));
1827
- }
1828
- }, MultilineRegExpCursor = class {
1829
- constructor(e6, b, x, S, C) {
1830
- this.text = e6, this.to = C, this.done = false, this.value = empty, this.matchPos = toCharEnd(e6, S), this.re = new RegExp(b, baseFlags + ((x == null ? void 0 : x.ignoreCase) ? "i" : "")), this.test = x == null ? void 0 : x.test, this.flat = FlattenedDoc.get(e6, S, this.chunkEnd(S + 5e3));
1831
- }
1832
- chunkEnd(e6) {
1833
- return e6 >= this.to ? this.to : this.text.lineAt(e6).to;
1834
- }
1835
- next() {
1836
- for (; ; ) {
1837
- let e6 = this.re.lastIndex = this.matchPos - this.flat.from, b = this.re.exec(this.flat.text);
1838
- if (b && !b[0] && b.index == e6 && (this.re.lastIndex = e6 + 1, b = this.re.exec(this.flat.text)), b) {
1839
- let e7 = this.flat.from + b.index, x = e7 + b[0].length;
1840
- if ((this.flat.to >= this.to || b.index + b[0].length <= this.flat.text.length - 10) && (!this.test || this.test(e7, x, b))) return this.value = {
1841
- from: e7,
1842
- to: x,
1843
- match: b
1844
- }, this.matchPos = toCharEnd(this.text, x + (e7 == x ? 1 : 0)), this;
1845
- }
1846
- if (this.flat.to == this.to) return this.done = true, this;
1847
- this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));
1848
- }
1849
- }
1850
- };
1851
- typeof Symbol < "u" && (RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] = function() {
1852
- return this;
1853
- });
1854
- function validRegExp(e6) {
1855
- try {
1856
- return new RegExp(e6, baseFlags), true;
1857
- } catch {
1858
- return false;
1859
- }
1860
- }
1861
- function toCharEnd(e6, b) {
1862
- if (b >= e6.length) return b;
1863
- let x = e6.lineAt(b), S;
1864
- for (; b < x.to && (S = x.text.charCodeAt(b - x.from)) >= 56320 && S < 57344; ) b++;
1865
- return b;
1866
- }
1867
- var gotoLine = (e6) => {
1868
- let { state: b } = e6, x = String(b.doc.lineAt(e6.state.selection.main.head).number), { close: S, result: C } = showDialog(e6, {
1869
- label: b.phrase("Go to line"),
1870
- input: {
1871
- type: "text",
1872
- name: "line",
1873
- value: x
1874
- },
1875
- focus: true,
1876
- submitLabel: b.phrase("go")
1877
- });
1878
- return C.then((x2) => {
1879
- let C2 = x2 && /^([+-])?(\d+)?(:\d+)?(%)?$/.exec(x2.elements.line.value);
1880
- if (!C2) {
1881
- e6.dispatch({ effects: S });
1882
- return;
1883
- }
1884
- let w = b.doc.lineAt(b.selection.main.head), [, T, E, D, O] = C2, k = D ? +D.slice(1) : 0, A = E ? +E : w.number;
1885
- if (E && O) {
1886
- let e7 = A / 100;
1887
- T && (e7 = e7 * (T == "-" ? -1 : 1) + w.number / b.doc.lines), A = Math.round(b.doc.lines * e7);
1888
- } else E && T && (A = A * (T == "-" ? -1 : 1) + w.number);
1889
- let j = b.doc.line(Math.max(1, Math.min(b.doc.lines, A))), M = EditorSelection.cursor(j.from + Math.max(0, Math.min(k, j.length)));
1890
- e6.dispatch({
1891
- effects: [S, EditorView.scrollIntoView(M.from, { y: "center" })],
1892
- selection: M
1893
- });
1894
- }), true;
1895
- }, defaultHighlightOptions = {
1896
- highlightWordAroundCursor: false,
1897
- minSelectionLength: 1,
1898
- maxMatches: 100,
1899
- wholeWords: false
1900
- }, highlightConfig = /* @__PURE__ */ Facet.define({ combine(e6) {
1901
- return combineConfig(e6, defaultHighlightOptions, {
1902
- highlightWordAroundCursor: (e7, b) => e7 || b,
1903
- minSelectionLength: Math.min,
1904
- maxMatches: Math.min
1905
- });
1906
- } });
1907
- function highlightSelectionMatches(e6) {
1908
- let b = [defaultTheme, matchHighlighter];
1909
- return e6 && b.push(highlightConfig.of(e6)), b;
1910
- }
1911
- var matchDeco = /* @__PURE__ */ Decoration.mark({ class: "cm-selectionMatch" }), mainMatchDeco = /* @__PURE__ */ Decoration.mark({ class: "cm-selectionMatch cm-selectionMatch-main" });
1912
- function insideWordBoundaries(e6, b, x, S) {
1913
- return (x == 0 || e6(b.sliceDoc(x - 1, x)) != CharCategory.Word) && (S == b.doc.length || e6(b.sliceDoc(S, S + 1)) != CharCategory.Word);
1914
- }
1915
- function insideWord(e6, b, x, S) {
1916
- return e6(b.sliceDoc(x, x + 1)) == CharCategory.Word && e6(b.sliceDoc(S - 1, S)) == CharCategory.Word;
1917
- }
1918
- var matchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class {
1919
- constructor(e6) {
1920
- this.decorations = this.getDeco(e6);
1921
- }
1922
- update(e6) {
1923
- (e6.selectionSet || e6.docChanged || e6.viewportChanged) && (this.decorations = this.getDeco(e6.view));
1924
- }
1925
- getDeco(e6) {
1926
- let b = e6.state.facet(highlightConfig), { state: x } = e6, S = x.selection;
1927
- if (S.ranges.length > 1) return Decoration.none;
1928
- let C = S.main, w, T = null;
1929
- if (C.empty) {
1930
- if (!b.highlightWordAroundCursor) return Decoration.none;
1931
- let e7 = x.wordAt(C.head);
1932
- if (!e7) return Decoration.none;
1933
- T = x.charCategorizer(C.head), w = x.sliceDoc(e7.from, e7.to);
1934
- } else {
1935
- let e7 = C.to - C.from;
1936
- if (e7 < b.minSelectionLength || e7 > 200) return Decoration.none;
1937
- if (b.wholeWords) {
1938
- if (w = x.sliceDoc(C.from, C.to), T = x.charCategorizer(C.head), !(insideWordBoundaries(T, x, C.from, C.to) && insideWord(T, x, C.from, C.to))) return Decoration.none;
1939
- } else if (w = x.sliceDoc(C.from, C.to), !w) return Decoration.none;
1940
- }
1941
- let E = [];
1942
- for (let S2 of e6.visibleRanges) {
1943
- let e7 = new SearchCursor(x.doc, w, S2.from, S2.to);
1944
- for (; !e7.next().done; ) {
1945
- let { from: S3, to: w2 } = e7.value;
1946
- if ((!T || insideWordBoundaries(T, x, S3, w2)) && (C.empty && S3 <= C.from && w2 >= C.to ? E.push(mainMatchDeco.range(S3, w2)) : (S3 >= C.to || w2 <= C.from) && E.push(matchDeco.range(S3, w2)), E.length > b.maxMatches)) return Decoration.none;
1947
- }
1948
- }
1949
- return Decoration.set(E);
1950
- }
1951
- }, { decorations: (e6) => e6.decorations }), defaultTheme = /* @__PURE__ */ EditorView.baseTheme({
1952
- ".cm-selectionMatch": { backgroundColor: "#99ff7780" },
1953
- ".cm-searchMatch .cm-selectionMatch": { backgroundColor: "transparent" }
1954
- }), selectWord = ({ state: e6, dispatch: b }) => {
1955
- let { selection: x } = e6, S = EditorSelection.create(x.ranges.map((b2) => e6.wordAt(b2.head) || EditorSelection.cursor(b2.head)), x.mainIndex);
1956
- return S.eq(x) ? false : (b(e6.update({ selection: S })), true);
1957
- };
1958
- function findNextOccurrence(e6, b) {
1959
- let { main: x, ranges: S } = e6.selection, C = e6.wordAt(x.head), w = C && C.from == x.from && C.to == x.to;
1960
- for (let x2 = false, C2 = new SearchCursor(e6.doc, b, S[S.length - 1].to); ; ) if (C2.next(), C2.done) {
1961
- if (x2) return null;
1962
- C2 = new SearchCursor(e6.doc, b, 0, Math.max(0, S[S.length - 1].from - 1)), x2 = true;
1963
- } else {
1964
- if (x2 && S.some((e7) => e7.from == C2.value.from)) continue;
1965
- if (w) {
1966
- let b2 = e6.wordAt(C2.value.from);
1967
- if (!b2 || b2.from != C2.value.from || b2.to != C2.value.to) continue;
1968
- }
1969
- return C2.value;
1970
- }
1971
- }
1972
- var selectNextOccurrence = ({ state: e6, dispatch: b }) => {
1973
- let { ranges: x } = e6.selection;
1974
- if (x.some((e7) => e7.from === e7.to)) return selectWord({
1975
- state: e6,
1976
- dispatch: b
1977
- });
1978
- let S = e6.sliceDoc(x[0].from, x[0].to);
1979
- if (e6.selection.ranges.some((b2) => e6.sliceDoc(b2.from, b2.to) != S)) return false;
1980
- let C = findNextOccurrence(e6, S);
1981
- return C ? (b(e6.update({
1982
- selection: e6.selection.addRange(EditorSelection.range(C.from, C.to), false),
1983
- effects: EditorView.scrollIntoView(C.to)
1984
- })), true) : false;
1985
- }, searchConfigFacet = /* @__PURE__ */ Facet.define({ combine(e6) {
1986
- return combineConfig(e6, {
1987
- top: false,
1988
- caseSensitive: false,
1989
- literal: false,
1990
- regexp: false,
1991
- wholeWord: false,
1992
- createPanel: (e7) => new SearchPanel(e7),
1993
- scrollToMatch: (e7) => EditorView.scrollIntoView(e7)
1994
- });
1995
- } }), SearchQuery = class {
1996
- constructor(e6) {
1997
- this.search = e6.search, this.caseSensitive = !!e6.caseSensitive, this.literal = !!e6.literal, this.regexp = !!e6.regexp, this.replace = e6.replace || "", this.valid = !!this.search && (!this.regexp || validRegExp(this.search)), this.unquoted = this.unquote(this.search), this.wholeWord = !!e6.wholeWord, this.test = e6.test;
1998
- }
1999
- unquote(e6) {
2000
- return this.literal ? e6 : e6.replace(/\\([nrt\\])/g, (e7, b) => b == "n" ? "\n" : b == "r" ? "\r" : b == "t" ? " " : "\\");
2001
- }
2002
- eq(e6) {
2003
- return this.search == e6.search && this.replace == e6.replace && this.caseSensitive == e6.caseSensitive && this.regexp == e6.regexp && this.wholeWord == e6.wholeWord && this.test == e6.test;
2004
- }
2005
- create() {
2006
- return this.regexp ? new RegExpQuery(this) : new StringQuery(this);
2007
- }
2008
- getCursor(e6, b = 0, x) {
2009
- let S = e6.doc ? e6 : EditorState.create({ doc: e6 });
2010
- return x ?? (x = S.doc.length), this.regexp ? regexpCursor(this, S, b, x) : stringCursor(this, S, b, x);
2011
- }
2012
- }, QueryType = class {
2013
- constructor(e6) {
2014
- this.spec = e6;
2015
- }
2016
- };
2017
- function wrapStringTest(e6, b, x) {
2018
- return (S, C, w, T) => x && !x(S, C, w, T) ? false : e6(S >= T && C <= T + w.length ? w.slice(S - T, C - T) : b.doc.sliceString(S, C), b, S, C);
2019
- }
2020
- function stringCursor(e6, b, x, S) {
2021
- let C;
2022
- return e6.wholeWord && (C = stringWordTest(b.doc, b.charCategorizer(b.selection.main.head))), e6.test && (C = wrapStringTest(e6.test, b, C)), new SearchCursor(b.doc, e6.unquoted, x, S, e6.caseSensitive ? void 0 : (e7) => e7.toLowerCase(), C);
2023
- }
2024
- function stringWordTest(e6, b) {
2025
- return (x, S, C, w) => ((w > x || w + C.length < S) && (w = Math.max(0, x - 2), C = e6.sliceString(w, Math.min(e6.length, S + 2))), (b(charBefore(C, x - w)) != CharCategory.Word || b(charAfter(C, x - w)) != CharCategory.Word) && (b(charAfter(C, S - w)) != CharCategory.Word || b(charBefore(C, S - w)) != CharCategory.Word));
2026
- }
2027
- var StringQuery = class extends QueryType {
2028
- constructor(e6) {
2029
- super(e6);
2030
- }
2031
- nextMatch(e6, b, x) {
2032
- let S = stringCursor(this.spec, e6, x, e6.doc.length).nextOverlapping();
2033
- if (S.done) {
2034
- let x2 = Math.min(e6.doc.length, b + this.spec.unquoted.length);
2035
- S = stringCursor(this.spec, e6, 0, x2).nextOverlapping();
2036
- }
2037
- return S.done || S.value.from == b && S.value.to == x ? null : S.value;
2038
- }
2039
- prevMatchInRange(e6, b, x) {
2040
- for (let S = x; ; ) {
2041
- let x2 = Math.max(b, S - 1e4 - this.spec.unquoted.length), C = stringCursor(this.spec, e6, x2, S), w = null;
2042
- for (; !C.nextOverlapping().done; ) w = C.value;
2043
- if (w) return w;
2044
- if (x2 == b) return null;
2045
- S -= 1e4;
2046
- }
2047
- }
2048
- prevMatch(e6, b, x) {
2049
- let S = this.prevMatchInRange(e6, 0, b);
2050
- return S || (S = this.prevMatchInRange(e6, Math.max(0, x - this.spec.unquoted.length), e6.doc.length)), S && (S.from != b || S.to != x) ? S : null;
2051
- }
2052
- getReplacement(e6) {
2053
- return this.spec.unquote(this.spec.replace);
2054
- }
2055
- matchAll(e6, b) {
2056
- let x = stringCursor(this.spec, e6, 0, e6.doc.length), S = [];
2057
- for (; !x.next().done; ) {
2058
- if (S.length >= b) return null;
2059
- S.push(x.value);
2060
- }
2061
- return S;
2062
- }
2063
- highlight(e6, b, x, S) {
2064
- let C = stringCursor(this.spec, e6, Math.max(0, b - this.spec.unquoted.length), Math.min(x + this.spec.unquoted.length, e6.doc.length));
2065
- for (; !C.next().done; ) S(C.value.from, C.value.to);
2066
- }
2067
- };
2068
- function wrapRegexpTest(e6, b, x) {
2069
- return (S, C, w) => (!x || x(S, C, w)) && e6(w[0], b, S, C);
2070
- }
2071
- function regexpCursor(e6, b, x, S) {
2072
- let C;
2073
- return e6.wholeWord && (C = regexpWordTest(b.charCategorizer(b.selection.main.head))), e6.test && (C = wrapRegexpTest(e6.test, b, C)), new RegExpCursor(b.doc, e6.search, {
2074
- ignoreCase: !e6.caseSensitive,
2075
- test: C
2076
- }, x, S);
2077
- }
2078
- function charBefore(e6, b) {
2079
- return e6.slice(findClusterBreak(e6, b, false), b);
2080
- }
2081
- function charAfter(e6, b) {
2082
- return e6.slice(b, findClusterBreak(e6, b));
2083
- }
2084
- function regexpWordTest(e6) {
2085
- return (b, x, S) => !S[0].length || (e6(charBefore(S.input, S.index)) != CharCategory.Word || e6(charAfter(S.input, S.index)) != CharCategory.Word) && (e6(charAfter(S.input, S.index + S[0].length)) != CharCategory.Word || e6(charBefore(S.input, S.index + S[0].length)) != CharCategory.Word);
2086
- }
2087
- var RegExpQuery = class extends QueryType {
2088
- nextMatch(e6, b, x) {
2089
- let S = regexpCursor(this.spec, e6, x, e6.doc.length).next();
2090
- return S.done && (S = regexpCursor(this.spec, e6, 0, b).next()), S.done ? null : S.value;
2091
- }
2092
- prevMatchInRange(e6, b, x) {
2093
- for (let S = 1; ; S++) {
2094
- let C = Math.max(b, x - S * 1e4), w = regexpCursor(this.spec, e6, C, x), T = null;
2095
- for (; !w.next().done; ) T = w.value;
2096
- if (T && (C == b || T.from > C + 10)) return T;
2097
- if (C == b) return null;
2098
- }
2099
- }
2100
- prevMatch(e6, b, x) {
2101
- return this.prevMatchInRange(e6, 0, b) || this.prevMatchInRange(e6, x, e6.doc.length);
2102
- }
2103
- getReplacement(e6) {
2104
- return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g, (b, x) => {
2105
- if (x == "&") return e6.match[0];
2106
- if (x == "$") return "$";
2107
- for (let b2 = x.length; b2 > 0; b2--) {
2108
- let S = +x.slice(0, b2);
2109
- if (S > 0 && S < e6.match.length) return e6.match[S] + x.slice(b2);
2110
- }
2111
- return b;
2112
- });
2113
- }
2114
- matchAll(e6, b) {
2115
- let x = regexpCursor(this.spec, e6, 0, e6.doc.length), S = [];
2116
- for (; !x.next().done; ) {
2117
- if (S.length >= b) return null;
2118
- S.push(x.value);
2119
- }
2120
- return S;
2121
- }
2122
- highlight(e6, b, x, S) {
2123
- let C = regexpCursor(this.spec, e6, Math.max(0, b - 250), Math.min(x + 250, e6.doc.length));
2124
- for (; !C.next().done; ) S(C.value.from, C.value.to);
2125
- }
2126
- }, setSearchQuery = /* @__PURE__ */ StateEffect.define(), togglePanel = /* @__PURE__ */ StateEffect.define(), searchState = /* @__PURE__ */ StateField.define({
2127
- create(e6) {
2128
- return new SearchState(defaultQuery(e6).create(), null);
2129
- },
2130
- update(e6, b) {
2131
- for (let x of b.effects) x.is(setSearchQuery) ? e6 = new SearchState(x.value.create(), e6.panel) : x.is(togglePanel) && (e6 = new SearchState(e6.query, x.value ? createSearchPanel : null));
2132
- return e6;
2133
- },
2134
- provide: (e6) => showPanel.from(e6, (e7) => e7.panel)
2135
- }), SearchState = class {
2136
- constructor(e6, b) {
2137
- this.query = e6, this.panel = b;
2138
- }
2139
- }, matchMark = /* @__PURE__ */ Decoration.mark({ class: "cm-searchMatch" }), selectedMatchMark = /* @__PURE__ */ Decoration.mark({ class: "cm-searchMatch cm-searchMatch-selected" }), searchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class {
2140
- constructor(e6) {
2141
- this.view = e6, this.decorations = this.highlight(e6.state.field(searchState));
2142
- }
2143
- update(e6) {
2144
- let b = e6.state.field(searchState);
2145
- (b != e6.startState.field(searchState) || e6.docChanged || e6.selectionSet || e6.viewportChanged) && (this.decorations = this.highlight(b));
2146
- }
2147
- highlight({ query: e6, panel: b }) {
2148
- if (!b || !e6.spec.valid) return Decoration.none;
2149
- let { view: x } = this, S = new RangeSetBuilder();
2150
- for (let b2 = 0, C = x.visibleRanges, w = C.length; b2 < w; b2++) {
2151
- let { from: T, to: E } = C[b2];
2152
- for (; b2 < w - 1 && E > C[b2 + 1].from - 500; ) E = C[++b2].to;
2153
- e6.highlight(x.state, T, E, (e7, b3) => {
2154
- let C2 = x.state.selection.ranges.some((x2) => x2.from == e7 && x2.to == b3);
2155
- S.add(e7, b3, C2 ? selectedMatchMark : matchMark);
2156
- });
2157
- }
2158
- return S.finish();
2159
- }
2160
- }, { decorations: (e6) => e6.decorations });
2161
- function searchCommand(e6) {
2162
- return (b) => {
2163
- let x = b.state.field(searchState, false);
2164
- return x && x.query.spec.valid ? e6(b, x) : openSearchPanel(b);
2165
- };
2166
- }
2167
- var findNext = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
2168
- let { to: x } = e6.state.selection.main, S = b.nextMatch(e6.state, x, x);
2169
- if (!S) return false;
2170
- let C = EditorSelection.single(S.from, S.to), w = e6.state.facet(searchConfigFacet);
2171
- return e6.dispatch({
2172
- selection: C,
2173
- effects: [announceMatch(e6, S), w.scrollToMatch(C.main, e6)],
2174
- userEvent: "select.search"
2175
- }), selectSearchInput(e6), true;
2176
- }), findPrevious = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
2177
- let { state: x } = e6, { from: S } = x.selection.main, C = b.prevMatch(x, S, S);
2178
- if (!C) return false;
2179
- let w = EditorSelection.single(C.from, C.to), T = e6.state.facet(searchConfigFacet);
2180
- return e6.dispatch({
2181
- selection: w,
2182
- effects: [announceMatch(e6, C), T.scrollToMatch(w.main, e6)],
2183
- userEvent: "select.search"
2184
- }), selectSearchInput(e6), true;
2185
- }), selectMatches = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
2186
- let x = b.matchAll(e6.state, 1e3);
2187
- return !x || !x.length ? false : (e6.dispatch({
2188
- selection: EditorSelection.create(x.map((e7) => EditorSelection.range(e7.from, e7.to))),
2189
- userEvent: "select.search.matches"
2190
- }), true);
2191
- }), selectSelectionMatches = ({ state: e6, dispatch: b }) => {
2192
- let x = e6.selection;
2193
- if (x.ranges.length > 1 || x.main.empty) return false;
2194
- let { from: S, to: C } = x.main, w = [], T = 0;
2195
- for (let b2 = new SearchCursor(e6.doc, e6.sliceDoc(S, C)); !b2.next().done; ) {
2196
- if (w.length > 1e3) return false;
2197
- b2.value.from == S && (T = w.length), w.push(EditorSelection.range(b2.value.from, b2.value.to));
2198
- }
2199
- return b(e6.update({
2200
- selection: EditorSelection.create(w, T),
2201
- userEvent: "select.search.matches"
2202
- })), true;
2203
- }, replaceNext = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
2204
- let { state: x } = e6, { from: S, to: C } = x.selection.main;
2205
- if (x.readOnly) return false;
2206
- let w = b.nextMatch(x, S, S);
2207
- if (!w) return false;
2208
- let T = w, E = [], D, O, k = [];
2209
- T.from == S && T.to == C && (O = x.toText(b.getReplacement(T)), E.push({
2210
- from: T.from,
2211
- to: T.to,
2212
- insert: O
2213
- }), T = b.nextMatch(x, T.from, T.to), k.push(EditorView.announce.of(x.phrase("replaced match on line $", x.doc.lineAt(S).number) + ".")));
2214
- let A = e6.state.changes(E);
2215
- return T && (D = EditorSelection.single(T.from, T.to).map(A), k.push(announceMatch(e6, T)), k.push(x.facet(searchConfigFacet).scrollToMatch(D.main, e6))), e6.dispatch({
2216
- changes: A,
2217
- selection: D,
2218
- effects: k,
2219
- userEvent: "input.replace"
2220
- }), true;
2221
- }), replaceAll = /* @__PURE__ */ searchCommand((e6, { query: b }) => {
2222
- if (e6.state.readOnly) return false;
2223
- let x = b.matchAll(e6.state, 1e9).map((e7) => {
2224
- let { from: x2, to: S2 } = e7;
2225
- return {
2226
- from: x2,
2227
- to: S2,
2228
- insert: b.getReplacement(e7)
2229
- };
2230
- });
2231
- if (!x.length) return false;
2232
- let S = e6.state.phrase("replaced $ matches", x.length) + ".";
2233
- return e6.dispatch({
2234
- changes: x,
2235
- effects: EditorView.announce.of(S),
2236
- userEvent: "input.replace.all"
2237
- }), true;
2238
- });
2239
- function createSearchPanel(e6) {
2240
- return e6.state.facet(searchConfigFacet).createPanel(e6);
2241
- }
2242
- function defaultQuery(e6, b) {
2243
- let x = e6.selection.main, S = x.empty || x.to > x.from + 100 ? "" : e6.sliceDoc(x.from, x.to);
2244
- if (b && !S) return b;
2245
- let C = e6.facet(searchConfigFacet);
2246
- return new SearchQuery({
2247
- search: (b == null ? void 0 : b.literal) ?? C.literal ? S : S.replace(/\n/g, "\\n"),
2248
- caseSensitive: (b == null ? void 0 : b.caseSensitive) ?? C.caseSensitive,
2249
- literal: (b == null ? void 0 : b.literal) ?? C.literal,
2250
- regexp: (b == null ? void 0 : b.regexp) ?? C.regexp,
2251
- wholeWord: (b == null ? void 0 : b.wholeWord) ?? C.wholeWord
2252
- });
2253
- }
2254
- function getSearchInput(e6) {
2255
- let b = getPanel(e6, createSearchPanel);
2256
- return b && b.dom.querySelector("[main-field]");
2257
- }
2258
- function selectSearchInput(e6) {
2259
- let b = getSearchInput(e6);
2260
- b && b == e6.root.activeElement && b.select();
2261
- }
2262
- var openSearchPanel = (e6) => {
2263
- let b = e6.state.field(searchState, false);
2264
- if (b && b.panel) {
2265
- let x = getSearchInput(e6);
2266
- if (x && x != e6.root.activeElement) {
2267
- let S = defaultQuery(e6.state, b.query.spec);
2268
- S.valid && e6.dispatch({ effects: setSearchQuery.of(S) }), x.focus(), x.select();
2269
- }
2270
- } else e6.dispatch({ effects: [togglePanel.of(true), b ? setSearchQuery.of(defaultQuery(e6.state, b.query.spec)) : StateEffect.appendConfig.of(searchExtensions)] });
2271
- return true;
2272
- }, closeSearchPanel = (e6) => {
2273
- let b = e6.state.field(searchState, false);
2274
- if (!b || !b.panel) return false;
2275
- let x = getPanel(e6, createSearchPanel);
2276
- return x && x.dom.contains(e6.root.activeElement) && e6.focus(), e6.dispatch({ effects: togglePanel.of(false) }), true;
2277
- }, searchKeymap = [
2278
- {
2279
- key: "Mod-f",
2280
- run: openSearchPanel,
2281
- scope: "editor search-panel"
2282
- },
2283
- {
2284
- key: "F3",
2285
- run: findNext,
2286
- shift: findPrevious,
2287
- scope: "editor search-panel",
2288
- preventDefault: true
2289
- },
2290
- {
2291
- key: "Mod-g",
2292
- run: findNext,
2293
- shift: findPrevious,
2294
- scope: "editor search-panel",
2295
- preventDefault: true
2296
- },
2297
- {
2298
- key: "Escape",
2299
- run: closeSearchPanel,
2300
- scope: "editor search-panel"
2301
- },
2302
- {
2303
- key: "Mod-Shift-l",
2304
- run: selectSelectionMatches
2305
- },
2306
- {
2307
- key: "Mod-Alt-g",
2308
- run: gotoLine
2309
- },
2310
- {
2311
- key: "Mod-d",
2312
- run: selectNextOccurrence,
2313
- preventDefault: true
2314
- }
2315
- ], SearchPanel = class {
2316
- constructor(e6) {
2317
- this.view = e6;
2318
- let b = this.query = e6.state.field(searchState).query.spec;
2319
- this.commit = this.commit.bind(this), this.searchField = crelt("input", {
2320
- value: b.search,
2321
- placeholder: phrase(e6, "Find"),
2322
- "aria-label": phrase(e6, "Find"),
2323
- class: "cm-textfield",
2324
- name: "search",
2325
- form: "",
2326
- "main-field": "true",
2327
- onchange: this.commit,
2328
- onkeyup: this.commit
2329
- }), this.replaceField = crelt("input", {
2330
- value: b.replace,
2331
- placeholder: phrase(e6, "Replace"),
2332
- "aria-label": phrase(e6, "Replace"),
2333
- class: "cm-textfield",
2334
- name: "replace",
2335
- form: "",
2336
- onchange: this.commit,
2337
- onkeyup: this.commit
2338
- }), this.caseField = crelt("input", {
2339
- type: "checkbox",
2340
- name: "case",
2341
- form: "",
2342
- checked: b.caseSensitive,
2343
- onchange: this.commit
2344
- }), this.reField = crelt("input", {
2345
- type: "checkbox",
2346
- name: "re",
2347
- form: "",
2348
- checked: b.regexp,
2349
- onchange: this.commit
2350
- }), this.wordField = crelt("input", {
2351
- type: "checkbox",
2352
- name: "word",
2353
- form: "",
2354
- checked: b.wholeWord,
2355
- onchange: this.commit
2356
- });
2357
- function x(e7, b2, x2) {
2358
- return crelt("button", {
2359
- class: "cm-button",
2360
- name: e7,
2361
- onclick: b2,
2362
- type: "button"
2363
- }, x2);
2364
- }
2365
- this.dom = crelt("div", {
2366
- onkeydown: (e7) => this.keydown(e7),
2367
- class: "cm-search"
2368
- }, [
2369
- this.searchField,
2370
- x("next", () => findNext(e6), [phrase(e6, "next")]),
2371
- x("prev", () => findPrevious(e6), [phrase(e6, "previous")]),
2372
- x("select", () => selectMatches(e6), [phrase(e6, "all")]),
2373
- crelt("label", null, [this.caseField, phrase(e6, "match case")]),
2374
- crelt("label", null, [this.reField, phrase(e6, "regexp")]),
2375
- crelt("label", null, [this.wordField, phrase(e6, "by word")]),
2376
- ...e6.state.readOnly ? [] : [
2377
- crelt("br"),
2378
- this.replaceField,
2379
- x("replace", () => replaceNext(e6), [phrase(e6, "replace")]),
2380
- x("replaceAll", () => replaceAll(e6), [phrase(e6, "replace all")])
2381
- ],
2382
- crelt("button", {
2383
- name: "close",
2384
- onclick: () => closeSearchPanel(e6),
2385
- "aria-label": phrase(e6, "close"),
2386
- type: "button"
2387
- }, ["\xD7"])
2388
- ]);
2389
- }
2390
- commit() {
2391
- let e6 = new SearchQuery({
2392
- search: this.searchField.value,
2393
- caseSensitive: this.caseField.checked,
2394
- regexp: this.reField.checked,
2395
- wholeWord: this.wordField.checked,
2396
- replace: this.replaceField.value
2397
- });
2398
- e6.eq(this.query) || (this.query = e6, this.view.dispatch({ effects: setSearchQuery.of(e6) }));
2399
- }
2400
- keydown(e6) {
2401
- runScopeHandlers(this.view, e6, "search-panel") ? e6.preventDefault() : e6.keyCode == 13 && e6.target == this.searchField ? (e6.preventDefault(), (e6.shiftKey ? findPrevious : findNext)(this.view)) : e6.keyCode == 13 && e6.target == this.replaceField && (e6.preventDefault(), replaceNext(this.view));
2402
- }
2403
- update(e6) {
2404
- for (let b of e6.transactions) for (let e7 of b.effects) e7.is(setSearchQuery) && !e7.value.eq(this.query) && this.setQuery(e7.value);
2405
- }
2406
- setQuery(e6) {
2407
- this.query = e6, this.searchField.value = e6.search, this.replaceField.value = e6.replace, this.caseField.checked = e6.caseSensitive, this.reField.checked = e6.regexp, this.wordField.checked = e6.wholeWord;
2408
- }
2409
- mount() {
2410
- this.searchField.select();
2411
- }
2412
- get pos() {
2413
- return 80;
2414
- }
2415
- get top() {
2416
- return this.view.state.facet(searchConfigFacet).top;
2417
- }
2418
- };
2419
- function phrase(e6, b) {
2420
- return e6.state.phrase(b);
2421
- }
2422
- var AnnounceMargin = 30, Break = /[\s\.,:;?!]/;
2423
- function announceMatch(e6, { from: b, to: x }) {
2424
- let S = e6.state.doc.lineAt(b), C = e6.state.doc.lineAt(x).to, w = Math.max(S.from, b - AnnounceMargin), T = Math.min(C, x + AnnounceMargin), E = e6.state.sliceDoc(w, T);
2425
- if (w != S.from) {
2426
- for (let e7 = 0; e7 < AnnounceMargin; e7++) if (!Break.test(E[e7 + 1]) && Break.test(E[e7])) {
2427
- E = E.slice(e7);
2428
- break;
2429
- }
2430
- }
2431
- if (T != C) {
2432
- for (let e7 = E.length - 1; e7 > E.length - AnnounceMargin; e7--) if (!Break.test(E[e7 - 1]) && Break.test(E[e7])) {
2433
- E = E.slice(0, e7);
2434
- break;
2435
- }
2436
- }
2437
- return EditorView.announce.of(`${e6.state.phrase("current match")}. ${E} ${e6.state.phrase("on line")} ${S.number}.`);
2438
- }
2439
- var baseTheme = /* @__PURE__ */ EditorView.baseTheme({
2440
- ".cm-panel.cm-search": {
2441
- padding: "2px 6px 4px",
2442
- position: "relative",
2443
- "& [name=close]": {
2444
- position: "absolute",
2445
- top: "0",
2446
- right: "4px",
2447
- backgroundColor: "inherit",
2448
- border: "none",
2449
- font: "inherit",
2450
- padding: 0,
2451
- margin: 0
2452
- },
2453
- "& input, & button, & label": { margin: ".2em .6em .2em 0" },
2454
- "& input[type=checkbox]": { marginRight: ".2em" },
2455
- "& label": {
2456
- fontSize: "80%",
2457
- whiteSpace: "pre"
2458
- }
2459
- },
2460
- "&light .cm-searchMatch": { backgroundColor: "#ffff0054" },
2461
- "&dark .cm-searchMatch": { backgroundColor: "#00ffff8a" },
2462
- "&light .cm-searchMatch-selected": { backgroundColor: "#ff6a0054" },
2463
- "&dark .cm-searchMatch-selected": { backgroundColor: "#ff00ff8a" }
2464
- }), searchExtensions = [
2465
- searchState,
2466
- /* @__PURE__ */ Prec.low(searchHighlighter),
2467
- baseTheme
2468
- ];
2469
- function _extends() {
2470
- return _extends = Object.assign ? Object.assign.bind() : function(e6) {
2471
- for (var b = 1; b < arguments.length; b++) {
2472
- var x = arguments[b];
2473
- for (var S in x) ({}).hasOwnProperty.call(x, S) && (e6[S] = x[S]);
2474
- }
2475
- return e6;
2476
- }, _extends.apply(null, arguments);
2477
- }
2478
- function _objectWithoutPropertiesLoose(e6, b) {
2479
- if (e6 == null) return {};
2480
- var x = {};
2481
- for (var S in e6) if ({}.hasOwnProperty.call(e6, S)) {
2482
- if (b.indexOf(S) !== -1) continue;
2483
- x[S] = e6[S];
2484
- }
2485
- return x;
2486
- }
2487
- var basicSetup = function(e6) {
2488
- e6 === void 0 && (e6 = {});
2489
- var { crosshairCursor: b = false } = e6, x = [];
2490
- e6.closeBracketsKeymap !== false && (x = x.concat(closeBracketsKeymap)), e6.defaultKeymap !== false && (x = x.concat(defaultKeymap)), e6.searchKeymap !== false && (x = x.concat(searchKeymap)), e6.historyKeymap !== false && (x = x.concat(historyKeymap)), e6.foldKeymap !== false && (x = x.concat(foldKeymap)), e6.completionKeymap !== false && (x = x.concat(completionKeymap)), e6.lintKeymap !== false && (x = x.concat(lintKeymap));
2491
- var S = [];
2492
- return e6.lineNumbers !== false && S.push(lineNumbers()), e6.highlightActiveLineGutter !== false && S.push(highlightActiveLineGutter()), e6.highlightSpecialChars !== false && S.push(highlightSpecialChars()), e6.history !== false && S.push(history()), e6.foldGutter !== false && S.push(foldGutter()), e6.drawSelection !== false && S.push(drawSelection()), e6.dropCursor !== false && S.push(dropCursor()), e6.allowMultipleSelections !== false && S.push(EditorState.allowMultipleSelections.of(true)), e6.indentOnInput !== false && S.push(indentOnInput()), e6.syntaxHighlighting !== false && S.push(syntaxHighlighting(defaultHighlightStyle, { fallback: true })), e6.bracketMatching !== false && S.push(bracketMatching()), e6.closeBrackets !== false && S.push(closeBrackets()), e6.autocompletion !== false && S.push(autocompletion()), e6.rectangularSelection !== false && S.push(rectangularSelection()), b !== false && S.push(crosshairCursor()), e6.highlightActiveLine !== false && S.push(highlightActiveLine()), e6.highlightSelectionMatches !== false && S.push(highlightSelectionMatches()), e6.tabSize && typeof e6.tabSize == "number" && S.push(indentUnit.of(" ".repeat(e6.tabSize))), S.concat([keymap.of(x.flat())]).filter(Boolean);
2493
- }, minimalSetup = function(e6) {
2494
- e6 === void 0 && (e6 = {});
2495
- var b = [];
2496
- e6.defaultKeymap !== false && (b = b.concat(defaultKeymap)), e6.historyKeymap !== false && (b = b.concat(historyKeymap));
2497
- var x = [];
2498
- return e6.highlightSpecialChars !== false && x.push(highlightSpecialChars()), e6.history !== false && x.push(history()), e6.drawSelection !== false && x.push(drawSelection()), e6.syntaxHighlighting !== false && x.push(syntaxHighlighting(defaultHighlightStyle, { fallback: true })), x.concat([keymap.of(b.flat())]).filter(Boolean);
2499
- }, chalky = "#e5c07b", coral = "#e06c75", cyan = "#56b6c2", invalid = "#ffffff", ivory = "#abb2bf", stone = "#7d8799", malibu = "#61afef", sage = "#98c379", whiskey = "#d19a66", violet = "#c678dd", darkBackground = "#21252b", highlightBackground = "#2c313a", background = "#282c34", tooltipBackground = "#353a42", selection = "#3E4451", cursor = "#528bff", oneDark = [/* @__PURE__ */ EditorView.theme({
2500
- "&": {
2501
- color: ivory,
2502
- backgroundColor: background
2503
- },
2504
- ".cm-content": { caretColor: cursor },
2505
- ".cm-cursor, .cm-dropCursor": { borderLeftColor: cursor },
2506
- "&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection": { backgroundColor: selection },
2507
- ".cm-panels": {
2508
- backgroundColor: darkBackground,
2509
- color: ivory
2510
- },
2511
- ".cm-panels.cm-panels-top": { borderBottom: "2px solid black" },
2512
- ".cm-panels.cm-panels-bottom": { borderTop: "2px solid black" },
2513
- ".cm-searchMatch": {
2514
- backgroundColor: "#72a1ff59",
2515
- outline: "1px solid #457dff"
2516
- },
2517
- ".cm-searchMatch.cm-searchMatch-selected": { backgroundColor: "#6199ff2f" },
2518
- ".cm-activeLine": { backgroundColor: "#6699ff0b" },
2519
- ".cm-selectionMatch": { backgroundColor: "#aafe661a" },
2520
- "&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket": { backgroundColor: "#bad0f847" },
2521
- ".cm-gutters": {
2522
- backgroundColor: background,
2523
- color: stone,
2524
- border: "none"
2525
- },
2526
- ".cm-activeLineGutter": { backgroundColor: highlightBackground },
2527
- ".cm-foldPlaceholder": {
2528
- backgroundColor: "transparent",
2529
- border: "none",
2530
- color: "#ddd"
2531
- },
2532
- ".cm-tooltip": {
2533
- border: "none",
2534
- backgroundColor: tooltipBackground
2535
- },
2536
- ".cm-tooltip .cm-tooltip-arrow:before": {
2537
- borderTopColor: "transparent",
2538
- borderBottomColor: "transparent"
2539
- },
2540
- ".cm-tooltip .cm-tooltip-arrow:after": {
2541
- borderTopColor: tooltipBackground,
2542
- borderBottomColor: tooltipBackground
2543
- },
2544
- ".cm-tooltip-autocomplete": { "& > ul > li[aria-selected]": {
2545
- backgroundColor: highlightBackground,
2546
- color: ivory
2547
- } }
2548
- }, { dark: true }), /* @__PURE__ */ syntaxHighlighting(/* @__PURE__ */ HighlightStyle.define([
2549
- {
2550
- tag: tags.keyword,
2551
- color: violet
2552
- },
2553
- {
2554
- tag: [
2555
- tags.name,
2556
- tags.deleted,
2557
- tags.character,
2558
- tags.propertyName,
2559
- tags.macroName
2560
- ],
2561
- color: coral
2562
- },
2563
- {
2564
- tag: [/* @__PURE__ */ tags.function(tags.variableName), tags.labelName],
2565
- color: malibu
2566
- },
2567
- {
2568
- tag: [
2569
- tags.color,
2570
- /* @__PURE__ */ tags.constant(tags.name),
2571
- /* @__PURE__ */ tags.standard(tags.name)
2572
- ],
2573
- color: whiskey
2574
- },
2575
- {
2576
- tag: [/* @__PURE__ */ tags.definition(tags.name), tags.separator],
2577
- color: ivory
2578
- },
2579
- {
2580
- tag: [
2581
- tags.typeName,
2582
- tags.className,
2583
- tags.number,
2584
- tags.changed,
2585
- tags.annotation,
2586
- tags.modifier,
2587
- tags.self,
2588
- tags.namespace
2589
- ],
2590
- color: chalky
2591
- },
2592
- {
2593
- tag: [
2594
- tags.operator,
2595
- tags.operatorKeyword,
2596
- tags.url,
2597
- tags.escape,
2598
- tags.regexp,
2599
- tags.link,
2600
- /* @__PURE__ */ tags.special(tags.string)
2601
- ],
2602
- color: cyan
2603
- },
2604
- {
2605
- tag: [tags.meta, tags.comment],
2606
- color: stone
2607
- },
2608
- {
2609
- tag: tags.strong,
2610
- fontWeight: "bold"
2611
- },
2612
- {
2613
- tag: tags.emphasis,
2614
- fontStyle: "italic"
2615
- },
2616
- {
2617
- tag: tags.strikethrough,
2618
- textDecoration: "line-through"
2619
- },
2620
- {
2621
- tag: tags.link,
2622
- color: stone,
2623
- textDecoration: "underline"
2624
- },
2625
- {
2626
- tag: tags.heading,
2627
- fontWeight: "bold",
2628
- color: coral
2629
- },
2630
- {
2631
- tag: [
2632
- tags.atom,
2633
- tags.bool,
2634
- /* @__PURE__ */ tags.special(tags.variableName)
2635
- ],
2636
- color: whiskey
2637
- },
2638
- {
2639
- tag: [
2640
- tags.processingInstruction,
2641
- tags.string,
2642
- tags.inserted
2643
- ],
2644
- color: sage
2645
- },
2646
- {
2647
- tag: tags.invalid,
2648
- color: invalid
2649
- }
2650
- ]))], defaultLightThemeOption = EditorView.theme({ "&": { backgroundColor: "#fff" } }, { dark: false }), getDefaultExtensions = function(e6) {
2651
- e6 === void 0 && (e6 = {});
2652
- var { indentWithTab: b = true, editable: x = true, readOnly: S = false, theme: C = "light", placeholder: w = "", basicSetup: T = true } = e6, E = [];
2653
- switch (b && E.unshift(keymap.of([indentWithTab])), T && (typeof T == "boolean" ? E.unshift(basicSetup()) : E.unshift(basicSetup(T))), w && E.unshift(placeholder(w)), C) {
2654
- case "light":
2655
- E.push(defaultLightThemeOption);
2656
- break;
2657
- case "dark":
2658
- E.push(oneDark);
2659
- break;
2660
- case "none":
2661
- break;
2662
- default:
2663
- E.push(C);
2664
- break;
2665
- }
2666
- return x === false && E.push(EditorView.editable.of(false)), S && E.push(EditorState.readOnly.of(true)), [...E];
2667
- }, getStatistics = (e6) => ({
2668
- line: e6.state.doc.lineAt(e6.state.selection.main.from),
2669
- lineCount: e6.state.doc.lines,
2670
- lineBreak: e6.state.lineBreak,
2671
- length: e6.state.doc.length,
2672
- readOnly: e6.state.readOnly,
2673
- tabSize: e6.state.tabSize,
2674
- selection: e6.state.selection,
2675
- selectionAsSingle: e6.state.selection.asSingle().main,
2676
- ranges: e6.state.selection.ranges,
2677
- selectionCode: e6.state.sliceDoc(e6.state.selection.main.from, e6.state.selection.main.to),
2678
- selections: e6.state.selection.ranges.map((b) => e6.state.sliceDoc(b.from, b.to)),
2679
- selectedText: e6.state.selection.ranges.some((e7) => !e7.empty)
2680
- }), TimeoutLatch = class {
2681
- constructor(e6, b) {
2682
- this.timeLeftMS = void 0, this.timeoutMS = void 0, this.isCancelled = false, this.isTimeExhausted = false, this.callbacks = [], this.timeLeftMS = b, this.timeoutMS = b, this.callbacks.push(e6);
2683
- }
2684
- tick() {
2685
- if (!this.isCancelled && !this.isTimeExhausted && (this.timeLeftMS--, this.timeLeftMS <= 0)) {
2686
- this.isTimeExhausted = true;
2687
- var e6 = this.callbacks.slice();
2688
- this.callbacks.length = 0, e6.forEach((e7) => {
2689
- try {
2690
- e7();
2691
- } catch (e8) {
2692
- console.error("TimeoutLatch callback error:", e8);
2693
- }
2694
- });
2695
- }
2696
- }
2697
- cancel() {
2698
- this.isCancelled = true, this.callbacks.length = 0;
2699
- }
2700
- reset() {
2701
- this.timeLeftMS = this.timeoutMS, this.isCancelled = false, this.isTimeExhausted = false;
2702
- }
2703
- get isDone() {
2704
- return this.isCancelled || this.isTimeExhausted;
2705
- }
2706
- }, Scheduler = class {
2707
- constructor() {
2708
- this.interval = null, this.latches = /* @__PURE__ */ new Set();
2709
- }
2710
- add(e6) {
2711
- this.latches.add(e6), this.start();
2712
- }
2713
- remove(e6) {
2714
- this.latches.delete(e6), this.latches.size === 0 && this.stop();
2715
- }
2716
- start() {
2717
- this.interval === null && (this.interval = setInterval(() => {
2718
- this.latches.forEach((e6) => {
2719
- e6.tick(), e6.isDone && this.remove(e6);
2720
- });
2721
- }, 1));
2722
- }
2723
- stop() {
2724
- this.interval !== null && (clearInterval(this.interval), this.interval = null);
2725
- }
2726
- }, globalScheduler = null, getScheduler = () => typeof window > "u" ? new Scheduler() : (globalScheduler || (globalScheduler = new Scheduler()), globalScheduler), ExternalChange = Annotation.define(), TYPING_TIMOUT = 200, emptyExtensions = [];
2727
- function useCodeMirror(e6) {
2728
- var { value: b, selection: x, onChange: S, onStatistics: C, onCreateEditor: w, onUpdate: T, extensions: E = emptyExtensions, autoFocus: D, theme: O = "light", height: k = null, minHeight: A = null, maxHeight: j = null, width: M = null, minWidth: N = null, maxWidth: P = null, placeholder: F = "", editable: I = true, readOnly: L = false, indentWithTab: z = true, basicSetup: B = true, root: V, initialState: H } = e6, [U, W] = (0, import_react.useState)(), [G, K] = (0, import_react.useState)(), [J, Y] = (0, import_react.useState)(), X = (0, import_react.useState)(() => ({ current: null }))[0], Z = (0, import_react.useState)(() => ({ current: null }))[0], Q = EditorView.theme({
2729
- "&": {
2730
- height: k,
2731
- minHeight: A,
2732
- maxHeight: j,
2733
- width: M,
2734
- minWidth: N,
2735
- maxWidth: P
2736
- },
2737
- "& .cm-scroller": { height: "100% !important" }
2738
- }), $ = [
2739
- EditorView.updateListener.of((e7) => {
2740
- e7.docChanged && typeof S == "function" && !e7.transactions.some((e8) => e8.annotation(ExternalChange)) && (X.current ? X.current.reset() : (X.current = new TimeoutLatch(() => {
2741
- if (Z.current) {
2742
- var e8 = Z.current;
2743
- Z.current = null, e8();
2744
- }
2745
- X.current = null;
2746
- }, TYPING_TIMOUT), getScheduler().add(X.current)), S(e7.state.doc.toString(), e7)), C && C(getStatistics(e7));
2747
- }),
2748
- Q,
2749
- ...getDefaultExtensions({
2750
- theme: O,
2751
- editable: I,
2752
- readOnly: L,
2753
- placeholder: F,
2754
- indentWithTab: z,
2755
- basicSetup: B
2756
- })
2757
- ];
2758
- return T && typeof T == "function" && $.push(EditorView.updateListener.of(T)), $ = $.concat(E), (0, import_react.useLayoutEffect)(() => {
2759
- if (U && !J) {
2760
- var e7 = {
2761
- doc: b,
2762
- selection: x,
2763
- extensions: $
2764
- }, S2 = H ? EditorState.fromJSON(H.json, e7, H.fields) : EditorState.create(e7);
2765
- if (Y(S2), !G) {
2766
- var C2 = new EditorView({
2767
- state: S2,
2768
- parent: U,
2769
- root: V
2770
- });
2771
- K(C2), w && w(C2, S2);
2772
- }
2773
- }
2774
- return () => {
2775
- G && (Y(void 0), K(void 0));
2776
- };
2777
- }, [U, J]), (0, import_react.useEffect)(() => {
2778
- e6.container && W(e6.container);
2779
- }, [e6.container]), (0, import_react.useEffect)(() => () => {
2780
- G && (G.destroy(), K(void 0)), X.current && (X.current = (X.current.cancel(), null));
2781
- }, [G]), (0, import_react.useEffect)(() => {
2782
- D && G && G.focus();
2783
- }, [D, G]), (0, import_react.useEffect)(() => {
2784
- G && G.dispatch({ effects: StateEffect.reconfigure.of($) });
2785
- }, [
2786
- O,
2787
- E,
2788
- k,
2789
- A,
2790
- j,
2791
- M,
2792
- N,
2793
- P,
2794
- F,
2795
- I,
2796
- L,
2797
- z,
2798
- B,
2799
- S,
2800
- T
2801
- ]), (0, import_react.useEffect)(() => {
2802
- if (b !== void 0) {
2803
- var e7 = G ? G.state.doc.toString() : "";
2804
- if (G && b !== e7) {
2805
- var x2 = X.current && !X.current.isDone, S2 = () => {
2806
- G && b !== G.state.doc.toString() && G.dispatch({
2807
- changes: {
2808
- from: 0,
2809
- to: G.state.doc.toString().length,
2810
- insert: b || ""
2811
- },
2812
- annotations: [ExternalChange.of(true)]
2813
- });
2814
- };
2815
- x2 ? Z.current = S2 : S2();
2816
- }
2817
- }
2818
- }, [b, G]), {
2819
- state: J,
2820
- setState: Y,
2821
- view: G,
2822
- setView: K,
2823
- container: U,
2824
- setContainer: W
2825
- };
2826
- }
2827
- var _excluded = [
2828
- "className",
2829
- "value",
2830
- "selection",
2831
- "extensions",
2832
- "onChange",
2833
- "onStatistics",
2834
- "onCreateEditor",
2835
- "onUpdate",
2836
- "autoFocus",
2837
- "theme",
2838
- "height",
2839
- "minHeight",
2840
- "maxHeight",
2841
- "width",
2842
- "minWidth",
2843
- "maxWidth",
2844
- "basicSetup",
2845
- "placeholder",
2846
- "indentWithTab",
2847
- "editable",
2848
- "readOnly",
2849
- "root",
2850
- "initialState"
2851
- ], ReactCodeMirror = /* @__PURE__ */ (0, import_react.forwardRef)((e6, b) => {
2852
- var { className: x, value: S = "", selection: C, extensions: w = [], onChange: T, onStatistics: E, onCreateEditor: D, onUpdate: O, autoFocus: k, theme: A = "light", height: j, minHeight: M, maxHeight: N, width: P, minWidth: F, maxWidth: I, basicSetup: L, placeholder: R, indentWithTab: z, editable: B, readOnly: V, root: H, initialState: U } = e6, W = _objectWithoutPropertiesLoose(e6, _excluded), G = (0, import_react.useRef)(null), { state: K, view: J, container: Y, setContainer: X } = useCodeMirror({
2853
- root: H,
2854
- value: S,
2855
- autoFocus: k,
2856
- theme: A,
2857
- height: j,
2858
- minHeight: M,
2859
- maxHeight: N,
2860
- width: P,
2861
- minWidth: F,
2862
- maxWidth: I,
2863
- basicSetup: L,
2864
- placeholder: R,
2865
- indentWithTab: z,
2866
- editable: B,
2867
- readOnly: V,
2868
- selection: C,
2869
- onChange: T,
2870
- onStatistics: E,
2871
- onCreateEditor: D,
2872
- onUpdate: O,
2873
- extensions: w,
2874
- initialState: U
2875
- });
2876
- (0, import_react.useImperativeHandle)(b, () => ({
2877
- editor: G.current,
2878
- state: K,
2879
- view: J
2880
- }), [
2881
- G,
2882
- Y,
2883
- K,
2884
- J
2885
- ]);
2886
- var Z = (0, import_react.useCallback)((e7) => {
2887
- G.current = e7, X(e7);
2888
- }, [X]);
2889
- if (typeof S != "string") throw Error("value must be typeof string but got " + typeof S);
2890
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", _extends({
2891
- ref: Z,
2892
- className: (typeof A == "string" ? "cm-theme-" + A : "cm-theme") + (x ? " " + x : "")
2893
- }, W));
2894
- });
2895
- ReactCodeMirror.displayName = "CodeMirror";
2896
- var esm_default = ReactCodeMirror, strContent = 63, strDollarBrace = 64, strEnd = 65, escapeSequence = 66, indStrContent = 67, indStrDollarBrace = 68, indStrEnd = 69, indEscapeSequence = 70, quote = 34, backslack = 92, braceL = 123, dollar = 36, apostrophe = 39, scanString = /* @__PURE__ */ new ExternalTokenizer((e6) => {
2897
- for (let b = false, x = 0; ; x++) {
2898
- let { next: S } = e6;
2899
- if (S < 0) {
2900
- x > 0 && e6.acceptToken(strContent);
2901
- break;
2902
- } else if (S === quote) {
2903
- x > 0 ? e6.acceptToken(strContent) : e6.acceptToken(strEnd, 1);
2904
- break;
2905
- } else if (S === braceL && b) {
2906
- x == 1 ? e6.acceptToken(strDollarBrace, 1) : e6.acceptToken(strContent, -1);
2907
- break;
2908
- } else S === backslack && (e6.advance(), e6.acceptToken(escapeSequence, 1));
2909
- b = S === dollar, e6.advance();
2910
- }
2911
- }), scanIndString = /* @__PURE__ */ new ExternalTokenizer((e6) => {
2912
- for (let b = false, x = false, S = 0; ; S++) {
2913
- let { next: C } = e6;
2914
- if (C < 0) {
2915
- S > 0 && e6.acceptToken(indStrContent);
2916
- break;
2917
- } else if (C === apostrophe && x) {
2918
- S > 1 ? e6.acceptToken(indStrContent, -1) : e6.acceptToken(indStrEnd, 1);
2919
- break;
2920
- } else if (C === braceL && b) {
2921
- S == 1 ? e6.acceptToken(indStrDollarBrace, 1) : e6.acceptToken(indStrContent, -1);
2922
- break;
2923
- } else C === backslack && (e6.advance(), e6.acceptToken(indEscapeSequence, 1));
2924
- b = C === dollar, x = C === apostrophe, e6.advance();
2925
- }
2926
- }), spec_Identifier = {
2927
- __proto__: null,
2928
- assert: 22,
2929
- with: 26,
2930
- let: 30,
2931
- inherit: 42,
2932
- in: 48,
2933
- if: 52,
2934
- then: 54,
2935
- else: 56,
2936
- builtins: 70,
2937
- null: 214,
2938
- true: 216,
2939
- false: 216,
2940
- rec: 100,
2941
- or: 108
2942
- }, parser$3 = /* @__PURE__ */ LRParser.deserialize({
2943
- version: 14,
2944
- states: "7QO]QSOOO!sQWO'#DyO#XQ`O'#EjO&QQSO'#C`O&YQTO'#CnO'lQWO'#EWO(VQSO'#C|O(VQSO'#C|OOQO'#DQ'#DQOOQO'#DT'#DTO)dQUO'#DUO*yQSO'#DcOOQO'#Ej'#EjO,XQ`O'#EiOOQO'#Ei'#EiO-wQ`O'#EXOOQO'#Eh'#EhOOQO'#EX'#EXOOQO'#EW'#EWOOQO'#Dw'#DwO]QSO'#CfO]QSO'#ChO/dQSO'#D^O]QSO'#CuO]QSO'#D[O/xQSO'#D_QOQSOOO/}QSO'#CdO0`Q`O,5:eO3XQSO,5:eO3aQSO,5:eO4sQSO'#EOOOQO'#Cm'#CmOOQO'#Df'#DfO4}QSO,59wO]QSO'#CpO5`QSO'#ClO5eQSO'#EUO]QSO,58zO5sQSO,58zO5xQSO,58zOOQP'#EQ'#EQOOQP'#Dg'#DgO5}QTO,59YOOQO,59Y,59YO]QSO'#CoO6]QSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO6|QWO,59hO8VQSO'#D]O/xQSO'#D^OOQO,59h,59hOOQQ'#En'#EnOOQQ'#Dj'#DjO8hQUO,59pOOQO,59p,59pO]QSO'#DVOOQO'#Dk'#DkO8vQSO,59}OOQO,59},59}O8}QSO'#EiO6]QSO,59jOOQO,59i,59iO9XQSO,59QO9^QSO,59SO9cQSO,59UO]QSO,59UOOQO,59x,59xO9tQSO,59aO9yQSO,59vOOQO,59y,59yO:OQSO'#DhO;hQSO,5:jO]QSO,59OO;rQWO1G0PO;zQSO1G0POOQO1G0P1G0POOQO-E7d-E7dOOQO1G/c1G/cO<SQSO,59[O]QSO,59WOOQO'#Di'#DiO<XQSO,5:pO]QSO,5:qOOQO1G.f1G.fO<gQWO'#DyO<rQSO1G.fOOQP-E7e-E7eOOQO1G.t1G.tO<wQSO,59ZO<|Q`O'#EOOOQO1G/P1G/PO@PQWO1G/PO@WQWO1G/POAuQWO1G/POA|QWO1G/POBTQWO1G/POC^QWO1G/PODgQWO1G/POEpQWO1G/POFyQWO1G/POHSQWO1G/POI]QWO1G/POJfQWO1G/POKoQWO1G/POOQO,59w,59wOOQQ-E7h-E7hOOQO1G/[1G/[OLYQSO,59qOOQO-E7i-E7iOOQO1G/i1G/iOMfQ`O1G/UO]QSO1G.lO]QSO1G.nO]QSO1G.pOOQO1G.p1G.pO]QSO1G.{OOQO1G/b1G/bOOQO,5:S,5:SOOQO-E7f-E7fOOQO1G.j1G.jO! UQSO'#CdOOQO,5:P,5:PO! aQSO7+%kO! fQWO7+%kOOQO-E7c-E7cOOQO7+%k7+%kOOQO1G.v1G.vO! nQSO1G.rOOQO-E7g-E7gOOQO1G0[1G0[O! sQSO1G0]OOQO,5:e,5:eO]QSO7+$QOOQP1G.u1G.uO! xQ`O,5:jOOQQ1G/]1G/]O!#eQSO1G/UO)rQSO7+$pOOQO7+$W7+$WOOQO7+$Y7+$YOOQO7+$[7+$[O!#oQSO7+$gOOQO<<IV<<IVO!#tQSO<<IVP!#yQSO'#DeOOQO7+$^7+$^O!$OQSO7+%wOOQO<<Gl<<GlOOQO<<H[<<H[O]QSO<<HROOQOAN>qAN>qO!$ZQSO<<IcOOQOAN=mAN=mOOQOAN>}AN>}O!$iQSO,59jO)rQSO7+$p",
2945
- stateData: "!$x~O!jOSPOSQOS~OTQOUPOZdO]eO_fOfhOjgOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~OTkOVlOXnOeuO!sSO!usO~O!lvO!pwOT#^XU#^X_#^Xf#^Xn#^Xo#^Xs#^Xu#^Xv#^Xz#^X{#^X|#^X}#^X!S#^X!U#^X!`#^X!n#^X!s#^X!v#^X!|#^X!}#^X#O#^X#P#^X#Q#^X#R#^X#S#^X#T#^X#U#^X#V#^X#W#^X#X#^X#Y#^X#_#^X#`#^X#a#^X!q#^Xk#^Xg#^XV#^X!o#^Xl#^X~O!lvO!pxO~O!ayO!b}O!c|O!dyO~On!TOo!VO!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO#X![O#Y!]O~O!`!zX!q!zXk!zXg!zXV!zX!o!zXl!zX~P&hOT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~O!e!bO!f!fO!g!eO!h!bO~OT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#_WO#`XO#aYO~O!T!iO~P)rOT#]XU#]X_#]Xf#]Xs#]Xu#]Xv#]Xz#]X{#]X|#]X}#]X!S#]X!U#]X!s#]X#_#]X#`#]X#a#]X~O!v!kOn#]Xo#]X!`#]X!n#]X!|#]X!}#]X#O#]X#P#]X#Q#]X#R#]X#S#]X#T#]X#U#]X#V#]X#W#]X#X#]X#Y#]X!q#]Xk#]Xg#]XV#]X!o#]Xl#]X~P+QOn!{Xo!{X!`!{X!n!{X!|!{X!}!{X#O!{X#P!{X#Q!{X#R!{X#S!{X#T!{X#U!{X#V!{X#W!{X#X!{X#Y!{X!q!{Xk!{Xg!{XV!{X!o!{Xl!{X~P)rOToOU!_OeuOh!pO!sSO!usO~OU!_O~O!n!wO!v!uOVWX!oWX!w!rX~OT!PaU!Pa_!Paf!Pan!Pao!Pas!Pau!Pav!Paz!Pa{!Pa|!Pa}!Pa!S!Pa!U!Pa!`!Pa!l!ma!n!Pa!p!ma!s!Pa!v!Pa!|!Pa!}!Pa#O!Pa#P!Pa#Q!Pa#R!Pa#S!Pa#T!Pa#U!Pa#V!Pa#W!Pa#X!Pa#Y!Pa#_!Pa#`!Pa#a!Pa!q!Pak!Pag!PaV!Pa!o!Pal!Pa~OV!zO!o!xO~OV!zO~O!v!uOT!rXU!rX_!rXf!rXs!rXu!rXv!rXz!rX{!rX|!rX}!rX!S!rX!U!rX!W!rX!s!rX#_!rX#`!rX#a!rX~O!w!rX!T!rX~P3fOToOV!|OeuO!sSO!usO~O!w#OO~OT#POf#RO!sSO!usO~OU#TO~OT#UO~O!ayO!b}O!c#WO!dyO~OT#YO!sSO!usO~O!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO~Onpaopa!`pa#Rpa#Spa#Tpa#Upa#Vpa#Wpa#Xpa#Ypa!qpakpagpaVpa!opalpa~P6hOToOV#iOeuO!sSO!usO~O!e!bO!f!fO!g#kO!h!bO~O!T#nO~P)rO!v$mO!T#]X~P+QO!q#pO~O!q#qO~OToOeuOh#rO!sSO!usO~Ok#tO~Og#uO~OT#vO!sSO!usO~O!v!uOT!raU!ra_!raf!ras!rau!rav!raz!ra{!ra|!ra}!ra!S!ra!U!ra!W!ra!s!ra#_!ra#`!ra#a!ra~O!w!ra!T!ra~P:ZOT#yOX#{O~OV$OO!o#|O~OV$PO~OT#PO!q$SO!sSO!usO~OT#yOV$UOXnO~O!l$VO~OV$WO~On!rXo!rX!`!rX!n!rX!|!rX!}!rX#O!rX#P!rX#Q!rX#R!rX#S!rX#T!rX#U!rX#V!rX#W!rX#X!rX#Y!rX!q!rXk!rXg!rXV!rX!o!rXl!rX~P3fO!n!OO!|!POnmiomi!`mi#Omi#Pmi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O!}mi~P>iO!}!PO~P>iO!n!OO!|!PO!}!PO#O!QOnmiomi!`mi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O#Pmi~P@_O#P!RO~P@_O#R!TOnmiomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TOomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TO#S!UOomi!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO!`mi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO!`mi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO!`mi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO!`mi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hO!`mi!qmikmigmiVmi!omilmi~P&hOV$YO~OTriUri_rifrisriurivrizri{ri|ri}ri!Sri!Uri!sri#_ri#`ri#ari~O!W$[Onriori!`ri!nri!|ri!}ri#Ori#Pri#Qri#Rri#Sri#Tri#Uri#Vri#Wri#Xri#Yri!qrikrigriVri!orilri~PL_O!n!wOVWX!oWX~OV$aO~OT#yOX$bO~O!q$dO~Og$eO~On!rao!ra!`!ra!n!ra!|!ra!}!ra#O!ra#P!ra#Q!ra#R!ra#S!ra#T!ra#U!ra#V!ra#W!ra#X!ra#Y!ra!q!rak!rag!raV!ra!o!ral!ra~P:ZO!W$nO!Tri~PL_Ol$hO~OV$iO~OT#yO~OT#PO!sSO!usO~OT#PO!q$lO!sSO!usO~OToO!sSO!usO~Oz!v!v~",
2946
- goto: "2g#cPPPP#dPPP#yP#dP#dP#dP$S$Z$k%{%fPPPP&PPPP&fPP&f'[(QP({PP({({)vPPPP({)z({({PPP({P*|+S+_+e+p+z,QPPPPPPPPPPP,WP-cPPPP-{P.VPPP$S$S#d.ZPPPPPPPPPPPPPP/o0e1fPPP2cwcOdeghsv}!f!p!w#O#R#p#q#r#t$V$hSmP#TV#z!x#|$cZqPfr!_!oYtPfr!_!oQ#Z!OQ#o!kR$Z$m!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n[oPfr!_!o$mW#Pu#Q$e$jS#Y!O!kR#v!uTyS{wbOdeghsv}!f!p!w#O#R#p#q#r#t$V$h!gaOUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!g`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!q^OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n!q[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nT!bY!d!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nS!qf!`R!tiQ!ymR#}!ySrP!_Q!ofT!{r!oQ{SR#V{S!vkoS#w!v$XR$X#YQ#QuS$R#Q$jR$j$eQ!dYR#j!dQ!hZR#m!hQjOQ!mdQ!neQ!rgQ!shQ!}sQ#SvQ#X}Q#l!fQ#s!pQ#x!wQ$Q#OQ$T#RQ$]#pQ$^#qQ$_#rQ$`#tQ$f$VR$k$hvROdeghsv}!f!p!w#O#R#p#q#r#t$V$hR#UwapPfr!O!_!k!o$mTzS{vTOdeghsv}!f!p!w#O#R#p#q#r#t$V$hQ!^UQ!aVQ#[!PQ#]!QQ#^!RQ#_!SQ#`!TQ#a!UQ#b!VQ#c!WQ#d!XQ#e!YQ#f!ZQ#g![R#h!]!g_OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!f`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$hS!gZ!hQ!l_T$g$[$n!j]OUV_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$[$hV!jZ!h$nT!cY!d",
2947
- nodeNames: "\u26A0 LineComment BlockComment Program Function Identifier { } Formal Ellipses Assert assert With with Let let Bind AttrPath String Interpolation Interpolation inherit ( ) in IfExpr if then else BinaryExpr < > UnaryExpr App Select builtins Null Integer Float Boolean IndentedString Interpolation Path HPath SPath URI Parenthesized AttrSet LetAttrSet RecAttrSet rec ] [ List or",
2948
- maxTerm: 110,
2949
- nodeProps: [[
2950
- "closedBy",
2951
- 6,
2952
- "}",
2953
- 22,
2954
- ")",
2955
- 52,
2956
- "]"
2957
- ], [
2958
- "openedBy",
2959
- 7,
2960
- "{",
2961
- 23,
2962
- "(",
2963
- 51,
2964
- "["
2965
- ]],
2966
- skippedNodes: [
2967
- 0,
2968
- 1,
2969
- 2
2970
- ],
2971
- repeatNodeCount: 7,
2972
- tokenData: ">P~RtXY#cYZ#c]^#cpq#cqr#trs$Rst$Wtu$ovw$zwx%Vxy%byz%gz{%l{|%q|})]}!O)b!O!P*X!P!Q.r!Q!R0l!R![2e![!]3S!]!^3X!^!_3^!_!`5_!`!a5l!a!b5y!b!c6O!c!}6T!}#O;g#P#Q;l#R#S:u#T#o6T#o#p;q#p#q;v#q#r<R#r#s<W~#hS!j~XY#cYZ#c]^#cpq#cV#yP#ZP!_!`#|U$RO#VU~$WO!s~~$]SP~OY$WZ;'S$W;'S;=`$i<%lO$W~$lP;=`<%l$W~$rP#o#p$u~$zO!u~~$}Pvw%Q~%VO#W~~%YPwx%]~%bO#a~~%gOf~~%lOg~~%qO!}~~%vW#P~{|&`}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}~&eW!|~{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}T'QW{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}T'mV{|(S}!O(S!O!P(S!Q![(S!c!}(S#R#S(S#T#o(ST(XWzT{|(S}!O(S!O!P(S!P!Q(q!Q![(S!c!}(S#R#S(S#T#o(ST(vVzT{|(S}!O(S!O!P(S!Q![(S!c!}(S#R#S(S#T#o(S~)bO!o~~)gX#Q~{|&}}!O&}!O!P&}!P!Q'j!Q![&}!`!a*S!c!}&}#R#S&}#T#o&}~*XO#Y~~*^W!vT{|&}}!O&}!O!P*v!P!Q'j!Q![,Q!c!}&}#R#S&}#T#o&}V*yW{|&}}!O&}!O!P+c!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}V+hWXQ{|&}}!O&}!O!P&}!P!Q'j!Q![&}!c!}&}#R#S&}#T#o&}~,V[v~{|&}}!O&}!O!P&}!P!Q'j!Q![,Q!c!g&}!g!h,{!h!}&}#R#S&}#T#X&}#X#Y,{#Y#o&}~-OW{|-h}!O-h!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~-kW{|&}}!O&}!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~.YWv~{|&}}!O&}!O!P&}!P!Q'j!Q![.T!c!}&}#R#S&}#T#o&}~.wX#O~z{/d{|(S}!O(S!O!P(S!P!Q0g!Q![(S!c!}(S#R#S(S#T#o(S~/iTQ~Oz/dz{/x{;'S/d;'S;=`0a<%lO/d~/{TO!P/d!P!Q0[!Q;'S/d;'S;=`0a<%lO/d~0aOQ~~0dP;=`<%l/d~0lO#R~~0qWu~{|&}}!O&}!O!P1Z!P!Q'j!Q![1v!c!}&}#R#S&}#T#o&}~1^W{|&}}!O&}!O!P&}!P!Q'j!Q![,Q!c!}&}#R#S&}#T#o&}~1{Wu~{|&}}!O&}!O!P&}!P!Q'j!Q![1v!c!}&}#R#S&}#T#o&}~2jWu~{|&}}!O&}!O!P,Q!P!Q'j!Q![2e!c!}&}#R#S&}#T#o&}~3XO!l~~3^O!q~~3cWn~{|3{}!O3{!O!P3{!Q![3{!_!`5Y!c!}3{#R#S3{#T#o3{~4OX{|3{}!O3{!O!P3{!P!Q4k!Q![3{!`!a5T!c!}3{#R#S3{#T#o3{~4nV{|3{}!O3{!O!P3{!Q![3{!c!}3{#R#S3{#T#o3{~5YO|~~5_O#S~V5dP!wP!_!`5gU5lO#UU~5qPo~!_!`5t~5yO#T~~6OO!n~~6TO!p~~6YYT~wx6x{|7a}!O6T!O!P7a!P!Q'j!Q![6T![!]8P!c!}6T#R#S:u#T#o6T~6}UT~wx6x}!O6x!Q![6x!c!}6x#R#S6x#T#o6x~7dX{|7a}!O7a!O!P7a!P!Q'j!Q![7a![!]8P!c!}7a#R#S&}#T#o7a~8Sdqr9btu9buv9bvw9bwx9bz{9b{|9b|}9b}!O9b!O!P9b!P!Q9b!Q![9b![!]9b!_!`9b!a!b9b!b!c9b!c!}9b#R#S9b#T#o9b#r#s9b~9gd}~qr9btu9buv9bvw9bwx9bz{9b{|9b|}9b}!O9b!O!P9b!P!Q9b!Q![9b![!]9b!_!`9b!a!b9b!b!c9b!c!}9b#R#S9b#T#o9b#r#s9b~:zXT~wx6x{|&}}!O:u!O!P&}!P!Q'j!Q![:u!c!}:u#R#S:u#T#o:u~;lO!U~~;qO!T~~;vOU~~;yP#p#q;|~<RO#X~~<WOV~~<ZP!P!Q<^~<aV{|<v}!O<v!O!P<v!Q![<v!c!}<v#R#S<v#T#o<v~<{W{~{|<v}!O<v!O!P<v!P!Q=e!Q![<v!c!}<v#R#S<v#T#o<v~=jV{~{|<v}!O<v!O!P<v!Q![<v!c!}<v#R#S<v#T#o<v",
2973
- tokenizers: [
2974
- scanString,
2975
- scanIndString,
2976
- 0,
2977
- 1,
2978
- 2
2979
- ],
2980
- topRules: { Program: [0, 3] },
2981
- specialized: [{
2982
- term: 5,
2983
- get: (e6) => spec_Identifier[e6] || -1
2984
- }],
2985
- tokenPrec: 2290
2986
- }), nixLanguage = /* @__PURE__ */ LRLanguage.define({
2987
- name: "Nix",
2988
- parser: /* @__PURE__ */ parser$3.configure({ props: [
2989
- /* @__PURE__ */ indentNodeProp.add({
2990
- Parenthesized: /* @__PURE__ */ delimitedIndent({ closing: ")" }),
2991
- AttrSet: /* @__PURE__ */ delimitedIndent({ closing: "}" }),
2992
- List: /* @__PURE__ */ delimitedIndent({ closing: "]" }),
2993
- Let: /* @__PURE__ */ continuedIndent({ except: /^\s*in\b/ })
2994
- }),
2995
- /* @__PURE__ */ foldNodeProp.add({
2996
- AttrSet: foldInside,
2997
- List: foldInside,
2998
- Let(e6) {
2999
- let b = e6.getChild("let"), x = e6.getChild("in");
3000
- return !b || !x ? null : {
3001
- from: b.to,
3002
- to: x.from
3003
- };
3004
- }
3005
- }),
3006
- /* @__PURE__ */ styleTags({
3007
- Identifier: tags.propertyName,
3008
- Boolean: tags.bool,
3009
- String: tags.string,
3010
- IndentedString: tags.string,
3011
- LineComment: tags.lineComment,
3012
- BlockComment: tags.blockComment,
3013
- Float: tags.float,
3014
- Integer: tags.integer,
3015
- Null: tags.null,
3016
- URI: tags.url,
3017
- SPath: tags.literal,
3018
- Path: tags.literal,
3019
- "( )": tags.paren,
3020
- "{ }": tags.brace,
3021
- "[ ]": tags.squareBracket,
3022
- "if then else": tags.controlKeyword,
3023
- "import with let in rec builtins inherit assert or": tags.keyword
3024
- })
3025
- ] }),
3026
- languageData: {
3027
- commentTokens: {
3028
- line: "#",
3029
- block: {
3030
- open: "/*",
3031
- close: "*/"
3032
- }
3033
- },
3034
- closeBrackets: { brackets: [
3035
- "(",
3036
- "[",
3037
- "{",
3038
- "''",
3039
- '"'
3040
- ] },
3041
- indentOnInput: /^\s*(in|\}|\)|\])$/
3042
- }
3043
- }), snippets = [/* @__PURE__ */ snippetCompletion("let ${binds} in ${expression}", {
3044
- label: "let",
3045
- detail: "Let ... in statement",
3046
- type: "keyword"
3047
- }), /* @__PURE__ */ snippetCompletion("with ${expression}; ${expression}", {
3048
- label: "with",
3049
- detail: "With statement",
3050
- type: "keyword"
3051
- })];
3052
- function nix() {
3053
- return new LanguageSupport(nixLanguage, nixLanguage.data.of({ autocomplete: ifNotIn([
3054
- "LineComment",
3055
- "BlockComment",
3056
- "String",
3057
- "IndentedString"
3058
- ], completeFromList(snippets)) }));
3059
- }
3060
- var scriptText = 145, StartCloseScriptTag = 1, styleText = 146, StartCloseStyleTag = 2, textareaText = 147, StartCloseTextareaTag = 3, StartTag = 4, StartScriptTag = 5, StartStyleTag = 6, StartTextareaTag = 7, StartSelfClosingTag = 8, StartCloseTag = 9, MismatchedStartCloseTag = 11, missingCloseTag = 148, IncompleteCloseTag = 12, commentContent$1 = 149, LongExpression = 13, ShortExpression = 14, Element = 67, ScriptText = 110, StyleText = 113, TextareaText = 116, OpenTag = 118, selfClosers = {
3061
- area: true,
3062
- base: true,
3063
- br: true,
3064
- col: true,
3065
- command: true,
3066
- embed: true,
3067
- frame: true,
3068
- hr: true,
3069
- img: true,
3070
- input: true,
3071
- keygen: true,
3072
- link: true,
3073
- meta: true,
3074
- param: true,
3075
- source: true,
3076
- track: true,
3077
- wbr: true,
3078
- menuitem: true
3079
- }, implicitlyClosed = {
3080
- dd: true,
3081
- li: true,
3082
- optgroup: true,
3083
- option: true,
3084
- p: true,
3085
- rp: true,
3086
- rt: true,
3087
- tbody: true,
3088
- td: true,
3089
- tfoot: true,
3090
- th: true,
3091
- tr: true
3092
- }, closeOnOpen = {
3093
- dd: {
3094
- dd: true,
3095
- dt: true
3096
- },
3097
- dt: {
3098
- dd: true,
3099
- dt: true
3100
- },
3101
- li: { li: true },
3102
- option: {
3103
- option: true,
3104
- optgroup: true
3105
- },
3106
- optgroup: { optgroup: true },
3107
- p: {
3108
- address: true,
3109
- article: true,
3110
- aside: true,
3111
- blockquote: true,
3112
- dir: true,
3113
- div: true,
3114
- dl: true,
3115
- fieldset: true,
3116
- footer: true,
3117
- form: true,
3118
- h1: true,
3119
- h2: true,
3120
- h3: true,
3121
- h4: true,
3122
- h5: true,
3123
- h6: true,
3124
- header: true,
3125
- hgroup: true,
3126
- hr: true,
3127
- menu: true,
3128
- nav: true,
3129
- ol: true,
3130
- p: true,
3131
- pre: true,
3132
- section: true,
3133
- table: true,
3134
- ul: true
3135
- },
3136
- rp: {
3137
- rp: true,
3138
- rt: true
3139
- },
3140
- rt: {
3141
- rp: true,
3142
- rt: true
3143
- },
3144
- tbody: {
3145
- tbody: true,
3146
- tfoot: true
3147
- },
3148
- td: {
3149
- td: true,
3150
- th: true
3151
- },
3152
- tfoot: { tbody: true },
3153
- th: {
3154
- td: true,
3155
- th: true
3156
- },
3157
- thead: {
3158
- tbody: true,
3159
- tfoot: true
3160
- },
3161
- tr: { tr: true }
3162
- };
3163
- function nameChar(e6) {
3164
- return e6 == 45 || e6 == 46 || e6 == 58 || e6 >= 65 && e6 <= 90 || e6 == 95 || e6 >= 97 && e6 <= 122 || e6 >= 161;
3165
- }
3166
- function isSpace(e6) {
3167
- return e6 == 9 || e6 == 10 || e6 == 13 || e6 == 32;
3168
- }
3169
- var cachedName = null, cachedInput = null, cachedPos = 0;
3170
- function tagNameAfter(e6, b) {
3171
- let x = e6.pos + b;
3172
- if (cachedPos == x && cachedInput == e6) return cachedName;
3173
- let S = e6.peek(b);
3174
- for (; isSpace(S); ) S = e6.peek(++b);
3175
- let C = "";
3176
- for (; nameChar(S); ) C += String.fromCharCode(S), S = e6.peek(++b);
3177
- return cachedInput = e6, cachedPos = x, cachedName = C ? C.toLowerCase() : S == question || S == bang ? void 0 : null;
3178
- }
3179
- var lessThan = 60, greaterThan$1 = 62, slash$1 = 47, question = 63, bang = 33;
3180
- function ElementContext(e6, b) {
3181
- this.name = e6, this.parent = b, this.hash = b ? b.hash : 0;
3182
- for (let b2 = 0; b2 < e6.length; b2++) this.hash += (this.hash << 4) + e6.charCodeAt(b2) + (e6.charCodeAt(b2) << 8);
3183
- }
3184
- var startTagTerms = [
3185
- StartTag,
3186
- StartSelfClosingTag,
3187
- StartScriptTag,
3188
- StartStyleTag,
3189
- StartTextareaTag
3190
- ], elementContext = /* @__PURE__ */ new ContextTracker({
3191
- start: null,
3192
- shift(e6, b, x, S) {
3193
- return startTagTerms.indexOf(b) > -1 ? new ElementContext(tagNameAfter(S, 1) || "", e6) : e6;
3194
- },
3195
- reduce(e6, b) {
3196
- return b == Element && e6 ? e6.parent : e6;
3197
- },
3198
- reuse(e6, b, x, S) {
3199
- let C = b.type.id;
3200
- return C == StartTag || C == OpenTag ? new ElementContext(tagNameAfter(S, 1) || "", e6) : e6;
3201
- },
3202
- hash(e6) {
3203
- return e6 ? e6.hash : 0;
3204
- },
3205
- strict: false
3206
- }), tagStart = /* @__PURE__ */ new ExternalTokenizer((e6, b) => {
3207
- if (e6.next != lessThan) {
3208
- e6.next < 0 && b.context && e6.acceptToken(missingCloseTag);
3209
- return;
3210
- }
3211
- e6.advance();
3212
- let x = e6.next == slash$1;
3213
- x && e6.advance();
3214
- let S = tagNameAfter(e6, 0);
3215
- if (S === void 0) return;
3216
- if (!S) return e6.acceptToken(x ? IncompleteCloseTag : StartTag);
3217
- let C = b.context ? b.context.name : null;
3218
- if (x) {
3219
- if (S == C) return e6.acceptToken(StartCloseTag);
3220
- if (C && implicitlyClosed[C]) return e6.acceptToken(missingCloseTag, -2);
3221
- for (let e7 = b.context; e7; e7 = e7.parent) if (e7.name == S) return;
3222
- e6.acceptToken(MismatchedStartCloseTag);
3223
- } else {
3224
- if (S == "script") return e6.acceptToken(StartScriptTag);
3225
- if (S == "style") return e6.acceptToken(StartStyleTag);
3226
- if (S == "textarea") return e6.acceptToken(StartTextareaTag);
3227
- if (selfClosers.hasOwnProperty(S)) return e6.acceptToken(StartSelfClosingTag);
3228
- C && closeOnOpen[C] && closeOnOpen[C][S] ? e6.acceptToken(missingCloseTag, -1) : e6.acceptToken(StartTag);
3229
- }
3230
- }, { contextual: true });
3231
- function contentTokenizer(e6, b, x) {
3232
- let S = 2 + e6.length;
3233
- return new ExternalTokenizer((C) => {
3234
- for (let w = 0, T = 0, E = 0; ; E++) {
3235
- if (C.next < 0) {
3236
- E && C.acceptToken(b);
3237
- break;
3238
- }
3239
- if (w == 0 && C.next == lessThan || w == 1 && C.next == slash$1 || w >= 2 && w < S && C.next == e6.charCodeAt(w - 2)) w++, T++;
3240
- else if ((w == 2 || w == S) && isSpace(C.next)) T++;
3241
- else if (w == S && C.next == greaterThan$1) {
3242
- E > T ? C.acceptToken(b, -T) : C.acceptToken(x, -(T - 2));
3243
- break;
3244
- } else if ((C.next == 10 || C.next == 13) && E) {
3245
- C.acceptToken(b, 1);
3246
- break;
3247
- } else w = T = 0;
3248
- C.advance();
3249
- }
3250
- });
3251
- }
3252
- var scriptTokens = /* @__PURE__ */ contentTokenizer("script", scriptText, StartCloseScriptTag), styleTokens = /* @__PURE__ */ contentTokenizer("style", styleText, StartCloseStyleTag), textareaTokens = /* @__PURE__ */ contentTokenizer("textarea", textareaText, StartCloseTextareaTag), space = [
3253
- 9,
3254
- 10,
3255
- 11,
3256
- 12,
3257
- 13,
3258
- 32,
3259
- 133,
3260
- 160,
3261
- 5760,
3262
- 8192,
3263
- 8193,
3264
- 8194,
3265
- 8195,
3266
- 8196,
3267
- 8197,
3268
- 8198,
3269
- 8199,
3270
- 8200,
3271
- 8201,
3272
- 8202,
3273
- 8232,
3274
- 8233,
3275
- 8239,
3276
- 8287,
3277
- 12288
3278
- ], parenOpen = 40, parenClose = 41, squareOpen = 91, squareClose = 93, curlyOpen = 123, curlyClose = 125, comma = 44, colon = 58, hash = 35, at = 64, slash = 47, greaterThan = 62, dash = 45, quoteDouble = 34, quoteSingle = 39, backslash = 92, newline = 10, asterisk = 42, tick = 96, prefixes = [
3279
- colon,
3280
- hash,
3281
- at,
3282
- slash
3283
- ], commentContent = /* @__PURE__ */ new ExternalTokenizer((e6) => {
3284
- for (let b = 0, x = 0; ; x++) {
3285
- if (e6.next < 0) {
3286
- x && e6.acceptToken(commentContent$1);
3287
- break;
3288
- }
3289
- if (e6.next == dash) b++;
3290
- else if (e6.next == greaterThan && b >= 2) {
3291
- x > 3 && e6.acceptToken(commentContent$1, -2);
3292
- break;
3293
- } else b = 0;
3294
- e6.advance();
3295
- }
3296
- });
3297
- function createStringHandler(e6) {
3298
- let b = false, x = null, S = false;
3299
- return () => b ? S ? (S = false, true) : e6.next === backslash ? (S = true, true) : x === "double" && e6.next === quoteDouble || x === "single" && e6.next === quoteSingle || x === "template" && e6.next === tick ? (b = false, x = null, true) : true : e6.next === quoteDouble ? (b = true, x = "double", true) : e6.next === quoteSingle ? (b = true, x = "single", true) : e6.next === tick ? (b = true, x = "template", true) : false;
3300
- }
3301
- function createCommentHandler(e6) {
3302
- let b = false, x = false;
3303
- return () => b ? (e6.next === newline && (b = false), true) : x ? (e6.next === asterisk && e6.peek(1) === slash && (x = false), true) : e6.next === slash && e6.peek(1) === slash ? (b = true, true) : e6.next === slash && e6.peek(1) === asterisk ? (x = true, true) : false;
3304
- }
3305
- var longExpression = /* @__PURE__ */ new ExternalTokenizer((e6) => {
3306
- if (prefixes.includes(e6.next)) return;
3307
- let b = createCommentHandler(e6), x = createStringHandler(e6), S = [], C = (e7) => {
3308
- let b2 = S.lastIndexOf(e7);
3309
- if (b2 !== -1) for (; S.length > b2; ) S.pop();
3310
- };
3311
- for (let w = 0; ; w++) {
3312
- if (e6.next < 0) {
3313
- w > 0 && e6.acceptToken(LongExpression);
3314
- break;
3315
- }
3316
- if (b() || x()) {
3317
- e6.advance();
3318
- continue;
3319
- }
3320
- if (S.length === 0 && (e6.next === curlyClose || e6.next === parenClose || e6.next === squareClose)) {
3321
- e6.acceptToken(LongExpression);
3322
- break;
3323
- }
3324
- switch (e6.next) {
3325
- case parenOpen:
3326
- S.push("(");
3327
- break;
3328
- case parenClose:
3329
- C("(");
3330
- break;
3331
- case squareOpen:
3332
- S.push("[");
3333
- break;
3334
- case squareClose:
3335
- C("[");
3336
- break;
3337
- case curlyOpen:
3338
- S.push("{");
3339
- break;
3340
- case curlyClose:
3341
- C("{");
3342
- break;
3343
- }
3344
- e6.advance();
3345
- }
3346
- }), shortExpression = /* @__PURE__ */ new ExternalTokenizer((e6) => {
3347
- if (prefixes.includes(e6.peek(0))) return;
3348
- let b = createCommentHandler(e6), x = createStringHandler(e6), S = [], C = (e7) => {
3349
- let b2 = S.lastIndexOf(e7);
3350
- if (b2 !== -1) for (; S.length > b2; ) S.pop();
3351
- };
3352
- for (let w = 0; ; w++) {
3353
- if (e6.next < 0) {
3354
- w > 0 && e6.acceptToken(ShortExpression);
3355
- break;
3356
- }
3357
- if (b() || x()) {
3358
- e6.advance();
3359
- continue;
3360
- }
3361
- if (S.length === 0 && (e6.next === curlyClose || e6.next === parenClose || e6.next === squareClose || e6.next === comma)) {
3362
- e6.acceptToken(ShortExpression);
3363
- break;
3364
- }
3365
- switch (e6.next) {
3366
- case parenOpen:
3367
- S.push("(");
3368
- break;
3369
- case parenClose:
3370
- C("(");
3371
- break;
3372
- case squareOpen:
3373
- S.push("[");
3374
- break;
3375
- case squareClose:
3376
- C("[");
3377
- break;
3378
- case curlyOpen:
3379
- S.push("{");
3380
- break;
3381
- case curlyClose:
3382
- C("{");
3383
- break;
3384
- }
3385
- if (w !== 0 && S.length === 0 && space.includes(e6.next)) {
3386
- e6.acceptToken(ShortExpression);
3387
- break;
3388
- }
3389
- e6.advance();
3390
- }
3391
- }), svelteHighlighting = /* @__PURE__ */ styleTags({
3392
- "Text RawText": tags.content,
3393
- "StartTag StartCloseTag SelfClosingEndTag EndTag": tags.angleBracket,
3394
- TagName: tags.tagName,
3395
- "MismatchedCloseTag/TagName": [tags.tagName, tags.invalid],
3396
- AttributeName: tags.attributeName,
3397
- UnquotedAttributeValue: tags.attributeValue,
3398
- "DoubleQuote SingleQuote AttributeValueContent": tags.attributeValue,
3399
- Is: tags.definitionOperator,
3400
- "EntityReference CharacterReference": tags.character,
3401
- Comment: tags.blockComment,
3402
- ProcessingInst: tags.processingInstruction,
3403
- DoctypeDecl: tags.documentMeta,
3404
- "{ }": tags.bracket,
3405
- "[ ]": tags.squareBracket,
3406
- "( )": tags.paren,
3407
- "| , :": tags.punctuation,
3408
- "...": tags.derefOperator,
3409
- ComponentName: tags.className,
3410
- SvelteElementNamespace: tags.namespace,
3411
- SvelteElementType: tags.tagName,
3412
- StyleAttributeName: tags.propertyName,
3413
- BlockType: tags.controlKeyword,
3414
- BlockPrefix: tags.typeOperator,
3415
- "UnknownBlock/BlockType": tags.invalid,
3416
- UnknownBlockContent: tags.invalid,
3417
- "if then catch": tags.controlKeyword,
3418
- as: tags.definitionOperator,
3419
- Variable: tags.variableName,
3420
- Modifier: tags.modifier,
3421
- DirectlyInterpolatedAttributeValue: tags.attributeValue,
3422
- "DirectiveOn/DirectiveName": tags.controlKeyword,
3423
- "DirectiveOn/DirectiveTarget": tags.typeName,
3424
- "DirectiveUse/DirectiveName": tags.controlKeyword,
3425
- "DirectiveUse/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
3426
- "DirectiveBind/DirectiveName": tags.controlKeyword,
3427
- "DirectiveBind/DirectiveTarget": tags.variableName,
3428
- "DirectiveLet/DirectiveName": tags.definitionKeyword,
3429
- "DirectiveLet/DirectiveTarget": /* @__PURE__ */ tags.definition(tags.variableName),
3430
- "DirectiveTransition/DirectiveName": tags.operatorKeyword,
3431
- "DirectiveTransition/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
3432
- "DirectiveIn/DirectiveName": tags.operatorKeyword,
3433
- "DirectiveIn/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
3434
- "DirectiveOut/DirectiveName": tags.operatorKeyword,
3435
- "DirectiveOut/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
3436
- "DirectiveAnimate/DirectiveName": tags.operatorKeyword,
3437
- "DirectiveAnimate/DirectiveTarget": /* @__PURE__ */ tags.function(tags.variableName),
3438
- "DirectiveClass/DirectiveName": tags.attributeName,
3439
- "DirectiveClass/DirectiveTarget": tags.variableName,
3440
- "DirectiveStyle/DirectiveName": tags.attributeName,
3441
- "DirectiveStyle/DirectiveTarget": tags.propertyName
3442
- }), spec_BlockPrefix = {
3443
- __proto__: null,
3444
- "#": 41,
3445
- ":": 51,
3446
- "/": 59,
3447
- "@": 109
3448
- }, spec_BlockType = {
3449
- __proto__: null,
3450
- if: 44,
3451
- else: 52,
3452
- each: 64,
3453
- await: 82,
3454
- then: 90,
3455
- catch: 94,
3456
- key: 102,
3457
- html: 110,
3458
- debug: 114,
3459
- const: 118
3460
- }, spec_identifier = {
3461
- __proto__: null,
3462
- if: 54,
3463
- as: 66,
3464
- then: 84,
3465
- catch: 86
3466
- }, spec_AttributeName = {
3467
- __proto__: null,
3468
- on: 313,
3469
- bind: 317,
3470
- let: 319,
3471
- class: 321,
3472
- style: 323,
3473
- use: 325,
3474
- transition: 327,
3475
- in: 329,
3476
- out: 331,
3477
- animate: 333
3478
- }, spec_TagName = {
3479
- __proto__: null,
3480
- svelte: 243
3481
- }, parser$2 = /* @__PURE__ */ LRParser.deserialize({
3482
- version: 14,
3483
- states: "DxQVO#|OOO!ZO#|O'#ClO#[O#|O'#CzO$]O#|O'#DTO%^O#|O'#D_O&_Q'[O'#DjO&mQ&jO'#DrO&rQ&jO'#EpO&wQ&jO'#EsO&|Q&jO'#EvO'XQ&jO'#E|O'^OXO'#DqO'iOYO'#DqO'tO[O'#DqO)TO#|O'#DqOOOW'#Dq'#DqO)[O&zO'#FOO&|Q&jO'#FQO&|Q&jO'#FROOOW'#Fj'#FjOOOW'#FT'#FTQVO#|OOOOOW'#FU'#FUO!ZO#|O,59WOOOW,59W,59WO)uQ'[O'#DjO#[O#|O,59fOOOW,59f,59fO)|Q'[O'#DjOOOW'#FV'#FVO$]O#|O,59oOOOW,59o,59oO*fQ'[O'#DjOOOW'#FW'#FWO%^O#|O,59yOOOW,59y,59yO*mQ'[O'#DjO+OQ&jO,5:UO+TQ,UO,5:VO+YQ,UO,59XO+hQ,UO,59}O,nQ7[O,5:^O,uQ7[O,5;[O,|Q7[O,5;_O-TO,UO'#ExOOQO'#F|'#F|O-YQ7[O,5;bO-dQ7[O,5;hOOOX'#F^'#F^O-kOXO'#EnO-vOXO,5:]OOOY'#F_'#F_O.OOYO'#EqO.ZOYO,5:]OOO['#F`'#F`O.cO[O'#EtO.nO[O,5:]O.vO#|O,5:]O&|Q&jO'#E{OOOW,5:],5:]OOO`'#Fa'#FaO.}O&zO,5;jOOOW,5;j,5;jO/VQ,UO,5;lO/[Q,UO,5;mOOOW-E9R-E9ROOOW-E9S-E9SOOOW1G.r1G.rO/aQ,UO,59`O/fQ,UO,59dOOOW1G/Q1G/QO/kQ,UO,59nOOOW-E9T-E9TOOOW1G/Z1G/ZO/pQ,UO,59tO/xQ,UO,59xOOOW-E9U-E9UOOOW1G/e1G/eO/}Q,UO,59|OOOW1G/p1G/pO0SQMhO1G/qO0[Q'[O1G.sO0aQ'|O1G/RO0fQ'|O1G/[O0kQ'[O1G/fO0pQ'[O1G/iO0uQ!LQO1G/lO0zQ'[O1G/nO1PQ$ISO'#DtOOOO'#Dz'#DzO1[O,UO'#DyOOOO'#EO'#EOO1aO,UO'#D}OOOO'#EQ'#EQO1fO,UO'#EPOOOO'#ES'#ESO1kO,UO'#EROOOO'#EU'#EUO1pO,UO'#ETOOOO'#EW'#EWO1uO,UO'#EVOOOO'#EY'#EYO1zO,UO'#EXOOOO'#E['#E[O2PO,UO'#EZOOOO'#E^'#E^O2UO,UO'#E]OOOO'#E`'#E`O2ZO,UO'#E_O2`Q7[O'#DxO3gQ7[O'#EjO4kQ7[O'#ElOOQO'#Fl'#FlOOQO'#FY'#FYO5rQ7[O1G/xOOOX1G/x1G/xOOQO'#Fm'#FmO5yQ7[O1G0vOOOY1G0v1G0vO6QQ7[O1G0yOOO[1G0y1G0yO6XO(CWO,5;dO6^Q7[O1G0|OOOW1G0|1G0|OOOW1G1S1G1SO6hQ7[O1G1SOOOX-E9[-E9[O6oQ&jO'#EoOOOW1G/w1G/wOOOY-E9]-E9]O6tQ&jO'#ErOOO[-E9^-E9^O6yQ&jO'#EuO7OQ,UO,5;gOOO`-E9_-E9_OOOW1G1U1G1UOOOW1G1W1G1WOOOW1G1X1G1XP)dQ'[O'#DjO7TQ$ISO1G.zO7]Q&jO1G/OO7bQ&jO1G/YP*TQ'[O'#DjO7gQ!LQO1G/`O7oQ!LQO1G/bO7wQ&jO1G/dO7|Q&jO1G/hOOOW7+%]7+%]O8RQ&jO7+%]O8WQ&jO7+$_O8]Q$ISO7+$mO8bQ$ISO7+$vO8mQ&jO7+%QO8rQ&jO7+%TO8wQ&jO7+%WO9PQ&jO7+%YOOQO'#Du'#DuOOQO,5:`,5:`O9UQ&jO,5:`O9ZQ'[O,5:bO9`O07`O,5:eO9eO07`O,5:iO9jO07`O,5:kO9oO07`O,5:mO9tO07`O,5:oO9yO07`O,5:qO:OO07`O,5:sO:TO07`O,5:uO:YO07`O,5:wO:_O07`O,5:yO:dQ?MpO'#FZO:iQ7[O,5:dO;pQ!0LbO,5:dO<OQ!0LbO,5;UO<^Q7[O,5;WO=eQ!0LbO,5;WOOQO-E9W-E9WOOOX7+%d7+%dOOOY7+&b7+&bOOO[7+&e7+&eOOQO1G1O1G1OOOOW7+&h7+&hOOOW7+&n7+&nO=sQ,UO,5;ZO=xQ,UO,5;^O=}Q,UO,5;aOOOW1G1R1G1ROOOW7+$f7+$fO>SQ'[O7+$fOOOW7+$j7+$jOOOW7+$t7+$tOOOW7+$z7+$zO>XQ&jO7+$zOOOW7+$|7+$|O>^Q&jO7+$|OOOW7+%O7+%OOOOW7+%S7+%SOOOW<<Hw<<HwOOOW<<Gy<<GyO>cQ'|O<<HXOOOW<<Hb<<HbO>hQ'|O<<HbOOOW<<Hl<<HlOOOW<<Ho<<HoO>mQ!LQO'#FXO>rQ&jO<<HrOOOW<<Hr<<HrOOOW<<Ht<<HtOOQO1G/z1G/zO>zQ&jO1G/|OOQO1G0P1G0POOQO1G0T1G0TOOQO1G0V1G0VOOQO1G0X1G0XOOQO1G0Z1G0ZOOQO1G0]1G0]OOQO1G0_1G0_OOQO1G0a1G0aOOQO1G0c1G0cOOQO1G0e1G0eOOQO,5;u,5;uOOQO-E9X-E9XO?PQ!0LbO1G0OO?_Q'[O'#DjOOQO'#Ed'#EdO?uO#@ItO'#EdO@_O&2DjO'#EdOOQO1G0O1G0OOOQO1G0p1G0pO@fQ!0LbO1G0rOOQO1G0r1G0rOOOW1G0u1G0uOOOW1G0x1G0xOOOW1G0{1G0{O@tQ&jO<<HQOOOW<<Hf<<HfOOOW<<Hh<<HhO@yQ&jOAN=sOAUQ&jOAN=|OOQO,5;s,5;sOOQO-E9V-E9VOOOWAN>^AN>^OOQO7+%h7+%hOOQO7+%j7+%jOOOO'#Fz'#FzOOOO'#F['#F[OAZO#@ItO'#EfOOQO,5;O,5;OOAbO&jO,5;OOOOO'#F]'#F]OAgO&2DjO'#EhOAnO&jO,5;OOOQO7+&^7+&^OOOWAN=lAN=lOOOWG23_G23_OAsQ'[OG23_OAxQ!LQOG23_OOOWG23hG23hOOOO-E9Y-E9YOOQO1G0j1G0jOOOO-E9Z-E9ZOBTQ&jOLD(yOOOWLD(yLD(yOBYQ'[OLD(yOB_Q&jOLD(yOBgQ&jO!$'LeOBlQ&jO!$'LeOOOW!$'Le!$'LeOBqQ'[O!$'LeOOOW!)9BP!)9BPOBvQ&jO!)9BPOB{Q&jO!)9BPOOOW!.K7k!.K7kOCQQ&jO!.K7kOOOW!4/-V!4/-V",
3484
- stateData: "Cd~O$]OS~OSXOTUOUVOVWOWYOYbOZaO[cObTO!acO!bcO!ccO!dcO#scO#vdO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObiO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cOblO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObpO!acO!bcO!ccO!dcO#scO$q`O~OSXOTUOUVOVWOWYOYbOZaO[cObtO!acO!bcO!ccO!dcO#scO$q`O~O]uOcvOdwO!WxO~O!gyO~O!gzO~O!g{O~O!g}O#k}O#m|O~O!g!PO~O$V!QOP#bP$Y#bP~O$W!TOQ#eP$Y#eP~O$X!WOR#hP$Y#hP~OSXOTUOUVOVWOWYOX![OYbOZaO[cObTO!acO!bcO!ccO!dcO#scO$q`O~O$Y!]O~P(PO$Z!^O$r!`O~O]uOcvOdwOi!fO!WxO~Om!gO~P)dOm!iO~P)dO]uOcvOdwOi!lO!WxO~Om!mO~P*TO]uOcvOdwOm!pO!WxO~Og!qO~Oe!rO~Of!sOp!tOy!uO!T!vO~O!X!wO!Z!xO!]!yO~Ob!zO!o#cO#_#bO$b!{O$d!}O$e#PO$f#RO$g#TO$h#VO$i#XO$j#ZO$k#]O$l#_O~O#a#gO~P+sO#a#jO~P+sO#a#lO~P+sO$c#mO~O#a#oO#q#pO~P+sO#a#pO~P+sO$V!QOP#bX$Y#bX~OP#sO$Y#tO~O$W!TOQ#eX$Y#eX~OQ#vO$Y#tO~O$X!WOR#hX$Y#hX~OR#xO$Y#tO~O$Y#tO~P(PO$Z!^O$r#{O~O#a#|O~O#a#}O~Oj$PO~Of$QO~Op$RO~O}$TO!P$UO~Oy$VO~O!T$WO~Og$XO!`$YO~O]$ZO~O^$[O~O^$]O~O]$^O~O]$_O~Ou$`O~O]$aO~Og$cO!k$eO$_$bO~O$c$fO~O$c$gO~O$c$hO~O$c$iO~O$c$jO~O$c$kO~O$c$lO~O$c$mO~O$c$nO~O$c$oO~O#T$pO#V$rOb!lX!o!lX#_!lX#a!lX$b!lX$d!lX$e!lX$f!lX$g!lX$h!lX$i!lX$j!lX$k!lX$l!lX#q!lX~O#V$sOb#^X!o#^X#_#^X#a#^X$b#^X$d#^X$e#^X$f#^X$g#^X$h#^X$i#^X$j#^X$k#^X$l#^X#q#^X~O#T$pO#V$uOb#`X!o#`X#_#`X#a#`X$b#`X$d#`X$e#`X$f#`X$g#`X$h#`X$i#`X$j#`X$k#`X$l#`X#q#`X~O#a$wO~P+sO#a$xO~P+sO#a$yO~P+sO#n$zO~O#a${O#q$|O~P+sO#a$|O~P+sO!g$}O~O!g%OO~O!g%PO~O#a%QO~Og%ROk%SO~Og%TO~Og%UO~Og%VOu%WO~Og%XOu%YO~Og%ZO~Og%[O~Og%]O~Og%^O~Oq%_O~Og%`Oz%aO{%aO~Og%bO~Og%cO~Og%fOt%dO~Og%gO~Og%hO~O]%iO~O!p%jO~O!p%kO~O!p%lO~O!p%mO~O!p%nO~O!p%oO~O!p%pO~O!p%qO~O!p%rO~O!p%sO~O#U%tO~O#T$pO#V%vOb!la!o!la#_!la#a!la$b!la$d!la$e!la$f!la$g!la$h!la$i!la$j!la$k!la$l!la#q!la~Ob%wO#X%yO#Z%zO#]%{O~Ob%wO#X%yO#Z%zO#]%|O~O#T$pO#V%}Ob#`a!o#`a#_#`a#a#`a$b#`a$d#`a$e#`a$f#`a$g#`a$h#`a$i#`a$j#`a$k#`a$l#`a#q#`a~Ob%wO#X%yO#Z%zO#]&OO~O#a&PO~O#a&QO~O#a&RO~O]&SO~Og&TO~Og&UO~O^&VO~O^&WO~Ou&XO~Og&ZOt%dO~Og&[O~Ob%wO#X%yO#Z%zO#]&]O~O]uO~Ob%wO!b&^O!c&^O!d&^O$m&_O~O#X&aO~P?dOb%wO!b&^O!c&^O!d&^O$o&cO~O#Z&aO~P?|Ob%wO#X%yO#Z%zO#]&fO~Og&gO~Og&hOr&iOt&jO~Og&kO~O#X#YX~P?dO#X&mO~O#Z#[X~P?|O#Z&mO~O]&oO~Og&pOr&qOu&rO~Os&sO~O]&tO~Og&uOr&vO~Og&wO~Os&xO~O]&yO~Og&zO~Os&{O~Og&|O~O!`$]#q$q#s#v!c!b#_!o!d#a~",
3485
- goto: "1T$qPPPPPPPPPPPPPPPP$r%QPPPPPP%`PPP%fP$r%lPPPPPP%z$r&QPPP&`P&`P&d$r&jP&x$rPP$rP$rP'O$rPPPPP$r'kP'y(V'yP'y(Y(fPP(Y(r(Y)O(Y)[(Y)h(Y)t(Y*Q(Y*^(Y*j(Y*vPPP+SP+cP+fP'yP'yP+i+l+o+},Q,T,c,f,iP,wPP,}-TP$rP$r$rP-c-i-s-y.T.Z.q.{/R/X/_/e/kPPPPPPPP/qP0V0cPPPPPPPPPPPP0oP0wicOPQRS^egjnr!ZiPOPQRS^egjnr!ZXfPQgjQhPR!egiQOPQRS^egjnr!ZQkQR!hjiROPQRS^egjnr!ZTmRnQoRR!kniSOPQRS^egjnr!ZQsSR!orhcOPQRS^egjnr!ZY%x$r$s$u%v%}X&^%y%z&`&diZOPQRS^egjnr!Ze#dyz{!O!P#f#i#k#n#qR$d!ze#hyz{!O!P#f#i#k#n#qe!|yz{!O!P#f#i#k#n#qe#Oyz{!O!P#f#i#k#n#qe#Qyz{!O!P#f#i#k#n#qe#Syz{!O!P#f#i#k#n#qe#Uyz{!O!P#f#i#k#n#qe#Wyz{!O!P#f#i#k#n#qe#Yyz{!O!P#f#i#k#n#qe#[yz{!O!P#f#i#k#n#qe#^yz{!O!P#f#i#k#n#qe#`yz{!O!P#f#i#k#n#qQ%{$rQ%|$sQ&O$uQ&]%vR&f%}R&b%yR&e%zR!SZR#t!Si[OPQRS^egjnr!ZR!V[R#t!Vi]OPQRS^egjnr!ZR!Y]R#t!Yi^OPQRS^egjnr!ZX}Xab![Q!]^R#t!Zi_OPQRS^egjnr!ZQeOR!ceQgPQjQT!dgjQnRR!jnQrSQ!Z^T!nr!ZQ%e$`R&Y%eQ#fyQ#izQ#k{Q#n!OQ#q!PZ$v#f#i#k#n#qQ$q#aQ$t#cT%u$q$tQ&`%yR&l&`Q&d%zR&n&dQ!RZR#r!RQ!U[R#u!UQ!X]R#w!XQ!_`R#z!_SdOeWfPQgjSmRnXqS^r!Ze#eyz{!O!P#f#i#k#n#qe#ayz{!O!P#f#i#k#n#qS&_%y&`T&c%z&dQ!OXQ!aaQ!bbR#y![",
3486
- nodeNames: "\u26A0 StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag LongExpression ShortExpression Document IfBlock IfBlockOpen { BlockPrefix BlockPrefix BlockType BlockType } ElseBlock BlockPrefix BlockType if IfBlockClose BlockPrefix EachBlock EachBlockOpen BlockType as ( ) , Variable EachBlockClose AwaitBlock AwaitBlockOpen BlockType then catch ThenBlock BlockType CatchBlock BlockType AwaitBlockClose KeyBlock KeyBlockOpen BlockType KeyBlockClose RawHTMLBlock BlockPrefix BlockType DebugBlock BlockType ConstBlock BlockType Interpolation UnknownBlock UnknownBlockContent Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName DirectlyInterpolatedAttribute DirectlyInterpolatedAttributeValue SpreadInterpolatedAttribute ... Directive DirectiveOn DirectiveName AttributeName DirectiveTarget DirectiveBind DirectiveName DirectiveLet DirectiveName DirectiveClass DirectiveName DirectiveStyle DirectiveName DirectiveUse DirectiveName DirectiveTransition DirectiveName DirectiveIn DirectiveName DirectiveOut DirectiveName DirectiveAnimate DirectiveName | Modifier Is AttributeValue DoubleQuote AttributeValueContent SingleQuote AttributeValueContent UnquotedAttributeValue StyleAttribute StyleAttributeName Attribute EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag ComponentName SvelteElementName SvelteElementNamespace SvelteElementType CloseTag SelfClosingTag SelfClosingEndTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
3487
- maxTerm: 172,
3488
- context: elementContext,
3489
- nodeProps: [
3490
- [
3491
- "closedBy",
3492
- -10,
3493
- 1,
3494
- 2,
3495
- 3,
3496
- 5,
3497
- 6,
3498
- 7,
3499
- 8,
3500
- 9,
3501
- 10,
3502
- 11,
3503
- "EndTag",
3504
- 4,
3505
- "EndTag SelfClosingEndTag",
3506
- 17,
3507
- "IfBlockClose",
3508
- 18,
3509
- "}",
3510
- 31,
3511
- "EachBlockClose",
3512
- 34,
3513
- "(",
3514
- 40,
3515
- "AwaitBlockClose",
3516
- 48,
3517
- "AwaitBlockOpen",
3518
- 50,
3519
- "KeyBlockClose",
3520
- -4,
3521
- 68,
3522
- 112,
3523
- 115,
3524
- 118,
3525
- "CloseTag",
3526
- 101,
3527
- '"',
3528
- 103,
3529
- "'"
3530
- ],
3531
- [
3532
- "group",
3533
- -10,
3534
- 12,
3535
- 60,
3536
- 64,
3537
- 65,
3538
- 66,
3539
- 67,
3540
- 126,
3541
- 127,
3542
- 128,
3543
- 129,
3544
- "Entity",
3545
- -4,
3546
- 16,
3547
- 30,
3548
- 39,
3549
- 49,
3550
- "Block Entity",
3551
- -4,
3552
- 17,
3553
- 31,
3554
- 40,
3555
- 50,
3556
- "BlockOpen",
3557
- -3,
3558
- 24,
3559
- 44,
3560
- 46,
3561
- "BlockInline",
3562
- -4,
3563
- 28,
3564
- 38,
3565
- 48,
3566
- 52,
3567
- "BlockClose",
3568
- -4,
3569
- 53,
3570
- 56,
3571
- 58,
3572
- 61,
3573
- "BlockInline Entity",
3574
- 63,
3575
- "Entity TextContent",
3576
- -3,
3577
- 110,
3578
- 113,
3579
- 116,
3580
- "TextContent Entity"
3581
- ],
3582
- [
3583
- "openedBy",
3584
- 23,
3585
- "{",
3586
- 28,
3587
- "IfBlockOpen",
3588
- 35,
3589
- ")",
3590
- 38,
3591
- "EachBlockOpen",
3592
- 52,
3593
- "KeyBlockOpen",
3594
- 101,
3595
- '"',
3596
- 103,
3597
- "'",
3598
- 109,
3599
- "StartTag StartCloseTag",
3600
- -4,
3601
- 111,
3602
- 114,
3603
- 117,
3604
- 123,
3605
- "OpenTag",
3606
- 125,
3607
- "StartTag"
3608
- ]
3609
- ],
3610
- propSources: [svelteHighlighting],
3611
- skippedNodes: [0],
3612
- repeatNodeCount: 13,
3613
- tokenData: "&8h$IRR!dOX%aXY/TYZ/TZ[%a[]1{]^/T^p%apq/Tqr2yrsEastF_tuHxuv2yvw!)[wx#,nxy#-lyz#0Vz|2y|}#2p}!O#5Z!O!P#Kk!P!Q$%S!Q![2y![!]$'{!]!^2y!^!_$)u!_!`%'{!`!a%({!a!b2y!b!cF_!c!}%){!}#R2y#R#S%AU#S#T&%m#T#o&'m#o#p&1P#p#q&1d#q#r&3[#r#s2y#s$f%a$f$g2y$g%WHx%W%o%AU%o%pHx%p&a%AU&a&bHx&b1p%AU1p4UHx4U4d%AU4d4eHx4e$IS%AU$IS$I`Hx$I`$Ib%AU$Ib$KhHx$Kh%#t%AU%#t&/xHx&/x&Et%AU&Et&FVHx&FV;'S%AU;'S;:j&5p;:j;=`&5v<%l?&rHx?&r?Ah%AU?Ah?BY&5|?BY?Mn%AU?MnO&5|$3X%ng!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V7m'`g!aP#]7[!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'Va)OZ!aP!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w`)vS!``O#q)q#r;'S)q;'S;=`*S<%lO)q`*VP;=`<%l)qP*_U!aPOv*Yw!^*Y!_#o*Y#p;'S*Y;'S;=`*q<%lO*YP*tP;=`<%l*Ya*zP;=`<%l(w7l+Uc#]7[!``OX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}7[,fY#]7[OX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a7[-XP;=`<%l,a7l-_P;=`<%l*}7]-id!aP#]7[OX-bXZ*YZ[-b[^*Y^p-bpq*Yqr-brs*Ysv-bvw,awx*Yx!^-b!_!a*Y!a#S-b#S#T*Y#T#o-b#o#p,a#p;'S-b;'S;=`.w<%lO-b7].zP;=`<%l-b7m/QP;=`<%l'V$@q/bb!aP$mMh$o!LQ!``$]EUOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(wEV0sb!aP!``$]EUOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#J{2WZ!aP$mMh$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$DR3^p!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHg5qp!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHf8Sn!p&j#U,U#]7[!``!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}2Y:]f!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q1x;zZ!p&j#U,U!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q1x<pP;=`<%l;q2Y<vP;=`<%l:QHU=Ug!p&j#U,U#]7[!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,aHU>pP;=`<%l<yHf>vP;=`<%l7u2Z?Wi!p&j#U,U!aP!``!oWOq(wqr>yrs(wsv>yvw:Qwx(wx!P>y!P!Q(w!Q![>y![!](w!]!^>y!^!_:Q!_!a(w!a#o>y#o#p)q#p#q(w#q#r@u#r#s>y#s$f(w$f;'S>y;'S;=`Bo<%l?Ah>y?Ah?BY(w?BY?Mn>y?MnO(w1yAQg!p&j#U,U!aP!oWOq*Yqr@urs*Ysv@uvw;qwx*Yx!P@u!P!Q*Y!Q![@u![!]*Y!]!^@u!^!_;q!_!a*Y!a#o@u#p#q*Y#q#s@u#s$f*Y$f;'S@u;'S;=`Bi<%l?Ah@u?Ah?BY*Y?BY?Mn@u?MnO*Y1yBlP;=`<%l@u2ZBrP;=`<%l>yHVCSo!p&j#U,U!aP#]7[!oWOX-bXZ*YZ[-b[^*Y^p-bpq*YqrBurs*YsvBuvw<ywx*Yx!PBu!P!Q-b!Q![Bu![!]-b!]!^Bu!^!_;q!_!a*Y!a#SBu#S#T@u#T#oBu#o#p,a#p#q-b#q#sBu#s$f-b$f;'SBu;'S;=`ET<%l?AhBu?Ah?BY-b?BY?MnBu?MnO-bHVEWP;=`<%lBuHgE^P;=`<%l5b$3ZElZ#X!5v!aP$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$DTFtpcQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$FZIcweS!p&j#U,U!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![K|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}K|!}#R5b#R#SK|#S#T>y#T#oK|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SK|;'S;=`!&h<%l?AhK|?Ah?BY!&n?BY?MnK|?MnO!&nJoLcweS!p&j#U,U!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![K|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}K|!}#R5b#R#SK|#S#T>y#T#oK|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SK|;'S;=`!&h<%l?AhK|?Ah?BY!&n?BY?MnK|?MnO!&nIX! _w!p&j#U,U!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx!O5b!O!PN|!P!Q'V!Q![N|![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}N|!}#R5b#R#SN|#S#T>y#T#oN|#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g;'SN|;'S;=`!#x<%l?AhN|?Ah?BY!$O?BY?MnN|?MnO!$OIX!#{P;=`<%lN|8_!$Zq!aP#]7[up!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!$Ouv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!$O![!^'V!^!_)q!_!a(w!a!c'V!c!}!$O!}#R'V#R#S!$O#S#T(w#T#o!$O#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!$O;'S;=`!&b<%lO!$O8_!&eP;=`<%l!$OJo!&kP;=`<%lK|9u!&}qeS!aP#]7[up$_!b!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&nuv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!&n![!^'V!^!_)q!_!a(w!a!c'V!c!}!&n!}#R'V#R#S!&n#S#T(w#T#o!&n#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&n;'S;=`!)U<%lO!&n9u!)XP;=`<%l!&n$DR!)ko!p&j#U,U#]7[!``!oW!d#JkOX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!3Qrs!-Ust!B^tw!3Qwx!-Ux!P!3Q!P!Q!+l!Q![!3Q![!]!+l!]!^7u!^!_!7m!_!a!-U!a#S!3Q#S#T!7m#T#o!3Q#o#q!+l#q#r!>U#r#s!3Q#s$f!+l$f;'S!3Q;'S;=`!BW<%l?Ah!3Q?Ah?BY!+l?BY?Mn!3Q?MnO!+l$3X!+se#]7[!``OX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!+lrs!-Ust*}tw!+lwx!-Ux!]!+l!]!^!/[!^!a!-U!a#S!+l#S#T!-U#T#q!+l#q#r!0p#r;'S!+l;'S;=`!2z<%lO!+l#J{!-ZZ!``Op!-Upq)qqs!-Ust)qt!]!-U!]!^!-|!^#q!-U#q#r!.a#r;'S!-U;'S;=`!/U<%lO!-U#J{!.TS!``!b#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!.dVOp!.aqs!.at!]!.a!]!^!.y!^;'S!.a;'S;=`!/O<%lO!.a#Jk!/OO!b#Jk#Jk!/RP;=`<%l!.a#J{!/XP;=`<%l!-U$3X!/ec#]7[!``!b#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!0ub#]7[OX!0pXZ!.aZ[!0p[^!.a^p!0pqr!0prs!.ast,atw!0pwx!.ax!]!0p!]!^!1}!^!a!.a!a#S!0p#S#T!.a#T;'S!0p;'S;=`!2t<%lO!0p$2w!2UY#]7[!b#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!2wP;=`<%l!0p$3X!2}P;=`<%l!+l$DR!3_o!p&j#U,U#]7[!``!oWOX!+lXZ!-UZ[!+l[^!-U^p!+lpq)qqr!3Qrs!-Ust7utw!3Qwx!-Ux!P!3Q!P!Q!+l!Q![!3Q![!]!+l!]!^!5`!^!_!7m!_!a!-U!a#S!3Q#S#T!7m#T#o!3Q#o#q!+l#q#r!>U#r#s!3Q#s$f!+l$f;'S!3Q;'S;=`!BW<%l?Ah!3Q?Ah?BY!+l?BY?Mn!3Q?MnO!+l$DR!5on!p&j#U,U#]7[!``!b#Jk!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u!7xi!p&j#U,U!``!oWOp!-Upq)qqr!7mrs!-Ust:Qtw!7mwx!-Ux!P!7m!P!Q!-U!Q![!7m![!]!-U!]!^!9g!^!_!7m!_!a!-U!a#o!7m#o#q!-U#q#r!;Y#r#s!7m#s$f!-U$f;'S!7m;'S;=`!>O<%l?Ah!7m?Ah?BY!-U?BY?Mn!7m?MnO!-U$-u!9tf!p&j#U,U!``!b#Jk!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q$-e!;cg!p&j#U,U!oWOp!.aqr!;Yrs!.ast;qtw!;Ywx!.ax!P!;Y!P!Q!.a!Q![!;Y![!]!.a!]!^!<z!^!_!;Y!_!a!.a!a#o!;Y#o#q!.a#q#s!;Y#s$f!.a$f;'S!;Y;'S;=`!=x<%l?Ah!;Y?Ah?BY!.a?BY?Mn!;Y?MnO!.a$-e!=VZ!p&j#U,U!b#Jk!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q$-e!={P;=`<%l!;Y$-u!>RP;=`<%l!7m$Cq!>am!p&j#U,U#]7[!oWOX!0pXZ!.aZ[!0p[^!.a^p!0pqr!>Urs!.ast<ytw!>Uwx!.ax!P!>U!P!Q!0p!Q![!>U![!]!0p!]!^!@[!^!_!;Y!_!a!.a!a#S!>U#S#T!;Y#T#o!>U#o#q!0p#q#s!>U#s$f!0p$f;'S!>U;'S;=`!BQ<%l?Ah!>U?Ah?BY!0p?BY?Mn!>U?MnO!0p$Cq!@ig!p&j#U,U#]7[!b#Jk!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,a$Cq!BTP;=`<%l!>U$DR!BZP;=`<%l!3Q$DR!Bkn!p&j#U,U#]7[!``!oWOX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Knrs!FOsw!Knwx!FOx!P!Kn!P!Q!Di!Q![!Kn![!]!Di!]!^7u!^!_#!W!_!a!FO!a#S!Kn#S#T#!W#T#o!Kn#o#q!Di#q#r#(i#r#s!Kn#s$f!Di$f;'S!Kn;'S;=`#,h<%l?Ah!Kn?Ah?BY!Di?BY?Mn!Kn?MnO!Di$3X!Dpd#]7[!``OX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Dirs!FOsw!Diwx!FOx!]!Di!]!^!G{!^!a!FO!a#S!Di#S#T!FO#T#q!Di#q#r!Ia#r;'S!Di;'S;=`!Kh<%lO!Di#J{!FTX!``Op!FOpq)qq!]!FO!]!^!Fp!^#q!FO#q#r!GT#r;'S!FO;'S;=`!Gu<%lO!FO#J{!FwS!``!c#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!GWUOp!GTq!]!GT!]!^!Gj!^;'S!GT;'S;=`!Go<%lO!GT#Jk!GoO!c#Jk#Jk!GrP;=`<%l!GT#J{!GxP;=`<%l!FO$3X!HUc#]7[!``!c#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!Ifa#]7[OX!IaXZ!GTZ[!Ia[^!GT^p!Iaqr!Iars!GTsw!Iawx!GTx!]!Ia!]!^!Jk!^!a!GT!a#S!Ia#S#T!GT#T;'S!Ia;'S;=`!Kb<%lO!Ia$2w!JrY#]7[!c#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!KeP;=`<%l!Ia$3X!KkP;=`<%l!Di$DR!K{n!p&j#U,U#]7[!``!oWOX!DiXZ!FOZ[!Di[^!FO^p!Dipq)qqr!Knrs!FOsw!Knwx!FOx!P!Kn!P!Q!Di!Q![!Kn![!]!Di!]!^!My!^!_#!W!_!a!FO!a#S!Kn#S#T#!W#T#o!Kn#o#q!Di#q#r#(i#r#s!Kn#s$f!Di$f;'S!Kn;'S;=`#,h<%l?Ah!Kn?Ah?BY!Di?BY?Mn!Kn?MnO!Di$DR!NYn!p&j#U,U#]7[!``!c#Jk!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!_:Q!_!a)q!a#S7u#S#T:Q#T#o7u#o#q*}#q#r<y#r#s7u#s$f*}$f;'S7u;'S;=`>s<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u#!ch!p&j#U,U!``!oWOp!FOpq)qqr#!Wrs!FOsw#!Wwx!FOx!P#!W!P!Q!FO!Q![#!W![!]!FO!]!^##}!^!_#!W!_!a!FO!a#o#!W#o#q!FO#q#r#%p#r#s#!W#s$f!FO$f;'S#!W;'S;=`#(c<%l?Ah#!W?Ah?BY!FO?BY?Mn#!W?MnO!FO$-u#$[f!p&j#U,U!``!c#Jk!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q$-e#%yf!p&j#U,U!oWOp!GTqr#%prs!GTsw#%pwx!GTx!P#%p!P!Q!GT!Q![#%p![!]!GT!]!^#'_!^!_#%p!_!a!GT!a#o#%p#o#q!GT#q#s#%p#s$f!GT$f;'S#%p;'S;=`#(]<%l?Ah#%p?Ah?BY!GT?BY?Mn#%p?MnO!GT$-e#'jZ!p&j#U,U!c#Jk!oWqr;qsw;qx!P;q!Q![;q!]!_;q!a#o;q#q#s;q$f;'S;q;'S;=`<m<%l?Ah;q?BY?Mn;q$-e#(`P;=`<%l#%p$-u#(fP;=`<%l#!W$Cq#(tl!p&j#U,U#]7[!oWOX!IaXZ!GTZ[!Ia[^!GT^p!Iaqr#(irs!GTsw#(iwx!GTx!P#(i!P!Q!Ia!Q![#(i![!]!Ia!]!^#*l!^!_#%p!_!a!GT!a#S#(i#S#T#%p#T#o#(i#o#q!Ia#q#s#(i#s$f!Ia$f;'S#(i;'S;=`#,b<%l?Ah#(i?Ah?BY!Ia?BY?Mn#(i?MnO!Ia$Cq#*yg!p&j#U,U#]7[!c#Jk!oWOX,aZ[,a^p,aqr<ysw<yx!P<y!P!Q,a!Q![<y![!],a!]!^<y!^!_;q!a#S<y#S#T;q#T#o<y#o#q,a#q#s<y#s$f,a$f;'S<y;'S;=`>m<%l?Ah<y?Ah?BY,a?BY?Mn<y?MnO,a$Cq#,eP;=`<%l#(i$DR#,kP;=`<%l!Kn$3Z#,yZ#Z#4`!aP$mMh!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Du#.Rprr!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#0lpsQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#3VptQ!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#5nr!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O#7x!O!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHi#8Xq!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr#:`rs(wsv#:`vw#<uwx(wx!P#:`!P!Q'V!Q![#:`![!]'V!]!^#:`!^!_#?S!_!`(w!`!a#Jo!a#S#:`#S#T#DR#T#o#:`#o#p*}#p#q'V#q#r#HR#r#s#:`#s$f'V$f;'S#:`;'S;=`#Ji<%l?Ah#:`?Ah?BY'V?BY?Mn#:`?MnO'VHg#:qp!p&j#U,U!aP#]7[!``#_W!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr#:`rs(wsv#:`vw#<uwx(wx!P#:`!P!Q'V!Q![#:`![!]'V!]!^#:`!^!_#?S!_!a(w!a#S#:`#S#T#DR#T#o#:`#o#p*}#p#q'V#q#r#HR#r#s#:`#s$f'V$f;'S#:`;'S;=`#Ji<%l?Ah#:`?Ah?BY'V?BY?Mn#:`?MnO'VHf#=Un!p&j#U,U#]7[!``#_W!oWOX*}XZ)qZ[*}[^)q^p*}pq)qqr#<urs)qsw#<uwx)qx!P#<u!P!Q*}!Q![#<u![!]*}!]!^#<u!^!_#?S!_!a)q!a#S#<u#S#T#?S#T#o#<u#o#q*}#q#r#BP#r#s#<u#s$f*}$f;'S#<u;'S;=`#C{<%l?Ah#<u?Ah?BY*}?BY?Mn#<u?MnO*}2Y#?af!p&j#U,U!``#_W!oWOq)qqr#?Srs)qsw#?Swx)qx!P#?S!P!Q)q!Q![#?S![!])q!]!_#?S!_!a)q!a#o#?S#o#q)q#q#r#@u#r#s#?S#s$f)q$f;'S#?S;'S;=`#Ay<%l?Ah#?S?Ah?BY)q?BY?Mn#?S?MnO)q1x#AQZ!p&j#U,U#_W!oWqr#@usw#@ux!P#@u!Q![#@u!]!_#@u!a#o#@u#q#s#@u$f;'S#@u;'S;=`#As<%l?Ah#@u?BY?Mn#@u1x#AvP;=`<%l#@u2Y#A|P;=`<%l#?SHU#B^g!p&j#U,U#]7[#_W!oWOX,aZ[,a^p,aqr#BPsw#BPx!P#BP!P!Q,a!Q![#BP![!],a!]!^#BP!^!_#@u!a#S#BP#S#T#@u#T#o#BP#o#q,a#q#s#BP#s$f,a$f;'S#BP;'S;=`#Cu<%l?Ah#BP?Ah?BY,a?BY?Mn#BP?MnO,aHU#CxP;=`<%l#BPHf#DOP;=`<%l#<u2Z#Dbi!p&j#U,U!aP!``#_W!oWOq(wqr#DRrs(wsv#DRvw#?Swx(wx!P#DR!P!Q(w!Q![#DR![!](w!]!^#DR!^!_#?S!_!a(w!a#o#DR#o#p)q#p#q(w#q#r#FP#r#s#DR#s$f(w$f;'S#DR;'S;=`#G{<%l?Ah#DR?Ah?BY(w?BY?Mn#DR?MnO(w1y#F^g!p&j#U,U!aP#_W!oWOq*Yqr#FPrs*Ysv#FPvw#@uwx*Yx!P#FP!P!Q*Y!Q![#FP![!]*Y!]!^#FP!^!_#@u!_!a*Y!a#o#FP#p#q*Y#q#s#FP#s$f*Y$f;'S#FP;'S;=`#Gu<%l?Ah#FP?Ah?BY*Y?BY?Mn#FP?MnO*Y1y#GxP;=`<%l#FP2Z#HOP;=`<%l#DRHV#Hbo!p&j#U,U!aP#]7[#_W!oWOX-bXZ*YZ[-b[^*Y^p-bpq*Yqr#HRrs*Ysv#HRvw#BPwx*Yx!P#HR!P!Q-b!Q![#HR![!]-b!]!^#HR!^!_#@u!_!a*Y!a#S#HR#S#T#FP#T#o#HR#o#p,a#p#q-b#q#s#HR#s$f-b$f;'S#HR;'S;=`#Jc<%l?Ah#HR?Ah?BY-b?BY?Mn#HR?MnO-bHV#JfP;=`<%l#HRHg#JlP;=`<%l#:`c#JxZ!aP$rQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Ee#LOq!p&j#U,U!aP#]7[$mMh$o!LQ!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P#NV!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy#Nfq!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P$!m!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy$#Op!k!b!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_:Q!_!a(w!a#S5b#S#T>y#T#o5b#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f;'S5b;'S;=`EZ<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$3g$%chcQ!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!`(w!`!a$&}!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'Vm$'YZ!aP!``#qW#a[Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$3_$(^g$cScQ!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V$-u$*Ug!p&j#U,U$mMh$o!LQ!``!oWOq)qqr$+mrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!b$LZ!b#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$+xl!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx}:Q}!O$-p!O!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!f:Q!f!g$1Y!g#W:Q#W#X$Ac#X#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$-{h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx}:Q}!O$/g!O!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$/tf!p&j#U,U!``$qP!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$1eh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!q:Q!q!r$3P!r#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$3[h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!e:Q!e!f$4v!f#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$5Rh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!v:Q!v!w$6m!w#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$6xh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!{:Q!{!|$8d!|#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$8oh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!r:Q!r!s$:Z!s#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$:fh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a!g:Q!g!h$<Q!h#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$<]g!p&j#U,U!``!oWOq$=tqr$<Qrs$=tsw$<Qwx$=tx!P$<Q!P!Q$=t!Q![$<Q![!]$=t!]!_$<Q!_!`$=t!`!a$>`!a#o$<Q#o#q$=t#q#r$?h#r#s$<Q#s$f$=t$f;'S$<Q;'S;=`$A]<%l?Ah$<Q?Ah?BY$=t?BY?Mn$<Q?MnO$=ta$=yV!``O!`$=t!`!a$>`!a#q$=t#q#r$>s#r;'S$=t;'S;=`$?b<%lO$=ta$>gS!``#vPO#q)q#r;'S)q;'S;=`*S<%lO)qP$>vTO!`$>s!`!a$?V!a;'S$>s;'S;=`$?[<%lO$>sP$?[O#vPP$?_P;=`<%l$>sa$?eP;=`<%l$=t1y$?qf!p&j#U,U!oWOq$>sqr$?hrs$>ssw$?hwx$>sx!P$?h!P!Q$>s!Q![$?h![!]$>s!]!_$?h!_!`$>s!`!a$?V!a#o$?h#o#q$>s#q#s$?h#s$f$>s$f;'S$?h;'S;=`$AV<%l?Ah$?h?Ah?BY$>s?BY?Mn$?h?MnO$>s1y$AYP;=`<%l$?h2Z$A`P;=`<%l$<Q2Z$Anh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#c:Q#c#d$CY#d#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Ceh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#V:Q#V#W$EP#W#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$E[h!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#h:Q#h#i$Fv#i#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$GRh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#m:Q#m#n$Hm#n#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Hxh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#d:Q#d#e$Jd#e#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Joh!p&j#U,U!``!oWOq)qqr:Qrs)qsw:Qwx)qx!P:Q!P!Q)q!Q![:Q![!])q!]!_:Q!_!a)q!a#X:Q#X#Y$<Q#Y#o:Q#o#q)q#q#r;q#r#s:Q#s$f)q$f;'S:Q;'S;=`<s<%l?Ah:Q?Ah?BY)q?BY?Mn:Q?MnO)q2Z$Lfg!p&j#U,U!``!oWOq$M}qr$LZrs$M}sw$LZwx$M}x!P$LZ!P!Q$M}!Q![$LZ![!]$M}!]!_$LZ!_!a$M}!a!b%!o!b#o$LZ#o#q$M}#q#r%$c#r#s$LZ#s$f$M}$f;'S$LZ;'S;=`%'u<%l?Ah$LZ?Ah?BY$M}?BY?Mn$LZ?MnO$M}a$NSV!``O!a$M}!a!b$Ni!b#q$M}#q#r% h#r;'S$M};'S;=`%!i<%lO$M}a$NnV!``O!`$M}!`!a% T!a#q$M}#q#r% h#r;'S$M};'S;=`%!i<%lO$M}a% [S!``#sPO#q)q#r;'S)q;'S;=`*S<%lO)qP% kTO!a% h!a!b% z!b;'S% h;'S;=`%!c<%lO% hP% }TO!`% h!`!a%!^!a;'S% h;'S;=`%!c<%lO% hP%!cO#sPP%!fP;=`<%l% ha%!lP;=`<%l$M}2Z%!zg!p&j#U,U!``!oWOq$M}qr$LZrs$M}sw$LZwx$M}x!P$LZ!P!Q$M}!Q![$LZ![!]$M}!]!_$LZ!_!`$M}!`!a% T!a#o$LZ#o#q$M}#q#r%$c#r#s$LZ#s$f$M}$f;'S$LZ;'S;=`%'u<%l?Ah$LZ?Ah?BY$M}?BY?Mn$LZ?MnO$M}1y%$lf!p&j#U,U!oWOq% hqr%$crs% hsw%$cwx% hx!P%$c!P!Q% h!Q![%$c![!]% h!]!_%$c!_!a% h!a!b%&Q!b#o%$c#o#q% h#q#s%$c#s$f% h$f;'S%$c;'S;=`%'o<%l?Ah%$c?Ah?BY% h?BY?Mn%$c?MnO% h1y%&Zf!p&j#U,U!oWOq% hqr%$crs% hsw%$cwx% hx!P%$c!P!Q% h!Q![%$c![!]% h!]!_%$c!_!`% h!`!a%!^!a#o%$c#o#q% h#q#s%$c#s$f% h$f;'S%$c;'S;=`%'o<%l?Ah%$c?Ah?BY% h?BY?Mn%$c?MnO% h1y%'rP;=`<%l%$c2Z%'xP;=`<%l$LZ#KT%(YZ#VW!aP$mMh$o!LQ!``Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#KX%)YZ!aP$mMh$o!LQ!``#a[Ov(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$IR%*j!aeS#kQ!p&j#U,U#n#t!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%<f!}#R5b#R#S%7r#S#T>y#T#o%<f#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&nHi%/Q!^#kQ!p&j#U,U!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O%.o!O!P%.o!P!Q'V!Q![%.o![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%.o!}#R5b#R#S%.o#S#T>y#T#o%.o#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$}5b$}%O%.o%O%W5b%W%o%.o%o%p5b%p&a%.o&a&b5b&b1p%.o1p4U%.o4U4d%.o4d4e5b4e$IS%.o$IS$I`5b$I`$Ib%.o$Ib$Je5b$Je$Jg%.o$Jg$Kh5b$Kh%#t%.o%#t&/x5b&/x&Et%.o&Et&FV5b&FV;'S%.o;'S;:j%2|;:j;=`EZ<%l?&r5b?&r?Ah%.o?Ah?BY'V?BY?Mn%.o?MnO'VHi%3PP;=`<%l%.oIZ%3g!a#kQ!p&j#U,U!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%3S![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%3S!}#R5b#R#S%3S#S#T>y#T#o%3S#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}N|$}%O%3S%O%WN|%W%o%3S%o%pN|%p&a%3S&a&bN|&b1p%3S1p4U%3S4U4d%3S4d4eN|4e$IS%3S$IS$I`N|$I`$Ib%3S$Ib$JeN|$Je$Jg%3S$Jg$KhN|$Kh%#t%3S%#t&/xN|&/x&Et%3S&Et&FVN|&FV;'S%3S;'S;:j%7l;:j;=`!#x<%l?&rN|?&r?Ah%3S?Ah?BY!$O?BY?Mn%3S?MnO!$OIZ%7oP;=`<%l%3SJq%8Z!aeS#kQ!p&j#U,U!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%7r!}#R5b#R#S%7r#S#T>y#T#o%7r#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&nJq%<cP;=`<%l%7rMg%=P!aeS#kQ!p&j#U,U#n#t!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%.o!O!P%3S!P!Q'V!Q![%7r![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%<f!}#R5b#R#S%7r#S#T>y#T#o%<f#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%7r%O%WK|%W%o%7r%o%pK|%p&a%7r&a&bK|&b1p%7r1p4U%7r4U4d%7r4d4eK|4e$IS%7r$IS$I`K|$I`$Ib%7r$Ib$JeK|$Je$Jg%7r$Jg$KhK|$Kh%#t%7r%#t&/xK|&/x&Et%7r&Et&FVK|&FV;'S%7r;'S;:j%<`;:j;=`!&h<%l?&rK|?&r?Ah%7r?Ah?BY!&n?BY?Mn%7r?MnO!&n$F]%Aq!aeS!p&j#U,U!gQ!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ny!}#R5b#R#S%Ny#S#T>y#T#o%Ny#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nHi%FX!^!p&j#U,U!gQ!aP#]7[!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O%Ev!O!P%Ev!P!Q'V!Q![%Ev![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ev!}#R5b#R#S%Ev#S#T>y#T#o%Ev#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$}5b$}%O%Ev%O%W5b%W%o%Ev%o%p5b%p&a%Ev&a&b5b&b1p%Ev1p4U%Ev4U4d%Ev4d4e5b4e$IS%Ev$IS$I`5b$I`$Ib%Ev$Ib$Je5b$Je$Jg%Ev$Jg$Kh5b$Kh%#t%Ev%#t&/x5b&/x&Et%Ev&Et&FV5b&FV;'S%Ev;'S;:j%JT;:j;=`EZ<%l?&r5b?&r?Ah%Ev?Ah?BY'V?BY?Mn%Ev?MnO'VHi%JWP;=`<%l%EvIZ%Jn!a!p&j#U,U!gQ!aP#]7[up!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuN|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%JZ![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%JZ!}#R5b#R#S%JZ#S#T>y#T#o%JZ#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}N|$}%O%JZ%O%WN|%W%o%JZ%o%pN|%p&a%JZ&a&bN|&b1p%JZ1p4U%JZ4U4d%JZ4d4eN|4e$IS%JZ$IS$I`N|$I`$Ib%JZ$Ib$JeN|$Je$Jg%JZ$Jg$KhN|$Kh%#t%JZ%#t&/xN|&/x&Et%JZ&Et&FVN|&FV;'S%JZ;'S;:j%Ns;:j;=`!#x<%l?&rN|?&r?Ah%JZ?Ah?BY!$O?BY?Mn%JZ?MnO!$OIZ%NvP;=`<%l%JZJq& b!aeS!p&j#U,U!gQ!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}%Ny!}#R5b#R#S%Ny#S#T>y#T#o%Ny#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nJq&%jP;=`<%l%Ny$-u&&Oi!p&j#U,U!aP$mMh$o!LQ!``!oWOq(wqr>yrs(wsv>yvw:Qwx(wx!P>y!P!Q(w!Q![>y![!](w!]!^>y!^!_:Q!_!a(w!a#o>y#o#p)q#p#q(w#q#r@u#r#s>y#s$f(w$f;'S>y;'S;=`Bo<%l?Ah>y?Ah?BY(w?BY?Mn>y?MnO(w$IR&([!aeS!p&j#U,U#n#t!gQ!aP#]7[up$mMh$o!LQ$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}&,a!}#R5b#R#S%Ny#S#T>y#T#o&,a#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&nMg&,z!aeS!p&j#U,U#n#t!gQ!aP#]7[up$_!b!``!oWOX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuK|uv5bvw7uwx(wx}5b}!O%Ev!O!P%JZ!P!Q'V!Q![%Ny![!]'V!]!^5b!^!_:Q!_!a(w!a!c5b!c!}&,a!}#R5b#R#S%Ny#S#T>y#T#o&,a#o#p*}#p#q'V#q#rBu#r#s5b#s$f'V$f$g5b$g$}K|$}%O%Ny%O%WK|%W%o%Ny%o%pK|%p&a%Ny&a&bK|&b1p%Ny1p4U%Ny4U4d%Ny4d4eK|4e$IS%Ny$IS$I`K|$I`$Ib%Ny$Ib$JeK|$Je$Jg%Ny$Jg$KhK|$Kh%#t%Ny%#t&/xK|&/x&Et%Ny&Et&FVK|&FV;'S%Ny;'S;:j&%g;:j;=`!&h<%l?&rK|?&r?Ah%Ny?Ah?BY!&n?BY?Mn%Ny?MnO!&n$3a&1WSb$3P!``O#q)q#r;'S)q;'S;=`*S<%lO)q$3a&1sg#TW!aP#]7[$mMh$o!LQ!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V$FX&3oog#f!p&j#U,U!aP#]7[$mMh$o!LQ!oWOX-bXZ*YZ[-b[^*Y^p-bpq*YqrBurs*YsvBuvw<ywx*Yx!PBu!P!Q-b!Q![Bu![!]-b!]!^Bu!^!_;q!_!a*Y!a#SBu#S#T@u#T#oBu#o#p,a#p#q-b#q#sBu#s$f-b$f;'SBu;'S;=`ET<%l?AhBu?Ah?BY-b?BY?MnBu?MnO-b$F]&5sP;=`<%l%AU$FZ&5yP;=`<%lHx$5a&6aqeS!aP#]7[up$mMh$o!LQ$_!b!``OX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&nuv'Vvw*}wx(wx!O'V!O!P!$O!P!Q'V!Q![!&n![!^'V!^!_)q!_!a(w!a!c'V!c!}!&n!}#R'V#R#S!&n#S#T(w#T#o!&n#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&n;'S;=`!)U<%lO!&n",
3614
- tokenizers: [
3615
- scriptTokens,
3616
- styleTokens,
3617
- textareaTokens,
3618
- tagStart,
3619
- commentContent,
3620
- longExpression,
3621
- shortExpression,
3622
- 0,
3623
- 1,
3624
- 2,
3625
- 3,
3626
- 4,
3627
- 5,
3628
- 6,
3629
- 7,
3630
- 8,
3631
- 9,
3632
- 10,
3633
- 11,
3634
- 12
3635
- ],
3636
- topRules: { Document: [0, 15] },
3637
- specialized: [
3638
- {
3639
- term: 19,
3640
- get: (e6) => spec_BlockPrefix[e6] || -1
3641
- },
3642
- {
3643
- term: 21,
3644
- get: (e6) => spec_BlockType[e6] || -1
3645
- },
3646
- {
3647
- term: 153,
3648
- get: (e6) => spec_identifier[e6] || -1
3649
- },
3650
- {
3651
- term: 77,
3652
- get: (e6) => spec_AttributeName[e6] || -1
3653
- },
3654
- {
3655
- term: 69,
3656
- get: (e6) => spec_TagName[e6] || -1
3657
- }
3658
- ],
3659
- tokenPrec: 1571
3660
- });
3661
- function getAttrs(e6, b) {
3662
- let x = /* @__PURE__ */ Object.create(null);
3663
- for (let S of e6.firstChild.getChildren("Attribute")) {
3664
- let e7 = S.getChild("AttributeName"), C = S.getChild("AttributeValue") || S.getChild("UnquotedAttributeValue");
3665
- e7 && (x[b.read(e7.from, e7.to)] = C ? C.name == "AttributeValue" ? b.read(C.from + 1, C.to - 1) : b.read(C.from, C.to) : "");
3666
- }
3667
- return x;
3668
- }
3669
- function maybeNest(e6, b, x) {
3670
- let S;
3671
- for (let C of x) if (!C.attrs || C.attrs(S || (S = getAttrs(e6.node.parent, b)))) return { parser: C.parser };
3672
- return null;
3673
- }
3674
- var expressionParser = /* @__PURE__ */ parser$1.configure({ top: "SingleExpression" });
3675
- function configureNesting(e6) {
3676
- let b = [], x = [], S = [];
3677
- for (let C of e6) {
3678
- let e7 = C.tag == "script" ? b : C.tag == "style" ? x : C.tag == "textarea" ? S : null;
3679
- if (!e7) throw RangeError("Only script, style, and textarea tags can host nested parsers");
3680
- e7.push(C);
3681
- }
3682
- return parseMixed((e7, C) => {
3683
- let w = e7.type.id;
3684
- return w === LongExpression || w === ShortExpression ? { parser: expressionParser } : w === ScriptText ? maybeNest(e7, C, b) : w === StyleText ? maybeNest(e7, C, x) : w === TextareaText ? maybeNest(e7, C, S) : null;
3685
- });
3686
- }
3687
- var defaultNesting = [
3688
- {
3689
- tag: "script",
3690
- attrs: (e6) => e6.type === "text/typescript" || e6.lang === "ts",
3691
- parser: typescriptLanguage.parser
3692
- },
3693
- {
3694
- tag: "script",
3695
- attrs(e6) {
3696
- return !e6.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e6.type);
3697
- },
3698
- parser: javascriptLanguage.parser
3699
- },
3700
- {
3701
- tag: "style",
3702
- attrs(e6) {
3703
- return (!e6.lang || e6.lang === "css" || e6.lang === "scss") && (!e6.type || /^(text\/)?(x-)?(stylesheet|css|scss)$/i.test(e6.type));
3704
- },
3705
- parser: cssLanguage.parser
3706
- }
3707
- ], svelteLanguage = /* @__PURE__ */ LRLanguage.define({
3708
- parser: /* @__PURE__ */ parser$2.configure({
3709
- wrap: /* @__PURE__ */ configureNesting(defaultNesting),
3710
- props: [/* @__PURE__ */ indentNodeProp.add({
3711
- Element: (e6) => {
3712
- let b = /^(\s*)(<\/)?/.exec(e6.textAfter);
3713
- return e6.node.to <= e6.pos + b[0].length ? e6.continue() : e6.lineIndent(e6.node.from) + (b[2] ? 0 : e6.unit);
3714
- },
3715
- Block: (e6) => {
3716
- let b = e6.node, x = e6.textAfter.trim();
3717
- if (x.startsWith("{/")) {
3718
- let S2 = b.name;
3719
- return S2 === "IfBlock" && x.startsWith("{/if") || S2 === "EachBlock" && x.startsWith("{/each") || S2 === "AwaitBlock" && x.startsWith("{/await") || S2 === "KeyBlock" && x.startsWith("{/key") ? e6.lineIndent(e6.node.from) : null;
3720
- }
3721
- if (b.name === "IfBlock" || b.name === "EachBlock") {
3722
- if (x.startsWith("{:else")) return e6.lineIndent(b.from);
3723
- } else if (b.name === "AwaitBlock" && (x.startsWith("{:then") || x.startsWith("{:catch"))) return e6.lineIndent(b.from);
3724
- let S = /^(\s*)(<\/)?/.exec(e6.textAfter);
3725
- return e6.node.to <= e6.pos + S[0].length ? e6.continue() : e6.lineIndent(e6.node.from) + (S[2] ? 0 : e6.unit);
3726
- },
3727
- "BlockOpen BlockClose BlockInline": (e6) => e6.column(e6.node.from) + e6.unit,
3728
- "OpenTag CloseTag SelfClosingTag": (e6) => e6.column(e6.node.from) + e6.unit,
3729
- Document: (e6) => {
3730
- if (e6.pos + /\s*/.exec(e6.textAfter)[0].length < e6.node.to) return e6.continue();
3731
- let b = null, x;
3732
- for (let x2 = e6.node; ; ) {
3733
- let e7 = x2.lastChild;
3734
- if (!e7 || e7.name != "Element" || e7.to != x2.to) break;
3735
- b = x2 = e7;
3736
- }
3737
- return b && !((x = b.lastChild) && (x.name === "CloseTag" || x.name === "SelfClosingTag")) ? e6.lineIndent(b.from) + e6.unit : null;
3738
- }
3739
- }), /* @__PURE__ */ foldNodeProp.add({
3740
- Block: (e6) => {
3741
- let b = `${e6.name}Open`, x = `${e6.name}Close`, S = e6.firstChild, C = e6.lastChild;
3742
- return !S || S.name !== b ? null : {
3743
- from: S.to,
3744
- to: (C == null ? void 0 : C.name) === x ? C.from : e6.to
3745
- };
3746
- },
3747
- Element: (e6) => {
3748
- let b = e6.firstChild, x = e6.lastChild;
3749
- return !b || b.name != "OpenTag" ? null : {
3750
- from: b.to,
3751
- to: x.name === "CloseTag" ? x.from : e6.to
3752
- };
3753
- }
3754
- })]
3755
- }),
3756
- languageData: {
3757
- commentTokens: { block: {
3758
- open: "<!--",
3759
- close: "-->"
3760
- } },
3761
- indentOnInput: /^\s*((<\/\w+\W)|(\{:(else|then|catch))|(\{\/(if|each|await|key)))$/,
3762
- wordChars: "-._",
3763
- autocomplete: htmlCompletionSource
3764
- }
3765
- });
3766
- function svelte() {
3767
- return new LanguageSupport(svelteLanguage, [
3768
- javascript().support,
3769
- css().support,
3770
- autoCloseTags
3771
- ]);
3772
- }
3773
- function elementName(e6, b, x = e6.length) {
3774
- if (!b) return "";
3775
- let S = b.firstChild, C = S && (S.getChild("TagName") || S.getChild("ComponentName") || S.getChild("SvelteElementName"));
3776
- return C ? e6.sliceString(C.from, Math.min(C.to, x)) : "";
3777
- }
3778
- var autoCloseTags = /* @__PURE__ */ EditorView.inputHandler.of((e6, b, x, S) => {
3779
- if (e6.composing || e6.state.readOnly || b != x || S != ">" && S != "/" || !svelteLanguage.isActiveAt(e6.state, b, -1)) return false;
3780
- let { state: C } = e6, w = C.changeByRange((b2) => {
3781
- var _a, _b, _c;
3782
- let { head: x2 } = b2, w2 = syntaxTree(C).resolveInner(x2, -1), T;
3783
- if ((w2.name === "TagName" || w2.name === "ComponentName" || w2.name === "SvelteElementName" || w2.name === "StartTag") && (w2 = w2.parent), S === ">" && w2.name === "OpenTag") {
3784
- if (((_b = (_a = w2.parent) == null ? void 0 : _a.lastChild) == null ? void 0 : _b.name) != "CloseTag" && (T = elementName(C.doc, w2.parent, x2))) {
3785
- let b3 = e6.state.doc.sliceString(x2, x2 + 1) === ">", S2 = `${b3 ? "" : ">"}</${T}>`;
3786
- return {
3787
- range: EditorSelection.cursor(x2 + 1),
3788
- changes: {
3789
- from: x2 + (b3 ? 1 : 0),
3790
- insert: S2
3791
- }
3792
- };
3793
- }
3794
- } else if (S === "/" && w2.name === "OpenTag") {
3795
- let b3 = w2.parent, S2 = b3 == null ? void 0 : b3.parent;
3796
- if (b3.from == x2 - 1 && ((_c = S2.lastChild) == null ? void 0 : _c.name) != "CloseTag" && (T = elementName(C.doc, S2, x2))) {
3797
- let b4 = e6.state.doc.sliceString(x2, x2 + 1) === ">", S3 = `/${T}${b4 ? "" : ">"}`, C2 = x2 + S3.length + (b4 ? 1 : 0);
3798
- return {
3799
- range: EditorSelection.cursor(C2),
3800
- changes: {
3801
- from: x2,
3802
- insert: S3
3803
- }
3804
- };
3805
- }
3806
- }
3807
- return { range: b2 };
3808
- });
3809
- return w.changes.empty ? false : (e6.dispatch(w, {
3810
- userEvent: "input.type",
3811
- scrollIntoView: true
3812
- }), true);
3813
- }), keywords = {
3814
- pragma: true,
3815
- solidity: true,
3816
- import: true,
3817
- as: true,
3818
- from: true,
3819
- contract: true,
3820
- constructor: true,
3821
- is: true,
3822
- function: true,
3823
- modifier: true,
3824
- pure: true,
3825
- view: true,
3826
- payable: true,
3827
- constant: true,
3828
- anonymous: true,
3829
- indexed: true,
3830
- returns: true,
3831
- return: true,
3832
- event: true,
3833
- struct: true,
3834
- mapping: true,
3835
- interface: true,
3836
- using: true,
3837
- library: true,
3838
- storage: true,
3839
- memory: true,
3840
- calldata: true,
3841
- public: true,
3842
- private: true,
3843
- external: true,
3844
- internal: true,
3845
- emit: true,
3846
- assembly: true,
3847
- abstract: true,
3848
- after: true,
3849
- catch: true,
3850
- final: true,
3851
- in: true,
3852
- inline: true,
3853
- let: true,
3854
- match: true,
3855
- null: true,
3856
- of: true,
3857
- relocatable: true,
3858
- static: true,
3859
- try: true,
3860
- typeof: true,
3861
- var: true
3862
- }, keywordsSpecial = {
3863
- pragma: true,
3864
- returns: true,
3865
- address: true,
3866
- contract: true,
3867
- function: true,
3868
- struct: true
3869
- }, keywordsEtherUnit = {
3870
- wei: true,
3871
- szabo: true,
3872
- finney: true,
3873
- ether: true
3874
- }, keywordsTimeUnit = {
3875
- seconds: true,
3876
- minutes: true,
3877
- hours: true,
3878
- days: true,
3879
- weeks: true
3880
- }, keywordsBlockAndTransactionProperties = {
3881
- block: [
3882
- "coinbase",
3883
- "difficulty",
3884
- "gaslimit",
3885
- "number",
3886
- "timestamp"
3887
- ],
3888
- msg: [
3889
- "data",
3890
- "sender",
3891
- "sig",
3892
- "value"
3893
- ],
3894
- tx: ["gasprice", "origin"]
3895
- }, keywordsMoreBlockAndTransactionProperties = {
3896
- now: true,
3897
- gasleft: true,
3898
- blockhash: true
3899
- }, keywordsErrorHandling = {
3900
- assert: true,
3901
- require: true,
3902
- revert: true,
3903
- throw: true
3904
- }, keywordsMathematicalAndCryptographicFuctions = {
3905
- addmod: true,
3906
- mulmod: true,
3907
- keccak256: true,
3908
- sha256: true,
3909
- ripemd160: true,
3910
- ecrecover: true
3911
- }, keywordsContractRelated = {
3912
- this: true,
3913
- selfdestruct: true,
3914
- super: true
3915
- }, keywordsTypeInformation = { type: true }, keywordsContractList = {}, keywordsControlStructures = {
3916
- if: true,
3917
- else: true,
3918
- while: true,
3919
- do: true,
3920
- for: true,
3921
- break: true,
3922
- continue: true,
3923
- switch: true,
3924
- case: true,
3925
- default: true
3926
- }, keywordsValueTypes = {
3927
- bool: true,
3928
- byte: true,
3929
- string: true,
3930
- enum: true,
3931
- address: true
3932
- }, keywordsV0505NewReserve = {
3933
- alias: true,
3934
- apply: true,
3935
- auto: true,
3936
- copyof: true,
3937
- define: true,
3938
- immutable: true,
3939
- implements: true,
3940
- macro: true,
3941
- mutable: true,
3942
- override: true,
3943
- partial: true,
3944
- promise: true,
3945
- reference: true,
3946
- sealed: true,
3947
- sizeof: true,
3948
- supports: true,
3949
- typedef: true,
3950
- unchecked: true
3951
- }, keywordsAbiEncodeDecodeFunctions = { abi: [
3952
- "decode",
3953
- "encodePacked",
3954
- "encodeWithSelector",
3955
- "encodeWithSignature",
3956
- "encode"
3957
- ] }, keywordsMembersOfAddressType = [
3958
- "transfer",
3959
- "send",
3960
- "balance",
3961
- "call",
3962
- "delegatecall",
3963
- "staticcall"
3964
- ], natSpecTags = [
3965
- "title",
3966
- "author",
3967
- "notice",
3968
- "dev",
3969
- "param",
3970
- "return"
3971
- ], atoms = {
3972
- delete: true,
3973
- new: true,
3974
- true: true,
3975
- false: true
3976
- }, isOperatorChar = /[+\-*&^%:=<>!|/~]/, isNegativeChar = /[-]/, curPunc;
3977
- function tokenBase(e6, b) {
3978
- let x = e6.next();
3979
- if (x === '"' || x === "'" || x === "`") return b.tokenize = tokenString(x), b.tokenize(e6, b);
3980
- if (isVersion(e6, b)) return "version";
3981
- if (x === "." && keywordsMembersOfAddressType.some(function(b2) {
3982
- return e6.match(`${b2}`);
3983
- })) return "addressFunction";
3984
- if (typeof x == "string" && isNumber(x, e6)) return "number";
3985
- if (typeof x == "string" && /[[\]{}(),;:.]/.test(x)) return updateGarmmer(x, b);
3986
- if (x === "/") {
3987
- if (e6.eat("*")) return b.tokenize = tokenComment, tokenComment(e6, b);
3988
- if (e6.match(/\/{2}/)) {
3989
- for (x = e6.next(); x; ) {
3990
- if (x === "@") {
3991
- e6.backUp(1), b.grammar = "doc";
3992
- break;
3993
- }
3994
- x = e6.next();
3995
- }
3996
- return "doc";
3997
- }
3998
- if (e6.eat("/")) return e6.skipToEnd(), "comment";
3999
- }
4000
- if (typeof x == "string" && isNegativeChar.test(x)) {
4001
- let b2 = e6.peek();
4002
- return typeof b2 == "string" && isNumber(b2, e6) ? "number" : "operator";
4003
- }
4004
- if (typeof x == "string" && isOperatorChar.test(x)) return e6.eatWhile(isOperatorChar), "operator";
4005
- e6.eatWhile(/[\w$_\xa1-\uffff]/);
4006
- let S = e6.current();
4007
- return b.grammar === "doc" ? natSpecTags.some(function(e7) {
4008
- return S === `@${e7}`;
4009
- }) ? "docReserve" : "doc" : (S === "solidity" && b.lastToken === "pragma" && (b.lastToken = b.lastToken + " " + S), Object.prototype.propertyIsEnumerable.call(keywords, S) ? ((S === "case" || S === "default") && (curPunc = "case"), Object.prototype.propertyIsEnumerable.call(keywordsSpecial, S) && (b.lastToken = S), "keyword") : Object.prototype.propertyIsEnumerable.call(keywordsEtherUnit, S) ? "etherUnit" : Object.prototype.propertyIsEnumerable.call(keywordsContractRelated, S) ? "contractRelated" : Object.prototype.propertyIsEnumerable.call(keywordsControlStructures, S) || Object.prototype.propertyIsEnumerable.call(keywordsTypeInformation, S) || Object.prototype.propertyIsEnumerable.call(keywordsV0505NewReserve, S) ? "keyword" : Object.prototype.propertyIsEnumerable.call(keywordsValueTypes, S) || Object.prototype.propertyIsEnumerable.call(keywordsTimeUnit, S) || isValidInteger(S) || isValidBytes(S) || isValidFixed(S) ? (b.lastToken += "variable", "keyword") : Object.prototype.propertyIsEnumerable.call(atoms, S) ? "atom" : Object.prototype.propertyIsEnumerable.call(keywordsErrorHandling, S) ? "errorHandling" : Object.prototype.propertyIsEnumerable.call(keywordsMathematicalAndCryptographicFuctions, S) ? "mathematicalAndCryptographic" : Object.prototype.propertyIsEnumerable.call(keywordsMoreBlockAndTransactionProperties, S) || Object.prototype.propertyIsEnumerable.call(keywordsBlockAndTransactionProperties, S) && keywordsBlockAndTransactionProperties[S].some(function(b2) {
4010
- return e6.match(`.${b2}`);
4011
- }) ? "variable-2" : S === "abi" && keywordsAbiEncodeDecodeFunctions[S].some(function(b2) {
4012
- return e6.match(`.${b2}`);
4013
- }) ? "abi" : updateHexLiterals(S, e6) ?? ((b.lastToken === "functionName(" || b.lastToken === "returns(") && Object.prototype.propertyIsEnumerable.call(keywordsContractList, S) ? (b.lastToken += "variable", "variable") : b.lastToken === "function" ? (b.lastToken = "functionName", b.para ?? (b.para = (b.grammar = "function", "")), b.para += "functionName", "functionName") : b.lastToken === "functionName(variable" ? (b.lastToken = "functionName(", "parameterValue") : b.lastToken === "returns(variable" ? (b.lastToken = "returns(", "parameterValue") : (b.lastToken === "address" && S === "payable" && (b.lastToken = "address payable"), (b.lastToken === "contract" || b.lastToken === "struct") && (keywordsContractList[S] = true, b.lastToken = null), b.grammar === "function" ? "parameterValue" : "variable")));
4014
- }
4015
- function tokenString(e6) {
4016
- return function(b, x) {
4017
- let S = false, C, w = false;
4018
- for (C = b.next(); C != null; ) {
4019
- if (C === e6 && !S) {
4020
- w = true;
4021
- break;
4022
- }
4023
- S = !S && e6 !== "`" && C === "\\", C = b.next();
4024
- }
4025
- return (w || !(S || e6 === "`")) && (x.tokenize = tokenBase), "string";
4026
- };
4027
- }
4028
- function tokenComment(e6, b) {
4029
- let x = false, S = e6.next();
4030
- for (; S; ) {
4031
- if (S === "/" && x) {
4032
- b.tokenize = tokenBase;
4033
- break;
4034
- }
4035
- x = S === "*", S = e6.next();
4036
- }
4037
- return "comment";
4038
- }
4039
- function isVersion(e6, b) {
4040
- if (b.lastToken === "pragma solidity") return b.lastToken = null, !b.startOfLine && (e6.match(/[\^{0}][0-9.]+/) || e6.match(/[>=]+?[\s]*[0-9.]+[\s]*[<]?[\s]*[0-9.]+/));
4041
- }
4042
- function isNumber(e6, b) {
4043
- if (/[\d.]/.test(e6)) return e6 === "." ? b.match(/^[0-9]+([eE][-+]?[0-9]+)?/) : e6 === "0" ? b.match(/^[xX][0-9a-fA-F]+/) || b.match(/^0[0-7]+/) : b.match(/^[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?/), true;
4044
- }
4045
- function isValidInteger(e6) {
4046
- if (e6.match(/^[u]?int/)) {
4047
- if (e6.indexOf("t") + 1 === e6.length) return true;
4048
- let b = Number(e6.substr(e6.indexOf("t") + 1, e6.length));
4049
- return b % 8 == 0 && b <= 256;
4050
- }
4051
- }
4052
- function isValidBytes(e6) {
4053
- if (e6.match(/^bytes/)) {
4054
- if (e6.indexOf("s") + 1 === e6.length) return true;
4055
- let b = e6.substr(e6.indexOf("s") + 1, e6.length);
4056
- return Number(b) <= 32;
4057
- }
4058
- }
4059
- function isValidFixed(e6) {
4060
- if (e6.match(/^[u]?fixed([0-9]+x[0-9]+)?/)) {
4061
- if (e6.indexOf("d") + 1 === e6.length) return true;
4062
- let b = e6.substr(e6.indexOf("d") + 1, e6.length).split("x").map(Number);
4063
- return b[0] % 8 == 0 && b[0] <= 256 && b[1] <= 80;
4064
- }
4065
- }
4066
- function updateHexLiterals(e6, b) {
4067
- if (e6.match(/^hex/) && b.peek() === '"') {
4068
- let e7 = false, x, S = "", C = "";
4069
- for (x = b.next(); x; ) {
4070
- if (C += x, x === '"' && e7) {
4071
- if (S = C.substring(1, C.length - 1), S.match(/^[0-9a-fA-F]+$/)) return "number";
4072
- b.backUp(C.length);
4073
- break;
4074
- }
4075
- e7 || (e7 = x === '"'), x = b.next();
4076
- }
4077
- }
4078
- }
4079
- function updateGarmmer(e6, b) {
4080
- return e6 === "," && b.para === "functionName(variable" && (b.para = "functionName("), b.para != null && b.para.startsWith("functionName") && (e6 === ")" ? b.para.endsWith("(") && (b.para = b.para.substr(0, b.para.length - 1), b.para === "functionName" && (b.grammar = "")) : e6 === "(" && (b.para += e6)), e6 === "(" && b.lastToken === "functionName" ? b.lastToken += e6 : e6 === ")" && b.lastToken === "functionName(" ? b.lastToken = null : e6 === "(" && b.lastToken === "returns" ? b.lastToken += e6 : e6 === ")" && (b.lastToken === "returns(" || b.lastToken === "returns(variable") && (b.lastToken = null), e6 === "(" && b.lastToken === "address" && (b.lastToken += e6), curPunc = e6, null;
4081
- }
4082
- var Context = class {
4083
- constructor(e6, b, x, S, C) {
4084
- this.indented = e6, this.column = b, this.type = x, this.align = S, this.prev = C;
4085
- }
4086
- };
4087
- function pushContext(e6, b, x) {
4088
- return e6.context = new Context(e6.indented, b, x, null, e6.context), e6.context;
4089
- }
4090
- function popContext(e6) {
4091
- if (!e6.context.prev) return;
4092
- let b = e6.context.type;
4093
- return (b === ")" || b === "]" || b === "}") && (e6.indented = e6.context.indented), e6.context = e6.context.prev;
4094
- }
4095
- var parser = {
4096
- startState(e6) {
4097
- return {
4098
- tokenize: null,
4099
- context: new Context(0 - e6, 0, "top", false, null),
4100
- indented: 0,
4101
- startOfLine: true,
4102
- grammar: null,
4103
- lastToken: null,
4104
- para: null
4105
- };
4106
- },
4107
- token(e6, b) {
4108
- let x = b.context;
4109
- if (e6.sol() && (x.align ?? (x.align = false), b.indented = e6.indentation(), b.startOfLine = true, x.type === "case" && (x.type = "}"), b.grammar === "doc" && (b.grammar = null)), e6.eatSpace()) return null;
4110
- curPunc = null;
4111
- let S = (b.tokenize || tokenBase)(e6, b);
4112
- return S === "comment" ? S : (x.align ?? (x.align = true), curPunc === "{" ? pushContext(b, e6.column(), "}") : curPunc === "[" ? pushContext(b, e6.column(), "]") : curPunc === "(" ? pushContext(b, e6.column(), ")") : curPunc === "case" ? x.type = "case" : (curPunc === "}" && x.type === "}" || curPunc === x.type) && popContext(b), b.startOfLine = false, S);
4113
- },
4114
- indent(e6, b, x) {
4115
- if (e6.tokenize !== tokenBase && e6.tokenize != null) return null;
4116
- let S = e6.context, C = b && b.charAt(0);
4117
- if (S.type === "case" && /^(?:case|default)\b/.test(b)) return e6.context.type = "}", S.indented;
4118
- let w = C === S.type;
4119
- return S.align ? S.column + (w ? 0 : 1) : S.indented + (w ? 0 : x.unit);
4120
- },
4121
- electricChars: "{}):",
4122
- closeBrackets: "()[]{}''\"\"``",
4123
- fold: "brace",
4124
- blockCommentStart: "/*",
4125
- blockCommentEnd: "*/",
4126
- lineComment: "//",
4127
- tokenTable: {
4128
- functionName: /* @__PURE__ */ Tag.define(),
4129
- parameterValue: /* @__PURE__ */ Tag.define(),
4130
- addressFunction: /* @__PURE__ */ Tag.define(),
4131
- errorHandling: /* @__PURE__ */ Tag.define(),
4132
- contractRelated: /* @__PURE__ */ Tag.define(),
4133
- version: /* @__PURE__ */ Tag.define(),
4134
- etherUnit: /* @__PURE__ */ Tag.define(),
4135
- doc: /* @__PURE__ */ Tag.define(),
4136
- mathematicalAndCryptographic: /* @__PURE__ */ Tag.define(),
4137
- abi: /* @__PURE__ */ Tag.define()
4138
- }
4139
- }, solidity = /* @__PURE__ */ new LanguageSupport(/* @__PURE__ */ StreamLanguage.define(parser)), langs = {
4140
- 1: () => StreamLanguage.define(troff),
4141
- 2: () => StreamLanguage.define(troff),
4142
- 3: () => StreamLanguage.define(troff),
4143
- 4: () => StreamLanguage.define(troff),
4144
- "4th": () => StreamLanguage.define(forth),
4145
- 5: () => StreamLanguage.define(troff),
4146
- 6: () => StreamLanguage.define(troff),
4147
- 7: () => StreamLanguage.define(troff),
4148
- 8: () => StreamLanguage.define(troff),
4149
- 9: () => StreamLanguage.define(troff),
4150
- apl: () => StreamLanguage.define(apl),
4151
- asc: () => StreamLanguage.define(asciiArmor),
4152
- asn: () => StreamLanguage.define(asn1({})),
4153
- asn1: () => StreamLanguage.define(asn1({})),
4154
- b: () => StreamLanguage.define(brainfuck),
4155
- bash: () => StreamLanguage.define(shell),
4156
- bf: () => StreamLanguage.define(brainfuck),
4157
- BUILD: () => python(),
4158
- bzl: () => python(),
4159
- c: () => cpp(),
4160
- "c++": () => cpp(),
4161
- cc: () => cpp(),
4162
- cfg: () => StreamLanguage.define(ttcnCfg),
4163
- cjs: () => javascript(),
4164
- cl: () => StreamLanguage.define(commonLisp),
4165
- clj: () => StreamLanguage.define(clojure),
4166
- cljc: () => StreamLanguage.define(clojure),
4167
- cljs: () => StreamLanguage.define(clojure),
4168
- cljx: () => StreamLanguage.define(clojure),
4169
- cmake: () => StreamLanguage.define(cmake),
4170
- "cmake.in": () => StreamLanguage.define(cmake),
4171
- cob: () => StreamLanguage.define(cobol),
4172
- coffee: () => StreamLanguage.define(coffeeScript),
4173
- cpp: () => cpp(),
4174
- cpy: () => StreamLanguage.define(cobol),
4175
- cql: () => sql({ dialect: Cassandra }),
4176
- cr: () => StreamLanguage.define(crystal),
4177
- cs: () => StreamLanguage.define(csharp),
4178
- css: () => css(),
4179
- cts: () => javascript({ typescript: true }),
4180
- cxx: () => cpp(),
4181
- cyp: () => StreamLanguage.define(cypher),
4182
- cypher: () => StreamLanguage.define(cypher),
4183
- d: () => StreamLanguage.define(d),
4184
- dart: () => StreamLanguage.define(dart),
4185
- diff: () => StreamLanguage.define(diff),
4186
- dtd: () => StreamLanguage.define(dtd),
4187
- dyalog: () => StreamLanguage.define(apl),
4188
- dyl: () => StreamLanguage.define(dylan),
4189
- dylan: () => StreamLanguage.define(dylan),
4190
- e: () => StreamLanguage.define(eiffel),
4191
- ecl: () => StreamLanguage.define(ecl),
4192
- edn: () => StreamLanguage.define(clojure),
4193
- el: () => StreamLanguage.define(commonLisp),
4194
- elm: () => StreamLanguage.define(elm),
4195
- erl: () => StreamLanguage.define(erlang),
4196
- f: () => StreamLanguage.define(fortran),
4197
- f77: () => StreamLanguage.define(fortran),
4198
- f90: () => StreamLanguage.define(fortran),
4199
- f95: () => StreamLanguage.define(fortran),
4200
- factor: () => StreamLanguage.define(factor),
4201
- feature: () => StreamLanguage.define(gherkin),
4202
- for: () => StreamLanguage.define(fortran),
4203
- forth: () => StreamLanguage.define(forth),
4204
- fs: () => StreamLanguage.define(fSharp),
4205
- fth: () => StreamLanguage.define(forth),
4206
- fun: () => StreamLanguage.define(sml),
4207
- go: () => go(),
4208
- gradle: () => StreamLanguage.define(groovy),
4209
- groovy: () => StreamLanguage.define(groovy),
4210
- gss: () => StreamLanguage.define(gss),
4211
- h: () => cpp(),
4212
- "h++": () => cpp(),
4213
- handlebars: () => html(),
4214
- hbs: () => html(),
4215
- hh: () => cpp(),
4216
- hpp: () => cpp(),
4217
- hs: () => StreamLanguage.define(haskell),
4218
- htm: () => html(),
4219
- html: () => html(),
4220
- hx: () => StreamLanguage.define(haxe),
4221
- hxml: () => StreamLanguage.define(hxml),
4222
- hxx: () => cpp(),
4223
- in: () => StreamLanguage.define(properties),
4224
- ini: () => StreamLanguage.define(properties),
4225
- ino: () => cpp(),
4226
- intr: () => StreamLanguage.define(dylan),
4227
- j2: () => jinja(),
4228
- jade: () => StreamLanguage.define(pug),
4229
- java: () => java(),
4230
- jinja: () => jinja(),
4231
- jinja2: () => jinja(),
4232
- jl: () => StreamLanguage.define(julia),
4233
- js: () => javascript(),
4234
- json: () => json(),
4235
- jsonld: () => StreamLanguage.define(jsonld),
4236
- jsx: () => javascript({ jsx: true }),
4237
- ksh: () => StreamLanguage.define(shell),
4238
- kt: () => StreamLanguage.define(kotlin),
4239
- kts: () => StreamLanguage.define(kotlin),
4240
- less: () => less(),
4241
- liquid: () => liquid(),
4242
- lisp: () => StreamLanguage.define(commonLisp),
4243
- ls: () => StreamLanguage.define(liveScript),
4244
- ltx: () => StreamLanguage.define(stex),
4245
- lua: () => StreamLanguage.define(lua),
4246
- m: () => StreamLanguage.define(octave),
4247
- map: () => json(),
4248
- markdown: () => markdown(),
4249
- mbox: () => StreamLanguage.define(mbox),
4250
- md: () => markdown(),
4251
- mjs: () => javascript(),
4252
- mkd: () => markdown(),
4253
- ml: () => StreamLanguage.define(oCaml),
4254
- mli: () => StreamLanguage.define(oCaml),
4255
- mll: () => StreamLanguage.define(oCaml),
4256
- mly: () => StreamLanguage.define(oCaml),
4257
- mm: () => StreamLanguage.define(objectiveCpp),
4258
- mo: () => StreamLanguage.define(modelica),
4259
- mps: () => StreamLanguage.define(mumps),
4260
- mrc: () => StreamLanguage.define(mirc),
4261
- msc: () => StreamLanguage.define(mscgen),
4262
- mscgen: () => StreamLanguage.define(mscgen),
4263
- mscin: () => StreamLanguage.define(mscgen),
4264
- msgenny: () => StreamLanguage.define(msgenny),
4265
- mts: () => javascript({ typescript: true }),
4266
- nb: () => StreamLanguage.define(mathematica),
4267
- nix: () => nix(),
4268
- nq: () => StreamLanguage.define(ntriples),
4269
- nsh: () => StreamLanguage.define(nsis),
4270
- nsi: () => StreamLanguage.define(nsis),
4271
- nt: () => StreamLanguage.define(ntriples),
4272
- nut: () => StreamLanguage.define(squirrel),
4273
- oz: () => StreamLanguage.define(oz),
4274
- p: () => StreamLanguage.define(pascal),
4275
- pas: () => StreamLanguage.define(pascal),
4276
- patch: () => StreamLanguage.define(diff),
4277
- pgp: () => StreamLanguage.define(asciiArmor),
4278
- php: () => php(),
4279
- php3: () => php(),
4280
- php4: () => php(),
4281
- php5: () => php(),
4282
- php7: () => php(),
4283
- phtml: () => php(),
4284
- pig: () => StreamLanguage.define(pig),
4285
- pl: () => StreamLanguage.define(perl),
4286
- pls: () => sql({ dialect: PLSQL }),
4287
- pm: () => StreamLanguage.define(perl),
4288
- pp: () => StreamLanguage.define(puppet),
4289
- pro: () => StreamLanguage.define(idl),
4290
- properties: () => StreamLanguage.define(properties),
4291
- proto: () => StreamLanguage.define(protobuf),
4292
- ps1: () => StreamLanguage.define(powerShell),
4293
- psd1: () => StreamLanguage.define(powerShell),
4294
- psm1: () => StreamLanguage.define(powerShell),
4295
- pug: () => StreamLanguage.define(pug),
4296
- pxd: () => StreamLanguage.define(cython),
4297
- pxi: () => StreamLanguage.define(cython),
4298
- py: () => python(),
4299
- pyw: () => python(),
4300
- pyx: () => StreamLanguage.define(cython),
4301
- q: () => StreamLanguage.define(q),
4302
- r: () => StreamLanguage.define(r),
4303
- R: () => StreamLanguage.define(r),
4304
- rb: () => StreamLanguage.define(ruby),
4305
- rq: () => StreamLanguage.define(sparql),
4306
- rs: () => rust(),
4307
- s: () => StreamLanguage.define(gas),
4308
- sas: () => StreamLanguage.define(sas),
4309
- sass: () => sass({ indented: true }),
4310
- scala: () => StreamLanguage.define(scala),
4311
- scm: () => StreamLanguage.define(scheme),
4312
- scss: () => sass(),
4313
- sh: () => StreamLanguage.define(shell),
4314
- sieve: () => StreamLanguage.define(sieve),
4315
- sig: () => StreamLanguage.define(sml),
4316
- siv: () => StreamLanguage.define(sieve),
4317
- smackspec: () => StreamLanguage.define(sml),
4318
- sml: () => StreamLanguage.define(sml),
4319
- solidity: () => solidity,
4320
- sparql: () => StreamLanguage.define(sparql),
4321
- spec: () => StreamLanguage.define(rpmSpec),
4322
- sql: () => sql({ dialect: StandardSQL }),
4323
- ss: () => StreamLanguage.define(scheme),
4324
- st: () => StreamLanguage.define(smalltalk),
4325
- styl: () => StreamLanguage.define(stylus),
4326
- sv: () => StreamLanguage.define(verilog),
4327
- svelte: () => svelte(),
4328
- svg: () => xml(),
4329
- svh: () => StreamLanguage.define(verilog),
4330
- swift: () => StreamLanguage.define(swift),
4331
- tcl: () => StreamLanguage.define(tcl),
4332
- tex: () => StreamLanguage.define(stex),
4333
- text: () => StreamLanguage.define(stex),
4334
- textile: () => StreamLanguage.define(textile),
4335
- toml: () => StreamLanguage.define(toml),
4336
- ts: () => javascript({ typescript: true }),
4337
- tsx: () => javascript({
4338
- jsx: true,
4339
- typescript: true
4340
- }),
4341
- ttcn: () => StreamLanguage.define(ttcn),
4342
- ttcn3: () => StreamLanguage.define(ttcn),
4343
- ttcnpp: () => StreamLanguage.define(ttcn),
4344
- ttl: () => StreamLanguage.define(turtle),
4345
- v: () => StreamLanguage.define(verilog),
4346
- vb: () => StreamLanguage.define(vb),
4347
- vbs: () => StreamLanguage.define(vbScript),
4348
- vhd: () => StreamLanguage.define(vhdl),
4349
- vhdl: () => StreamLanguage.define(vhdl),
4350
- vtl: () => StreamLanguage.define(velocity),
4351
- vue: () => vue(),
4352
- wast: () => wast(),
4353
- wat: () => wast(),
4354
- webidl: () => StreamLanguage.define(webIDL),
4355
- wl: () => StreamLanguage.define(mathematica),
4356
- wls: () => StreamLanguage.define(mathematica),
4357
- xml: () => xml(),
4358
- xq: () => StreamLanguage.define(xQuery),
4359
- xqm: () => StreamLanguage.define(xQuery),
4360
- xquery: () => StreamLanguage.define(xQuery),
4361
- xqy: () => StreamLanguage.define(xQuery),
4362
- xsd: () => xml(),
4363
- xsl: () => xml(),
4364
- xu: () => StreamLanguage.define(xu),
4365
- xy: () => StreamLanguage.define(xQuery),
4366
- yaml: () => yaml(),
4367
- yml: () => yaml(),
4368
- ys: () => StreamLanguage.define(yacas),
4369
- z80: () => StreamLanguage.define(z80)
4370
- };
4371
- function loadLanguage(e6) {
4372
- return langs[e6] ? langs[e6]() : null;
4373
- }
4374
- export {
4375
- _extends as a,
4376
- setDiagnostics as c,
4377
- insertTab as d,
4378
- CopyClipboardIcon as f,
4379
- minimalSetup as i,
4380
- history as l,
4381
- loadLanguage as n,
4382
- forEachDiagnostic as o,
4383
- esm_default as r,
4384
- linter as s,
4385
- langs as t,
4386
- historyField as u
4387
- };