@brainfish-ai/editor 0.0.1-alpha.2

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 (482) hide show
  1. package/README.md +3 -0
  2. package/dist/BrainfishEditor.d.ts +3 -0
  3. package/dist/apl-CXdQSnD-.js +2 -0
  4. package/dist/apl-CXdQSnD-.js.map +1 -0
  5. package/dist/apl-zQnQXYyi.cjs +2 -0
  6. package/dist/apl-zQnQXYyi.cjs.map +1 -0
  7. package/dist/asciiarmor-BjFlPGAR.cjs +2 -0
  8. package/dist/asciiarmor-BjFlPGAR.cjs.map +1 -0
  9. package/dist/asciiarmor-D5V0T9Cu.js +2 -0
  10. package/dist/asciiarmor-D5V0T9Cu.js.map +1 -0
  11. package/dist/asn1-DWPaVWf6.js +2 -0
  12. package/dist/asn1-DWPaVWf6.js.map +1 -0
  13. package/dist/asn1-Dn9-fgGr.cjs +2 -0
  14. package/dist/asn1-Dn9-fgGr.cjs.map +1 -0
  15. package/dist/asterisk-B46aRdXb.js +2 -0
  16. package/dist/asterisk-B46aRdXb.js.map +1 -0
  17. package/dist/asterisk-DIP73UbG.cjs +2 -0
  18. package/dist/asterisk-DIP73UbG.cjs.map +1 -0
  19. package/dist/brainfuck-CtZaYBKt.js +2 -0
  20. package/dist/brainfuck-CtZaYBKt.js.map +1 -0
  21. package/dist/brainfuck-DNcy2VoQ.cjs +2 -0
  22. package/dist/brainfuck-DNcy2VoQ.cjs.map +1 -0
  23. package/dist/clike-CSjUq15U.cjs +2 -0
  24. package/dist/clike-CSjUq15U.cjs.map +1 -0
  25. package/dist/clike-D9ynMLA9.js +2 -0
  26. package/dist/clike-D9ynMLA9.js.map +1 -0
  27. package/dist/clojure-C7e7OTgK.cjs +2 -0
  28. package/dist/clojure-C7e7OTgK.cjs.map +1 -0
  29. package/dist/clojure-DiuoqK-z.js +2 -0
  30. package/dist/clojure-DiuoqK-z.js.map +1 -0
  31. package/dist/cmake-DK3UdjBB.cjs +2 -0
  32. package/dist/cmake-DK3UdjBB.cjs.map +1 -0
  33. package/dist/cmake-DXn5xaP-.js +2 -0
  34. package/dist/cmake-DXn5xaP-.js.map +1 -0
  35. package/dist/cobol-D7gesrhf.cjs +2 -0
  36. package/dist/cobol-D7gesrhf.cjs.map +1 -0
  37. package/dist/cobol-stawOqaz.js +2 -0
  38. package/dist/cobol-stawOqaz.js.map +1 -0
  39. package/dist/coffeescript-BTDxI-eT.js +2 -0
  40. package/dist/coffeescript-BTDxI-eT.js.map +1 -0
  41. package/dist/coffeescript-CMaRvZDo.cjs +2 -0
  42. package/dist/coffeescript-CMaRvZDo.cjs.map +1 -0
  43. package/dist/commonlisp-BsK54Tey.cjs +2 -0
  44. package/dist/commonlisp-BsK54Tey.cjs.map +1 -0
  45. package/dist/commonlisp-vq6DHwts.js +2 -0
  46. package/dist/commonlisp-vq6DHwts.js.map +1 -0
  47. package/dist/crystal-BueyCNDj.cjs +2 -0
  48. package/dist/crystal-BueyCNDj.cjs.map +1 -0
  49. package/dist/crystal-CRzZ78HM.js +2 -0
  50. package/dist/crystal-CRzZ78HM.js.map +1 -0
  51. package/dist/css-C4GSMmGA.js +2 -0
  52. package/dist/css-C4GSMmGA.js.map +1 -0
  53. package/dist/css-DQQ8GO25.cjs +2 -0
  54. package/dist/css-DQQ8GO25.cjs.map +1 -0
  55. package/dist/cypher-CX8oWNVh.cjs +2 -0
  56. package/dist/cypher-CX8oWNVh.cjs.map +1 -0
  57. package/dist/cypher-gJDei3ni.js +2 -0
  58. package/dist/cypher-gJDei3ni.js.map +1 -0
  59. package/dist/d-BShv7fp-.js +2 -0
  60. package/dist/d-BShv7fp-.js.map +1 -0
  61. package/dist/d-Cer4WZq7.cjs +2 -0
  62. package/dist/d-Cer4WZq7.cjs.map +1 -0
  63. package/dist/diff-DanWUMqA.cjs +2 -0
  64. package/dist/diff-DanWUMqA.cjs.map +1 -0
  65. package/dist/diff-UJJ5BM9S.js +2 -0
  66. package/dist/diff-UJJ5BM9S.js.map +1 -0
  67. package/dist/dockerfile-D72m9Krh.cjs +2 -0
  68. package/dist/dockerfile-D72m9Krh.cjs.map +1 -0
  69. package/dist/dockerfile-DVQ9Q8O9.js +2 -0
  70. package/dist/dockerfile-DVQ9Q8O9.js.map +1 -0
  71. package/dist/dtd-DI9Herc-.js +2 -0
  72. package/dist/dtd-DI9Herc-.js.map +1 -0
  73. package/dist/dtd-N9E8mrwW.cjs +2 -0
  74. package/dist/dtd-N9E8mrwW.cjs.map +1 -0
  75. package/dist/dylan-BmN4EGo8.cjs +2 -0
  76. package/dist/dylan-BmN4EGo8.cjs.map +1 -0
  77. package/dist/dylan-DkEP81N9.js +2 -0
  78. package/dist/dylan-DkEP81N9.js.map +1 -0
  79. package/dist/ebnf-B-Df8AvO.js +2 -0
  80. package/dist/ebnf-B-Df8AvO.js.map +1 -0
  81. package/dist/ebnf-CHmKiAoS.cjs +2 -0
  82. package/dist/ebnf-CHmKiAoS.cjs.map +1 -0
  83. package/dist/ecl-DPFc0Uaf.js +2 -0
  84. package/dist/ecl-DPFc0Uaf.js.map +1 -0
  85. package/dist/ecl-DjtL7UT3.cjs +2 -0
  86. package/dist/ecl-DjtL7UT3.cjs.map +1 -0
  87. package/dist/editor.css +1892 -0
  88. package/dist/eiffel-DR5c0IrL.js +2 -0
  89. package/dist/eiffel-DR5c0IrL.js.map +1 -0
  90. package/dist/eiffel-u8sFjvpJ.cjs +2 -0
  91. package/dist/eiffel-u8sFjvpJ.cjs.map +1 -0
  92. package/dist/elm-DJqCmzHQ.cjs +2 -0
  93. package/dist/elm-DJqCmzHQ.cjs.map +1 -0
  94. package/dist/elm-DompmV0j.js +2 -0
  95. package/dist/elm-DompmV0j.js.map +1 -0
  96. package/dist/erlang-BuqgqA5h.js +2 -0
  97. package/dist/erlang-BuqgqA5h.js.map +1 -0
  98. package/dist/erlang-aNM9Wno5.cjs +2 -0
  99. package/dist/erlang-aNM9Wno5.cjs.map +1 -0
  100. package/dist/factor-Bk9_H-XT.js +2 -0
  101. package/dist/factor-Bk9_H-XT.js.map +1 -0
  102. package/dist/factor-DAjbIl49.cjs +2 -0
  103. package/dist/factor-DAjbIl49.cjs.map +1 -0
  104. package/dist/fcl-CVaBTCzQ.js +2 -0
  105. package/dist/fcl-CVaBTCzQ.js.map +1 -0
  106. package/dist/fcl-CplLEkwW.cjs +2 -0
  107. package/dist/fcl-CplLEkwW.cjs.map +1 -0
  108. package/dist/forth-CqDKyQE2.cjs +2 -0
  109. package/dist/forth-CqDKyQE2.cjs.map +1 -0
  110. package/dist/forth-POgR1ypr.js +2 -0
  111. package/dist/forth-POgR1ypr.js.map +1 -0
  112. package/dist/fortran-DL7KluxX.js +2 -0
  113. package/dist/fortran-DL7KluxX.js.map +1 -0
  114. package/dist/fortran-N3iQ92Ni.cjs +2 -0
  115. package/dist/fortran-N3iQ92Ni.cjs.map +1 -0
  116. package/dist/gas-8mz5Q3qN.js +2 -0
  117. package/dist/gas-8mz5Q3qN.js.map +1 -0
  118. package/dist/gas-BZkkcdED.cjs +2 -0
  119. package/dist/gas-BZkkcdED.cjs.map +1 -0
  120. package/dist/gherkin-B6X1vGSW.js +2 -0
  121. package/dist/gherkin-B6X1vGSW.js.map +1 -0
  122. package/dist/gherkin-CxCA0y5R.cjs +2 -0
  123. package/dist/gherkin-CxCA0y5R.cjs.map +1 -0
  124. package/dist/groovy-BQvSfgjf.cjs +2 -0
  125. package/dist/groovy-BQvSfgjf.cjs.map +1 -0
  126. package/dist/groovy-DnIzCrpZ.js +2 -0
  127. package/dist/groovy-DnIzCrpZ.js.map +1 -0
  128. package/dist/haskell-CLQs6EAM.js +2 -0
  129. package/dist/haskell-CLQs6EAM.js.map +1 -0
  130. package/dist/haskell-D7NTJ5RY.cjs +2 -0
  131. package/dist/haskell-D7NTJ5RY.cjs.map +1 -0
  132. package/dist/haxe-Cd8JQ-kk.cjs +2 -0
  133. package/dist/haxe-Cd8JQ-kk.cjs.map +1 -0
  134. package/dist/haxe-D25e-2l-.js +2 -0
  135. package/dist/haxe-D25e-2l-.js.map +1 -0
  136. package/dist/http-BKJkqRj4.js +2 -0
  137. package/dist/http-BKJkqRj4.js.map +1 -0
  138. package/dist/http-t7fOg_NY.cjs +2 -0
  139. package/dist/http-t7fOg_NY.cjs.map +1 -0
  140. package/dist/idl-CMWyLfiW.cjs +2 -0
  141. package/dist/idl-CMWyLfiW.cjs.map +1 -0
  142. package/dist/idl-pcmmZuaN.js +2 -0
  143. package/dist/idl-pcmmZuaN.js.map +1 -0
  144. package/dist/index-ACxdSjMI.js +2 -0
  145. package/dist/index-ACxdSjMI.js.map +1 -0
  146. package/dist/index-B8g-Emd_.cjs +2 -0
  147. package/dist/index-B8g-Emd_.cjs.map +1 -0
  148. package/dist/index-B8qgDwc2.cjs +2 -0
  149. package/dist/index-B8qgDwc2.cjs.map +1 -0
  150. package/dist/index-BA_fGRsg.cjs +2 -0
  151. package/dist/index-BA_fGRsg.cjs.map +1 -0
  152. package/dist/index-BB6ubjey.js +2 -0
  153. package/dist/index-BB6ubjey.js.map +1 -0
  154. package/dist/index-BP_HzP4g.cjs +2 -0
  155. package/dist/index-BP_HzP4g.cjs.map +1 -0
  156. package/dist/index-BVBmfxRp.js +2 -0
  157. package/dist/index-BVBmfxRp.js.map +1 -0
  158. package/dist/index-BWxF9mHQ.js +2 -0
  159. package/dist/index-BWxF9mHQ.js.map +1 -0
  160. package/dist/index-B_5Ht033.js +2 -0
  161. package/dist/index-B_5Ht033.js.map +1 -0
  162. package/dist/index-BeFrSIhU.js +2 -0
  163. package/dist/index-BeFrSIhU.js.map +1 -0
  164. package/dist/index-BfJWuhtD.js +2 -0
  165. package/dist/index-BfJWuhtD.js.map +1 -0
  166. package/dist/index-BjVxfywp.cjs +2 -0
  167. package/dist/index-BjVxfywp.cjs.map +1 -0
  168. package/dist/index-BrJMv-jH.js +2 -0
  169. package/dist/index-BrJMv-jH.js.map +1 -0
  170. package/dist/index-C2hO0yQX.cjs +2 -0
  171. package/dist/index-C2hO0yQX.cjs.map +1 -0
  172. package/dist/index-CCnrTHCt.js +2 -0
  173. package/dist/index-CCnrTHCt.js.map +1 -0
  174. package/dist/index-CJJ4VsSg.js +2 -0
  175. package/dist/index-CJJ4VsSg.js.map +1 -0
  176. package/dist/index-CJfX-kOc.cjs +2 -0
  177. package/dist/index-CJfX-kOc.cjs.map +1 -0
  178. package/dist/index-CLd2kktb.js +2 -0
  179. package/dist/index-CLd2kktb.js.map +1 -0
  180. package/dist/index-CLgcgbOT.cjs +2 -0
  181. package/dist/index-CLgcgbOT.cjs.map +1 -0
  182. package/dist/index-CaI_tf2M.js +2 -0
  183. package/dist/index-CaI_tf2M.js.map +1 -0
  184. package/dist/index-Cag-iwMt.js +2 -0
  185. package/dist/index-Cag-iwMt.js.map +1 -0
  186. package/dist/index-CdQh0Fyo.cjs +2 -0
  187. package/dist/index-CdQh0Fyo.cjs.map +1 -0
  188. package/dist/index-Cdt7DehW.cjs +30 -0
  189. package/dist/index-Cdt7DehW.cjs.map +1 -0
  190. package/dist/index-ChoC78fj.cjs +2 -0
  191. package/dist/index-ChoC78fj.cjs.map +1 -0
  192. package/dist/index-CnaX07f3.cjs +2 -0
  193. package/dist/index-CnaX07f3.cjs.map +1 -0
  194. package/dist/index-CrA_KK1J.cjs +2 -0
  195. package/dist/index-CrA_KK1J.cjs.map +1 -0
  196. package/dist/index-D1-a3lpN.cjs +2 -0
  197. package/dist/index-D1-a3lpN.cjs.map +1 -0
  198. package/dist/index-D5CLEDVN.js +2 -0
  199. package/dist/index-D5CLEDVN.js.map +1 -0
  200. package/dist/index-D7bPdN0E.js +30 -0
  201. package/dist/index-D7bPdN0E.js.map +1 -0
  202. package/dist/index-DD3pDFDN.cjs +2 -0
  203. package/dist/index-DD3pDFDN.cjs.map +1 -0
  204. package/dist/index-DJuPAZHh.cjs +2 -0
  205. package/dist/index-DJuPAZHh.cjs.map +1 -0
  206. package/dist/index-DKdNdnL4.js +2 -0
  207. package/dist/index-DKdNdnL4.js.map +1 -0
  208. package/dist/index-DgjCLKdD.cjs +2 -0
  209. package/dist/index-DgjCLKdD.cjs.map +1 -0
  210. package/dist/index-DhqL6bag.cjs +2 -0
  211. package/dist/index-DhqL6bag.cjs.map +1 -0
  212. package/dist/index-Dqz1jwXo.js +2 -0
  213. package/dist/index-Dqz1jwXo.js.map +1 -0
  214. package/dist/index-DvuuGDob.cjs +2 -0
  215. package/dist/index-DvuuGDob.cjs.map +1 -0
  216. package/dist/index-HXoeN679.js +2 -0
  217. package/dist/index-HXoeN679.js.map +1 -0
  218. package/dist/index-MEXcFr58.cjs +2 -0
  219. package/dist/index-MEXcFr58.cjs.map +1 -0
  220. package/dist/index-QYTegilJ.js +2 -0
  221. package/dist/index-QYTegilJ.js.map +1 -0
  222. package/dist/index-WCX-tAQC.js +2 -0
  223. package/dist/index-WCX-tAQC.js.map +1 -0
  224. package/dist/index-Y2ncXqt9.cjs +2 -0
  225. package/dist/index-Y2ncXqt9.cjs.map +1 -0
  226. package/dist/index-a2kYnnvX.cjs +2 -0
  227. package/dist/index-a2kYnnvX.cjs.map +1 -0
  228. package/dist/index-fzHicfTR.js +2 -0
  229. package/dist/index-fzHicfTR.js.map +1 -0
  230. package/dist/index-g6UtrOym.js +2 -0
  231. package/dist/index-g6UtrOym.js.map +1 -0
  232. package/dist/index-gIqivS4c.cjs +2 -0
  233. package/dist/index-gIqivS4c.cjs.map +1 -0
  234. package/dist/index-r8ALDJTU.js +2 -0
  235. package/dist/index-r8ALDJTU.js.map +1 -0
  236. package/dist/index.cjs.js +2 -0
  237. package/dist/index.cjs.js.map +1 -0
  238. package/dist/index.d.ts +3 -0
  239. package/dist/index.js +2 -0
  240. package/dist/index.js.map +1 -0
  241. package/dist/javascript-BVaBnk3P.js +2 -0
  242. package/dist/javascript-BVaBnk3P.js.map +1 -0
  243. package/dist/javascript-D6Y0eXWo.cjs +2 -0
  244. package/dist/javascript-D6Y0eXWo.cjs.map +1 -0
  245. package/dist/julia-BFjC6Od-.cjs +2 -0
  246. package/dist/julia-BFjC6Od-.cjs.map +1 -0
  247. package/dist/julia-DjdwvFuI.js +2 -0
  248. package/dist/julia-DjdwvFuI.js.map +1 -0
  249. package/dist/livescript-BEKRTOP4.cjs +2 -0
  250. package/dist/livescript-BEKRTOP4.cjs.map +1 -0
  251. package/dist/livescript-HO6ttBFx.js +2 -0
  252. package/dist/livescript-HO6ttBFx.js.map +1 -0
  253. package/dist/lua-8DXOpKDz.js +2 -0
  254. package/dist/lua-8DXOpKDz.js.map +1 -0
  255. package/dist/lua-B3w2r80v.cjs +2 -0
  256. package/dist/lua-B3w2r80v.cjs.map +1 -0
  257. package/dist/mathematica-BeWz3n7v.cjs +2 -0
  258. package/dist/mathematica-BeWz3n7v.cjs.map +1 -0
  259. package/dist/mathematica-IIbmv7SK.js +2 -0
  260. package/dist/mathematica-IIbmv7SK.js.map +1 -0
  261. package/dist/mbox-B-KNExnr.cjs +2 -0
  262. package/dist/mbox-B-KNExnr.cjs.map +1 -0
  263. package/dist/mbox-z_N2Mo3d.js +2 -0
  264. package/dist/mbox-z_N2Mo3d.js.map +1 -0
  265. package/dist/mirc-DKj7vbBK.cjs +2 -0
  266. package/dist/mirc-DKj7vbBK.cjs.map +1 -0
  267. package/dist/mirc-DkvFAiy5.js +2 -0
  268. package/dist/mirc-DkvFAiy5.js.map +1 -0
  269. package/dist/mllike-3c2dg9RT.js +2 -0
  270. package/dist/mllike-3c2dg9RT.js.map +1 -0
  271. package/dist/mllike-DNBMjfDT.cjs +2 -0
  272. package/dist/mllike-DNBMjfDT.cjs.map +1 -0
  273. package/dist/modelica-D0zQ5M5B.cjs +2 -0
  274. package/dist/modelica-D0zQ5M5B.cjs.map +1 -0
  275. package/dist/modelica-DSrSSXCg.js +2 -0
  276. package/dist/modelica-DSrSSXCg.js.map +1 -0
  277. package/dist/mscgen-B2igx18G.js +2 -0
  278. package/dist/mscgen-B2igx18G.js.map +1 -0
  279. package/dist/mscgen-DXB_4N_e.cjs +2 -0
  280. package/dist/mscgen-DXB_4N_e.cjs.map +1 -0
  281. package/dist/mumps-DQ_3S9Ud.cjs +2 -0
  282. package/dist/mumps-DQ_3S9Ud.cjs.map +1 -0
  283. package/dist/mumps-zvxmGV4l.js +2 -0
  284. package/dist/mumps-zvxmGV4l.js.map +1 -0
  285. package/dist/nginx-B4hAVlXN.js +2 -0
  286. package/dist/nginx-B4hAVlXN.js.map +1 -0
  287. package/dist/nginx-BxNxyOuV.cjs +2 -0
  288. package/dist/nginx-BxNxyOuV.cjs.map +1 -0
  289. package/dist/nsis-Cx8FAvMN.js +2 -0
  290. package/dist/nsis-Cx8FAvMN.js.map +1 -0
  291. package/dist/nsis-DPoxhFCA.cjs +2 -0
  292. package/dist/nsis-DPoxhFCA.cjs.map +1 -0
  293. package/dist/ntriples-BSwWqoLa.js +2 -0
  294. package/dist/ntriples-BSwWqoLa.js.map +1 -0
  295. package/dist/ntriples-D7LF77EX.cjs +2 -0
  296. package/dist/ntriples-D7LF77EX.cjs.map +1 -0
  297. package/dist/octave-C3xiZjFR.cjs +2 -0
  298. package/dist/octave-C3xiZjFR.cjs.map +1 -0
  299. package/dist/octave-C4hdQ5Hf.js +2 -0
  300. package/dist/octave-C4hdQ5Hf.js.map +1 -0
  301. package/dist/oz-hv8iHpBf.cjs +2 -0
  302. package/dist/oz-hv8iHpBf.cjs.map +1 -0
  303. package/dist/oz-qQq7irPq.js +2 -0
  304. package/dist/oz-qQq7irPq.js.map +1 -0
  305. package/dist/pascal-CafrKXZF.js +2 -0
  306. package/dist/pascal-CafrKXZF.js.map +1 -0
  307. package/dist/pascal-Dik6Bdx0.cjs +2 -0
  308. package/dist/pascal-Dik6Bdx0.cjs.map +1 -0
  309. package/dist/perl-Dc23MFYf.cjs +2 -0
  310. package/dist/perl-Dc23MFYf.cjs.map +1 -0
  311. package/dist/perl-tdMlh9QA.js +2 -0
  312. package/dist/perl-tdMlh9QA.js.map +1 -0
  313. package/dist/pig-CwGJVRC4.js +2 -0
  314. package/dist/pig-CwGJVRC4.js.map +1 -0
  315. package/dist/pig-DnhgnaAt.cjs +2 -0
  316. package/dist/pig-DnhgnaAt.cjs.map +1 -0
  317. package/dist/powershell-D1ly3AHC.js +2 -0
  318. package/dist/powershell-D1ly3AHC.js.map +1 -0
  319. package/dist/powershell-DIx6LGo6.cjs +2 -0
  320. package/dist/powershell-DIx6LGo6.cjs.map +1 -0
  321. package/dist/properties-C6mOHf2m.cjs +2 -0
  322. package/dist/properties-C6mOHf2m.cjs.map +1 -0
  323. package/dist/properties-_nPj978X.js +2 -0
  324. package/dist/properties-_nPj978X.js.map +1 -0
  325. package/dist/protobuf-B4y9do6W.js +2 -0
  326. package/dist/protobuf-B4y9do6W.js.map +1 -0
  327. package/dist/protobuf-zKe6cAIt.cjs +2 -0
  328. package/dist/protobuf-zKe6cAIt.cjs.map +1 -0
  329. package/dist/pug-Dlfivyh-.js +2 -0
  330. package/dist/pug-Dlfivyh-.js.map +1 -0
  331. package/dist/pug-fO_wg3KT.cjs +2 -0
  332. package/dist/pug-fO_wg3KT.cjs.map +1 -0
  333. package/dist/puppet-BVD6XdcM.cjs +2 -0
  334. package/dist/puppet-BVD6XdcM.cjs.map +1 -0
  335. package/dist/puppet-Bc-yJKzi.js +2 -0
  336. package/dist/puppet-Bc-yJKzi.js.map +1 -0
  337. package/dist/python-4hVbH2VM.cjs +2 -0
  338. package/dist/python-4hVbH2VM.cjs.map +1 -0
  339. package/dist/python-On6Xi21R.js +2 -0
  340. package/dist/python-On6Xi21R.js.map +1 -0
  341. package/dist/q-mUfi2b_o.js +2 -0
  342. package/dist/q-mUfi2b_o.js.map +1 -0
  343. package/dist/q-xj0roXkX.cjs +2 -0
  344. package/dist/q-xj0roXkX.cjs.map +1 -0
  345. package/dist/r-BA4EbLKE.js +2 -0
  346. package/dist/r-BA4EbLKE.js.map +1 -0
  347. package/dist/r-D3PcvI1z.cjs +2 -0
  348. package/dist/r-D3PcvI1z.cjs.map +1 -0
  349. package/dist/rpm-DI_rRufH.js +2 -0
  350. package/dist/rpm-DI_rRufH.js.map +1 -0
  351. package/dist/rpm-en7QUikA.cjs +2 -0
  352. package/dist/rpm-en7QUikA.cjs.map +1 -0
  353. package/dist/ruby-B5mrZV-E.cjs +2 -0
  354. package/dist/ruby-B5mrZV-E.cjs.map +1 -0
  355. package/dist/ruby-CR-u2WLS.js +2 -0
  356. package/dist/ruby-CR-u2WLS.js.map +1 -0
  357. package/dist/sas-Bqaci40L.js +2 -0
  358. package/dist/sas-Bqaci40L.js.map +1 -0
  359. package/dist/sas-DihmCBR4.cjs +2 -0
  360. package/dist/sas-DihmCBR4.cjs.map +1 -0
  361. package/dist/scheme-D4lhRHzG.cjs +2 -0
  362. package/dist/scheme-D4lhRHzG.cjs.map +1 -0
  363. package/dist/scheme-qjP0V5Ag.js +2 -0
  364. package/dist/scheme-qjP0V5Ag.js.map +1 -0
  365. package/dist/shell-5Optxxtq.cjs +2 -0
  366. package/dist/shell-5Optxxtq.cjs.map +1 -0
  367. package/dist/shell-BLav31RL.js +2 -0
  368. package/dist/shell-BLav31RL.js.map +1 -0
  369. package/dist/sieve-r025o_jW.js +2 -0
  370. package/dist/sieve-r025o_jW.js.map +1 -0
  371. package/dist/sieve-woNLjsDA.cjs +2 -0
  372. package/dist/sieve-woNLjsDA.cjs.map +1 -0
  373. package/dist/simple-mode-5nlGhSi7.cjs +2 -0
  374. package/dist/simple-mode-5nlGhSi7.cjs.map +1 -0
  375. package/dist/simple-mode-CjHKX61j.js +2 -0
  376. package/dist/simple-mode-CjHKX61j.js.map +1 -0
  377. package/dist/smalltalk-C7J3IyEP.js +2 -0
  378. package/dist/smalltalk-C7J3IyEP.js.map +1 -0
  379. package/dist/smalltalk-WUDknFHI.cjs +2 -0
  380. package/dist/smalltalk-WUDknFHI.cjs.map +1 -0
  381. package/dist/solr-78MBEUkU.js +2 -0
  382. package/dist/solr-78MBEUkU.js.map +1 -0
  383. package/dist/solr-Dv5yQw8C.cjs +2 -0
  384. package/dist/solr-Dv5yQw8C.cjs.map +1 -0
  385. package/dist/sparql-BRLJFz69.js +2 -0
  386. package/dist/sparql-BRLJFz69.js.map +1 -0
  387. package/dist/sparql-Ne__rGfz.cjs +2 -0
  388. package/dist/sparql-Ne__rGfz.cjs.map +1 -0
  389. package/dist/spreadsheet-CGlWr0eM.js +2 -0
  390. package/dist/spreadsheet-CGlWr0eM.js.map +1 -0
  391. package/dist/spreadsheet-sA8wKbVn.cjs +2 -0
  392. package/dist/spreadsheet-sA8wKbVn.cjs.map +1 -0
  393. package/dist/sql-ByLYq2fX.js +2 -0
  394. package/dist/sql-ByLYq2fX.js.map +1 -0
  395. package/dist/sql-YL702_qL.cjs +2 -0
  396. package/dist/sql-YL702_qL.cjs.map +1 -0
  397. package/dist/stex-0KIfGD5U.cjs +2 -0
  398. package/dist/stex-0KIfGD5U.cjs.map +1 -0
  399. package/dist/stex-BuioYw3P.js +2 -0
  400. package/dist/stex-BuioYw3P.js.map +1 -0
  401. package/dist/stylus-Bdo_Aemu.js +2 -0
  402. package/dist/stylus-Bdo_Aemu.js.map +1 -0
  403. package/dist/stylus-CaoJxDo0.cjs +2 -0
  404. package/dist/stylus-CaoJxDo0.cjs.map +1 -0
  405. package/dist/swift-B_XXVlXX.js +2 -0
  406. package/dist/swift-B_XXVlXX.js.map +1 -0
  407. package/dist/swift-D7nDGOwE.cjs +2 -0
  408. package/dist/swift-D7nDGOwE.cjs.map +1 -0
  409. package/dist/tcl-B2fODqDH.js +2 -0
  410. package/dist/tcl-B2fODqDH.js.map +1 -0
  411. package/dist/tcl-CKXdgq-y.cjs +2 -0
  412. package/dist/tcl-CKXdgq-y.cjs.map +1 -0
  413. package/dist/textile-BuVhTOzU.js +2 -0
  414. package/dist/textile-BuVhTOzU.js.map +1 -0
  415. package/dist/textile-CCW3yDUP.cjs +2 -0
  416. package/dist/textile-CCW3yDUP.cjs.map +1 -0
  417. package/dist/tiddlywiki-BgR6AEZu.js +2 -0
  418. package/dist/tiddlywiki-BgR6AEZu.js.map +1 -0
  419. package/dist/tiddlywiki-C-W_icqq.cjs +2 -0
  420. package/dist/tiddlywiki-C-W_icqq.cjs.map +1 -0
  421. package/dist/tiki-CI-ztowC.js +2 -0
  422. package/dist/tiki-CI-ztowC.js.map +1 -0
  423. package/dist/tiki-DrQIeHRf.cjs +2 -0
  424. package/dist/tiki-DrQIeHRf.cjs.map +1 -0
  425. package/dist/toml-BVJm5Fzd.js +2 -0
  426. package/dist/toml-BVJm5Fzd.js.map +1 -0
  427. package/dist/toml-CY1HDY9K.cjs +2 -0
  428. package/dist/toml-CY1HDY9K.cjs.map +1 -0
  429. package/dist/troff-Ce85hlLp.js +2 -0
  430. package/dist/troff-Ce85hlLp.js.map +1 -0
  431. package/dist/troff-Yww0HU2c.cjs +2 -0
  432. package/dist/troff-Yww0HU2c.cjs.map +1 -0
  433. package/dist/ttcn-BxnYHtq8.js +2 -0
  434. package/dist/ttcn-BxnYHtq8.js.map +1 -0
  435. package/dist/ttcn-D-KkrC_Y.cjs +2 -0
  436. package/dist/ttcn-D-KkrC_Y.cjs.map +1 -0
  437. package/dist/ttcn-cfg-CKJxb-l2.js +2 -0
  438. package/dist/ttcn-cfg-CKJxb-l2.js.map +1 -0
  439. package/dist/ttcn-cfg-DEW0CUak.cjs +2 -0
  440. package/dist/ttcn-cfg-DEW0CUak.cjs.map +1 -0
  441. package/dist/turtle-BkSuIpt-.js +2 -0
  442. package/dist/turtle-BkSuIpt-.js.map +1 -0
  443. package/dist/turtle-CNPaIIfW.cjs +2 -0
  444. package/dist/turtle-CNPaIIfW.cjs.map +1 -0
  445. package/dist/types.d.ts +14 -0
  446. package/dist/vb-BHgjm0DN.js +2 -0
  447. package/dist/vb-BHgjm0DN.js.map +1 -0
  448. package/dist/vb-CW7t9lKI.cjs +2 -0
  449. package/dist/vb-CW7t9lKI.cjs.map +1 -0
  450. package/dist/vbscript-D2Gs3oEd.cjs +2 -0
  451. package/dist/vbscript-D2Gs3oEd.cjs.map +1 -0
  452. package/dist/vbscript-VzWlGt02.js +2 -0
  453. package/dist/vbscript-VzWlGt02.js.map +1 -0
  454. package/dist/velocity-BdD_26Jv.js +2 -0
  455. package/dist/velocity-BdD_26Jv.js.map +1 -0
  456. package/dist/velocity-BpfD1zFY.cjs +2 -0
  457. package/dist/velocity-BpfD1zFY.cjs.map +1 -0
  458. package/dist/verilog-C8nH2N0M.js +2 -0
  459. package/dist/verilog-C8nH2N0M.js.map +1 -0
  460. package/dist/verilog-CcB4aIua.cjs +2 -0
  461. package/dist/verilog-CcB4aIua.cjs.map +1 -0
  462. package/dist/vhdl-9LHG0O1e.cjs +2 -0
  463. package/dist/vhdl-9LHG0O1e.cjs.map +1 -0
  464. package/dist/vhdl-CWWH2SUo.js +2 -0
  465. package/dist/vhdl-CWWH2SUo.js.map +1 -0
  466. package/dist/webidl-CGwyPRYs.js +2 -0
  467. package/dist/webidl-CGwyPRYs.js.map +1 -0
  468. package/dist/webidl-YkXkSuHd.cjs +2 -0
  469. package/dist/webidl-YkXkSuHd.cjs.map +1 -0
  470. package/dist/xquery-CVDBqZPY.js +2 -0
  471. package/dist/xquery-CVDBqZPY.js.map +1 -0
  472. package/dist/xquery-DwwVyz90.cjs +2 -0
  473. package/dist/xquery-DwwVyz90.cjs.map +1 -0
  474. package/dist/yacas-I8QjZlxf.js +2 -0
  475. package/dist/yacas-I8QjZlxf.js.map +1 -0
  476. package/dist/yacas-cn_NTwBk.cjs +2 -0
  477. package/dist/yacas-cn_NTwBk.cjs.map +1 -0
  478. package/dist/z80-B9lBbT6u.cjs +2 -0
  479. package/dist/z80-B9lBbT6u.cjs.map +1 -0
  480. package/dist/z80-DMVFMNEx.js +2 -0
  481. package/dist/z80-DMVFMNEx.js.map +1 -0
  482. package/package.json +69 -0
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index-DJuPAZHh.cjs"),$=require("./index-Cdt7DehW.cjs"),e=require("./index-CJfX-kOc.cjs"),t=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Q=10;function a(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function n(O){return O>=48&&O<=57}function i(O){let $;return 47==O.next&&(47==($=O.peek(1))||42==$)}const R=new O.ExternalTokenizer((O,$)=>{if($.dialectEnabled(0)){let e;if(O.next<0&&$.canShift(176))O.acceptToken(176);else if(((e=O.peek(-1))==Q||e<0)&&$.canShift(175)){let $=0;for(;O.next!=Q&&t.includes(O.next);)O.advance(),$++;O.next==Q||i(O)?O.acceptToken(175,-$):$&&O.acceptToken(177)}else if(O.next==Q)O.acceptToken(174,1);else if(t.includes(O.next)){for(O.advance();O.next!=Q&&t.includes(O.next);)O.advance();O.acceptToken(177)}}else{let $=0;for(;t.includes(O.next);)O.advance(),$++;$&&O.acceptToken(177)}},{contextual:!0}),r=new O.ExternalTokenizer((O,$)=>{if(i(O)){if(O.advance(),$.dialectEnabled(0)){let $=-1;for(let e=1;;e++){let a=O.peek(-e-1);if(a==Q||a<0){$=e+1;break}if(!t.includes(a))break}if($>-1){let e=42==O.next,a=0;for(O.advance();O.next>=0;)if(O.next==Q){O.advance();let e=0;for(;O.next!=Q&&t.includes(O.next);)e++,O.advance();if(e<$){a=-e-1;break}}else{if(e&&42==O.next&&47==O.peek(1)){a=2;break}O.advance()}return void O.acceptToken(e?7:6,a)}}if(47==O.next){for(;O.next!=Q&&O.next>=0;)O.advance();O.acceptToken(6)}else{for(O.advance();O.next>=0;){let{next:$}=O;if(O.advance(),42==$&&47==O.next){O.advance();break}}O.acceptToken(7)}}}),o=new O.ExternalTokenizer((O,$)=>{43!=O.next&&61!=O.next||!$.dialectEnabled(0)||O.acceptToken(61==O.next?8:9,1)}),S=new O.ExternalTokenizer((O,$)=>{if(!$.dialectEnabled(0))return;let e=$.context.depth;if(O.next<0&&e)O.acceptToken(169);else if(O.peek(-1)==Q){let $=0;for(;O.next!=Q&&t.includes(O.next);)O.advance(),$++;$==e||O.next==Q||i(O)||($<e?O.acceptToken(169,-$):O.acceptToken(168))}}),l=new O.ExternalTokenizer((O,$)=>{for(let e=!1,t=0,Q=0;;Q++){let{next:i}=O;if(!(a(i)||45==i||95==i||e&&n(i))){if(35==i&&123==O.peek(1)){O.acceptToken(5,2);break}e&&O.acceptToken(2==t&&$.canShift(4)?4:$.canShift(173)?173:40==i?171:172);break}!e&&(45!=i||Q>0)&&(e=!0),t===Q&&45==i&&t++,O.advance()}}),d=new O.ExternalTokenizer(O=>{if(125==O.next){for(O.advance();a(O.next)||45==O.next||95==O.next||n(O.next);)O.advance();35==O.next&&123==O.peek(1)?O.acceptToken(2,2):O.acceptToken(1)}}),c=new O.ExternalTokenizer(O=>{if(t.includes(O.peek(-1))){let{next:$}=O;(a($)||95==$||35==$||46==$||91==$||58==$&&a(O.peek(1))||45==$||38==$||42==$)&&O.acceptToken(170)}}),s=new O.ExternalTokenizer(O=>{if(!t.includes(O.peek(-1))){let{next:$}=O;if(37==$&&(O.advance(),O.acceptToken(3)),a($)){do{O.advance()}while(a(O.next)||n(O.next));O.acceptToken(3)}}});function X(O,$){this.parent=O,this.depth=$,this.hash=(O?O.hash+O.hash<<8:0)+$+($<<4)}const P=new X(null,0),m=new O.ContextTracker({start:P,shift:(O,$,e,t)=>168==$?new X(O,e.pos-t.pos):169==$?O.parent:O,hash:O=>O.hash}),p=$.styleTags({"AtKeyword import charset namespace keyframes media supports include mixin use forward extend at-root":$.tags.definitionKeyword,"Keyword selector":$.tags.keyword,ControlKeyword:$.tags.controlKeyword,NamespaceName:$.tags.namespace,KeyframeName:$.tags.labelName,KeyframeRangeName:$.tags.operatorKeyword,TagName:$.tags.tagName,"ClassName Suffix":$.tags.className,PseudoClassName:$.tags.constant($.tags.className),IdName:$.tags.labelName,"FeatureName PropertyName":$.tags.propertyName,AttributeName:$.tags.attributeName,NumberLiteral:$.tags.number,KeywordQuery:$.tags.keyword,UnaryQueryOp:$.tags.operatorKeyword,"CallTag ValueName":$.tags.atom,VariableName:$.tags.variableName,SassVariableName:$.tags.special($.tags.variableName),Callee:$.tags.operatorKeyword,Unit:$.tags.unit,"UniversalSelector NestingSelector IndentedMixin IndentedInclude":$.tags.definitionOperator,MatchOp:$.tags.compareOperator,"ChildOp SiblingOp, LogicOp":$.tags.logicOperator,BinOp:$.tags.arithmeticOperator,"Important Global Default":$.tags.modifier,Comment:$.tags.blockComment,LineComment:$.tags.lineComment,ColorLiteral:$.tags.color,"ParenthesizedContent StringLiteral":$.tags.string,"InterpolationStart InterpolationContinue InterpolationEnd":$.tags.meta,': "..."':$.tags.punctuation,"PseudoOp #":$.tags.derefOperator,"; ,":$.tags.separator,"( )":$.tags.paren,"[ ]":$.tags.squareBracket,"{ }":$.tags.brace}),u={__proto__:null,not:62,using:197,as:207,with:211,without:211,hide:225,show:225,if:263,from:269,to:271,through:273,in:279},y={__proto__:null,url:82,"url-prefix":82,domain:82,regexp:82,lang:104,"nth-child":104,"nth-last-child":104,"nth-of-type":104,"nth-last-of-type":104,dir:104,"host-context":104},f={__proto__:null,"@import":162,"@include":194,"@mixin":200,"@function":200,"@use":204,"@extend":214,"@at-root":218,"@forward":222,"@media":228,"@charset":232,"@namespace":236,"@keyframes":242,"@supports":254,"@if":258,"@else":260,"@for":266,"@each":276,"@while":282,"@debug":286,"@warn":286,"@error":286,"@return":286},Y={__proto__:null,layer:166,not:184,only:184,selector:190},h=O.LRParser.deserialize({version:14,states:"!$WQ`Q+tOOO#fQ+tOOP#mOpOOOOQ#U'#Ch'#ChO#rQ(pO'#CjOOQ#U'#Ci'#CiO%_Q)QO'#GXO%rQ.jO'#CnO&mQ#dO'#D]O'dQ(pO'#CgO'kQ)OO'#D_O'vQ#dO'#DfO'{Q#dO'#DiO(QQ#dO'#DqOOQ#U'#GX'#GXO(VQ(pO'#GXO(^Q(nO'#DuO%rQ.jO'#D}O%rQ.jO'#E`O%rQ.jO'#EcO%rQ.jO'#EeO(cQ)OO'#EjO)TQ)OO'#ElO%rQ.jO'#EnO)bQ)OO'#EqO%rQ.jO'#EsO)|Q)OO'#EuO*XQ)OO'#ExO*aQ)OO'#FOO*uQ)OO'#FbOOQ&Z'#GW'#GWOOQ&Y'#Fe'#FeO+PQ(nO'#FeQ`Q+tOOO%rQ.jO'#FQO+[Q(nO'#FUO+aQ)OO'#FZO%rQ.jO'#F^O%rQ.jO'#F`OOQ&Z'#Fm'#FmO+iQ+uO'#GaO+vQ(oO'#GaQOQ#SOOP,XO#SO'#GVPOOO)CAz)CAzOOQ#U'#Cm'#CmOOQ#U,59W,59WOOQ#i'#Cp'#CpO%rQ.jO'#CsO,xQ.wO'#CuO/dQ.^O,59YO%rQ.jO'#CzOOQ#S'#DP'#DPO/uQ(nO'#DUO/zQ)OO'#DZOOQ#i'#GZ'#GZO0SQ(nO'#DOOOQ#U'#D^'#D^OOQ#U,59w,59wO&mQ#dO,59wO0XQ)OO,59yO'vQ#dO,5:QO'{Q#dO,5:TO(cQ)OO,5:WO(cQ)OO,5:YO(cQ)OO,5:ZO(cQ)OO'#FlO0dQ(nO,59RO0oQ+tO'#DsO0vQ#TO'#DsOOQ&Z,59R,59ROOQ#U'#Da'#DaOOQ#S'#Dd'#DdOOQ#U,59y,59yO0{Q(nO,59yO1QQ(nO,59yOOQ#U'#Dh'#DhOOQ#U,5:Q,5:QOOQ#S'#Dj'#DjO1VQ9`O,5:TOOQ#U'#Dr'#DrOOQ#U,5:],5:]O2YQ.jO,5:aO2dQ.jO,5:iO3`Q.jO,5:zO3mQ.YO,5:}O4OQ.jO,5;POOQ#U'#Cj'#CjO4wQ(pO,5;UO5UQ(pO,5;WOOQ&Z,5;W,5;WO5]Q)OO,5;WO5bQ.jO,5;YOOQ#S'#ET'#ETO6TQ.jO'#E]O6kQ(nO'#GcO*aQ)OO'#EZO7PQ(nO'#E^OOQ#S'#Gd'#GdO0gQ(nO,5;]O4UQ.YO,5;_OOQ#d'#Ew'#EwO+PQ(nO,5;aO7UQ)OO,5;aOOQ#S'#Ez'#EzO7^Q(nO,5;dO7cQ(nO,5;jO7nQ(nO,5;|OOQ&Z'#Gf'#GfOOQ&Y,5<P,5<POOQ&Y-E9c-E9cO3mQ.YO,5;lO7|Q)OO,5;pO8RQ)OO'#GhO8ZQ)OO,5;uO3mQ.YO,5;xO4UQ.YO,5;zOOQ&Z-E9k-E9kO8`Q(oO,5<{OOQ&Z'#Gb'#GbO8qQ+uO'#FpO8`Q(oO,5<{POO#S'#Fd'#FdP9UO#SO,5<qPOOO,5<q,5<qO9dQ.YO,59_OOQ#i,59a,59aO%rQ.jO,59cO%rQ.jO,59hO%rQ.jO'#FiO9rQ#WO1G.tOOQ#k1G.t1G.tO9zQ.oO,59fO<pQ! lO,59pOOQ#d'#D['#D[OOQ#d'#Fh'#FhO<{Q)OO,59uOOQ#i,59u,59uO={Q.jO'#DQOOQ#i,59j,59jOOQ#U1G/c1G/cOOQ#U1G/e1G/eO0{Q(nO1G/eO1QQ(nO1G/eOOQ#U1G/l1G/lO>VQ9`O1G/oO>pQ(pO1G/rO?dQ(pO1G/tO@WQ(pO1G/uO@zQ(pO,5<WOOQ#S-E9j-E9jOOQ&Z1G.m1G.mOAXQ(nO,5:_OA^Q+uO,5:_OAeQ)OO'#DeOAlQ.jO'#DcOOQ#U1G/o1G/oO%rQ.jO1G/oOBkQ.jO'#DwOBuQ.kO1G/{OOQ#T1G/{1G/{OCrQ)OO'#EQO+PQ(nO1G0TO2pQ)OO1G0TODaQ+uO'#GfOOQ&Z1G0f1G0fO0SQ(nO1G0fOOQ&Z1G0i1G0iOOQ&Z1G0k1G0kO0SQ(nO1G0kOFyQ)OO1G0kOOQ&Z1G0p1G0pOOQ&Z1G0r1G0rOGRQ)OO1G0rOGWQ(nO1G0rOG]Q)OO1G0tOOQ&Z1G0t1G0tOGkQ.jO'#FsOG{Q#dO1G0tOHQQ!N^O'#CuOH]Q!NUO'#ETOHkQ!NUO,5:pOHsQ(nO,5:wOOQ#S'#Ge'#GeOHnQ!NUO,5:sO*aQ)OO,5:rOH{Q)OO'#FrOI`Q(nO,5<}OIqQ(nO,5:uO(cQ)OO,5:xOOQ&Z1G0w1G0wOOQ&Z1G0y1G0yOOQ&Z1G0{1G0{O+PQ(nO1G0{OJYQ)OO'#E{OOQ&Z1G1O1G1OOOQ&Z1G1U1G1UOOQ&Z1G1h1G1hOJeQ+uO1G1WO%rQ.jO1G1[OL}Q)OO'#FxOMYQ)OO,5=SO%rQ.jO1G1aOOQ&Z1G1d1G1dOOQ&Z1G1f1G1fOMbQ(oO1G2gOMsQ+uO,5<[OOQ#T,5<[,5<[OOQ#T-E9n-E9nPOO#S-E9b-E9bPOOO1G2]1G2]OOQ#i1G.y1G.yONWQ.oO1G.}OOQ#i1G/S1G/SO!!|Q.^O,5<TOOQ#W-E9g-E9gOOQ#k7+$`7+$`OOQ#i1G/[1G/[O!#_Q(nO1G/[OOQ#d-E9f-E9fOOQ#i1G/a1G/aO!#dQ.jO'#FfO!$qQ.jO'#G]O!&]Q.jO'#GZO!&dQ(nO,59lOOQ#U7+%P7+%POOQ#U7+%Z7+%ZO%rQ.jO7+%ZOOQ&Z1G/y1G/yO!&iQ#TO1G/yO!&nQ(pO'#G_O!&xQ(nO,5:PO!&}Q.jO'#G^O!'XQ(nO,59}O!'^Q.YO7+%ZO!'lQ.YO'#GZO!'}Q(nO,5:cOOQ#T,5:c,5:cO!(VQ.kO'#FoO%rQ.jO'#FoO!)yQ.kO7+%gOOQ#T7+%g7+%gO!*mQ#dO,5:lOOQ&Z7+%o7+%oO+PQ(nO7+%oO7nQ(nO7+&QO+PQ(nO7+&VOOQ#d'#Eh'#EhO!*rQ)OO7+&VO!+QQ(nO7+&^O*aQ)OO7+&^OOQ#d-E9q-E9qOOQ&Z7+&`7+&`O!+VQ.jO'#GgOOQ#d,5<_,5<_OF|Q(nO7+&`O%rQ.jO1G0[O!+qQ.jO1G0_OOQ#S1G0c1G0cOOQ#S1G0^1G0^O!+xQ(nO,5<^OOQ#S-E9p-E9pO!,^Q(pO1G0dOOQ&Z7+&g7+&gO,gQ(vO'#CuOOQ#S'#E}'#E}O!,eQ(nO'#E|OOQ#S'#E|'#E|O!,sQ(nO'#FuO!-OQ)OO,5;gOOQ&Z,5;g,5;gO!-ZQ+uO7+&rO!/sQ)OO7+&rO!0OQ.jO7+&vOOQ#d,5<d,5<dOOQ#d-E9v-E9vO3mQ.YO7+&{OOQ#T1G1v1G1vOOQ#i7+$v7+$vOOQ#d-E9d-E9dO!0aQ.jO'#FgO!0nQ(nO,5<wO!0nQ(nO,5<wO%rQ.jO,5<wOOQ#i1G/W1G/WO!0vQ.YO<<HuOOQ&Z7+%e7+%eO!1UQ)OO'#FkO!1`Q(nO,5<yOOQ#U1G/k1G/kO!1hQ.jO'#FjO!1rQ(nO,5<xOOQ#U1G/i1G/iOOQ#U<<Hu<<HuO1_Q.jO,5<YO!1zQ(nO'#FnOOQ#S-E9l-E9lOOQ#T1G/}1G/}O!2PQ.kO,5<ZOOQ#e-E9m-E9mOOQ#T<<IR<<IROOQ#S'#ES'#ESO!3sQ(nO1G0WOOQ&Z<<IZ<<IZOOQ&Z<<Il<<IlOOQ&Z<<Iq<<IqO0SQ(nO<<IqO*aQ)OO<<IxO!3{Q(nO<<IxO!4TQ.jO'#FtO!4hQ)OO,5=ROG]Q)OO<<IzO!4yQ.jO7+%vOOQ#S'#EV'#EVO!5QQ!NUO7+%yOOQ#S7+&O7+&OOOQ#S,5;h,5;hOJ]Q)OO'#FvO!,sQ(nO,5<aOOQ#d,5<a,5<aOOQ#d-E9s-E9sOOQ&Z1G1R1G1ROOQ&Z-E9u-E9uO!/sQ)OO<<J^O%rQ.jO,5<cOOQ&Z<<J^<<J^O%rQ.jO<<JbOOQ&Z<<Jg<<JgO!5YQ.jO,5<RO!5gQ.jO,5<ROOQ#S-E9e-E9eO!5nQ(nO1G2cO!5vQ.jO1G2cOOQ#UAN>aAN>aO!6QQ(pO,5<VOOQ#S-E9i-E9iO!6[Q.jO,5<UOOQ#S-E9h-E9hO!6fQ.YO1G1tO!6oQ(nO1G1tO!*mQ#dO'#FqO!6zQ(nO7+%rOOQ#d7+%r7+%rO+PQ(nOAN?]O!7SQ(nOAN?dO0gQ(nOAN?dO!7[Q.jO,5<`OOQ#d-E9r-E9rOG]Q)OOAN?fOOQ&ZAN?fAN?fOOQ#S<<Ib<<IbOOQ#S<<Ie<<IeO!7vQ.jO<<IeOOQ#S,5<b,5<bOOQ#S-E9t-E9tOOQ#d1G1{1G1{P!8_Q)OO'#FwOOQ&ZAN?xAN?xO3mQ.YO1G1}O3mQ.YOAN?|OOQ#S1G1m1G1mO%rQ.jO1G1mO!8dQ(nO7+'}OOQ#S7+'`7+'`OOQ#S,5<],5<]OOQ#S-E9o-E9oOOQ#d<<I^<<I^OOQ&ZG24wG24wO0gQ(nOG25OOOQ&ZG25OG25OOOQ&ZG25QG25QO!8lQ(nOAN?POOQ&Z7+'i7+'iOOQ&ZG25hG25hO!8qQ.jO7+'XOOQ&ZLD*jLD*jOOQ#SG24kG24k",stateData:"!9R~O$wOSVOSUOS$uQQ~OS`OTVOWcOXbO_UOc`OqWOuYO|[O!SYO!ZZO!rmO!saO#TbO#WcO#YdO#_eO#afO#cgO#fhO#hiO#jjO#mkO#slO#urO#ysO$OtO$RuO$TvO$rSO$|RO%S]O~O$m%TP~P`O$u{O~Oq^Xu^Xu!jXw^X|^X!S^X!Z^X!a^X!d^X!h^X$p^X$t^X~Oq${Xu${Xw${X|${X!S${X!Z${X!a${X!d${X!h${X$p${X$t${X~O$r}O!o${X$v${Xf${Xe${X~P$jOS!XOTVO_!XOc!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O$r!ZO~Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO!h!fO$p!bO$t!gO~Ow!dO~P&rO!U!mO$q!jO$r!iO~O$r!nO~O$r!pO~O$r!rO~Ou!tO~P$jOu!tO~OTVO_UOqWOuYO|[O!SYO!ZZO$r!yO$|RO%S]O~Of!}O!h!fO$t!gO~P(cOTVOc#UOf#QO#O#SO#R#TO$s#PO!h%VP$t%VP~Oj#YOy!VO$r#XO~Oj#[O$r#[O~OTVOc#UOf#QO#O#SO#R#TO$s#PO~O!o%VP$v%VP~P)bO!o#`O$t#`O$v#`O~Oc#dO~Oc#eO$P%[P~O$m%TX!p%TX$o%TX~P`O!o#kO$t#kO$m%TX!p%TX$o%TX~OU#nOV#nO$t#pO$w#nO~OR#rO$tiX!hiXeiXwiX~OPiXQiXliXmiXqiXTiXciXfiX!oiX!uiX#OiX#RiX$siX$viX#UiX#ZiX#]iX#diXSiX_iXhiXjiXoiXyiX|iX!liX!miX!niX$qiX$riX%OiX$miXviX{iX#{iX#|iX!piX$oiX~P,gOP#wOQ#uOl#sOm#sOq#tO~Of#yO~O{#}O$r#zO~Of$OO~O!U$TO$q!jO$r!iO~Ow!dO!h!fO$t!gO~O!p%TP~P`O$n$_O~Of$`O~Of$aO~O{$bO!_$cO~OS!XOTVO_!XOc!XOf$dOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O!h!fO$t!gO~P1_Ol#sOm#sOq#tO!u$gO!o%VP$t%VP$v%VP~P*aOl#sOm#sOq#tO!o#`O$v#`O~O!h!fO#U$lO$t$jO~P2}Ol#sOm#sOq#tO!h!fO$t!gO~O#Z$pO#]$oO$t#`O~P2}Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO$p!bO~O!o#`O$t#`O$v#`O~P4]Of$sO~P&rO#]$tO~O#Z$xO#d$wO$t#`O~P2}OS$}Oh$}Oj$}Oy!VO$q!UO%O$yO~OTVOc#UOf#QO#O#SO#R#TO$s$zO~P5oOm%POw%QO!h%VX$t%VX!o%VX$v%VX~Of%TO~Oj%XOy!VO~O!h%YO~Om%PO!h!fO$t!gO~O!h!fO!o#`O$t$jO$v#`O~O#z%_O~Ow%`O$P%[X~O$P%bO~O!o#kO$t#kO$m%Ta!p%Ta$o%Ta~O!o$dX$m$dX$t$dX!p$dX$o$dX~P`OU#nOV#nO$t%jO$w#nO~Oe%kOl#sOm#sOq#tO~OP%pOQ#uO~Ol#sOm#sOq#tOPnaQnaTnacnafna!ona!una#Ona#Rna$sna$tna$vna!hna#Una#Zna#]na#dnaenaSna_nahnajnaonawnayna|na!lna!mna!nna$qna$rna%Ona$mnavna{na#{na#|na!pna$ona~Oe%qOj%rOz%rO~O{%tO$r#zO~OS!XOTVO_!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oc%wOe%PP~P=TO{%zO!_%{O~Oq!]Ou!^O|!`O!S!^O!Z!_O~Ow!`i!a!`i!d!`i!h!`i$p!`i$t!`i!o!`i$v!`if!`ie!`i~P>_Ow!bi!a!bi!d!bi!h!bi$p!bi$t!bi!o!bi$v!bif!bie!bi~P>_Ow!ci!a!ci!d!ci!h!ci$p!ci$t!ci!o!ci$v!cif!cie!ci~P>_Ow$`a!h$`a$t$`a~P4]O!p%|O~O$o%TP~P`Oe%RP~P(cOe%QP~P%rOS!XOTVO_!XOc!XOf!QOh!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oe&VOj&TO~PAsOl#sOm#sOq#tOw&XO!l&ZO!m&ZO!n&ZO!o!ii$t!ii$v!ii$m!ii!p!ii$o!ii~P%rOf&[OT!tXc!tX!o!tX#O!tX#R!tX$s!tX$t!tX$v!tX~O$n$_OS%YXT%YXW%YXX%YX_%YXc%YXq%YXu%YX|%YX!S%YX!Z%YX!r%YX!s%YX#T%YX#W%YX#Y%YX#_%YX#a%YX#c%YX#f%YX#h%YX#j%YX#m%YX#s%YX#u%YX#y%YX$O%YX$R%YX$T%YX$m%YX$r%YX$|%YX%S%YX!p%YX!o%YX$t%YX$o%YX~O$r!PO$|&aO~O#]&cO~Ou&dO~O!o#`O#d$wO$t#`O$v#`O~O!o%ZP#d%ZP$t%ZP$v%ZP~P%rO$r!PO~OR#rO!|iXeiX~Oe!wXm!wXu!yX!|!yX~Ou&jO!|&kO~Oe&lOm%PO~Ow$fX!h$fX$t$fX!o$fX$v$fX~P*aOw%QO!h%Va$t%Va!o%Va$v%Va~Om%POw!}a!h!}a$t!}a!o!}a$v!}ae!}a~O!p&xO$r&sO%O&rO~O#v&zOS#tiT#tiW#tiX#ti_#tic#tiq#tiu#ti|#ti!S#ti!Z#ti!r#ti!s#ti#T#ti#W#ti#Y#ti#_#ti#a#ti#c#ti#f#ti#h#ti#j#ti#m#ti#s#ti#u#ti#y#ti$O#ti$R#ti$T#ti$m#ti$r#ti$|#ti%S#ti!p#ti!o#ti$t#ti$o#ti~Oc&|Ow$lX$P$lX~Ow%`O$P%[a~O!o#kO$t#kO$m%Ti!p%Ti$o%Ti~O!o$da$m$da$t$da!p$da$o$da~P`Oq#tOPkiQkilkimkiTkickifki!oki!uki#Oki#Rki$ski$tki$vki!hki#Uki#Zki#]ki#dkiekiSki_kihkijkiokiwkiyki|ki!lki!mki!nki$qki$rki%Oki$mkivki{ki#{ki#|ki!pki$oki~Ol#sOm#sOq#tOP$]aQ$]a~Oe'QO~Ol#sOm#sOq#tOS$YXT$YX_$YXc$YXe$YXf$YXh$YXj$YXo$YXv$YXw$YXy$YX|$YX$q$YX$r$YX%O$YX~Ov'UOw'SOe%PX~P%rOS$}XT$}X_$}Xc$}Xe$}Xf$}Xh$}Xj$}Xl$}Xm$}Xo$}Xq$}Xv$}Xw$}Xy$}X|$}X$q$}X$r$}X%O$}X~Ou'VO~P!%OOe'WO~O$o'YO~Ow'ZOe%RX~P4]Oe']O~Ow'^Oe%QX~P%rOe'`O~Ol#sOm#sOq#tO{'aO~Ou'bOe$}Xl$}Xm$}Xq$}X~Oe'eOj'cO~Ol#sOm#sOq#tOS$cXT$cX_$cXc$cXf$cXh$cXj$cXo$cXw$cXy$cX|$cX!l$cX!m$cX!n$cX!o$cX$q$cX$r$cX$t$cX$v$cX%O$cX$m$cX!p$cX$o$cX~Ow&XO!l'hO!m'hO!n'hO!o!iq$t!iq$v!iq$m!iq!p!iq$o!iq~P%rO$r'iO~O!o#`O#]'nO$t#`O$v#`O~Ou'oO~Ol#sOm#sOq#tOw'qO!o%ZX#d%ZX$t%ZX$v%ZX~O$s'uO~P5oOm%POw$fa!h$fa$t$fa!o$fa$v$fa~Oe'wO~P4]O%O&rOw#pX!h#pX$t#pX~Ow'yO!h!fO$t!gO~O!p'}O$r&sO%O&rO~O#v(POS#tqT#tqW#tqX#tq_#tqc#tqq#tqu#tq|#tq!S#tq!Z#tq!r#tq!s#tq#T#tq#W#tq#Y#tq#_#tq#a#tq#c#tq#f#tq#h#tq#j#tq#m#tq#s#tq#u#tq#y#tq$O#tq$R#tq$T#tq$m#tq$r#tq$|#tq%S#tq!p#tq!o#tq$t#tq$o#tq~O!h!fO#w(QO$t!gO~Ol#sOm#sOq#tO#{(SO#|(SO~Oc(VOe$ZXw$ZX~P=TOw'SOe%Pa~Ol#sOm#sOq#tO{(ZO~Oe$_Xw$_X~P(cOw'ZOe%Ra~Oe$^Xw$^X~P%rOw'^Oe%Qa~Ou'bO~Ol#sOm#sOq#tOS$caT$ca_$cac$caf$cah$caj$cao$caw$cay$ca|$ca!l$ca!m$ca!n$ca!o$ca$q$ca$r$ca$t$ca$v$ca%O$ca$m$ca!p$ca$o$ca~Oe(dOq(bO~Oe(gOm%PO~Ow$hX!o$hX#d$hX$t$hX$v$hX~P%rOw'qO!o%Za#d%Za$t%Za$v%Za~Oe(lO~P%rOe(mO!|(nO~Ov(vOe$Zaw$Za~P%rOu(wO~P!%OOw'SOe%Pi~Ow'SOe%Pi~P%rOe$_aw$_a~P4]Oe$^aw$^a~P%rOl#sOm#sOq#tOw(yOe$bij$bi~Oe(|Oq(bO~Oe)OOm%PO~Ol#sOm#sOq#tOw$ha!o$ha#d$ha$t$ha$v$ha~OS$}Oh$}Oj$}Oy!VO$q!UO$s'uO%O&rO~O#w(QO~Ow'SOe%Pq~Oe)WO~Oe$Zqw$Zq~P%rO%Oql!dl~",goto:"=Y%]PPPPPPPPPPP%^%h%h%{P%h&`&cP(UPP)ZP*YP)ZPP)ZP)ZP+f,j-lPPP-xPPPP)Z/S%h/W%hP/^P/d/j/p%hP/v%h/|P%hP%h%hP%h0S0VP1k1}2XPPPPP%^PP2_P2b'w'w2h'w'wP'wP'w'wP%^PP%^P%^PP2qP%^P%^P%^PP%^P%^P%^P2w%^P2z2}3Q3X%^P%^PPP%^PPPP%^PP%^P%^P%^P3^3d3j4Y4h4n4t4z5Q5W5d5j5p5z6Q6W6b6h6n6t6zPPPPPPPPPPPP7Q7T7aP8WP:_:b:eP:h:q:w;T;p;y=S=VanOPqx!f#l$_%fs^OPefqx!a!b!c!d!f#l$_$`%T%f'ZsTOPefqx!a!b!c!d!f#l$_$`%T%f'ZR!OUb^ef!a!b!c!d$`%T'Z`_OPqx!f#l$_%f!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)Ug#Uhlm!u#Q#S$i%P%Q&d'o!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ&b$pR&i$x!y!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)U!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UU$}#Q&k(nU&u%Y&w'yR'x&t!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UV$}#Q&k(n#P!YVabcdgiruv!Q!T!t#Q#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j&k'S'V'^'b'q't(Q(S(U(Y(^(n(w)UQ$P!YQ&_$lQ&`$oR(e'n!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ#YjU$}#Q&k(nR%X#ZT#{!W#|Q![WR$Q!]Q!kYR$R!^Q$R!mR%y$TQ!lYR$S!^Q$R!lR%y$SQ!oZR$U!_Q!q[R$V!`R!s]Q!hXQ!|fQ$]!eQ$f!tQ$k!vQ$m!wQ$r!{Q%U#VQ%[#^Q%]#_Q%^#cQ%c#gQ'l&_Q'{&vQ(R&zQ(T'OQ(q'zQ(s(PQ)P(gQ)S(tQ)T(uR)V)OSpOqUyP!f$_Q#jxQ%g#lR'P%fa`OPqx!f#l$_%fQ$f!tR(a'bR$i!uQ'j&[R(z(bQ${#QQ'v&kR)R(nQ&b$pR's&iR#ZjR#]kR%Z#]S&v%Y&wR(o'yV&t%Y&w'yQ#o{R%i#oQqOR#bqQ%v$OQ&Q$a^'R%v&Q't(U(Y(^)UQ't&jQ(U'SQ(Y'VQ(^'^R)U(wQ'T%vU(W'T(X(xQ(X'UR(x(YQ#|!WR%s#|Q#v!SR%o#vQ'_&QR(_'_Q'[&OR(]'[Q!eXR$[!eUxP!f$_S#ix%fR%f#lQ&U$dR'd&UQ&Y$eR'g&YQ#myQ%e#jT%h#m%eQ(c'jR({(cQ%R#RR&o%RQ$u#OS&e$u(jR(j'sQ'r&gR(i'rQ&w%YR'|&wQ'z&vR(p'zQ&y%^R(O&yQ%a#eR&}%aR|QSoOq]wPx!f#l$_%f`XOPqx!f#l$_%fQ!zeQ!{fQ$W!aQ$X!bQ$Y!cQ$Z!dQ&O$`Q&p%TR(['ZQ!SVQ!uaQ!vbQ!wcQ!xdQ#OgQ#WiQ#crQ#guQ#hvS#q!Q$dQ#x!TQ$e!tQ%l#sQ%m#tQ%n#ul%u$O$a%v&Q&j'S'V'^'t(U(Y(^(w)UQ&S$cS&W$e&YQ&g$wQ&{%_Q'O%bQ'X%{Q'f&XQ(`'bQ(h'qQ(t(QR(u(SR%x$OR&R$aR&P$`QzPQ$^!fR%}$_X#ly#j#m%eQ#VhQ#_mQ$h!uR&^$iW#Rhm!u$iQ#^lQ$|#QQ%S#SQ&m%PQ&n%QQ'p&dR(f'oQ%O#QQ'v&kR)R(nQ#apQ$k!vQ$n!xQ$q!zQ$v#OQ%V#WQ%W#YQ%]#_Q%d#hQ&]$hQ&f$uQ&q%XQ'k&^Q'l&_S'm&`&bQ(k'sQ(}(eR)Q(jR&h$wR#ft",nodeNames:"⚠ InterpolationEnd InterpolationContinue Unit VariableName InterpolationStart LineComment Comment IndentedMixin IndentedInclude StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector SuffixedSelector Suffix Interpolation SassVariableName ValueName ) ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp LogicOp UnaryExpression LogicOp NamespacedValue . CallExpression Callee ArgList : ... , CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName ClassSelector ClassName PseudoClassSelector :: PseudoClassName PseudoClassName ArgList PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp PlaceholderSelector ClassName Block { Declaration PropertyName Map Important Global Default ; } ImportStatement AtKeyword import Layer layer LayerName KeywordQuery FeatureQuery FeatureName BinaryQuery ComparisonQuery CompareOp UnaryQuery LogicOp ParenthesizedQuery SelectorQuery selector IncludeStatement include Keyword MixinStatement mixin UseStatement use Keyword Star Keyword ExtendStatement extend RootStatement at-root ForwardStatement forward Keyword MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports IfStatement ControlKeyword ControlKeyword Keyword ForStatement ControlKeyword Keyword Keyword Keyword EachStatement ControlKeyword Keyword WhileStatement ControlKeyword OutputStatement ControlKeyword AtRule Styles",maxTerm:196,context:m,nodeProps:[["openedBy",1,"InterpolationStart",5,"InterpolationEnd",21,"(",43,"[",78,"{"],["isolate",-3,6,7,26,""],["closedBy",22,")",44,"]",70,"}"]],propSources:[p],skippedNodes:[0,6,7,146],repeatNodeCount:21,tokenData:"!$Q~RyOq#rqr$jrs0jst2^tu8{uv;hvw;{wx<^xy={yz>^z{>c{|>||}Co}!ODQ!O!PDo!P!QFY!Q![Fk![!]Gf!]!^Hb!^!_Hs!_!`Is!`!aJ^!a!b#r!b!cKa!c!}#r!}#OMn#O#P#r#P#QNP#Q#RNb#R#T#r#T#UNw#U#c#r#c#d!!Y#d#o#r#o#p!!o#p#qNb#q#r!#Q#r#s!#c#s;'S#r;'S;=`!#z<%lO#rW#uSOy$Rz;'S$R;'S;=`$d<%lO$RW$WSzWOy$Rz;'S$R;'S;=`$d<%lO$RW$gP;=`<%l$RY$m[Oy$Rz!_$R!_!`%c!`#W$R#W#X%v#X#Z$R#Z#[)Z#[#]$R#]#^,V#^;'S$R;'S;=`$d<%lO$RY%jSzWlQOy$Rz;'S$R;'S;=`$d<%lO$RY%{UzWOy$Rz#X$R#X#Y&_#Y;'S$R;'S;=`$d<%lO$RY&dUzWOy$Rz#Y$R#Y#Z&v#Z;'S$R;'S;=`$d<%lO$RY&{UzWOy$Rz#T$R#T#U'_#U;'S$R;'S;=`$d<%lO$RY'dUzWOy$Rz#i$R#i#j'v#j;'S$R;'S;=`$d<%lO$RY'{UzWOy$Rz#`$R#`#a(_#a;'S$R;'S;=`$d<%lO$RY(dUzWOy$Rz#h$R#h#i(v#i;'S$R;'S;=`$d<%lO$RY(}S!nQzWOy$Rz;'S$R;'S;=`$d<%lO$RY)`UzWOy$Rz#`$R#`#a)r#a;'S$R;'S;=`$d<%lO$RY)wUzWOy$Rz#c$R#c#d*Z#d;'S$R;'S;=`$d<%lO$RY*`UzWOy$Rz#U$R#U#V*r#V;'S$R;'S;=`$d<%lO$RY*wUzWOy$Rz#T$R#T#U+Z#U;'S$R;'S;=`$d<%lO$RY+`UzWOy$Rz#`$R#`#a+r#a;'S$R;'S;=`$d<%lO$RY+yS!mQzWOy$Rz;'S$R;'S;=`$d<%lO$RY,[UzWOy$Rz#a$R#a#b,n#b;'S$R;'S;=`$d<%lO$RY,sUzWOy$Rz#d$R#d#e-V#e;'S$R;'S;=`$d<%lO$RY-[UzWOy$Rz#c$R#c#d-n#d;'S$R;'S;=`$d<%lO$RY-sUzWOy$Rz#f$R#f#g.V#g;'S$R;'S;=`$d<%lO$RY.[UzWOy$Rz#h$R#h#i.n#i;'S$R;'S;=`$d<%lO$RY.sUzWOy$Rz#T$R#T#U/V#U;'S$R;'S;=`$d<%lO$RY/[UzWOy$Rz#b$R#b#c/n#c;'S$R;'S;=`$d<%lO$RY/sUzWOy$Rz#h$R#h#i0V#i;'S$R;'S;=`$d<%lO$RY0^S!lQzWOy$Rz;'S$R;'S;=`$d<%lO$R~0mWOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W<%lO0j~1[Oj~~1_RO;'S0j;'S;=`1h;=`O0j~1kXOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W;=`<%l0j<%lO0j~2ZP;=`<%l0jZ2cY!ZPOy$Rz!Q$R!Q![3R![!c$R!c!i3R!i#T$R#T#Z3R#Z;'S$R;'S;=`$d<%lO$RY3WYzWOy$Rz!Q$R!Q![3v![!c$R!c!i3v!i#T$R#T#Z3v#Z;'S$R;'S;=`$d<%lO$RY3{YzWOy$Rz!Q$R!Q![4k![!c$R!c!i4k!i#T$R#T#Z4k#Z;'S$R;'S;=`$d<%lO$RY4rYhQzWOy$Rz!Q$R!Q![5b![!c$R!c!i5b!i#T$R#T#Z5b#Z;'S$R;'S;=`$d<%lO$RY5iYhQzWOy$Rz!Q$R!Q![6X![!c$R!c!i6X!i#T$R#T#Z6X#Z;'S$R;'S;=`$d<%lO$RY6^YzWOy$Rz!Q$R!Q![6|![!c$R!c!i6|!i#T$R#T#Z6|#Z;'S$R;'S;=`$d<%lO$RY7TYhQzWOy$Rz!Q$R!Q![7s![!c$R!c!i7s!i#T$R#T#Z7s#Z;'S$R;'S;=`$d<%lO$RY7xYzWOy$Rz!Q$R!Q![8h![!c$R!c!i8h!i#T$R#T#Z8h#Z;'S$R;'S;=`$d<%lO$RY8oShQzWOy$Rz;'S$R;'S;=`$d<%lO$R_9O`Oy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!_$R!_!`;T!`!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$RZ:X^zWcROy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$R[;[S!_SzWOy$Rz;'S$R;'S;=`$d<%lO$RZ;oS%SPlQOy$Rz;'S$R;'S;=`$d<%lO$RZ<QS_ROy$Rz;'S$R;'S;=`$d<%lO$R~<aWOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u<%lO<^~<|RO;'S<^;'S;=`=V;=`O<^~=YXOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u;=`<%l<^<%lO<^~=xP;=`<%l<^Z>QSfROy$Rz;'S$R;'S;=`$d<%lO$R~>cOe~_>jU$|PlQOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RZ?TWlQ!dPOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZ?rUzWOy$Rz!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RZ@]YzW%OROy$Rz!Q$R!Q![@U![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZAQYzWOy$Rz{$R{|Ap|}$R}!OAp!O!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZAuUzWOy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZB`UzW%OROy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZBy[zW%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZCtSwROy$Rz;'S$R;'S;=`$d<%lO$RZDVWlQOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZDtWqROy$Rz!O$R!O!PE^!P!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RYEcUzWOy$Rz!O$R!O!PEu!P;'S$R;'S;=`$d<%lO$RYE|SvQzWOy$Rz;'S$R;'S;=`$d<%lO$RYF_SlQOy$Rz;'S$R;'S;=`$d<%lO$RZFp[%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RkGkUucOy$Rz![$R![!]G}!];'S$R;'S;=`$d<%lO$RXHUS!SPzWOy$Rz;'S$R;'S;=`$d<%lO$RZHgS!oROy$Rz;'S$R;'S;=`$d<%lO$RjHzU!|`lQOy$Rz!_$R!_!`I^!`;'S$R;'S;=`$d<%lO$RjIgS!|`zWlQOy$Rz;'S$R;'S;=`$d<%lO$RnIzU!|`!_SOy$Rz!_$R!_!`%c!`;'S$R;'S;=`$d<%lO$RkJgV!aP!|`lQOy$Rz!_$R!_!`I^!`!aJ|!a;'S$R;'S;=`$d<%lO$RXKTS!aPzWOy$Rz;'S$R;'S;=`$d<%lO$RXKdYOy$Rz}$R}!OLS!O!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLXWzWOy$Rz!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLx[!rPzWOy$Rz}$R}!OLq!O!Q$R!Q![Lq![!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RZMsS|ROy$Rz;'S$R;'S;=`$d<%lO$R_NUS{VOy$Rz;'S$R;'S;=`$d<%lO$R[NeUOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RkNzUOy$Rz#b$R#b#c! ^#c;'S$R;'S;=`$d<%lO$Rk! cUzWOy$Rz#W$R#W#X! u#X;'S$R;'S;=`$d<%lO$Rk! |SmczWOy$Rz;'S$R;'S;=`$d<%lO$Rk!!]UOy$Rz#f$R#f#g! u#g;'S$R;'S;=`$d<%lO$RZ!!tS!hROy$Rz;'S$R;'S;=`$d<%lO$RZ!#VS!pROy$Rz;'S$R;'S;=`$d<%lO$R]!#hU!dPOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RW!#}P;=`<%l#r",tokenizers:[S,c,d,s,l,R,r,o,0,1,2,3,4],topRules:{StyleSheet:[0,10],Styles:[1,145]},dialects:{indented:0},specialized:[{term:172,get:O=>u[O]||-1},{term:171,get:O=>y[O]||-1},{term:80,get:O=>f[O]||-1},{term:173,get:O=>Y[O]||-1}],tokenPrec:3217}),z=$.LRLanguage.define({name:"sass",parser:h.configure({props:[$.foldNodeProp.add({Block:$.foldInside,Comment:(O,$)=>({from:O.from+2,to:"*/"==$.sliceDoc(O.to-2,O.to)?O.to-2:O.to})}),$.indentNodeProp.add({Declaration:$.continuedIndent()})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"$-"}}),T=z.configure({dialect:"indented",props:[$.indentNodeProp.add({"Block RuleSet":O=>O.baseIndent+O.unit}),$.foldNodeProp.add({Block:O=>({from:O.from,to:O.to})})]}),w=e.defineCSSCompletionSource(O=>"VariableName"==O.name||"SassVariableName"==O.name);exports.sass=function(O){return new $.LanguageSupport((null==O?void 0:O.indented)?T:z,z.data.of({autocomplete:w}))},exports.sassCompletionSource=w,exports.sassLanguage=z;
2
+ //# sourceMappingURL=index-MEXcFr58.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-MEXcFr58.cjs","sources":["../../../node_modules/@lezer/sass/dist/index.js","../../../node_modules/@codemirror/lang-sass/dist/index.js"],"sourcesContent":["import { ExternalTokenizer, ContextTracker, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst indent = 168,\n dedent = 169,\n descendantOp = 170,\n InterpolationEnd = 1,\n InterpolationContinue = 2,\n Unit = 3,\n callee = 171,\n identifier = 172,\n VariableName = 4,\n queryIdentifier = 173,\n InterpolationStart = 5,\n newline = 174,\n blankLineStart = 175,\n eof = 176,\n whitespace = 177,\n LineComment = 6,\n Comment = 7,\n IndentedMixin = 8,\n IndentedInclude = 9,\n Dialect_indented = 0;\n\n/* Hand-written tokenizers for CSS tokens that can't be\n expressed by Lezer's built-in tokenizer. */\n\nconst space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197,\n 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288];\nconst colon = 58, parenL = 40, underscore = 95, bracketL = 91, dash = 45, period = 46,\n hash = 35, percent = 37, braceL = 123, braceR = 125, slash = 47, asterisk = 42,\n newlineChar = 10, equals = 61, plus = 43, and = 38;\n\nfunction isAlpha(ch) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161 }\n\nfunction isDigit(ch) { return ch >= 48 && ch <= 57 }\n\nfunction startOfComment(input) {\n let next;\n return input.next == slash && ((next = input.peek(1)) == slash || next == asterisk)\n}\n\nconst spaces = new ExternalTokenizer((input, stack) => {\n if (stack.dialectEnabled(Dialect_indented)) {\n let prev;\n if (input.next < 0 && stack.canShift(eof)) {\n input.acceptToken(eof);\n } else if (((prev = input.peek(-1)) == newlineChar || prev < 0) && stack.canShift(blankLineStart)) {\n let spaces = 0;\n while (input.next != newlineChar && space.includes(input.next)) { input.advance(); spaces++; }\n if (input.next == newlineChar || startOfComment(input))\n input.acceptToken(blankLineStart, -spaces);\n else if (spaces)\n input.acceptToken(whitespace);\n } else if (input.next == newlineChar) {\n input.acceptToken(newline, 1);\n } else if (space.includes(input.next)) {\n input.advance();\n while (input.next != newlineChar && space.includes(input.next)) input.advance();\n input.acceptToken(whitespace);\n }\n } else {\n let length = 0;\n while (space.includes(input.next)) {\n input.advance();\n length++;\n }\n if (length) input.acceptToken(whitespace);\n }\n}, {contextual: true});\n\nconst comments = new ExternalTokenizer((input, stack) => {\n if (!startOfComment(input)) return\n input.advance();\n if (stack.dialectEnabled(Dialect_indented)) {\n let indentedComment = -1;\n for (let off = 1;; off++) {\n let prev = input.peek(-off - 1);\n if (prev == newlineChar || prev < 0) {\n indentedComment = off + 1;\n break\n } else if (!space.includes(prev)) {\n break\n }\n }\n if (indentedComment > -1) { // Weird indented-style comment\n let block = input.next == asterisk, end = 0;\n input.advance();\n while (input.next >= 0) {\n if (input.next == newlineChar) {\n input.advance();\n let indented = 0;\n while (input.next != newlineChar && space.includes(input.next)) {\n indented++;\n input.advance();\n }\n if (indented < indentedComment) {\n end = -indented - 1;\n break\n }\n } else if (block && input.next == asterisk && input.peek(1) == slash) {\n end = 2;\n break\n } else {\n input.advance();\n }\n }\n input.acceptToken(block ? Comment : LineComment, end);\n return\n }\n }\n if (input.next == slash) {\n while (input.next != newlineChar && input.next >= 0) input.advance();\n input.acceptToken(LineComment);\n } else {\n input.advance();\n while (input.next >= 0) {\n let {next} = input;\n input.advance();\n if (next == asterisk && input.next == slash) {\n input.advance();\n break\n }\n }\n input.acceptToken(Comment);\n }\n});\n\nconst indentedMixins = new ExternalTokenizer((input, stack) => {\n if ((input.next == plus || input.next == equals) && stack.dialectEnabled(Dialect_indented))\n input.acceptToken(input.next == equals ? IndentedMixin : IndentedInclude, 1);\n});\n\nconst indentation = new ExternalTokenizer((input, stack) => {\n if (!stack.dialectEnabled(Dialect_indented)) return\n let cDepth = stack.context.depth;\n if (input.next < 0 && cDepth) {\n input.acceptToken(dedent);\n return\n }\n let prev = input.peek(-1);\n if (prev == newlineChar) {\n let depth = 0;\n while (input.next != newlineChar && space.includes(input.next)) {\n input.advance();\n depth++;\n }\n if (depth != cDepth &&\n input.next != newlineChar && !startOfComment(input)) {\n if (depth < cDepth) input.acceptToken(dedent, -depth);\n else input.acceptToken(indent);\n }\n }\n});\n\nconst identifiers = new ExternalTokenizer((input, stack) => {\n for (let inside = false, dashes = 0, i = 0;; i++) {\n let {next} = input;\n if (isAlpha(next) || next == dash || next == underscore || (inside && isDigit(next))) {\n if (!inside && (next != dash || i > 0)) inside = true;\n if (dashes === i && next == dash) dashes++;\n input.advance();\n } else if (next == hash && input.peek(1) == braceL) {\n input.acceptToken(InterpolationStart, 2);\n break\n } else {\n if (inside) input.acceptToken(\n dashes == 2 && stack.canShift(VariableName) ? VariableName\n : stack.canShift(queryIdentifier) ? queryIdentifier\n : next == parenL ? callee\n : identifier);\n break\n }\n }\n});\n\nconst interpolationEnd = new ExternalTokenizer(input => {\n if (input.next == braceR) {\n input.advance();\n while (isAlpha(input.next) || input.next == dash || input.next == underscore || isDigit(input.next))\n input.advance();\n if (input.next == hash && input.peek(1) == braceL)\n input.acceptToken(InterpolationContinue, 2);\n else\n input.acceptToken(InterpolationEnd);\n }\n});\n\nconst descendant = new ExternalTokenizer(input => {\n if (space.includes(input.peek(-1))) {\n let {next} = input;\n if (isAlpha(next) || next == underscore || next == hash || next == period ||\n next == bracketL || next == colon && isAlpha(input.peek(1)) || next == dash || next == and || next == asterisk)\n input.acceptToken(descendantOp);\n }\n});\n\nconst unitToken = new ExternalTokenizer(input => {\n if (!space.includes(input.peek(-1))) {\n let {next} = input;\n if (next == percent) { input.advance(); input.acceptToken(Unit); }\n if (isAlpha(next)) {\n do { input.advance(); } while (isAlpha(input.next) || isDigit(input.next))\n input.acceptToken(Unit);\n }\n }\n});\n\nfunction IndentLevel(parent, depth) {\n this.parent = parent;\n this.depth = depth;\n this.hash = (parent ? parent.hash + parent.hash << 8 : 0) + depth + (depth << 4);\n}\n\nconst topIndent = new IndentLevel(null, 0);\n\nconst trackIndent = new ContextTracker({\n start: topIndent,\n shift(context, term, stack, input) {\n if (term == indent) return new IndentLevel(context, stack.pos - input.pos)\n if (term == dedent) return context.parent\n return context\n },\n hash(context) { return context.hash }\n});\n\nconst cssHighlighting = styleTags({\n \"AtKeyword import charset namespace keyframes media supports include mixin use forward extend at-root\": tags.definitionKeyword,\n \"Keyword selector\": tags.keyword,\n \"ControlKeyword\": tags.controlKeyword,\n NamespaceName: tags.namespace,\n KeyframeName: tags.labelName,\n KeyframeRangeName: tags.operatorKeyword,\n TagName: tags.tagName,\n \"ClassName Suffix\": tags.className,\n PseudoClassName: tags.constant(tags.className),\n IdName: tags.labelName,\n \"FeatureName PropertyName\": tags.propertyName,\n AttributeName: tags.attributeName,\n NumberLiteral: tags.number,\n KeywordQuery: tags.keyword,\n UnaryQueryOp: tags.operatorKeyword,\n \"CallTag ValueName\": tags.atom,\n VariableName: tags.variableName,\n SassVariableName: tags.special(tags.variableName),\n Callee: tags.operatorKeyword,\n Unit: tags.unit,\n \"UniversalSelector NestingSelector IndentedMixin IndentedInclude\": tags.definitionOperator,\n MatchOp: tags.compareOperator,\n \"ChildOp SiblingOp, LogicOp\": tags.logicOperator,\n BinOp: tags.arithmeticOperator,\n \"Important Global Default\": tags.modifier,\n Comment: tags.blockComment,\n LineComment: tags.lineComment,\n ColorLiteral: tags.color,\n \"ParenthesizedContent StringLiteral\": tags.string,\n \"InterpolationStart InterpolationContinue InterpolationEnd\": tags.meta,\n \": \\\"...\\\"\": tags.punctuation,\n \"PseudoOp #\": tags.derefOperator,\n \"; ,\": tags.separator,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,not:62, using:197, as:207, with:211, without:211, hide:225, show:225, if:263, from:269, to:271, through:273, in:279};\nconst spec_callee = {__proto__:null,url:82, \"url-prefix\":82, domain:82, regexp:82, lang:104, \"nth-child\":104, \"nth-last-child\":104, \"nth-of-type\":104, \"nth-last-of-type\":104, dir:104, \"host-context\":104};\nconst spec_AtKeyword = {__proto__:null,\"@import\":162, \"@include\":194, \"@mixin\":200, \"@function\":200, \"@use\":204, \"@extend\":214, \"@at-root\":218, \"@forward\":222, \"@media\":228, \"@charset\":232, \"@namespace\":236, \"@keyframes\":242, \"@supports\":254, \"@if\":258, \"@else\":260, \"@for\":266, \"@each\":276, \"@while\":282, \"@debug\":286, \"@warn\":286, \"@error\":286, \"@return\":286};\nconst spec_queryIdentifier = {__proto__:null,layer:166, not:184, only:184, selector:190};\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"!$WQ`Q+tOOO#fQ+tOOP#mOpOOOOQ#U'#Ch'#ChO#rQ(pO'#CjOOQ#U'#Ci'#CiO%_Q)QO'#GXO%rQ.jO'#CnO&mQ#dO'#D]O'dQ(pO'#CgO'kQ)OO'#D_O'vQ#dO'#DfO'{Q#dO'#DiO(QQ#dO'#DqOOQ#U'#GX'#GXO(VQ(pO'#GXO(^Q(nO'#DuO%rQ.jO'#D}O%rQ.jO'#E`O%rQ.jO'#EcO%rQ.jO'#EeO(cQ)OO'#EjO)TQ)OO'#ElO%rQ.jO'#EnO)bQ)OO'#EqO%rQ.jO'#EsO)|Q)OO'#EuO*XQ)OO'#ExO*aQ)OO'#FOO*uQ)OO'#FbOOQ&Z'#GW'#GWOOQ&Y'#Fe'#FeO+PQ(nO'#FeQ`Q+tOOO%rQ.jO'#FQO+[Q(nO'#FUO+aQ)OO'#FZO%rQ.jO'#F^O%rQ.jO'#F`OOQ&Z'#Fm'#FmO+iQ+uO'#GaO+vQ(oO'#GaQOQ#SOOP,XO#SO'#GVPOOO)CAz)CAzOOQ#U'#Cm'#CmOOQ#U,59W,59WOOQ#i'#Cp'#CpO%rQ.jO'#CsO,xQ.wO'#CuO/dQ.^O,59YO%rQ.jO'#CzOOQ#S'#DP'#DPO/uQ(nO'#DUO/zQ)OO'#DZOOQ#i'#GZ'#GZO0SQ(nO'#DOOOQ#U'#D^'#D^OOQ#U,59w,59wO&mQ#dO,59wO0XQ)OO,59yO'vQ#dO,5:QO'{Q#dO,5:TO(cQ)OO,5:WO(cQ)OO,5:YO(cQ)OO,5:ZO(cQ)OO'#FlO0dQ(nO,59RO0oQ+tO'#DsO0vQ#TO'#DsOOQ&Z,59R,59ROOQ#U'#Da'#DaOOQ#S'#Dd'#DdOOQ#U,59y,59yO0{Q(nO,59yO1QQ(nO,59yOOQ#U'#Dh'#DhOOQ#U,5:Q,5:QOOQ#S'#Dj'#DjO1VQ9`O,5:TOOQ#U'#Dr'#DrOOQ#U,5:],5:]O2YQ.jO,5:aO2dQ.jO,5:iO3`Q.jO,5:zO3mQ.YO,5:}O4OQ.jO,5;POOQ#U'#Cj'#CjO4wQ(pO,5;UO5UQ(pO,5;WOOQ&Z,5;W,5;WO5]Q)OO,5;WO5bQ.jO,5;YOOQ#S'#ET'#ETO6TQ.jO'#E]O6kQ(nO'#GcO*aQ)OO'#EZO7PQ(nO'#E^OOQ#S'#Gd'#GdO0gQ(nO,5;]O4UQ.YO,5;_OOQ#d'#Ew'#EwO+PQ(nO,5;aO7UQ)OO,5;aOOQ#S'#Ez'#EzO7^Q(nO,5;dO7cQ(nO,5;jO7nQ(nO,5;|OOQ&Z'#Gf'#GfOOQ&Y,5<P,5<POOQ&Y-E9c-E9cO3mQ.YO,5;lO7|Q)OO,5;pO8RQ)OO'#GhO8ZQ)OO,5;uO3mQ.YO,5;xO4UQ.YO,5;zOOQ&Z-E9k-E9kO8`Q(oO,5<{OOQ&Z'#Gb'#GbO8qQ+uO'#FpO8`Q(oO,5<{POO#S'#Fd'#FdP9UO#SO,5<qPOOO,5<q,5<qO9dQ.YO,59_OOQ#i,59a,59aO%rQ.jO,59cO%rQ.jO,59hO%rQ.jO'#FiO9rQ#WO1G.tOOQ#k1G.t1G.tO9zQ.oO,59fO<pQ! lO,59pOOQ#d'#D['#D[OOQ#d'#Fh'#FhO<{Q)OO,59uOOQ#i,59u,59uO={Q.jO'#DQOOQ#i,59j,59jOOQ#U1G/c1G/cOOQ#U1G/e1G/eO0{Q(nO1G/eO1QQ(nO1G/eOOQ#U1G/l1G/lO>VQ9`O1G/oO>pQ(pO1G/rO?dQ(pO1G/tO@WQ(pO1G/uO@zQ(pO,5<WOOQ#S-E9j-E9jOOQ&Z1G.m1G.mOAXQ(nO,5:_OA^Q+uO,5:_OAeQ)OO'#DeOAlQ.jO'#DcOOQ#U1G/o1G/oO%rQ.jO1G/oOBkQ.jO'#DwOBuQ.kO1G/{OOQ#T1G/{1G/{OCrQ)OO'#EQO+PQ(nO1G0TO2pQ)OO1G0TODaQ+uO'#GfOOQ&Z1G0f1G0fO0SQ(nO1G0fOOQ&Z1G0i1G0iOOQ&Z1G0k1G0kO0SQ(nO1G0kOFyQ)OO1G0kOOQ&Z1G0p1G0pOOQ&Z1G0r1G0rOGRQ)OO1G0rOGWQ(nO1G0rOG]Q)OO1G0tOOQ&Z1G0t1G0tOGkQ.jO'#FsOG{Q#dO1G0tOHQQ!N^O'#CuOH]Q!NUO'#ETOHkQ!NUO,5:pOHsQ(nO,5:wOOQ#S'#Ge'#GeOHnQ!NUO,5:sO*aQ)OO,5:rOH{Q)OO'#FrOI`Q(nO,5<}OIqQ(nO,5:uO(cQ)OO,5:xOOQ&Z1G0w1G0wOOQ&Z1G0y1G0yOOQ&Z1G0{1G0{O+PQ(nO1G0{OJYQ)OO'#E{OOQ&Z1G1O1G1OOOQ&Z1G1U1G1UOOQ&Z1G1h1G1hOJeQ+uO1G1WO%rQ.jO1G1[OL}Q)OO'#FxOMYQ)OO,5=SO%rQ.jO1G1aOOQ&Z1G1d1G1dOOQ&Z1G1f1G1fOMbQ(oO1G2gOMsQ+uO,5<[OOQ#T,5<[,5<[OOQ#T-E9n-E9nPOO#S-E9b-E9bPOOO1G2]1G2]OOQ#i1G.y1G.yONWQ.oO1G.}OOQ#i1G/S1G/SO!!|Q.^O,5<TOOQ#W-E9g-E9gOOQ#k7+$`7+$`OOQ#i1G/[1G/[O!#_Q(nO1G/[OOQ#d-E9f-E9fOOQ#i1G/a1G/aO!#dQ.jO'#FfO!$qQ.jO'#G]O!&]Q.jO'#GZO!&dQ(nO,59lOOQ#U7+%P7+%POOQ#U7+%Z7+%ZO%rQ.jO7+%ZOOQ&Z1G/y1G/yO!&iQ#TO1G/yO!&nQ(pO'#G_O!&xQ(nO,5:PO!&}Q.jO'#G^O!'XQ(nO,59}O!'^Q.YO7+%ZO!'lQ.YO'#GZO!'}Q(nO,5:cOOQ#T,5:c,5:cO!(VQ.kO'#FoO%rQ.jO'#FoO!)yQ.kO7+%gOOQ#T7+%g7+%gO!*mQ#dO,5:lOOQ&Z7+%o7+%oO+PQ(nO7+%oO7nQ(nO7+&QO+PQ(nO7+&VOOQ#d'#Eh'#EhO!*rQ)OO7+&VO!+QQ(nO7+&^O*aQ)OO7+&^OOQ#d-E9q-E9qOOQ&Z7+&`7+&`O!+VQ.jO'#GgOOQ#d,5<_,5<_OF|Q(nO7+&`O%rQ.jO1G0[O!+qQ.jO1G0_OOQ#S1G0c1G0cOOQ#S1G0^1G0^O!+xQ(nO,5<^OOQ#S-E9p-E9pO!,^Q(pO1G0dOOQ&Z7+&g7+&gO,gQ(vO'#CuOOQ#S'#E}'#E}O!,eQ(nO'#E|OOQ#S'#E|'#E|O!,sQ(nO'#FuO!-OQ)OO,5;gOOQ&Z,5;g,5;gO!-ZQ+uO7+&rO!/sQ)OO7+&rO!0OQ.jO7+&vOOQ#d,5<d,5<dOOQ#d-E9v-E9vO3mQ.YO7+&{OOQ#T1G1v1G1vOOQ#i7+$v7+$vOOQ#d-E9d-E9dO!0aQ.jO'#FgO!0nQ(nO,5<wO!0nQ(nO,5<wO%rQ.jO,5<wOOQ#i1G/W1G/WO!0vQ.YO<<HuOOQ&Z7+%e7+%eO!1UQ)OO'#FkO!1`Q(nO,5<yOOQ#U1G/k1G/kO!1hQ.jO'#FjO!1rQ(nO,5<xOOQ#U1G/i1G/iOOQ#U<<Hu<<HuO1_Q.jO,5<YO!1zQ(nO'#FnOOQ#S-E9l-E9lOOQ#T1G/}1G/}O!2PQ.kO,5<ZOOQ#e-E9m-E9mOOQ#T<<IR<<IROOQ#S'#ES'#ESO!3sQ(nO1G0WOOQ&Z<<IZ<<IZOOQ&Z<<Il<<IlOOQ&Z<<Iq<<IqO0SQ(nO<<IqO*aQ)OO<<IxO!3{Q(nO<<IxO!4TQ.jO'#FtO!4hQ)OO,5=ROG]Q)OO<<IzO!4yQ.jO7+%vOOQ#S'#EV'#EVO!5QQ!NUO7+%yOOQ#S7+&O7+&OOOQ#S,5;h,5;hOJ]Q)OO'#FvO!,sQ(nO,5<aOOQ#d,5<a,5<aOOQ#d-E9s-E9sOOQ&Z1G1R1G1ROOQ&Z-E9u-E9uO!/sQ)OO<<J^O%rQ.jO,5<cOOQ&Z<<J^<<J^O%rQ.jO<<JbOOQ&Z<<Jg<<JgO!5YQ.jO,5<RO!5gQ.jO,5<ROOQ#S-E9e-E9eO!5nQ(nO1G2cO!5vQ.jO1G2cOOQ#UAN>aAN>aO!6QQ(pO,5<VOOQ#S-E9i-E9iO!6[Q.jO,5<UOOQ#S-E9h-E9hO!6fQ.YO1G1tO!6oQ(nO1G1tO!*mQ#dO'#FqO!6zQ(nO7+%rOOQ#d7+%r7+%rO+PQ(nOAN?]O!7SQ(nOAN?dO0gQ(nOAN?dO!7[Q.jO,5<`OOQ#d-E9r-E9rOG]Q)OOAN?fOOQ&ZAN?fAN?fOOQ#S<<Ib<<IbOOQ#S<<Ie<<IeO!7vQ.jO<<IeOOQ#S,5<b,5<bOOQ#S-E9t-E9tOOQ#d1G1{1G1{P!8_Q)OO'#FwOOQ&ZAN?xAN?xO3mQ.YO1G1}O3mQ.YOAN?|OOQ#S1G1m1G1mO%rQ.jO1G1mO!8dQ(nO7+'}OOQ#S7+'`7+'`OOQ#S,5<],5<]OOQ#S-E9o-E9oOOQ#d<<I^<<I^OOQ&ZG24wG24wO0gQ(nOG25OOOQ&ZG25OG25OOOQ&ZG25QG25QO!8lQ(nOAN?POOQ&Z7+'i7+'iOOQ&ZG25hG25hO!8qQ.jO7+'XOOQ&ZLD*jLD*jOOQ#SG24kG24k\",\n stateData: \"!9R~O$wOSVOSUOS$uQQ~OS`OTVOWcOXbO_UOc`OqWOuYO|[O!SYO!ZZO!rmO!saO#TbO#WcO#YdO#_eO#afO#cgO#fhO#hiO#jjO#mkO#slO#urO#ysO$OtO$RuO$TvO$rSO$|RO%S]O~O$m%TP~P`O$u{O~Oq^Xu^Xu!jXw^X|^X!S^X!Z^X!a^X!d^X!h^X$p^X$t^X~Oq${Xu${Xw${X|${X!S${X!Z${X!a${X!d${X!h${X$p${X$t${X~O$r}O!o${X$v${Xf${Xe${X~P$jOS!XOTVO_!XOc!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O$r!ZO~Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO!h!fO$p!bO$t!gO~Ow!dO~P&rO!U!mO$q!jO$r!iO~O$r!nO~O$r!pO~O$r!rO~Ou!tO~P$jOu!tO~OTVO_UOqWOuYO|[O!SYO!ZZO$r!yO$|RO%S]O~Of!}O!h!fO$t!gO~P(cOTVOc#UOf#QO#O#SO#R#TO$s#PO!h%VP$t%VP~Oj#YOy!VO$r#XO~Oj#[O$r#[O~OTVOc#UOf#QO#O#SO#R#TO$s#PO~O!o%VP$v%VP~P)bO!o#`O$t#`O$v#`O~Oc#dO~Oc#eO$P%[P~O$m%TX!p%TX$o%TX~P`O!o#kO$t#kO$m%TX!p%TX$o%TX~OU#nOV#nO$t#pO$w#nO~OR#rO$tiX!hiXeiXwiX~OPiXQiXliXmiXqiXTiXciXfiX!oiX!uiX#OiX#RiX$siX$viX#UiX#ZiX#]iX#diXSiX_iXhiXjiXoiXyiX|iX!liX!miX!niX$qiX$riX%OiX$miXviX{iX#{iX#|iX!piX$oiX~P,gOP#wOQ#uOl#sOm#sOq#tO~Of#yO~O{#}O$r#zO~Of$OO~O!U$TO$q!jO$r!iO~Ow!dO!h!fO$t!gO~O!p%TP~P`O$n$_O~Of$`O~Of$aO~O{$bO!_$cO~OS!XOTVO_!XOc!XOf$dOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~O!h!fO$t!gO~P1_Ol#sOm#sOq#tO!u$gO!o%VP$t%VP$v%VP~P*aOl#sOm#sOq#tO!o#`O$v#`O~O!h!fO#U$lO$t$jO~P2}Ol#sOm#sOq#tO!h!fO$t!gO~O#Z$pO#]$oO$t#`O~P2}Oq!]Ou!^O|!`O!S!^O!Z!_O!a!aO!d!cO$p!bO~O!o#`O$t#`O$v#`O~P4]Of$sO~P&rO#]$tO~O#Z$xO#d$wO$t#`O~P2}OS$}Oh$}Oj$}Oy!VO$q!UO%O$yO~OTVOc#UOf#QO#O#SO#R#TO$s$zO~P5oOm%POw%QO!h%VX$t%VX!o%VX$v%VX~Of%TO~Oj%XOy!VO~O!h%YO~Om%PO!h!fO$t!gO~O!h!fO!o#`O$t$jO$v#`O~O#z%_O~Ow%`O$P%[X~O$P%bO~O!o#kO$t#kO$m%Ta!p%Ta$o%Ta~O!o$dX$m$dX$t$dX!p$dX$o$dX~P`OU#nOV#nO$t%jO$w#nO~Oe%kOl#sOm#sOq#tO~OP%pOQ#uO~Ol#sOm#sOq#tOPnaQnaTnacnafna!ona!una#Ona#Rna$sna$tna$vna!hna#Una#Zna#]na#dnaenaSna_nahnajnaonawnayna|na!lna!mna!nna$qna$rna%Ona$mnavna{na#{na#|na!pna$ona~Oe%qOj%rOz%rO~O{%tO$r#zO~OS!XOTVO_!XOf!QOh!XOj!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oc%wOe%PP~P=TO{%zO!_%{O~Oq!]Ou!^O|!`O!S!^O!Z!_O~Ow!`i!a!`i!d!`i!h!`i$p!`i$t!`i!o!`i$v!`if!`ie!`i~P>_Ow!bi!a!bi!d!bi!h!bi$p!bi$t!bi!o!bi$v!bif!bie!bi~P>_Ow!ci!a!ci!d!ci!h!ci$p!ci$t!ci!o!ci$v!cif!cie!ci~P>_Ow$`a!h$`a$t$`a~P4]O!p%|O~O$o%TP~P`Oe%RP~P(cOe%QP~P%rOS!XOTVO_!XOc!XOf!QOh!XOo!TOy!VO|!WO$q!UO$r!PO%O!RO~Oe&VOj&TO~PAsOl#sOm#sOq#tOw&XO!l&ZO!m&ZO!n&ZO!o!ii$t!ii$v!ii$m!ii!p!ii$o!ii~P%rOf&[OT!tXc!tX!o!tX#O!tX#R!tX$s!tX$t!tX$v!tX~O$n$_OS%YXT%YXW%YXX%YX_%YXc%YXq%YXu%YX|%YX!S%YX!Z%YX!r%YX!s%YX#T%YX#W%YX#Y%YX#_%YX#a%YX#c%YX#f%YX#h%YX#j%YX#m%YX#s%YX#u%YX#y%YX$O%YX$R%YX$T%YX$m%YX$r%YX$|%YX%S%YX!p%YX!o%YX$t%YX$o%YX~O$r!PO$|&aO~O#]&cO~Ou&dO~O!o#`O#d$wO$t#`O$v#`O~O!o%ZP#d%ZP$t%ZP$v%ZP~P%rO$r!PO~OR#rO!|iXeiX~Oe!wXm!wXu!yX!|!yX~Ou&jO!|&kO~Oe&lOm%PO~Ow$fX!h$fX$t$fX!o$fX$v$fX~P*aOw%QO!h%Va$t%Va!o%Va$v%Va~Om%POw!}a!h!}a$t!}a!o!}a$v!}ae!}a~O!p&xO$r&sO%O&rO~O#v&zOS#tiT#tiW#tiX#ti_#tic#tiq#tiu#ti|#ti!S#ti!Z#ti!r#ti!s#ti#T#ti#W#ti#Y#ti#_#ti#a#ti#c#ti#f#ti#h#ti#j#ti#m#ti#s#ti#u#ti#y#ti$O#ti$R#ti$T#ti$m#ti$r#ti$|#ti%S#ti!p#ti!o#ti$t#ti$o#ti~Oc&|Ow$lX$P$lX~Ow%`O$P%[a~O!o#kO$t#kO$m%Ti!p%Ti$o%Ti~O!o$da$m$da$t$da!p$da$o$da~P`Oq#tOPkiQkilkimkiTkickifki!oki!uki#Oki#Rki$ski$tki$vki!hki#Uki#Zki#]ki#dkiekiSki_kihkijkiokiwkiyki|ki!lki!mki!nki$qki$rki%Oki$mkivki{ki#{ki#|ki!pki$oki~Ol#sOm#sOq#tOP$]aQ$]a~Oe'QO~Ol#sOm#sOq#tOS$YXT$YX_$YXc$YXe$YXf$YXh$YXj$YXo$YXv$YXw$YXy$YX|$YX$q$YX$r$YX%O$YX~Ov'UOw'SOe%PX~P%rOS$}XT$}X_$}Xc$}Xe$}Xf$}Xh$}Xj$}Xl$}Xm$}Xo$}Xq$}Xv$}Xw$}Xy$}X|$}X$q$}X$r$}X%O$}X~Ou'VO~P!%OOe'WO~O$o'YO~Ow'ZOe%RX~P4]Oe']O~Ow'^Oe%QX~P%rOe'`O~Ol#sOm#sOq#tO{'aO~Ou'bOe$}Xl$}Xm$}Xq$}X~Oe'eOj'cO~Ol#sOm#sOq#tOS$cXT$cX_$cXc$cXf$cXh$cXj$cXo$cXw$cXy$cX|$cX!l$cX!m$cX!n$cX!o$cX$q$cX$r$cX$t$cX$v$cX%O$cX$m$cX!p$cX$o$cX~Ow&XO!l'hO!m'hO!n'hO!o!iq$t!iq$v!iq$m!iq!p!iq$o!iq~P%rO$r'iO~O!o#`O#]'nO$t#`O$v#`O~Ou'oO~Ol#sOm#sOq#tOw'qO!o%ZX#d%ZX$t%ZX$v%ZX~O$s'uO~P5oOm%POw$fa!h$fa$t$fa!o$fa$v$fa~Oe'wO~P4]O%O&rOw#pX!h#pX$t#pX~Ow'yO!h!fO$t!gO~O!p'}O$r&sO%O&rO~O#v(POS#tqT#tqW#tqX#tq_#tqc#tqq#tqu#tq|#tq!S#tq!Z#tq!r#tq!s#tq#T#tq#W#tq#Y#tq#_#tq#a#tq#c#tq#f#tq#h#tq#j#tq#m#tq#s#tq#u#tq#y#tq$O#tq$R#tq$T#tq$m#tq$r#tq$|#tq%S#tq!p#tq!o#tq$t#tq$o#tq~O!h!fO#w(QO$t!gO~Ol#sOm#sOq#tO#{(SO#|(SO~Oc(VOe$ZXw$ZX~P=TOw'SOe%Pa~Ol#sOm#sOq#tO{(ZO~Oe$_Xw$_X~P(cOw'ZOe%Ra~Oe$^Xw$^X~P%rOw'^Oe%Qa~Ou'bO~Ol#sOm#sOq#tOS$caT$ca_$cac$caf$cah$caj$cao$caw$cay$ca|$ca!l$ca!m$ca!n$ca!o$ca$q$ca$r$ca$t$ca$v$ca%O$ca$m$ca!p$ca$o$ca~Oe(dOq(bO~Oe(gOm%PO~Ow$hX!o$hX#d$hX$t$hX$v$hX~P%rOw'qO!o%Za#d%Za$t%Za$v%Za~Oe(lO~P%rOe(mO!|(nO~Ov(vOe$Zaw$Za~P%rOu(wO~P!%OOw'SOe%Pi~Ow'SOe%Pi~P%rOe$_aw$_a~P4]Oe$^aw$^a~P%rOl#sOm#sOq#tOw(yOe$bij$bi~Oe(|Oq(bO~Oe)OOm%PO~Ol#sOm#sOq#tOw$ha!o$ha#d$ha$t$ha$v$ha~OS$}Oh$}Oj$}Oy!VO$q!UO$s'uO%O&rO~O#w(QO~Ow'SOe%Pq~Oe)WO~Oe$Zqw$Zq~P%rO%Oql!dl~\",\n goto: \"=Y%]PPPPPPPPPPP%^%h%h%{P%h&`&cP(UPP)ZP*YP)ZPP)ZP)ZP+f,j-lPPP-xPPPP)Z/S%h/W%hP/^P/d/j/p%hP/v%h/|P%hP%h%hP%h0S0VP1k1}2XPPPPP%^PP2_P2b'w'w2h'w'wP'wP'w'wP%^PP%^P%^PP2qP%^P%^P%^PP%^P%^P%^P2w%^P2z2}3Q3X%^P%^PPP%^PPPP%^PP%^P%^P%^P3^3d3j4Y4h4n4t4z5Q5W5d5j5p5z6Q6W6b6h6n6t6zPPPPPPPPPPPP7Q7T7aP8WP:_:b:eP:h:q:w;T;p;y=S=VanOPqx!f#l$_%fs^OPefqx!a!b!c!d!f#l$_$`%T%f'ZsTOPefqx!a!b!c!d!f#l$_$`%T%f'ZR!OUb^ef!a!b!c!d$`%T'Z`_OPqx!f#l$_%f!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)Ug#Uhlm!u#Q#S$i%P%Q&d'o!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ&b$pR&i$x!y!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)U!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UU$}#Q&k(nU&u%Y&w'yR'x&t!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UV$}#Q&k(n#P!YVabcdgiruv!Q!T!t#Q#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j&k'S'V'^'b'q't(Q(S(U(Y(^(n(w)UQ$P!YQ&_$lQ&`$oR(e'n!x!XVabcdgiruv!Q!T!t#s#t#u$O$a$c$d$e$w%_%b%v%{&Q&X&Y&j'S'V'^'b'q't(Q(S(U(Y(^(w)UQ#YjU$}#Q&k(nR%X#ZT#{!W#|Q![WR$Q!]Q!kYR$R!^Q$R!mR%y$TQ!lYR$S!^Q$R!lR%y$SQ!oZR$U!_Q!q[R$V!`R!s]Q!hXQ!|fQ$]!eQ$f!tQ$k!vQ$m!wQ$r!{Q%U#VQ%[#^Q%]#_Q%^#cQ%c#gQ'l&_Q'{&vQ(R&zQ(T'OQ(q'zQ(s(PQ)P(gQ)S(tQ)T(uR)V)OSpOqUyP!f$_Q#jxQ%g#lR'P%fa`OPqx!f#l$_%fQ$f!tR(a'bR$i!uQ'j&[R(z(bQ${#QQ'v&kR)R(nQ&b$pR's&iR#ZjR#]kR%Z#]S&v%Y&wR(o'yV&t%Y&w'yQ#o{R%i#oQqOR#bqQ%v$OQ&Q$a^'R%v&Q't(U(Y(^)UQ't&jQ(U'SQ(Y'VQ(^'^R)U(wQ'T%vU(W'T(X(xQ(X'UR(x(YQ#|!WR%s#|Q#v!SR%o#vQ'_&QR(_'_Q'[&OR(]'[Q!eXR$[!eUxP!f$_S#ix%fR%f#lQ&U$dR'd&UQ&Y$eR'g&YQ#myQ%e#jT%h#m%eQ(c'jR({(cQ%R#RR&o%RQ$u#OS&e$u(jR(j'sQ'r&gR(i'rQ&w%YR'|&wQ'z&vR(p'zQ&y%^R(O&yQ%a#eR&}%aR|QSoOq]wPx!f#l$_%f`XOPqx!f#l$_%fQ!zeQ!{fQ$W!aQ$X!bQ$Y!cQ$Z!dQ&O$`Q&p%TR(['ZQ!SVQ!uaQ!vbQ!wcQ!xdQ#OgQ#WiQ#crQ#guQ#hvS#q!Q$dQ#x!TQ$e!tQ%l#sQ%m#tQ%n#ul%u$O$a%v&Q&j'S'V'^'t(U(Y(^(w)UQ&S$cS&W$e&YQ&g$wQ&{%_Q'O%bQ'X%{Q'f&XQ(`'bQ(h'qQ(t(QR(u(SR%x$OR&R$aR&P$`QzPQ$^!fR%}$_X#ly#j#m%eQ#VhQ#_mQ$h!uR&^$iW#Rhm!u$iQ#^lQ$|#QQ%S#SQ&m%PQ&n%QQ'p&dR(f'oQ%O#QQ'v&kR)R(nQ#apQ$k!vQ$n!xQ$q!zQ$v#OQ%V#WQ%W#YQ%]#_Q%d#hQ&]$hQ&f$uQ&q%XQ'k&^Q'l&_S'm&`&bQ(k'sQ(}(eR)Q(jR&h$wR#ft\",\n nodeNames: \"⚠ InterpolationEnd InterpolationContinue Unit VariableName InterpolationStart LineComment Comment IndentedMixin IndentedInclude StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector SuffixedSelector Suffix Interpolation SassVariableName ValueName ) ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp LogicOp UnaryExpression LogicOp NamespacedValue . CallExpression Callee ArgList : ... , CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName ClassSelector ClassName PseudoClassSelector :: PseudoClassName PseudoClassName ArgList PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp PlaceholderSelector ClassName Block { Declaration PropertyName Map Important Global Default ; } ImportStatement AtKeyword import Layer layer LayerName KeywordQuery FeatureQuery FeatureName BinaryQuery ComparisonQuery CompareOp UnaryQuery LogicOp ParenthesizedQuery SelectorQuery selector IncludeStatement include Keyword MixinStatement mixin UseStatement use Keyword Star Keyword ExtendStatement extend RootStatement at-root ForwardStatement forward Keyword MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports IfStatement ControlKeyword ControlKeyword Keyword ForStatement ControlKeyword Keyword Keyword Keyword EachStatement ControlKeyword Keyword WhileStatement ControlKeyword OutputStatement ControlKeyword AtRule Styles\",\n maxTerm: 196,\n context: trackIndent,\n nodeProps: [\n [\"openedBy\", 1,\"InterpolationStart\",5,\"InterpolationEnd\",21,\"(\",43,\"[\",78,\"{\"],\n [\"isolate\", -3,6,7,26,\"\"],\n [\"closedBy\", 22,\")\",44,\"]\",70,\"}\"]\n ],\n propSources: [cssHighlighting],\n skippedNodes: [0,6,7,146],\n repeatNodeCount: 21,\n tokenData: \"!$Q~RyOq#rqr$jrs0jst2^tu8{uv;hvw;{wx<^xy={yz>^z{>c{|>||}Co}!ODQ!O!PDo!P!QFY!Q![Fk![!]Gf!]!^Hb!^!_Hs!_!`Is!`!aJ^!a!b#r!b!cKa!c!}#r!}#OMn#O#P#r#P#QNP#Q#RNb#R#T#r#T#UNw#U#c#r#c#d!!Y#d#o#r#o#p!!o#p#qNb#q#r!#Q#r#s!#c#s;'S#r;'S;=`!#z<%lO#rW#uSOy$Rz;'S$R;'S;=`$d<%lO$RW$WSzWOy$Rz;'S$R;'S;=`$d<%lO$RW$gP;=`<%l$RY$m[Oy$Rz!_$R!_!`%c!`#W$R#W#X%v#X#Z$R#Z#[)Z#[#]$R#]#^,V#^;'S$R;'S;=`$d<%lO$RY%jSzWlQOy$Rz;'S$R;'S;=`$d<%lO$RY%{UzWOy$Rz#X$R#X#Y&_#Y;'S$R;'S;=`$d<%lO$RY&dUzWOy$Rz#Y$R#Y#Z&v#Z;'S$R;'S;=`$d<%lO$RY&{UzWOy$Rz#T$R#T#U'_#U;'S$R;'S;=`$d<%lO$RY'dUzWOy$Rz#i$R#i#j'v#j;'S$R;'S;=`$d<%lO$RY'{UzWOy$Rz#`$R#`#a(_#a;'S$R;'S;=`$d<%lO$RY(dUzWOy$Rz#h$R#h#i(v#i;'S$R;'S;=`$d<%lO$RY(}S!nQzWOy$Rz;'S$R;'S;=`$d<%lO$RY)`UzWOy$Rz#`$R#`#a)r#a;'S$R;'S;=`$d<%lO$RY)wUzWOy$Rz#c$R#c#d*Z#d;'S$R;'S;=`$d<%lO$RY*`UzWOy$Rz#U$R#U#V*r#V;'S$R;'S;=`$d<%lO$RY*wUzWOy$Rz#T$R#T#U+Z#U;'S$R;'S;=`$d<%lO$RY+`UzWOy$Rz#`$R#`#a+r#a;'S$R;'S;=`$d<%lO$RY+yS!mQzWOy$Rz;'S$R;'S;=`$d<%lO$RY,[UzWOy$Rz#a$R#a#b,n#b;'S$R;'S;=`$d<%lO$RY,sUzWOy$Rz#d$R#d#e-V#e;'S$R;'S;=`$d<%lO$RY-[UzWOy$Rz#c$R#c#d-n#d;'S$R;'S;=`$d<%lO$RY-sUzWOy$Rz#f$R#f#g.V#g;'S$R;'S;=`$d<%lO$RY.[UzWOy$Rz#h$R#h#i.n#i;'S$R;'S;=`$d<%lO$RY.sUzWOy$Rz#T$R#T#U/V#U;'S$R;'S;=`$d<%lO$RY/[UzWOy$Rz#b$R#b#c/n#c;'S$R;'S;=`$d<%lO$RY/sUzWOy$Rz#h$R#h#i0V#i;'S$R;'S;=`$d<%lO$RY0^S!lQzWOy$Rz;'S$R;'S;=`$d<%lO$R~0mWOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W<%lO0j~1[Oj~~1_RO;'S0j;'S;=`1h;=`O0j~1kXOY0jZr0jrs1Vs#O0j#O#P1[#P;'S0j;'S;=`2W;=`<%l0j<%lO0j~2ZP;=`<%l0jZ2cY!ZPOy$Rz!Q$R!Q![3R![!c$R!c!i3R!i#T$R#T#Z3R#Z;'S$R;'S;=`$d<%lO$RY3WYzWOy$Rz!Q$R!Q![3v![!c$R!c!i3v!i#T$R#T#Z3v#Z;'S$R;'S;=`$d<%lO$RY3{YzWOy$Rz!Q$R!Q![4k![!c$R!c!i4k!i#T$R#T#Z4k#Z;'S$R;'S;=`$d<%lO$RY4rYhQzWOy$Rz!Q$R!Q![5b![!c$R!c!i5b!i#T$R#T#Z5b#Z;'S$R;'S;=`$d<%lO$RY5iYhQzWOy$Rz!Q$R!Q![6X![!c$R!c!i6X!i#T$R#T#Z6X#Z;'S$R;'S;=`$d<%lO$RY6^YzWOy$Rz!Q$R!Q![6|![!c$R!c!i6|!i#T$R#T#Z6|#Z;'S$R;'S;=`$d<%lO$RY7TYhQzWOy$Rz!Q$R!Q![7s![!c$R!c!i7s!i#T$R#T#Z7s#Z;'S$R;'S;=`$d<%lO$RY7xYzWOy$Rz!Q$R!Q![8h![!c$R!c!i8h!i#T$R#T#Z8h#Z;'S$R;'S;=`$d<%lO$RY8oShQzWOy$Rz;'S$R;'S;=`$d<%lO$R_9O`Oy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!_$R!_!`;T!`!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$RZ:X^zWcROy$Rz}$R}!O:Q!O!Q$R!Q![:Q![!c$R!c!}:Q!}#R$R#R#S:Q#S#T$R#T#o:Q#o;'S$R;'S;=`$d<%lO$R[;[S!_SzWOy$Rz;'S$R;'S;=`$d<%lO$RZ;oS%SPlQOy$Rz;'S$R;'S;=`$d<%lO$RZ<QS_ROy$Rz;'S$R;'S;=`$d<%lO$R~<aWOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u<%lO<^~<|RO;'S<^;'S;=`=V;=`O<^~=YXOY<^Zw<^wx1Vx#O<^#O#P<y#P;'S<^;'S;=`=u;=`<%l<^<%lO<^~=xP;=`<%l<^Z>QSfROy$Rz;'S$R;'S;=`$d<%lO$R~>cOe~_>jU$|PlQOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RZ?TWlQ!dPOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZ?rUzWOy$Rz!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RZ@]YzW%OROy$Rz!Q$R!Q![@U![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZAQYzWOy$Rz{$R{|Ap|}$R}!OAp!O!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZAuUzWOy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZB`UzW%OROy$Rz!Q$R!Q![BX![;'S$R;'S;=`$d<%lO$RZBy[zW%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RZCtSwROy$Rz;'S$R;'S;=`$d<%lO$RZDVWlQOy$Rz!O$R!O!P?m!P!Q$R!Q![Br![;'S$R;'S;=`$d<%lO$RZDtWqROy$Rz!O$R!O!PE^!P!Q$R!Q![@U![;'S$R;'S;=`$d<%lO$RYEcUzWOy$Rz!O$R!O!PEu!P;'S$R;'S;=`$d<%lO$RYE|SvQzWOy$Rz;'S$R;'S;=`$d<%lO$RYF_SlQOy$Rz;'S$R;'S;=`$d<%lO$RZFp[%OROy$Rz!O$R!O!P@U!P!Q$R!Q![Br![!g$R!g!h@{!h#X$R#X#Y@{#Y;'S$R;'S;=`$d<%lO$RkGkUucOy$Rz![$R![!]G}!];'S$R;'S;=`$d<%lO$RXHUS!SPzWOy$Rz;'S$R;'S;=`$d<%lO$RZHgS!oROy$Rz;'S$R;'S;=`$d<%lO$RjHzU!|`lQOy$Rz!_$R!_!`I^!`;'S$R;'S;=`$d<%lO$RjIgS!|`zWlQOy$Rz;'S$R;'S;=`$d<%lO$RnIzU!|`!_SOy$Rz!_$R!_!`%c!`;'S$R;'S;=`$d<%lO$RkJgV!aP!|`lQOy$Rz!_$R!_!`I^!`!aJ|!a;'S$R;'S;=`$d<%lO$RXKTS!aPzWOy$Rz;'S$R;'S;=`$d<%lO$RXKdYOy$Rz}$R}!OLS!O!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLXWzWOy$Rz!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RXLx[!rPzWOy$Rz}$R}!OLq!O!Q$R!Q![Lq![!c$R!c!}Lq!}#T$R#T#oLq#o;'S$R;'S;=`$d<%lO$RZMsS|ROy$Rz;'S$R;'S;=`$d<%lO$R_NUS{VOy$Rz;'S$R;'S;=`$d<%lO$R[NeUOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RkNzUOy$Rz#b$R#b#c! ^#c;'S$R;'S;=`$d<%lO$Rk! cUzWOy$Rz#W$R#W#X! u#X;'S$R;'S;=`$d<%lO$Rk! |SmczWOy$Rz;'S$R;'S;=`$d<%lO$Rk!!]UOy$Rz#f$R#f#g! u#g;'S$R;'S;=`$d<%lO$RZ!!tS!hROy$Rz;'S$R;'S;=`$d<%lO$RZ!#VS!pROy$Rz;'S$R;'S;=`$d<%lO$R]!#hU!dPOy$Rz!_$R!_!`;T!`;'S$R;'S;=`$d<%lO$RW!#}P;=`<%l#r\",\n tokenizers: [indentation, descendant, interpolationEnd, unitToken, identifiers, spaces, comments, indentedMixins, 0, 1, 2, 3, 4],\n topRules: {\"StyleSheet\":[0,10],\"Styles\":[1,145]},\n dialects: {indented: 0},\n specialized: [{term: 172, get: (value) => spec_identifier[value] || -1},{term: 171, get: (value) => spec_callee[value] || -1},{term: 80, get: (value) => spec_AtKeyword[value] || -1},{term: 173, get: (value) => spec_queryIdentifier[value] || -1}],\n tokenPrec: 3217\n});\n\nexport { parser };\n","import { parser } from '@lezer/sass';\nimport { LRLanguage, foldNodeProp, foldInside, indentNodeProp, continuedIndent, LanguageSupport } from '@codemirror/language';\nimport { defineCSSCompletionSource } from '@codemirror/lang-css';\n\n/**\nA language provider based on the [Lezer Sass\nparser](https://github.com/lezer-parser/sass), extended with\nhighlighting and indentation information.\n*/\nconst sassLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"sass\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/foldNodeProp.add({\n Block: foldInside,\n Comment(node, state) {\n return { from: node.from + 2, to: state.sliceDoc(node.to - 2, node.to) == \"*/\" ? node.to - 2 : node.to };\n }\n }),\n /*@__PURE__*/indentNodeProp.add({\n Declaration: /*@__PURE__*/continuedIndent()\n })\n ]\n }),\n languageData: {\n commentTokens: { block: { open: \"/*\", close: \"*/\" }, line: \"//\" },\n indentOnInput: /^\\s*\\}$/,\n wordChars: \"$-\"\n }\n});\nconst indentedSassLanguage = /*@__PURE__*/sassLanguage.configure({\n dialect: \"indented\",\n props: [\n /*@__PURE__*/indentNodeProp.add({\n \"Block RuleSet\": cx => cx.baseIndent + cx.unit\n }),\n /*@__PURE__*/foldNodeProp.add({\n Block: node => ({ from: node.from, to: node.to })\n })\n ]\n});\n/**\nProperty, variable, $-variable, and value keyword completion\nsource.\n*/\nconst sassCompletionSource = /*@__PURE__*/defineCSSCompletionSource(node => node.name == \"VariableName\" || node.name == \"SassVariableName\");\n/**\nLanguage support for CSS.\n*/\nfunction sass(config) {\n return new LanguageSupport((config === null || config === void 0 ? void 0 : config.indented) ? indentedSassLanguage : sassLanguage, sassLanguage.data.of({ autocomplete: sassCompletionSource }));\n}\n\nexport { sass, sassCompletionSource, sassLanguage };\n"],"names":["space","newlineChar","isAlpha","ch","isDigit","startOfComment","input","next","peek","spaces","ExternalTokenizer","stack","dialectEnabled","prev","canShift","acceptToken","includes","advance","length","contextual","comments","indentedComment","off","block","end","indented","indentedMixins","indentation","cDepth","context","depth","identifiers","inside","dashes","i","interpolationEnd","descendant","unitToken","IndentLevel","parent","this","hash","topIndent","trackIndent","ContextTracker","start","shift","term","pos","cssHighlighting","styleTags","tags","definitionKeyword","keyword","ControlKeyword","controlKeyword","NamespaceName","namespace","KeyframeName","labelName","KeyframeRangeName","operatorKeyword","TagName","tagName","className","PseudoClassName","constant","IdName","propertyName","AttributeName","attributeName","NumberLiteral","number","KeywordQuery","UnaryQueryOp","atom","VariableName","variableName","SassVariableName","special","Callee","Unit","unit","definitionOperator","MatchOp","compareOperator","logicOperator","BinOp","arithmeticOperator","modifier","Comment","blockComment","LineComment","lineComment","ColorLiteral","color","string","meta","punctuation","derefOperator","separator","paren","squareBracket","brace","spec_identifier","__proto__","not","using","as","with","without","hide","show","if","from","to","through","in","spec_callee","url","domain","regexp","lang","dir","spec_AtKeyword","spec_queryIdentifier","layer","only","selector","parser","LRParser","deserialize","version","states","stateData","goto","nodeNames","maxTerm","nodeProps","propSources","skippedNodes","repeatNodeCount","tokenData","tokenizers","topRules","StyleSheet","Styles","dialects","specialized","get","value","tokenPrec","sassLanguage","LRLanguage","define","name","configure","props","foldNodeProp","add","Block","foldInside","node","state","sliceDoc","indentNodeProp","Declaration","continuedIndent","languageData","commentTokens","open","close","line","indentOnInput","wordChars","indentedSassLanguage","dialect","cx","baseIndent","sassCompletionSource","defineCSSCompletionSource","config","LanguageSupport","data","of","autocomplete"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ import{P as t,o as e,m as s,H as i,n as r,q as h,I as n}from"./index-D7bPdN0E.js";class o{constructor(t,e,s,i,r,h,n,o,a,l=0,c){this.p=t,this.stack=e,this.state=s,this.reducePos=i,this.pos=r,this.score=h,this.buffer=n,this.bufferBase=o,this.curContext=a,this.lookAhead=l,this.parent=c}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,s=0){let i=t.parser.context;return new o(t,[],e,s,s,0,[],0,i?new a(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let s=t>>19,i=65535&t,{parser:r}=this.p,h=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),n=r.dynamicPrecedence(i);if(n&&(this.score+=n),0==s)return this.pushState(r.getGoto(this.state,i,!0),this.reducePos),i<r.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,h?8:4,!0),void this.reduceContext(i,this.reducePos);let o=this.stack.length-3*(s-1)-(262144&t?6:0),a=o?this.stack[o-2]:this.p.ranges[0].from,l=this.reducePos-a;l>=2e3&&!(null===(e=this.p.parser.nodeSet.types[i])||void 0===e?void 0:e.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=l));let c=o?this.stack[o-1]:0,u=this.bufferBase+this.buffer.length-c;if(i<r.minRepeatTerm||131072&t){let t=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,a,t,u+4,!0)}if(262144&t)this.state=this.stack[o];else{let t=this.stack[o-3];this.state=r.getGoto(t,i,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(i,a)}storeNode(t,e,s,i=4,r=!1){if(0==t&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let t=this,i=this.buffer.length;if(0==i&&t.parent&&(i=t.bufferBase-t.parent.bufferBase,t=t.parent),i>0&&0==t.buffer[i-4]&&t.buffer[i-1]>-1){if(e==s)return;if(t.buffer[i-2]>=e)return void(t.buffer[i-2]=s)}}if(r&&this.pos!=s){let r=this.buffer.length;if(r>0&&(0!=this.buffer[r-4]||this.buffer[r-1]<0)){let t=!1;for(let e=r;e>0&&this.buffer[e-2]>s;e-=4)if(this.buffer[e-1]>=0){t=!0;break}if(t)for(;r>0&&this.buffer[r-2]>s;)this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4&&(i-=4)}this.buffer[r]=t,this.buffer[r+1]=e,this.buffer[r+2]=s,this.buffer[r+3]=i}else this.buffer.push(t,e,s,i)}shift(t,e,s,i){if(131072&t)this.pushState(65535&t,this.pos);else if(262144&t)this.pos=i,this.shiftContext(e,s),e<=this.p.parser.maxNode&&this.buffer.push(e,s,i,4);else{let r=t,{parser:h}=this.p;(i>this.pos||e<=h.maxNode)&&(this.pos=i,h.stateFlag(r,1)||(this.reducePos=i)),this.pushState(r,s),this.shiftContext(e,s),e<=h.maxNode&&this.buffer.push(e,s,i,4)}}apply(t,e,s,i){65536&t?this.reduce(t):this.shift(t,e,s,i)}useNode(t,e){let s=this.p.reused.length-1;(s<0||this.p.reused[s]!=t)&&(this.p.reused.push(t),s++);let i=this.pos;this.reducePos=this.pos=i+t.length,this.pushState(e,i),this.buffer.push(s,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let s=t.buffer.slice(e),i=t.bufferBase+e;for(;t&&i==t.bufferBase;)t=t.parent;return new o(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,s,i,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let s=t<=this.p.parser.maxNode;s&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,s?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new l(this);;){let s=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(0==s)return!1;if(!(65536&s))return!0;e.reduce(s)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let s=[];for(let i,r=0;r<e.length;r+=2)(i=e[r+1])!=this.state&&this.p.parser.hasAction(i,t)&&s.push(e[r],i);if(this.stack.length<120)for(let t=0;s.length<8&&t<e.length;t+=2){let i=e[t+1];s.some((t,e)=>1&e&&t==i)||s.push(e[t],i)}e=s}let s=[];for(let t=0;t<e.length&&s.length<4;t+=2){let i=e[t+1];if(i==this.state)continue;let r=this.split();r.pushState(i,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(e[t],this.pos),r.reducePos=this.pos,r.score-=200,s.push(r)}return s}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if(!(65536&e))return!1;if(!t.validAction(this.state,e)){let s=e>>19,i=65535&e,r=this.stack.length-3*s;if(r<0||t.getGoto(this.stack[r],i,!1)<0){let t=this.findForcedReduction();if(null==t)return!1;e=t}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],s=(i,r)=>{if(!e.includes(i))return e.push(i),t.allActions(i,e=>{if(393216&e);else if(65536&e){let s=(e>>19)-r;if(s>1){let i=65535&e,r=this.stack.length-3*s;if(r>=0&&t.getGoto(this.stack[r],i,!1)>=0)return s<<19|65536|i}}else{let t=s(e,r+1);if(null!=t)return t}})};return s(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:t}=this.p;return 65535==t.data[t.stateSlot(this.state,1)]&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||-3!=this.buffer[t])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||-4!=this.buffer[t])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new a(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(t){return!(t<=this.lookAhead)&&(this.emitLookAhead(),this.lookAhead=t,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class a{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}}class l{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=65535&t,s=t>>19;0==s?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(s-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=i}}class c{constructor(t,e,s){this.stack=t,this.pos=e,this.index=s,this.buffer=t.buffer,0==this.index&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new c(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;null!=t&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new c(this.stack,this.pos,this.index)}}function u(t,e=Uint16Array){if("string"!=typeof t)return t;let s=null;for(let i=0,r=0;i<t.length;){let h=0;for(;;){let e=t.charCodeAt(i++),s=!1;if(126==e){h=65535;break}e>=92&&e--,e>=34&&e--;let r=e-32;if(r>=46&&(r-=46,s=!0),h+=r,s)break;h*=46}s?s[r++]=h:s=new e(h)}return s}class f{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const p=new f;class d{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=p,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let s=this.range,i=this.rangeIndex,r=this.pos+t;for(;r<s.from;){if(!i)return null;let t=this.ranges[--i];r-=s.from-t.to,s=t}for(;e<0?r>s.to:r>=s.to;){if(i==this.ranges.length-1)return null;let t=this.ranges[++i];r+=t.from-s.to,s=t}return r}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e,s,i=this.chunkOff+t;if(i>=0&&i<this.chunk.length)e=this.pos+t,s=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(t,1);if(null==i)return-1;if(e=i,e>=this.chunk2Pos&&e<this.chunk2Pos+this.chunk2.length)s=this.chunk2.charCodeAt(e-this.chunk2Pos);else{let t=this.rangeIndex,i=this.range;for(;i.to<=e;)i=this.ranges[++t];this.chunk2=this.input.chunk(this.chunk2Pos=e),e+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-e)),s=this.chunk2.charCodeAt(0)}}return e>=this.token.lookAhead&&(this.token.lookAhead=e+1),s}acceptToken(t,e=0){let s=e?this.resolveOffset(e,-1):this.pos;if(null==s||s<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=s}acceptTokenTo(t,e){this.token.value=t,this.token.end=e}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=p,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let s="";for(let i of this.ranges){if(i.from>=e)break;i.to>t&&(s+=this.input.read(Math.max(i.from,t),Math.min(i.to,e)))}return s}}class k{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:s}=e.p;x(this.data,t,e,this.id,s.data,s.tokenPrecTable)}}k.prototype.contextual=k.prototype.fallback=k.prototype.extend=!1;class g{constructor(t,e,s){this.precTable=e,this.elseToken=s,this.data="string"==typeof t?u(t):t}token(t,e){let s=t.pos,i=0;for(;;){let s=t.next<0,r=t.resolveOffset(1,1);if(x(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(null==this.elseToken)return;if(s||i++,null==r)break;t.reset(r,t.token)}i&&(t.reset(s,t.token),t.acceptToken(this.elseToken,i))}}g.prototype.contextual=k.prototype.fallback=k.prototype.extend=!1;class m{constructor(t,e={}){this.token=t,this.contextual=!!e.contextual,this.fallback=!!e.fallback,this.extend=!!e.extend}}function x(t,e,s,i,r,h){let n=0,o=1<<i,{dialect:a}=s.p.parser;t:for(;0!=(o&t[n]);){let s=t[n+1];for(let i=n+3;i<s;i+=2)if((t[i+1]&o)>0){let s=t[i];if(a.allows(s)&&(-1==e.token.value||e.token.value==s||S(s,e.token.value,r,h))){e.acceptToken(s);break}}let i=e.next,l=0,c=t[n+2];if(!(e.next<0&&c>l&&65535==t[s+3*c-3])){for(;l<c;){let r=l+c>>1,h=s+r+(r<<1),o=t[h],a=t[h+1]||65536;if(i<o)c=r;else{if(!(i>=a)){n=t[h+2],e.advance();continue t}l=r+1}}break}n=t[s+3*c-1]}}function b(t,e,s){for(let i,r=e;65535!=(i=t[r]);r++)if(i==s)return r-e;return-1}function S(t,e,s,i){let r=b(s,i,e);return r<0||b(s,i,t)<r}const v="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let P=null;function A(t,e,s){let i=t.cursor(n.IncludeAnonymous);for(i.moveTo(e);;)if(!(s<0?i.childBefore(e):i.childAfter(e)))for(;;){if((s<0?i.to<e:i.from>e)&&!i.type.isError)return s<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(t.length,Math.max(i.from+1,e+25));if(s<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return s<0?0:t.length}}class C{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?A(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?A(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let s=this.trees[e],i=this.index[e];if(i==s.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let n=s.children[i],o=this.start[e]+s.positions[i];if(o>t)return this.nextStart=o,null;if(n instanceof h){if(o==t){if(o<this.safeFrom)return null;let t=o+n.length;if(t<=this.safeTo){let e=n.prop(r.lookAhead);if(!e||t+e<this.fragment.to)return n}}this.index[e]++,o+n.length>=Math.max(this.safeFrom,t)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[e]++,this.nextStart=o+n.length}}}class y{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(t=>new f)}getActions(t){let e=0,s=null,{parser:i}=t.p,{tokenizers:r}=i,h=i.stateSlot(t.state,3),n=t.curContext?t.curContext.hash:0,o=0;for(let i=0;i<r.length;i++){if(!(1<<i&h))continue;let a=r[i],l=this.tokens[i];if((!s||a.fallback)&&((a.contextual||l.start!=t.pos||l.mask!=h||l.context!=n)&&(this.updateCachedToken(l,a,t),l.mask=h,l.context=n),l.lookAhead>l.end+25&&(o=Math.max(l.lookAhead,o)),0!=l.value)){let i=e;if(l.extended>-1&&(e=this.addActions(t,l.extended,l.end,e)),e=this.addActions(t,l.value,l.end,e),!a.extend&&(s=l,e>i))break}}for(;this.actions.length>e;)this.actions.pop();return o&&t.setLookAhead(o),s||t.pos!=this.stream.end||(s=new f,s.value=t.p.parser.eofTerm,s.start=s.end=t.pos,e=this.addActions(t,s.value,s.end,e)),this.mainToken=s,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new f,{pos:s,p:i}=t;return e.start=s,e.end=Math.min(s+1,i.stream.end),e.value=s==i.stream.end?i.parser.eofTerm:0,e}updateCachedToken(t,e,s){let i=this.stream.clipPos(s.pos);if(e.token(this.stream.reset(i,t),s),t.value>-1){let{parser:e}=s.p;for(let i=0;i<e.specialized.length;i++)if(e.specialized[i]==t.value){let r=e.specializers[i](this.stream.read(t.start,t.end),s);if(r>=0&&s.p.parser.dialect.allows(r>>1)){1&r?t.extended=r>>1:t.value=r>>1;break}}}else t.value=0,t.end=this.stream.clipPos(i+1)}putAction(t,e,s,i){for(let e=0;e<i;e+=3)if(this.actions[e]==t)return i;return this.actions[i++]=t,this.actions[i++]=e,this.actions[i++]=s,i}addActions(t,e,s,i){let{state:r}=t,{parser:h}=t.p,{data:n}=h;for(let t=0;t<2;t++)for(let o=h.stateSlot(r,t?2:1);;o+=3){if(65535==n[o]){if(1!=n[o+1]){0==i&&2==n[o+1]&&(i=this.putAction(B(n,o+2),e,s,i));break}o=B(n,o+2)}n[o]==e&&(i=this.putAction(B(n,o+1),e,s,i))}return i}}class T{constructor(t,e,s,i){this.parser=t,this.input=e,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new d(e,i),this.tokens=new y(t,this.stream),this.topTerm=t.top[1];let{from:r}=i[0];this.stacks=[o.start(this,t.top[0],r)],this.fragments=s.length&&this.stream.end-r>4*t.bufferLength?new C(s,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t,e,s=this.stacks,i=this.minStackPos,r=this.stacks=[];if(this.bigReductionCount>300&&1==s.length){let[t]=s;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let h=0;h<s.length;h++){let n=s[h];for(;;){if(this.tokens.mainToken=null,n.pos>i)r.push(n);else{if(this.advanceStack(n,r,s))continue;{t||(t=[],e=[]),t.push(n);let s=this.tokens.getMainToken(n);e.push(s.value,s.end)}}break}}if(!r.length){let e=t&&function(t){let e=null;for(let s of t){let t=s.p.stoppedAt;(s.pos==s.p.stream.end||null!=t&&s.pos>t)&&s.p.parser.stateFlag(s.state,2)&&(!e||e.score<s.score)&&(e=s)}return e}(t);if(e)return v&&console.log("Finish with "+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw v&&t&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&t){let s=null!=this.stoppedAt&&t[0].pos>this.stoppedAt?t[0]:this.runRecovery(t,e,r);if(s)return v&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let t=1==this.recovering?1:3*this.recovering;if(r.length>t)for(r.sort((t,e)=>e.score-t.score);r.length>t;)r.pop();r.some(t=>t.reducePos>i)&&this.recovering--}else if(r.length>1){t:for(let t=0;t<r.length-1;t++){let e=r[t];for(let s=t+1;s<r.length;s++){let i=r[s];if(e.sameState(i)||e.buffer.length>500&&i.buffer.length>500){if(!((e.score-i.score||e.buffer.length-i.buffer.length)>0)){r.splice(t--,1);continue t}r.splice(s--,1)}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(let t=1;t<r.length;t++)r[t].pos<this.minStackPos&&(this.minStackPos=r[t].pos);return null}stopAt(t){if(null!=this.stoppedAt&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,e,s){let i=t.pos,{parser:n}=this,o=v?this.stackID(t)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let e=t.curContext&&t.curContext.tracker.strict,s=e?t.curContext.hash:0;for(let a=this.fragments.nodeAt(i);a;){let i=this.parser.nodeSet.types[a.type.id]==a.type?n.getGoto(t.state,a.type.id):-1;if(i>-1&&a.length&&(!e||(a.prop(r.contextHash)||0)==s))return t.useNode(a,i),v&&console.log(o+this.stackID(t)+` (via reuse of ${n.getName(a.type.id)})`),!0;if(!(a instanceof h)||0==a.children.length||a.positions[0]>0)break;let l=a.children[0];if(!(l instanceof h&&0==a.positions[0]))break;a=l}}let a=n.stateSlot(t.state,4);if(a>0)return t.reduce(a),v&&console.log(o+this.stackID(t)+` (via always-reduce ${n.getName(65535&a)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let l=this.tokens.getActions(t);for(let r=0;r<l.length;){let h=l[r++],a=l[r++],c=l[r++],u=r==l.length||!s,f=u?t:t.split(),p=this.tokens.mainToken;if(f.apply(h,a,p?p.start:f.pos,c),v&&console.log(o+this.stackID(f)+` (via ${65536&h?`reduce of ${n.getName(65535&h)}`:"shift"} for ${n.getName(a)} @ ${i}${f==t?"":", split"})`),u)return!0;f.pos>i?e.push(f):s.push(f)}return!1}advanceFully(t,e){let s=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>s)return w(t,e),!0}}runRecovery(t,e,s){let i=null,r=!1;for(let h=0;h<t.length;h++){let n=t[h],o=e[h<<1],a=e[1+(h<<1)],l=v?this.stackID(n)+" -> ":"";if(n.deadEnd){if(r)continue;if(r=!0,n.restart(),v&&console.log(l+this.stackID(n)+" (restarted)"),this.advanceFully(n,s))continue}let c=n.split(),u=l;for(let t=0;t<10&&c.forceReduce();t++){if(v&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,s))break;v&&(u=this.stackID(c)+" -> ")}for(let t of n.recoverByInsert(o))v&&console.log(l+this.stackID(t)+" (via recover-insert)"),this.advanceFully(t,s);this.stream.end>n.pos?(a==n.pos&&(a++,o=0),n.recoverByDelete(o,a),v&&console.log(l+this.stackID(n)+` (via recover-delete ${this.parser.getName(o)})`),w(n,s)):(!i||i.score<n.score)&&(i=n)}return i}stackToTree(t){return t.close(),h.build({buffer:c.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(P||(P=new WeakMap)).get(t);return e||P.set(t,e=String.fromCodePoint(this.nextStackID++)),e+t}}function w(t,e){for(let s=0;s<e.length;s++){let i=e[s];if(i.pos==t.pos&&i.sameState(t))return void(e[s].score<t.score&&(e[s]=t))}e.push(t)}class N{constructor(t,e,s){this.source=t,this.flags=e,this.disabled=s}allows(t){return!this.disabled||0==this.disabled[t]}}const R=t=>t;class z{constructor(t){this.start=t.start,this.shift=t.shift||R,this.reduce=t.reduce||R,this.reuse=t.reuse||R,this.hash=t.hash||(()=>0),this.strict=!1!==t.strict}}class I extends t{constructor(t){if(super(),this.wrappers=[],14!=t.version)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let h=t.nodeNames.split(" ");this.minRepeatTerm=h.length;for(let e=0;e<t.repeatNodeCount;e++)h.push("");let n=Object.keys(t.topRules).map(e=>t.topRules[e][1]),o=[];for(let t=0;t<h.length;t++)o.push([]);function a(t,e,s){o[t].push([e,e.deserialize(String(s))])}if(t.nodeProps)for(let e of t.nodeProps){let t=e[0];"string"==typeof t&&(t=r[t]);for(let s=1;s<e.length;){let i=e[s++];if(i>=0)a(i,t,e[s++]);else{let r=e[s+-i];for(let h=-i;h>0;h--)a(e[s++],t,r);s++}}}this.nodeSet=new e(h.map((e,i)=>s.define({name:i>=this.minRepeatTerm?void 0:e,id:i,props:o[i],top:n.indexOf(i)>-1,error:0==i,skipped:t.skippedNodes&&t.skippedNodes.indexOf(i)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=i;let l=u(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let t=0;t<this.specializerSpecs.length;t++)this.specialized[t]=this.specializerSpecs[t].term;this.specializers=this.specializerSpecs.map(D),this.states=u(t.states,Uint32Array),this.data=u(t.stateData),this.goto=u(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(t=>"number"==typeof t?new k(l,t):t),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,s){let i=new T(this,t,e,s);for(let r of this.wrappers)i=r(i,t,e,s);return i}getGoto(t,e,s=!1){let i=this.goto;if(e>=i[0])return-1;for(let r=i[e+1];;){let e=i[r++],h=1&e,n=i[r++];if(h&&s)return n;for(let s=r+(e>>1);r<s;r++)if(i[r]==t)return n;if(h)return-1}}hasAction(t,e){let s=this.data;for(let i=0;i<2;i++)for(let r,h=this.stateSlot(t,i?2:1);;h+=3){if(65535==(r=s[h])){if(1!=s[h+1]){if(2==s[h+1])return B(s,h+2);break}r=s[h=B(s,h+2)]}if(r==e||0==r)return B(s,h+1)}return 0}stateSlot(t,e){return this.states[6*t+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,t=>t==e||null)}allActions(t,e){let s=this.stateSlot(t,4),i=s?e(s):void 0;for(let s=this.stateSlot(t,1);null==i;s+=3){if(65535==this.data[s]){if(1!=this.data[s+1])break;s=B(this.data,s+2)}i=e(B(this.data,s+1))}return i}nextStates(t){let e=[];for(let s=this.stateSlot(t,1);;s+=3){if(65535==this.data[s]){if(1!=this.data[s+1])break;s=B(this.data,s+2)}if(!(1&this.data[s+2])){let t=this.data[s+1];e.some((e,s)=>1&s&&e==t)||e.push(this.data[s],t)}}return e}configure(t){let e=Object.assign(Object.create(I.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let s=this.topRules[t.top];if(!s)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=s}return t.tokenizers&&(e.tokenizers=this.tokenizers.map(e=>{let s=t.tokenizers.find(t=>t.from==e);return s?s.to:e})),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((s,i)=>{let r=t.specializers.find(t=>t.from==s.external);if(!r)return s;let h=Object.assign(Object.assign({},s),{external:r.to});return e.specializers[i]=D(h),h})),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),null!=t.strict&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),null!=t.bufferLength&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return null==e?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),s=e.map(()=>!1);if(t)for(let i of t.split(" ")){let t=e.indexOf(i);t>=0&&(s[t]=!0)}let i=null;for(let t=0;t<e.length;t++)if(!s[t])for(let s,r=this.dialects[e[t]];65535!=(s=this.data[r++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[s]=1;return new N(t,s,i)}static deserialize(t){return new I(t)}}function B(t,e){return t[e]|t[e+1]<<16}function D(t){if(t.external){let e=t.extend?1:0;return(s,i)=>t.external(s,i)<<1|e}return t.get}export{z as C,m as E,I as L,g as a};
2
+ //# sourceMappingURL=index-QYTegilJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-QYTegilJ.js","sources":["../../../node_modules/@lezer/lr/dist/index.js"],"sourcesContent":["import { Parser, NodeProp, NodeSet, NodeType, DefaultBufferLength, Tree, IterMode } from '@lezer/common';\n\n/**\nA parse stack. These are used internally by the parser to track\nparsing progress. They also provide some properties and methods\nthat external code such as a tokenizer can use to get information\nabout the parse state.\n*/\nclass Stack {\n /**\n @internal\n */\n constructor(\n /**\n The parse that this stack is part of @internal\n */\n p, \n /**\n Holds state, input pos, buffer index triplets for all but the\n top state @internal\n */\n stack, \n /**\n The current parse state @internal\n */\n state, \n // The position at which the next reduce should take place. This\n // can be less than `this.pos` when skipped expressions have been\n // added to the stack (which should be moved outside of the next\n // reduction)\n /**\n @internal\n */\n reducePos, \n /**\n The input position up to which this stack has parsed.\n */\n pos, \n /**\n The dynamic score of the stack, including dynamic precedence\n and error-recovery penalties\n @internal\n */\n score, \n // The output buffer. Holds (type, start, end, size) quads\n // representing nodes created by the parser, where `size` is\n // amount of buffer array entries covered by this node.\n /**\n @internal\n */\n buffer, \n // The base offset of the buffer. When stacks are split, the split\n // instance shared the buffer history with its parent up to\n // `bufferBase`, which is the absolute offset (including the\n // offset of previous splits) into the buffer at which this stack\n // starts writing.\n /**\n @internal\n */\n bufferBase, \n /**\n @internal\n */\n curContext, \n /**\n @internal\n */\n lookAhead = 0, \n // A parent stack from which this was split off, if any. This is\n // set up so that it always points to a stack that has some\n // additional buffer content, never to a stack with an equal\n // `bufferBase`.\n /**\n @internal\n */\n parent) {\n this.p = p;\n this.stack = stack;\n this.state = state;\n this.reducePos = reducePos;\n this.pos = pos;\n this.score = score;\n this.buffer = buffer;\n this.bufferBase = bufferBase;\n this.curContext = curContext;\n this.lookAhead = lookAhead;\n this.parent = parent;\n }\n /**\n @internal\n */\n toString() {\n return `[${this.stack.filter((_, i) => i % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? \"!\" + this.score : \"\"}`;\n }\n // Start an empty stack\n /**\n @internal\n */\n static start(p, state, pos = 0) {\n let cx = p.parser.context;\n return new Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null);\n }\n /**\n The stack's current [context](#lr.ContextTracker) value, if\n any. Its type will depend on the context tracker's type\n parameter, or it will be `null` if there is no context\n tracker.\n */\n get context() { return this.curContext ? this.curContext.context : null; }\n // Push a state onto the stack, tracking its start position as well\n // as the buffer base at that point.\n /**\n @internal\n */\n pushState(state, start) {\n this.stack.push(this.state, start, this.bufferBase + this.buffer.length);\n this.state = state;\n }\n // Apply a reduce action\n /**\n @internal\n */\n reduce(action) {\n var _a;\n let depth = action >> 19 /* Action.ReduceDepthShift */, type = action & 65535 /* Action.ValueMask */;\n let { parser } = this.p;\n let lookaheadRecord = this.reducePos < this.pos - 25 /* Lookahead.Margin */ && this.setLookAhead(this.pos);\n let dPrec = parser.dynamicPrecedence(type);\n if (dPrec)\n this.score += dPrec;\n if (depth == 0) {\n this.pushState(parser.getGoto(this.state, type, true), this.reducePos);\n // Zero-depth reductions are a special case—they add stuff to\n // the stack without popping anything off.\n if (type < parser.minRepeatTerm)\n this.storeNode(type, this.reducePos, this.reducePos, lookaheadRecord ? 8 : 4, true);\n this.reduceContext(type, this.reducePos);\n return;\n }\n // Find the base index into `this.stack`, content after which will\n // be dropped. Note that with `StayFlag` reductions we need to\n // consume two extra frames (the dummy parent node for the skipped\n // expression and the state that we'll be staying in, which should\n // be moved to `this.state`).\n let base = this.stack.length - ((depth - 1) * 3) - (action & 262144 /* Action.StayFlag */ ? 6 : 0);\n let start = base ? this.stack[base - 2] : this.p.ranges[0].from, size = this.reducePos - start;\n // This is a kludge to try and detect overly deep left-associative\n // trees, which will not increase the parse stack depth and thus\n // won't be caught by the regular stack-depth limit check.\n if (size >= 2000 /* Recover.MinBigReduction */ && !((_a = this.p.parser.nodeSet.types[type]) === null || _a === void 0 ? void 0 : _a.isAnonymous)) {\n if (start == this.p.lastBigReductionStart) {\n this.p.bigReductionCount++;\n this.p.lastBigReductionSize = size;\n }\n else if (this.p.lastBigReductionSize < size) {\n this.p.bigReductionCount = 1;\n this.p.lastBigReductionStart = start;\n this.p.lastBigReductionSize = size;\n }\n }\n let bufferBase = base ? this.stack[base - 1] : 0, count = this.bufferBase + this.buffer.length - bufferBase;\n // Store normal terms or `R -> R R` repeat reductions\n if (type < parser.minRepeatTerm || (action & 131072 /* Action.RepeatFlag */)) {\n let pos = parser.stateFlag(this.state, 1 /* StateFlag.Skipped */) ? this.pos : this.reducePos;\n this.storeNode(type, start, pos, count + 4, true);\n }\n if (action & 262144 /* Action.StayFlag */) {\n this.state = this.stack[base];\n }\n else {\n let baseStateID = this.stack[base - 3];\n this.state = parser.getGoto(baseStateID, type, true);\n }\n while (this.stack.length > base)\n this.stack.pop();\n this.reduceContext(type, start);\n }\n // Shift a value into the buffer\n /**\n @internal\n */\n storeNode(term, start, end, size = 4, mustSink = false) {\n if (term == 0 /* Term.Err */ &&\n (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {\n // Try to omit/merge adjacent error nodes\n let cur = this, top = this.buffer.length;\n if (top == 0 && cur.parent) {\n top = cur.bufferBase - cur.parent.bufferBase;\n cur = cur.parent;\n }\n if (top > 0 && cur.buffer[top - 4] == 0 /* Term.Err */ && cur.buffer[top - 1] > -1) {\n if (start == end)\n return;\n if (cur.buffer[top - 2] >= start) {\n cur.buffer[top - 2] = end;\n return;\n }\n }\n }\n if (!mustSink || this.pos == end) { // Simple case, just append\n this.buffer.push(term, start, end, size);\n }\n else { // There may be skipped nodes that have to be moved forward\n let index = this.buffer.length;\n if (index > 0 && (this.buffer[index - 4] != 0 /* Term.Err */ || this.buffer[index - 1] < 0)) {\n let mustMove = false;\n for (let scan = index; scan > 0 && this.buffer[scan - 2] > end; scan -= 4) {\n if (this.buffer[scan - 1] >= 0) {\n mustMove = true;\n break;\n }\n }\n if (mustMove)\n while (index > 0 && this.buffer[index - 2] > end) {\n // Move this record forward\n this.buffer[index] = this.buffer[index - 4];\n this.buffer[index + 1] = this.buffer[index - 3];\n this.buffer[index + 2] = this.buffer[index - 2];\n this.buffer[index + 3] = this.buffer[index - 1];\n index -= 4;\n if (size > 4)\n size -= 4;\n }\n }\n this.buffer[index] = term;\n this.buffer[index + 1] = start;\n this.buffer[index + 2] = end;\n this.buffer[index + 3] = size;\n }\n }\n // Apply a shift action\n /**\n @internal\n */\n shift(action, type, start, end) {\n if (action & 131072 /* Action.GotoFlag */) {\n this.pushState(action & 65535 /* Action.ValueMask */, this.pos);\n }\n else if ((action & 262144 /* Action.StayFlag */) == 0) { // Regular shift\n let nextState = action, { parser } = this.p;\n if (end > this.pos || type <= parser.maxNode) {\n this.pos = end;\n if (!parser.stateFlag(nextState, 1 /* StateFlag.Skipped */))\n this.reducePos = end;\n }\n this.pushState(nextState, start);\n this.shiftContext(type, start);\n if (type <= parser.maxNode)\n this.buffer.push(type, start, end, 4);\n }\n else { // Shift-and-stay, which means this is a skipped token\n this.pos = end;\n this.shiftContext(type, start);\n if (type <= this.p.parser.maxNode)\n this.buffer.push(type, start, end, 4);\n }\n }\n // Apply an action\n /**\n @internal\n */\n apply(action, next, nextStart, nextEnd) {\n if (action & 65536 /* Action.ReduceFlag */)\n this.reduce(action);\n else\n this.shift(action, next, nextStart, nextEnd);\n }\n // Add a prebuilt (reused) node into the buffer.\n /**\n @internal\n */\n useNode(value, next) {\n let index = this.p.reused.length - 1;\n if (index < 0 || this.p.reused[index] != value) {\n this.p.reused.push(value);\n index++;\n }\n let start = this.pos;\n this.reducePos = this.pos = start + value.length;\n this.pushState(next, start);\n this.buffer.push(index, start, this.reducePos, -1 /* size == -1 means this is a reused value */);\n if (this.curContext)\n this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length)));\n }\n // Split the stack. Due to the buffer sharing and the fact\n // that `this.stack` tends to stay quite shallow, this isn't very\n // expensive.\n /**\n @internal\n */\n split() {\n let parent = this;\n let off = parent.buffer.length;\n // Because the top of the buffer (after this.pos) may be mutated\n // to reorder reductions and skipped tokens, and shared buffers\n // should be immutable, this copies any outstanding skipped tokens\n // to the new buffer, and puts the base pointer before them.\n while (off > 0 && parent.buffer[off - 2] > parent.reducePos)\n off -= 4;\n let buffer = parent.buffer.slice(off), base = parent.bufferBase + off;\n // Make sure parent points to an actual parent with content, if there is such a parent.\n while (parent && base == parent.bufferBase)\n parent = parent.parent;\n return new Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent);\n }\n // Try to recover from an error by 'deleting' (ignoring) one token.\n /**\n @internal\n */\n recoverByDelete(next, nextEnd) {\n let isNode = next <= this.p.parser.maxNode;\n if (isNode)\n this.storeNode(next, this.pos, nextEnd, 4);\n this.storeNode(0 /* Term.Err */, this.pos, nextEnd, isNode ? 8 : 4);\n this.pos = this.reducePos = nextEnd;\n this.score -= 190 /* Recover.Delete */;\n }\n /**\n Check if the given term would be able to be shifted (optionally\n after some reductions) on this stack. This can be useful for\n external tokenizers that want to make sure they only provide a\n given token when it applies.\n */\n canShift(term) {\n for (let sim = new SimulatedStack(this);;) {\n let action = this.p.parser.stateSlot(sim.state, 4 /* ParseState.DefaultReduce */) || this.p.parser.hasAction(sim.state, term);\n if (action == 0)\n return false;\n if ((action & 65536 /* Action.ReduceFlag */) == 0)\n return true;\n sim.reduce(action);\n }\n }\n // Apply up to Recover.MaxNext recovery actions that conceptually\n // inserts some missing token or rule.\n /**\n @internal\n */\n recoverByInsert(next) {\n if (this.stack.length >= 300 /* Recover.MaxInsertStackDepth */)\n return [];\n let nextStates = this.p.parser.nextStates(this.state);\n if (nextStates.length > 4 /* Recover.MaxNext */ << 1 || this.stack.length >= 120 /* Recover.DampenInsertStackDepth */) {\n let best = [];\n for (let i = 0, s; i < nextStates.length; i += 2) {\n if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next))\n best.push(nextStates[i], s);\n }\n if (this.stack.length < 120 /* Recover.DampenInsertStackDepth */)\n for (let i = 0; best.length < 4 /* Recover.MaxNext */ << 1 && i < nextStates.length; i += 2) {\n let s = nextStates[i + 1];\n if (!best.some((v, i) => (i & 1) && v == s))\n best.push(nextStates[i], s);\n }\n nextStates = best;\n }\n let result = [];\n for (let i = 0; i < nextStates.length && result.length < 4 /* Recover.MaxNext */; i += 2) {\n let s = nextStates[i + 1];\n if (s == this.state)\n continue;\n let stack = this.split();\n stack.pushState(s, this.pos);\n stack.storeNode(0 /* Term.Err */, stack.pos, stack.pos, 4, true);\n stack.shiftContext(nextStates[i], this.pos);\n stack.reducePos = this.pos;\n stack.score -= 200 /* Recover.Insert */;\n result.push(stack);\n }\n return result;\n }\n // Force a reduce, if possible. Return false if that can't\n // be done.\n /**\n @internal\n */\n forceReduce() {\n let { parser } = this.p;\n let reduce = parser.stateSlot(this.state, 5 /* ParseState.ForcedReduce */);\n if ((reduce & 65536 /* Action.ReduceFlag */) == 0)\n return false;\n if (!parser.validAction(this.state, reduce)) {\n let depth = reduce >> 19 /* Action.ReduceDepthShift */, term = reduce & 65535 /* Action.ValueMask */;\n let target = this.stack.length - depth * 3;\n if (target < 0 || parser.getGoto(this.stack[target], term, false) < 0) {\n let backup = this.findForcedReduction();\n if (backup == null)\n return false;\n reduce = backup;\n }\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n this.score -= 100 /* Recover.Reduce */;\n }\n this.reducePos = this.pos;\n this.reduce(reduce);\n return true;\n }\n /**\n Try to scan through the automaton to find some kind of reduction\n that can be applied. Used when the regular ForcedReduce field\n isn't a valid action. @internal\n */\n findForcedReduction() {\n let { parser } = this.p, seen = [];\n let explore = (state, depth) => {\n if (seen.includes(state))\n return;\n seen.push(state);\n return parser.allActions(state, (action) => {\n if (action & (262144 /* Action.StayFlag */ | 131072 /* Action.GotoFlag */)) ;\n else if (action & 65536 /* Action.ReduceFlag */) {\n let rDepth = (action >> 19 /* Action.ReduceDepthShift */) - depth;\n if (rDepth > 1) {\n let term = action & 65535 /* Action.ValueMask */, target = this.stack.length - rDepth * 3;\n if (target >= 0 && parser.getGoto(this.stack[target], term, false) >= 0)\n return (rDepth << 19 /* Action.ReduceDepthShift */) | 65536 /* Action.ReduceFlag */ | term;\n }\n }\n else {\n let found = explore(action, depth + 1);\n if (found != null)\n return found;\n }\n });\n };\n return explore(this.state, 0);\n }\n /**\n @internal\n */\n forceAll() {\n while (!this.p.parser.stateFlag(this.state, 2 /* StateFlag.Accepting */)) {\n if (!this.forceReduce()) {\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n break;\n }\n }\n return this;\n }\n /**\n Check whether this state has no further actions (assumed to be a direct descendant of the\n top state, since any other states must be able to continue\n somehow). @internal\n */\n get deadEnd() {\n if (this.stack.length != 3)\n return false;\n let { parser } = this.p;\n return parser.data[parser.stateSlot(this.state, 1 /* ParseState.Actions */)] == 65535 /* Seq.End */ &&\n !parser.stateSlot(this.state, 4 /* ParseState.DefaultReduce */);\n }\n /**\n Restart the stack (put it back in its start state). Only safe\n when this.stack.length == 3 (state is directly below the top\n state). @internal\n */\n restart() {\n this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);\n this.state = this.stack[0];\n this.stack.length = 0;\n }\n /**\n @internal\n */\n sameState(other) {\n if (this.state != other.state || this.stack.length != other.stack.length)\n return false;\n for (let i = 0; i < this.stack.length; i += 3)\n if (this.stack[i] != other.stack[i])\n return false;\n return true;\n }\n /**\n Get the parser used by this stack.\n */\n get parser() { return this.p.parser; }\n /**\n Test whether a given dialect (by numeric ID, as exported from\n the terms file) is enabled.\n */\n dialectEnabled(dialectID) { return this.p.parser.dialect.flags[dialectID]; }\n shiftContext(term, start) {\n if (this.curContext)\n this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start)));\n }\n reduceContext(term, start) {\n if (this.curContext)\n this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start)));\n }\n /**\n @internal\n */\n emitContext() {\n let last = this.buffer.length - 1;\n if (last < 0 || this.buffer[last] != -3)\n this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);\n }\n /**\n @internal\n */\n emitLookAhead() {\n let last = this.buffer.length - 1;\n if (last < 0 || this.buffer[last] != -4)\n this.buffer.push(this.lookAhead, this.pos, this.pos, -4);\n }\n updateContext(context) {\n if (context != this.curContext.context) {\n let newCx = new StackContext(this.curContext.tracker, context);\n if (newCx.hash != this.curContext.hash)\n this.emitContext();\n this.curContext = newCx;\n }\n }\n /**\n @internal\n */\n setLookAhead(lookAhead) {\n if (lookAhead <= this.lookAhead)\n return false;\n this.emitLookAhead();\n this.lookAhead = lookAhead;\n return true;\n }\n /**\n @internal\n */\n close() {\n if (this.curContext && this.curContext.tracker.strict)\n this.emitContext();\n if (this.lookAhead > 0)\n this.emitLookAhead();\n }\n}\nclass StackContext {\n constructor(tracker, context) {\n this.tracker = tracker;\n this.context = context;\n this.hash = tracker.strict ? tracker.hash(context) : 0;\n }\n}\n// Used to cheaply run some reductions to scan ahead without mutating\n// an entire stack\nclass SimulatedStack {\n constructor(start) {\n this.start = start;\n this.state = start.state;\n this.stack = start.stack;\n this.base = this.stack.length;\n }\n reduce(action) {\n let term = action & 65535 /* Action.ValueMask */, depth = action >> 19 /* Action.ReduceDepthShift */;\n if (depth == 0) {\n if (this.stack == this.start.stack)\n this.stack = this.stack.slice();\n this.stack.push(this.state, 0, 0);\n this.base += 3;\n }\n else {\n this.base -= (depth - 1) * 3;\n }\n let goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true);\n this.state = goto;\n }\n}\n// This is given to `Tree.build` to build a buffer, and encapsulates\n// the parent-stack-walking necessary to read the nodes.\nclass StackBufferCursor {\n constructor(stack, pos, index) {\n this.stack = stack;\n this.pos = pos;\n this.index = index;\n this.buffer = stack.buffer;\n if (this.index == 0)\n this.maybeNext();\n }\n static create(stack, pos = stack.bufferBase + stack.buffer.length) {\n return new StackBufferCursor(stack, pos, pos - stack.bufferBase);\n }\n maybeNext() {\n let next = this.stack.parent;\n if (next != null) {\n this.index = this.stack.bufferBase - next.bufferBase;\n this.stack = next;\n this.buffer = next.buffer;\n }\n }\n get id() { return this.buffer[this.index - 4]; }\n get start() { return this.buffer[this.index - 3]; }\n get end() { return this.buffer[this.index - 2]; }\n get size() { return this.buffer[this.index - 1]; }\n next() {\n this.index -= 4;\n this.pos -= 4;\n if (this.index == 0)\n this.maybeNext();\n }\n fork() {\n return new StackBufferCursor(this.stack, this.pos, this.index);\n }\n}\n\n// See lezer-generator/src/encode.ts for comments about the encoding\n// used here\nfunction decodeArray(input, Type = Uint16Array) {\n if (typeof input != \"string\")\n return input;\n let array = null;\n for (let pos = 0, out = 0; pos < input.length;) {\n let value = 0;\n for (;;) {\n let next = input.charCodeAt(pos++), stop = false;\n if (next == 126 /* Encode.BigValCode */) {\n value = 65535 /* Encode.BigVal */;\n break;\n }\n if (next >= 92 /* Encode.Gap2 */)\n next--;\n if (next >= 34 /* Encode.Gap1 */)\n next--;\n let digit = next - 32 /* Encode.Start */;\n if (digit >= 46 /* Encode.Base */) {\n digit -= 46 /* Encode.Base */;\n stop = true;\n }\n value += digit;\n if (stop)\n break;\n value *= 46 /* Encode.Base */;\n }\n if (array)\n array[out++] = value;\n else\n array = new Type(value);\n }\n return array;\n}\n\nclass CachedToken {\n constructor() {\n this.start = -1;\n this.value = -1;\n this.end = -1;\n this.extended = -1;\n this.lookAhead = 0;\n this.mask = 0;\n this.context = 0;\n }\n}\nconst nullToken = new CachedToken;\n/**\n[Tokenizers](#lr.ExternalTokenizer) interact with the input\nthrough this interface. It presents the input as a stream of\ncharacters, tracking lookahead and hiding the complexity of\n[ranges](#common.Parser.parse^ranges) from tokenizer code.\n*/\nclass InputStream {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n input, \n /**\n @internal\n */\n ranges) {\n this.input = input;\n this.ranges = ranges;\n /**\n @internal\n */\n this.chunk = \"\";\n /**\n @internal\n */\n this.chunkOff = 0;\n /**\n Backup chunk\n */\n this.chunk2 = \"\";\n this.chunk2Pos = 0;\n /**\n The character code of the next code unit in the input, or -1\n when the stream is at the end of the input.\n */\n this.next = -1;\n /**\n @internal\n */\n this.token = nullToken;\n this.rangeIndex = 0;\n this.pos = this.chunkPos = ranges[0].from;\n this.range = ranges[0];\n this.end = ranges[ranges.length - 1].to;\n this.readNext();\n }\n /**\n @internal\n */\n resolveOffset(offset, assoc) {\n let range = this.range, index = this.rangeIndex;\n let pos = this.pos + offset;\n while (pos < range.from) {\n if (!index)\n return null;\n let next = this.ranges[--index];\n pos -= range.from - next.to;\n range = next;\n }\n while (assoc < 0 ? pos > range.to : pos >= range.to) {\n if (index == this.ranges.length - 1)\n return null;\n let next = this.ranges[++index];\n pos += next.from - range.to;\n range = next;\n }\n return pos;\n }\n /**\n @internal\n */\n clipPos(pos) {\n if (pos >= this.range.from && pos < this.range.to)\n return pos;\n for (let range of this.ranges)\n if (range.to > pos)\n return Math.max(pos, range.from);\n return this.end;\n }\n /**\n Look at a code unit near the stream position. `.peek(0)` equals\n `.next`, `.peek(-1)` gives you the previous character, and so\n on.\n \n Note that looking around during tokenizing creates dependencies\n on potentially far-away content, which may reduce the\n effectiveness incremental parsing—when looking forward—or even\n cause invalid reparses when looking backward more than 25 code\n units, since the library does not track lookbehind.\n */\n peek(offset) {\n let idx = this.chunkOff + offset, pos, result;\n if (idx >= 0 && idx < this.chunk.length) {\n pos = this.pos + offset;\n result = this.chunk.charCodeAt(idx);\n }\n else {\n let resolved = this.resolveOffset(offset, 1);\n if (resolved == null)\n return -1;\n pos = resolved;\n if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) {\n result = this.chunk2.charCodeAt(pos - this.chunk2Pos);\n }\n else {\n let i = this.rangeIndex, range = this.range;\n while (range.to <= pos)\n range = this.ranges[++i];\n this.chunk2 = this.input.chunk(this.chunk2Pos = pos);\n if (pos + this.chunk2.length > range.to)\n this.chunk2 = this.chunk2.slice(0, range.to - pos);\n result = this.chunk2.charCodeAt(0);\n }\n }\n if (pos >= this.token.lookAhead)\n this.token.lookAhead = pos + 1;\n return result;\n }\n /**\n Accept a token. By default, the end of the token is set to the\n current stream position, but you can pass an offset (relative to\n the stream position) to change that.\n */\n acceptToken(token, endOffset = 0) {\n let end = endOffset ? this.resolveOffset(endOffset, -1) : this.pos;\n if (end == null || end < this.token.start)\n throw new RangeError(\"Token end out of bounds\");\n this.token.value = token;\n this.token.end = end;\n }\n /**\n Accept a token ending at a specific given position.\n */\n acceptTokenTo(token, endPos) {\n this.token.value = token;\n this.token.end = endPos;\n }\n getChunk() {\n if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {\n let { chunk, chunkPos } = this;\n this.chunk = this.chunk2;\n this.chunkPos = this.chunk2Pos;\n this.chunk2 = chunk;\n this.chunk2Pos = chunkPos;\n this.chunkOff = this.pos - this.chunkPos;\n }\n else {\n this.chunk2 = this.chunk;\n this.chunk2Pos = this.chunkPos;\n let nextChunk = this.input.chunk(this.pos);\n let end = this.pos + nextChunk.length;\n this.chunk = end > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk;\n this.chunkPos = this.pos;\n this.chunkOff = 0;\n }\n }\n readNext() {\n if (this.chunkOff >= this.chunk.length) {\n this.getChunk();\n if (this.chunkOff == this.chunk.length)\n return this.next = -1;\n }\n return this.next = this.chunk.charCodeAt(this.chunkOff);\n }\n /**\n Move the stream forward N (defaults to 1) code units. Returns\n the new value of [`next`](#lr.InputStream.next).\n */\n advance(n = 1) {\n this.chunkOff += n;\n while (this.pos + n >= this.range.to) {\n if (this.rangeIndex == this.ranges.length - 1)\n return this.setDone();\n n -= this.range.to - this.pos;\n this.range = this.ranges[++this.rangeIndex];\n this.pos = this.range.from;\n }\n this.pos += n;\n if (this.pos >= this.token.lookAhead)\n this.token.lookAhead = this.pos + 1;\n return this.readNext();\n }\n setDone() {\n this.pos = this.chunkPos = this.end;\n this.range = this.ranges[this.rangeIndex = this.ranges.length - 1];\n this.chunk = \"\";\n return this.next = -1;\n }\n /**\n @internal\n */\n reset(pos, token) {\n if (token) {\n this.token = token;\n token.start = pos;\n token.lookAhead = pos + 1;\n token.value = token.extended = -1;\n }\n else {\n this.token = nullToken;\n }\n if (this.pos != pos) {\n this.pos = pos;\n if (pos == this.end) {\n this.setDone();\n return this;\n }\n while (pos < this.range.from)\n this.range = this.ranges[--this.rangeIndex];\n while (pos >= this.range.to)\n this.range = this.ranges[++this.rangeIndex];\n if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) {\n this.chunkOff = pos - this.chunkPos;\n }\n else {\n this.chunk = \"\";\n this.chunkOff = 0;\n }\n this.readNext();\n }\n return this;\n }\n /**\n @internal\n */\n read(from, to) {\n if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length)\n return this.chunk.slice(from - this.chunkPos, to - this.chunkPos);\n if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length)\n return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos);\n if (from >= this.range.from && to <= this.range.to)\n return this.input.read(from, to);\n let result = \"\";\n for (let r of this.ranges) {\n if (r.from >= to)\n break;\n if (r.to > from)\n result += this.input.read(Math.max(r.from, from), Math.min(r.to, to));\n }\n return result;\n }\n}\n/**\n@internal\n*/\nclass TokenGroup {\n constructor(data, id) {\n this.data = data;\n this.id = id;\n }\n token(input, stack) {\n let { parser } = stack.p;\n readToken(this.data, input, stack, this.id, parser.data, parser.tokenPrecTable);\n }\n}\nTokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;\n/**\n@hide\n*/\nclass LocalTokenGroup {\n constructor(data, precTable, elseToken) {\n this.precTable = precTable;\n this.elseToken = elseToken;\n this.data = typeof data == \"string\" ? decodeArray(data) : data;\n }\n token(input, stack) {\n let start = input.pos, skipped = 0;\n for (;;) {\n let atEof = input.next < 0, nextPos = input.resolveOffset(1, 1);\n readToken(this.data, input, stack, 0, this.data, this.precTable);\n if (input.token.value > -1)\n break;\n if (this.elseToken == null)\n return;\n if (!atEof)\n skipped++;\n if (nextPos == null)\n break;\n input.reset(nextPos, input.token);\n }\n if (skipped) {\n input.reset(start, input.token);\n input.acceptToken(this.elseToken, skipped);\n }\n }\n}\nLocalTokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;\n/**\n`@external tokens` declarations in the grammar should resolve to\nan instance of this class.\n*/\nclass ExternalTokenizer {\n /**\n Create a tokenizer. The first argument is the function that,\n given an input stream, scans for the types of tokens it\n recognizes at the stream's position, and calls\n [`acceptToken`](#lr.InputStream.acceptToken) when it finds\n one.\n */\n constructor(\n /**\n @internal\n */\n token, options = {}) {\n this.token = token;\n this.contextual = !!options.contextual;\n this.fallback = !!options.fallback;\n this.extend = !!options.extend;\n }\n}\n// Tokenizer data is stored a big uint16 array containing, for each\n// state:\n//\n// - A group bitmask, indicating what token groups are reachable from\n// this state, so that paths that can only lead to tokens not in\n// any of the current groups can be cut off early.\n//\n// - The position of the end of the state's sequence of accepting\n// tokens\n//\n// - The number of outgoing edges for the state\n//\n// - The accepting tokens, as (token id, group mask) pairs\n//\n// - The outgoing edges, as (start character, end character, state\n// index) triples, with end character being exclusive\n//\n// This function interprets that data, running through a stream as\n// long as new states with the a matching group mask can be reached,\n// and updating `input.token` when it matches a token.\nfunction readToken(data, input, stack, group, precTable, precOffset) {\n let state = 0, groupMask = 1 << group, { dialect } = stack.p.parser;\n scan: for (;;) {\n if ((groupMask & data[state]) == 0)\n break;\n let accEnd = data[state + 1];\n // Check whether this state can lead to a token in the current group\n // Accept tokens in this state, possibly overwriting\n // lower-precedence / shorter tokens\n for (let i = state + 3; i < accEnd; i += 2)\n if ((data[i + 1] & groupMask) > 0) {\n let term = data[i];\n if (dialect.allows(term) &&\n (input.token.value == -1 || input.token.value == term ||\n overrides(term, input.token.value, precTable, precOffset))) {\n input.acceptToken(term);\n break;\n }\n }\n let next = input.next, low = 0, high = data[state + 2];\n // Special case for EOF\n if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535 /* Seq.End */) {\n state = data[accEnd + high * 3 - 1];\n continue scan;\n }\n // Do a binary search on the state's edges\n for (; low < high;) {\n let mid = (low + high) >> 1;\n let index = accEnd + mid + (mid << 1);\n let from = data[index], to = data[index + 1] || 0x10000;\n if (next < from)\n high = mid;\n else if (next >= to)\n low = mid + 1;\n else {\n state = data[index + 2];\n input.advance();\n continue scan;\n }\n }\n break;\n }\n}\nfunction findOffset(data, start, term) {\n for (let i = start, next; (next = data[i]) != 65535 /* Seq.End */; i++)\n if (next == term)\n return i - start;\n return -1;\n}\nfunction overrides(token, prev, tableData, tableOffset) {\n let iPrev = findOffset(tableData, tableOffset, prev);\n return iPrev < 0 || findOffset(tableData, tableOffset, token) < iPrev;\n}\n\n// Environment variable used to control console output\nconst verbose = typeof process != \"undefined\" && process.env && /\\bparse\\b/.test(process.env.LOG);\nlet stackIDs = null;\nfunction cutAt(tree, pos, side) {\n let cursor = tree.cursor(IterMode.IncludeAnonymous);\n cursor.moveTo(pos);\n for (;;) {\n if (!(side < 0 ? cursor.childBefore(pos) : cursor.childAfter(pos)))\n for (;;) {\n if ((side < 0 ? cursor.to < pos : cursor.from > pos) && !cursor.type.isError)\n return side < 0 ? Math.max(0, Math.min(cursor.to - 1, pos - 25 /* Lookahead.Margin */))\n : Math.min(tree.length, Math.max(cursor.from + 1, pos + 25 /* Lookahead.Margin */));\n if (side < 0 ? cursor.prevSibling() : cursor.nextSibling())\n break;\n if (!cursor.parent())\n return side < 0 ? 0 : tree.length;\n }\n }\n}\nclass FragmentCursor {\n constructor(fragments, nodeSet) {\n this.fragments = fragments;\n this.nodeSet = nodeSet;\n this.i = 0;\n this.fragment = null;\n this.safeFrom = -1;\n this.safeTo = -1;\n this.trees = [];\n this.start = [];\n this.index = [];\n this.nextFragment();\n }\n nextFragment() {\n let fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];\n if (fr) {\n this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from;\n this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to;\n while (this.trees.length) {\n this.trees.pop();\n this.start.pop();\n this.index.pop();\n }\n this.trees.push(fr.tree);\n this.start.push(-fr.offset);\n this.index.push(0);\n this.nextStart = this.safeFrom;\n }\n else {\n this.nextStart = 1e9;\n }\n }\n // `pos` must be >= any previously given `pos` for this cursor\n nodeAt(pos) {\n if (pos < this.nextStart)\n return null;\n while (this.fragment && this.safeTo <= pos)\n this.nextFragment();\n if (!this.fragment)\n return null;\n for (;;) {\n let last = this.trees.length - 1;\n if (last < 0) { // End of tree\n this.nextFragment();\n return null;\n }\n let top = this.trees[last], index = this.index[last];\n if (index == top.children.length) {\n this.trees.pop();\n this.start.pop();\n this.index.pop();\n continue;\n }\n let next = top.children[index];\n let start = this.start[last] + top.positions[index];\n if (start > pos) {\n this.nextStart = start;\n return null;\n }\n if (next instanceof Tree) {\n if (start == pos) {\n if (start < this.safeFrom)\n return null;\n let end = start + next.length;\n if (end <= this.safeTo) {\n let lookAhead = next.prop(NodeProp.lookAhead);\n if (!lookAhead || end + lookAhead < this.fragment.to)\n return next;\n }\n }\n this.index[last]++;\n if (start + next.length >= Math.max(this.safeFrom, pos)) { // Enter this node\n this.trees.push(next);\n this.start.push(start);\n this.index.push(0);\n }\n }\n else {\n this.index[last]++;\n this.nextStart = start + next.length;\n }\n }\n }\n}\nclass TokenCache {\n constructor(parser, stream) {\n this.stream = stream;\n this.tokens = [];\n this.mainToken = null;\n this.actions = [];\n this.tokens = parser.tokenizers.map(_ => new CachedToken);\n }\n getActions(stack) {\n let actionIndex = 0;\n let main = null;\n let { parser } = stack.p, { tokenizers } = parser;\n let mask = parser.stateSlot(stack.state, 3 /* ParseState.TokenizerMask */);\n let context = stack.curContext ? stack.curContext.hash : 0;\n let lookAhead = 0;\n for (let i = 0; i < tokenizers.length; i++) {\n if (((1 << i) & mask) == 0)\n continue;\n let tokenizer = tokenizers[i], token = this.tokens[i];\n if (main && !tokenizer.fallback)\n continue;\n if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) {\n this.updateCachedToken(token, tokenizer, stack);\n token.mask = mask;\n token.context = context;\n }\n if (token.lookAhead > token.end + 25 /* Lookahead.Margin */)\n lookAhead = Math.max(token.lookAhead, lookAhead);\n if (token.value != 0 /* Term.Err */) {\n let startIndex = actionIndex;\n if (token.extended > -1)\n actionIndex = this.addActions(stack, token.extended, token.end, actionIndex);\n actionIndex = this.addActions(stack, token.value, token.end, actionIndex);\n if (!tokenizer.extend) {\n main = token;\n if (actionIndex > startIndex)\n break;\n }\n }\n }\n while (this.actions.length > actionIndex)\n this.actions.pop();\n if (lookAhead)\n stack.setLookAhead(lookAhead);\n if (!main && stack.pos == this.stream.end) {\n main = new CachedToken;\n main.value = stack.p.parser.eofTerm;\n main.start = main.end = stack.pos;\n actionIndex = this.addActions(stack, main.value, main.end, actionIndex);\n }\n this.mainToken = main;\n return this.actions;\n }\n getMainToken(stack) {\n if (this.mainToken)\n return this.mainToken;\n let main = new CachedToken, { pos, p } = stack;\n main.start = pos;\n main.end = Math.min(pos + 1, p.stream.end);\n main.value = pos == p.stream.end ? p.parser.eofTerm : 0 /* Term.Err */;\n return main;\n }\n updateCachedToken(token, tokenizer, stack) {\n let start = this.stream.clipPos(stack.pos);\n tokenizer.token(this.stream.reset(start, token), stack);\n if (token.value > -1) {\n let { parser } = stack.p;\n for (let i = 0; i < parser.specialized.length; i++)\n if (parser.specialized[i] == token.value) {\n let result = parser.specializers[i](this.stream.read(token.start, token.end), stack);\n if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) {\n if ((result & 1) == 0 /* Specialize.Specialize */)\n token.value = result >> 1;\n else\n token.extended = result >> 1;\n break;\n }\n }\n }\n else {\n token.value = 0 /* Term.Err */;\n token.end = this.stream.clipPos(start + 1);\n }\n }\n putAction(action, token, end, index) {\n // Don't add duplicate actions\n for (let i = 0; i < index; i += 3)\n if (this.actions[i] == action)\n return index;\n this.actions[index++] = action;\n this.actions[index++] = token;\n this.actions[index++] = end;\n return index;\n }\n addActions(stack, token, end, index) {\n let { state } = stack, { parser } = stack.p, { data } = parser;\n for (let set = 0; set < 2; set++) {\n for (let i = parser.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */);; i += 3) {\n if (data[i] == 65535 /* Seq.End */) {\n if (data[i + 1] == 1 /* Seq.Next */) {\n i = pair(data, i + 2);\n }\n else {\n if (index == 0 && data[i + 1] == 2 /* Seq.Other */)\n index = this.putAction(pair(data, i + 2), token, end, index);\n break;\n }\n }\n if (data[i] == token)\n index = this.putAction(pair(data, i + 1), token, end, index);\n }\n }\n return index;\n }\n}\nclass Parse {\n constructor(parser, input, fragments, ranges) {\n this.parser = parser;\n this.input = input;\n this.ranges = ranges;\n this.recovering = 0;\n this.nextStackID = 0x2654; // ♔, ♕, ♖, ♗, ♘, ♙, ♠, ♡, ♢, ♣, ♤, ♥, ♦, ♧\n this.minStackPos = 0;\n this.reused = [];\n this.stoppedAt = null;\n this.lastBigReductionStart = -1;\n this.lastBigReductionSize = 0;\n this.bigReductionCount = 0;\n this.stream = new InputStream(input, ranges);\n this.tokens = new TokenCache(parser, this.stream);\n this.topTerm = parser.top[1];\n let { from } = ranges[0];\n this.stacks = [Stack.start(this, parser.top[0], from)];\n this.fragments = fragments.length && this.stream.end - from > parser.bufferLength * 4\n ? new FragmentCursor(fragments, parser.nodeSet) : null;\n }\n get parsedPos() {\n return this.minStackPos;\n }\n // Move the parser forward. This will process all parse stacks at\n // `this.pos` and try to advance them to a further position. If no\n // stack for such a position is found, it'll start error-recovery.\n //\n // When the parse is finished, this will return a syntax tree. When\n // not, it returns `null`.\n advance() {\n let stacks = this.stacks, pos = this.minStackPos;\n // This will hold stacks beyond `pos`.\n let newStacks = this.stacks = [];\n let stopped, stoppedTokens;\n // If a large amount of reductions happened with the same start\n // position, force the stack out of that production in order to\n // avoid creating a tree too deep to recurse through.\n // (This is an ugly kludge, because unfortunately there is no\n // straightforward, cheap way to check for this happening, due to\n // the history of reductions only being available in an\n // expensive-to-access format in the stack buffers.)\n if (this.bigReductionCount > 300 /* Rec.MaxLeftAssociativeReductionCount */ && stacks.length == 1) {\n let [s] = stacks;\n while (s.forceReduce() && s.stack.length && s.stack[s.stack.length - 2] >= this.lastBigReductionStart) { }\n this.bigReductionCount = this.lastBigReductionSize = 0;\n }\n // Keep advancing any stacks at `pos` until they either move\n // forward or can't be advanced. Gather stacks that can't be\n // advanced further in `stopped`.\n for (let i = 0; i < stacks.length; i++) {\n let stack = stacks[i];\n for (;;) {\n this.tokens.mainToken = null;\n if (stack.pos > pos) {\n newStacks.push(stack);\n }\n else if (this.advanceStack(stack, newStacks, stacks)) {\n continue;\n }\n else {\n if (!stopped) {\n stopped = [];\n stoppedTokens = [];\n }\n stopped.push(stack);\n let tok = this.tokens.getMainToken(stack);\n stoppedTokens.push(tok.value, tok.end);\n }\n break;\n }\n }\n if (!newStacks.length) {\n let finished = stopped && findFinished(stopped);\n if (finished) {\n if (verbose)\n console.log(\"Finish with \" + this.stackID(finished));\n return this.stackToTree(finished);\n }\n if (this.parser.strict) {\n if (verbose && stopped)\n console.log(\"Stuck with token \" + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : \"none\"));\n throw new SyntaxError(\"No parse at \" + pos);\n }\n if (!this.recovering)\n this.recovering = 5 /* Rec.Distance */;\n }\n if (this.recovering && stopped) {\n let finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0]\n : this.runRecovery(stopped, stoppedTokens, newStacks);\n if (finished) {\n if (verbose)\n console.log(\"Force-finish \" + this.stackID(finished));\n return this.stackToTree(finished.forceAll());\n }\n }\n if (this.recovering) {\n let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3 /* Rec.MaxRemainingPerStep */;\n if (newStacks.length > maxRemaining) {\n newStacks.sort((a, b) => b.score - a.score);\n while (newStacks.length > maxRemaining)\n newStacks.pop();\n }\n if (newStacks.some(s => s.reducePos > pos))\n this.recovering--;\n }\n else if (newStacks.length > 1) {\n // Prune stacks that are in the same state, or that have been\n // running without splitting for a while, to avoid getting stuck\n // with multiple successful stacks running endlessly on.\n outer: for (let i = 0; i < newStacks.length - 1; i++) {\n let stack = newStacks[i];\n for (let j = i + 1; j < newStacks.length; j++) {\n let other = newStacks[j];\n if (stack.sameState(other) ||\n stack.buffer.length > 500 /* Rec.MinBufferLengthPrune */ && other.buffer.length > 500 /* Rec.MinBufferLengthPrune */) {\n if (((stack.score - other.score) || (stack.buffer.length - other.buffer.length)) > 0) {\n newStacks.splice(j--, 1);\n }\n else {\n newStacks.splice(i--, 1);\n continue outer;\n }\n }\n }\n }\n if (newStacks.length > 12 /* Rec.MaxStackCount */)\n newStacks.splice(12 /* Rec.MaxStackCount */, newStacks.length - 12 /* Rec.MaxStackCount */);\n }\n this.minStackPos = newStacks[0].pos;\n for (let i = 1; i < newStacks.length; i++)\n if (newStacks[i].pos < this.minStackPos)\n this.minStackPos = newStacks[i].pos;\n return null;\n }\n stopAt(pos) {\n if (this.stoppedAt != null && this.stoppedAt < pos)\n throw new RangeError(\"Can't move stoppedAt forward\");\n this.stoppedAt = pos;\n }\n // Returns an updated version of the given stack, or null if the\n // stack can't advance normally. When `split` and `stacks` are\n // given, stacks split off by ambiguous operations will be pushed to\n // `split`, or added to `stacks` if they move `pos` forward.\n advanceStack(stack, stacks, split) {\n let start = stack.pos, { parser } = this;\n let base = verbose ? this.stackID(stack) + \" -> \" : \"\";\n if (this.stoppedAt != null && start > this.stoppedAt)\n return stack.forceReduce() ? stack : null;\n if (this.fragments) {\n let strictCx = stack.curContext && stack.curContext.tracker.strict, cxHash = strictCx ? stack.curContext.hash : 0;\n for (let cached = this.fragments.nodeAt(start); cached;) {\n let match = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser.getGoto(stack.state, cached.type.id) : -1;\n if (match > -1 && cached.length && (!strictCx || (cached.prop(NodeProp.contextHash) || 0) == cxHash)) {\n stack.useNode(cached, match);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via reuse of ${parser.getName(cached.type.id)})`);\n return true;\n }\n if (!(cached instanceof Tree) || cached.children.length == 0 || cached.positions[0] > 0)\n break;\n let inner = cached.children[0];\n if (inner instanceof Tree && cached.positions[0] == 0)\n cached = inner;\n else\n break;\n }\n }\n let defaultReduce = parser.stateSlot(stack.state, 4 /* ParseState.DefaultReduce */);\n if (defaultReduce > 0) {\n stack.reduce(defaultReduce);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via always-reduce ${parser.getName(defaultReduce & 65535 /* Action.ValueMask */)})`);\n return true;\n }\n if (stack.stack.length >= 8400 /* Rec.CutDepth */) {\n while (stack.stack.length > 6000 /* Rec.CutTo */ && stack.forceReduce()) { }\n }\n let actions = this.tokens.getActions(stack);\n for (let i = 0; i < actions.length;) {\n let action = actions[i++], term = actions[i++], end = actions[i++];\n let last = i == actions.length || !split;\n let localStack = last ? stack : stack.split();\n let main = this.tokens.mainToken;\n localStack.apply(action, term, main ? main.start : localStack.pos, end);\n if (verbose)\n console.log(base + this.stackID(localStack) + ` (via ${(action & 65536 /* Action.ReduceFlag */) == 0 ? \"shift\"\n : `reduce of ${parser.getName(action & 65535 /* Action.ValueMask */)}`} for ${parser.getName(term)} @ ${start}${localStack == stack ? \"\" : \", split\"})`);\n if (last)\n return true;\n else if (localStack.pos > start)\n stacks.push(localStack);\n else\n split.push(localStack);\n }\n return false;\n }\n // Advance a given stack forward as far as it will go. Returns the\n // (possibly updated) stack if it got stuck, or null if it moved\n // forward and was given to `pushStackDedup`.\n advanceFully(stack, newStacks) {\n let pos = stack.pos;\n for (;;) {\n if (!this.advanceStack(stack, null, null))\n return false;\n if (stack.pos > pos) {\n pushStackDedup(stack, newStacks);\n return true;\n }\n }\n }\n runRecovery(stacks, tokens, newStacks) {\n let finished = null, restarted = false;\n for (let i = 0; i < stacks.length; i++) {\n let stack = stacks[i], token = tokens[i << 1], tokenEnd = tokens[(i << 1) + 1];\n let base = verbose ? this.stackID(stack) + \" -> \" : \"\";\n if (stack.deadEnd) {\n if (restarted)\n continue;\n restarted = true;\n stack.restart();\n if (verbose)\n console.log(base + this.stackID(stack) + \" (restarted)\");\n let done = this.advanceFully(stack, newStacks);\n if (done)\n continue;\n }\n let force = stack.split(), forceBase = base;\n for (let j = 0; j < 10 /* Rec.ForceReduceLimit */ && force.forceReduce(); j++) {\n if (verbose)\n console.log(forceBase + this.stackID(force) + \" (via force-reduce)\");\n let done = this.advanceFully(force, newStacks);\n if (done)\n break;\n if (verbose)\n forceBase = this.stackID(force) + \" -> \";\n }\n for (let insert of stack.recoverByInsert(token)) {\n if (verbose)\n console.log(base + this.stackID(insert) + \" (via recover-insert)\");\n this.advanceFully(insert, newStacks);\n }\n if (this.stream.end > stack.pos) {\n if (tokenEnd == stack.pos) {\n tokenEnd++;\n token = 0 /* Term.Err */;\n }\n stack.recoverByDelete(token, tokenEnd);\n if (verbose)\n console.log(base + this.stackID(stack) + ` (via recover-delete ${this.parser.getName(token)})`);\n pushStackDedup(stack, newStacks);\n }\n else if (!finished || finished.score < stack.score) {\n finished = stack;\n }\n }\n return finished;\n }\n // Convert the stack's buffer to a syntax tree.\n stackToTree(stack) {\n stack.close();\n return Tree.build({ buffer: StackBufferCursor.create(stack),\n nodeSet: this.parser.nodeSet,\n topID: this.topTerm,\n maxBufferLength: this.parser.bufferLength,\n reused: this.reused,\n start: this.ranges[0].from,\n length: stack.pos - this.ranges[0].from,\n minRepeatType: this.parser.minRepeatTerm });\n }\n stackID(stack) {\n let id = (stackIDs || (stackIDs = new WeakMap)).get(stack);\n if (!id)\n stackIDs.set(stack, id = String.fromCodePoint(this.nextStackID++));\n return id + stack;\n }\n}\nfunction pushStackDedup(stack, newStacks) {\n for (let i = 0; i < newStacks.length; i++) {\n let other = newStacks[i];\n if (other.pos == stack.pos && other.sameState(stack)) {\n if (newStacks[i].score < stack.score)\n newStacks[i] = stack;\n return;\n }\n }\n newStacks.push(stack);\n}\nclass Dialect {\n constructor(source, flags, disabled) {\n this.source = source;\n this.flags = flags;\n this.disabled = disabled;\n }\n allows(term) { return !this.disabled || this.disabled[term] == 0; }\n}\nconst id = x => x;\n/**\nContext trackers are used to track stateful context (such as\nindentation in the Python grammar, or parent elements in the XML\ngrammar) needed by external tokenizers. You declare them in a\ngrammar file as `@context exportName from \"module\"`.\n\nContext values should be immutable, and can be updated (replaced)\non shift or reduce actions.\n\nThe export used in a `@context` declaration should be of this\ntype.\n*/\nclass ContextTracker {\n /**\n Define a context tracker.\n */\n constructor(spec) {\n this.start = spec.start;\n this.shift = spec.shift || id;\n this.reduce = spec.reduce || id;\n this.reuse = spec.reuse || id;\n this.hash = spec.hash || (() => 0);\n this.strict = spec.strict !== false;\n }\n}\n/**\nHolds the parse tables for a given grammar, as generated by\n`lezer-generator`, and provides [methods](#common.Parser) to parse\ncontent with.\n*/\nclass LRParser extends Parser {\n /**\n @internal\n */\n constructor(spec) {\n super();\n /**\n @internal\n */\n this.wrappers = [];\n if (spec.version != 14 /* File.Version */)\n throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14 /* File.Version */})`);\n let nodeNames = spec.nodeNames.split(\" \");\n this.minRepeatTerm = nodeNames.length;\n for (let i = 0; i < spec.repeatNodeCount; i++)\n nodeNames.push(\"\");\n let topTerms = Object.keys(spec.topRules).map(r => spec.topRules[r][1]);\n let nodeProps = [];\n for (let i = 0; i < nodeNames.length; i++)\n nodeProps.push([]);\n function setProp(nodeID, prop, value) {\n nodeProps[nodeID].push([prop, prop.deserialize(String(value))]);\n }\n if (spec.nodeProps)\n for (let propSpec of spec.nodeProps) {\n let prop = propSpec[0];\n if (typeof prop == \"string\")\n prop = NodeProp[prop];\n for (let i = 1; i < propSpec.length;) {\n let next = propSpec[i++];\n if (next >= 0) {\n setProp(next, prop, propSpec[i++]);\n }\n else {\n let value = propSpec[i + -next];\n for (let j = -next; j > 0; j--)\n setProp(propSpec[i++], prop, value);\n i++;\n }\n }\n }\n this.nodeSet = new NodeSet(nodeNames.map((name, i) => NodeType.define({\n name: i >= this.minRepeatTerm ? undefined : name,\n id: i,\n props: nodeProps[i],\n top: topTerms.indexOf(i) > -1,\n error: i == 0,\n skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1\n })));\n if (spec.propSources)\n this.nodeSet = this.nodeSet.extend(...spec.propSources);\n this.strict = false;\n this.bufferLength = DefaultBufferLength;\n let tokenArray = decodeArray(spec.tokenData);\n this.context = spec.context;\n this.specializerSpecs = spec.specialized || [];\n this.specialized = new Uint16Array(this.specializerSpecs.length);\n for (let i = 0; i < this.specializerSpecs.length; i++)\n this.specialized[i] = this.specializerSpecs[i].term;\n this.specializers = this.specializerSpecs.map(getSpecializer);\n this.states = decodeArray(spec.states, Uint32Array);\n this.data = decodeArray(spec.stateData);\n this.goto = decodeArray(spec.goto);\n this.maxTerm = spec.maxTerm;\n this.tokenizers = spec.tokenizers.map(value => typeof value == \"number\" ? new TokenGroup(tokenArray, value) : value);\n this.topRules = spec.topRules;\n this.dialects = spec.dialects || {};\n this.dynamicPrecedences = spec.dynamicPrecedences || null;\n this.tokenPrecTable = spec.tokenPrec;\n this.termNames = spec.termNames || null;\n this.maxNode = this.nodeSet.types.length - 1;\n this.dialect = this.parseDialect();\n this.top = this.topRules[Object.keys(this.topRules)[0]];\n }\n createParse(input, fragments, ranges) {\n let parse = new Parse(this, input, fragments, ranges);\n for (let w of this.wrappers)\n parse = w(parse, input, fragments, ranges);\n return parse;\n }\n /**\n Get a goto table entry @internal\n */\n getGoto(state, term, loose = false) {\n let table = this.goto;\n if (term >= table[0])\n return -1;\n for (let pos = table[term + 1];;) {\n let groupTag = table[pos++], last = groupTag & 1;\n let target = table[pos++];\n if (last && loose)\n return target;\n for (let end = pos + (groupTag >> 1); pos < end; pos++)\n if (table[pos] == state)\n return target;\n if (last)\n return -1;\n }\n }\n /**\n Check if this state has an action for a given terminal @internal\n */\n hasAction(state, terminal) {\n let data = this.data;\n for (let set = 0; set < 2; set++) {\n for (let i = this.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */), next;; i += 3) {\n if ((next = data[i]) == 65535 /* Seq.End */) {\n if (data[i + 1] == 1 /* Seq.Next */)\n next = data[i = pair(data, i + 2)];\n else if (data[i + 1] == 2 /* Seq.Other */)\n return pair(data, i + 2);\n else\n break;\n }\n if (next == terminal || next == 0 /* Term.Err */)\n return pair(data, i + 1);\n }\n }\n return 0;\n }\n /**\n @internal\n */\n stateSlot(state, slot) {\n return this.states[(state * 6 /* ParseState.Size */) + slot];\n }\n /**\n @internal\n */\n stateFlag(state, flag) {\n return (this.stateSlot(state, 0 /* ParseState.Flags */) & flag) > 0;\n }\n /**\n @internal\n */\n validAction(state, action) {\n return !!this.allActions(state, a => a == action ? true : null);\n }\n /**\n @internal\n */\n allActions(state, action) {\n let deflt = this.stateSlot(state, 4 /* ParseState.DefaultReduce */);\n let result = deflt ? action(deflt) : undefined;\n for (let i = this.stateSlot(state, 1 /* ParseState.Actions */); result == null; i += 3) {\n if (this.data[i] == 65535 /* Seq.End */) {\n if (this.data[i + 1] == 1 /* Seq.Next */)\n i = pair(this.data, i + 2);\n else\n break;\n }\n result = action(pair(this.data, i + 1));\n }\n return result;\n }\n /**\n Get the states that can follow this one through shift actions or\n goto jumps. @internal\n */\n nextStates(state) {\n let result = [];\n for (let i = this.stateSlot(state, 1 /* ParseState.Actions */);; i += 3) {\n if (this.data[i] == 65535 /* Seq.End */) {\n if (this.data[i + 1] == 1 /* Seq.Next */)\n i = pair(this.data, i + 2);\n else\n break;\n }\n if ((this.data[i + 2] & (65536 /* Action.ReduceFlag */ >> 16)) == 0) {\n let value = this.data[i + 1];\n if (!result.some((v, i) => (i & 1) && v == value))\n result.push(this.data[i], value);\n }\n }\n return result;\n }\n /**\n Configure the parser. Returns a new parser instance that has the\n given settings modified. Settings not provided in `config` are\n kept from the original parser.\n */\n configure(config) {\n // Hideous reflection-based kludge to make it easy to create a\n // slightly modified copy of a parser.\n let copy = Object.assign(Object.create(LRParser.prototype), this);\n if (config.props)\n copy.nodeSet = this.nodeSet.extend(...config.props);\n if (config.top) {\n let info = this.topRules[config.top];\n if (!info)\n throw new RangeError(`Invalid top rule name ${config.top}`);\n copy.top = info;\n }\n if (config.tokenizers)\n copy.tokenizers = this.tokenizers.map(t => {\n let found = config.tokenizers.find(r => r.from == t);\n return found ? found.to : t;\n });\n if (config.specializers) {\n copy.specializers = this.specializers.slice();\n copy.specializerSpecs = this.specializerSpecs.map((s, i) => {\n let found = config.specializers.find(r => r.from == s.external);\n if (!found)\n return s;\n let spec = Object.assign(Object.assign({}, s), { external: found.to });\n copy.specializers[i] = getSpecializer(spec);\n return spec;\n });\n }\n if (config.contextTracker)\n copy.context = config.contextTracker;\n if (config.dialect)\n copy.dialect = this.parseDialect(config.dialect);\n if (config.strict != null)\n copy.strict = config.strict;\n if (config.wrap)\n copy.wrappers = copy.wrappers.concat(config.wrap);\n if (config.bufferLength != null)\n copy.bufferLength = config.bufferLength;\n return copy;\n }\n /**\n Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)\n are registered for this parser.\n */\n hasWrappers() {\n return this.wrappers.length > 0;\n }\n /**\n Returns the name associated with a given term. This will only\n work for all terms when the parser was generated with the\n `--names` option. By default, only the names of tagged terms are\n stored.\n */\n getName(term) {\n return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term);\n }\n /**\n The eof term id is always allocated directly after the node\n types. @internal\n */\n get eofTerm() { return this.maxNode + 1; }\n /**\n The type of top node produced by the parser.\n */\n get topNode() { return this.nodeSet.types[this.top[1]]; }\n /**\n @internal\n */\n dynamicPrecedence(term) {\n let prec = this.dynamicPrecedences;\n return prec == null ? 0 : prec[term] || 0;\n }\n /**\n @internal\n */\n parseDialect(dialect) {\n let values = Object.keys(this.dialects), flags = values.map(() => false);\n if (dialect)\n for (let part of dialect.split(\" \")) {\n let id = values.indexOf(part);\n if (id >= 0)\n flags[id] = true;\n }\n let disabled = null;\n for (let i = 0; i < values.length; i++)\n if (!flags[i]) {\n for (let j = this.dialects[values[i]], id; (id = this.data[j++]) != 65535 /* Seq.End */;)\n (disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id] = 1;\n }\n return new Dialect(dialect, flags, disabled);\n }\n /**\n Used by the output of the parser generator. Not available to\n user code. @hide\n */\n static deserialize(spec) {\n return new LRParser(spec);\n }\n}\nfunction pair(data, off) { return data[off] | (data[off + 1] << 16); }\nfunction findFinished(stacks) {\n let best = null;\n for (let stack of stacks) {\n let stopped = stack.p.stoppedAt;\n if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) &&\n stack.p.parser.stateFlag(stack.state, 2 /* StateFlag.Accepting */) &&\n (!best || best.score < stack.score))\n best = stack;\n }\n return best;\n}\nfunction getSpecializer(spec) {\n if (spec.external) {\n let mask = spec.extend ? 1 /* Specialize.Extend */ : 0 /* Specialize.Specialize */;\n return (value, stack) => (spec.external(value, stack) << 1) | mask;\n }\n return spec.get;\n}\n\nexport { ContextTracker, ExternalTokenizer, InputStream, LRParser, LocalTokenGroup, Stack };\n"],"names":["Stack","constructor","p","stack","state","reducePos","pos","score","buffer","bufferBase","curContext","lookAhead","parent","this","toString","filter","_","i","concat","start","cx","parser","context","StackContext","pushState","push","length","reduce","action","_a","depth","type","lookaheadRecord","setLookAhead","dPrec","dynamicPrecedence","getGoto","minRepeatTerm","storeNode","reduceContext","base","ranges","from","size","nodeSet","types","isAnonymous","lastBigReductionStart","bigReductionCount","lastBigReductionSize","count","stateFlag","baseStateID","pop","term","end","mustSink","cur","top","index","mustMove","scan","shift","shiftContext","maxNode","nextState","apply","next","nextStart","nextEnd","useNode","value","reused","updateContext","tracker","reuse","stream","reset","split","off","slice","recoverByDelete","isNode","canShift","sim","SimulatedStack","stateSlot","hasAction","recoverByInsert","nextStates","best","s","some","v","result","forceReduce","validAction","target","backup","findForcedReduction","seen","explore","includes","allActions","rDepth","found","forceAll","deadEnd","data","restart","sameState","other","dialectEnabled","dialectID","dialect","flags","emitContext","last","hash","emitLookAhead","newCx","close","strict","goto","StackBufferCursor","maybeNext","create","id","fork","decodeArray","input","Type","Uint16Array","array","out","charCodeAt","stop","digit","CachedToken","extended","mask","nullToken","InputStream","chunk","chunkOff","chunk2","chunk2Pos","token","rangeIndex","chunkPos","range","to","readNext","resolveOffset","offset","assoc","clipPos","Math","max","peek","idx","resolved","acceptToken","endOffset","RangeError","acceptTokenTo","endPos","getChunk","nextChunk","advance","n","setDone","read","r","min","TokenGroup","readToken","tokenPrecTable","prototype","contextual","fallback","extend","LocalTokenGroup","precTable","elseToken","skipped","atEof","nextPos","ExternalTokenizer","options","group","precOffset","groupMask","accEnd","allows","overrides","low","high","mid","findOffset","prev","tableData","tableOffset","iPrev","verbose","process","env","test","LOG","stackIDs","cutAt","tree","side","cursor","IterMode","IncludeAnonymous","moveTo","childBefore","childAfter","isError","prevSibling","nextSibling","FragmentCursor","fragments","fragment","safeFrom","safeTo","trees","nextFragment","fr","openStart","openEnd","nodeAt","children","positions","Tree","prop","NodeProp","TokenCache","tokens","mainToken","actions","tokenizers","map","getActions","actionIndex","main","tokenizer","updateCachedToken","startIndex","addActions","eofTerm","getMainToken","specialized","specializers","putAction","set","pair","Parse","recovering","nextStackID","minStackPos","stoppedAt","topTerm","stacks","bufferLength","parsedPos","stopped","stoppedTokens","newStacks","advanceStack","tok","finished","findFinished","console","log","stackID","stackToTree","getName","SyntaxError","runRecovery","maxRemaining","sort","a","b","outer","j","splice","stopAt","strictCx","cxHash","cached","match","contextHash","inner","defaultReduce","localStack","advanceFully","pushStackDedup","restarted","tokenEnd","force","forceBase","insert","build","topID","maxBufferLength","minRepeatType","WeakMap","get","String","fromCodePoint","Dialect","source","disabled","x","ContextTracker","spec","LRParser","Parser","super","wrappers","version","nodeNames","repeatNodeCount","topTerms","Object","keys","topRules","nodeProps","setProp","nodeID","deserialize","propSpec","NodeSet","name","NodeType","define","undefined","props","indexOf","error","skippedNodes","propSources","DefaultBufferLength","tokenArray","tokenData","specializerSpecs","getSpecializer","states","Uint32Array","stateData","maxTerm","dialects","dynamicPrecedences","tokenPrec","termNames","parseDialect","createParse","parse","w","loose","table","groupTag","terminal","slot","flag","deflt","configure","config","copy","assign","info","t","find","external","contextTracker","wrap","hasWrappers","topNode","prec","values","part","Uint8Array"],"mappings":"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","x_google_ignoreList":[0]}