ompchamber 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (938) hide show
  1. package/README.md +253 -0
  2. package/dist/client/apple-touch-icon.png +0 -0
  3. package/dist/client/icon-192x192.png +0 -0
  4. package/dist/client/icon-512x512.png +0 -0
  5. package/dist/client/icon-maskable-512x512.png +0 -0
  6. package/dist/client/icon.svg +60 -0
  7. package/dist/client/index.html +41 -0
  8. package/dist/client/manifest.webmanifest +38 -0
  9. package/dist/client/static/css/g.f36aa429fa.css +1 -0
  10. package/dist/client/static/css/index.a0f07455bd.css +2 -0
  11. package/dist/client/static/css/katex-vendor.ca3a0600e8.css +1 -0
  12. package/dist/client/static/font/KaTeX_AMS-Regular.1608a09b4a.woff +0 -0
  13. package/dist/client/static/font/KaTeX_AMS-Regular.4aafdb685c.ttf +0 -0
  14. package/dist/client/static/font/KaTeX_AMS-Regular.a79f1c3119.woff2 +0 -0
  15. package/dist/client/static/font/KaTeX_Caligraphic-Bold.b67709187b.woff +0 -0
  16. package/dist/client/static/font/KaTeX_Caligraphic-Bold.cce5b8ecea.ttf +0 -0
  17. package/dist/client/static/font/KaTeX_Caligraphic-Bold.ec17d13264.woff2 +0 -0
  18. package/dist/client/static/font/KaTeX_Caligraphic-Regular.07ef19e7b0.ttf +0 -0
  19. package/dist/client/static/font/KaTeX_Caligraphic-Regular.55fac25845.woff2 +0 -0
  20. package/dist/client/static/font/KaTeX_Caligraphic-Regular.dad44a7fc6.woff +0 -0
  21. package/dist/client/static/font/KaTeX_Fraktur-Bold.9f256b8593.woff +0 -0
  22. package/dist/client/static/font/KaTeX_Fraktur-Bold.b18f59e1d1.ttf +0 -0
  23. package/dist/client/static/font/KaTeX_Fraktur-Bold.d42a5579b0.woff2 +0 -0
  24. package/dist/client/static/font/KaTeX_Fraktur-Regular.7c1871215e.woff +0 -0
  25. package/dist/client/static/font/KaTeX_Fraktur-Regular.d3c882a649.woff2 +0 -0
  26. package/dist/client/static/font/KaTeX_Fraktur-Regular.ed38e79f57.ttf +0 -0
  27. package/dist/client/static/font/KaTeX_Main-Bold.b74a1a8b2c.ttf +0 -0
  28. package/dist/client/static/font/KaTeX_Main-Bold.c3fb5ac22f.woff2 +0 -0
  29. package/dist/client/static/font/KaTeX_Main-Bold.d181c4650d.woff +0 -0
  30. package/dist/client/static/font/KaTeX_Main-BoldItalic.6f2bb1dff2.woff2 +0 -0
  31. package/dist/client/static/font/KaTeX_Main-BoldItalic.70d8b0a530.ttf +0 -0
  32. package/dist/client/static/font/KaTeX_Main-BoldItalic.e3f82f9d27.woff +0 -0
  33. package/dist/client/static/font/KaTeX_Main-Italic.47373d1e51.ttf +0 -0
  34. package/dist/client/static/font/KaTeX_Main-Italic.8916142bec.woff2 +0 -0
  35. package/dist/client/static/font/KaTeX_Main-Italic.9024d815ba.woff +0 -0
  36. package/dist/client/static/font/KaTeX_Main-Regular.0462f03bdf.woff2 +0 -0
  37. package/dist/client/static/font/KaTeX_Main-Regular.7f51fe0340.woff +0 -0
  38. package/dist/client/static/font/KaTeX_Main-Regular.b7f8fe9b5f.ttf +0 -0
  39. package/dist/client/static/font/KaTeX_Math-BoldItalic.572d331f69.woff2 +0 -0
  40. package/dist/client/static/font/KaTeX_Math-BoldItalic.a879cf8383.ttf +0 -0
  41. package/dist/client/static/font/KaTeX_Math-BoldItalic.f1035d8d5d.woff +0 -0
  42. package/dist/client/static/font/KaTeX_Math-Italic.5295ba483a.woff +0 -0
  43. package/dist/client/static/font/KaTeX_Math-Italic.939bc64440.ttf +0 -0
  44. package/dist/client/static/font/KaTeX_Math-Italic.f28c23acad.woff2 +0 -0
  45. package/dist/client/static/font/KaTeX_SansSerif-Bold.8c5b5494b6.woff2 +0 -0
  46. package/dist/client/static/font/KaTeX_SansSerif-Bold.94e1e8dc5f.ttf +0 -0
  47. package/dist/client/static/font/KaTeX_SansSerif-Bold.bf59d231c3.woff +0 -0
  48. package/dist/client/static/font/KaTeX_SansSerif-Italic.3b1e59b3ba.woff2 +0 -0
  49. package/dist/client/static/font/KaTeX_SansSerif-Italic.7c9bc82b17.woff +0 -0
  50. package/dist/client/static/font/KaTeX_SansSerif-Italic.b4c20c84d8.ttf +0 -0
  51. package/dist/client/static/font/KaTeX_SansSerif-Regular.740484788f.woff +0 -0
  52. package/dist/client/static/font/KaTeX_SansSerif-Regular.ba21ed5f84.woff2 +0 -0
  53. package/dist/client/static/font/KaTeX_SansSerif-Regular.d4d7ba4804.ttf +0 -0
  54. package/dist/client/static/font/KaTeX_Script-Regular.03e9641d6f.woff2 +0 -0
  55. package/dist/client/static/font/KaTeX_Script-Regular.0750571032.woff +0 -0
  56. package/dist/client/static/font/KaTeX_Script-Regular.fe9cbbe1a0.ttf +0 -0
  57. package/dist/client/static/font/KaTeX_Size1-Regular.e1e279cbdd.woff +0 -0
  58. package/dist/client/static/font/KaTeX_Size1-Regular.eae34984b3.woff2 +0 -0
  59. package/dist/client/static/font/KaTeX_Size1-Regular.fabc004aab.ttf +0 -0
  60. package/dist/client/static/font/KaTeX_Size2-Regular.577270225e.woff +0 -0
  61. package/dist/client/static/font/KaTeX_Size2-Regular.5916a24fa3.woff2 +0 -0
  62. package/dist/client/static/font/KaTeX_Size2-Regular.d6b476ecd3.ttf +0 -0
  63. package/dist/client/static/font/KaTeX_Size3-Regular.9acaf01c64.woff +0 -0
  64. package/dist/client/static/font/KaTeX_Size3-Regular.a144ef5840.ttf +0 -0
  65. package/dist/client/static/font/KaTeX_Size4-Regular.10d95fd3a2.woff2 +0 -0
  66. package/dist/client/static/font/KaTeX_Size4-Regular.7a996c9da2.woff +0 -0
  67. package/dist/client/static/font/KaTeX_Size4-Regular.fbccdabe0a.ttf +0 -0
  68. package/dist/client/static/font/KaTeX_Typewriter-Regular.6258592bdc.woff +0 -0
  69. package/dist/client/static/font/KaTeX_Typewriter-Regular.a8709e3622.woff2 +0 -0
  70. package/dist/client/static/font/KaTeX_Typewriter-Regular.d97aaf4a1e.ttf +0 -0
  71. package/dist/client/static/font/fira-code-cyrillic-400-normal.5971438a4a.woff2 +0 -0
  72. package/dist/client/static/font/fira-code-cyrillic-400-normal.9bb7bfea9c.woff +0 -0
  73. package/dist/client/static/font/fira-code-cyrillic-500-normal.5486265b18.woff2 +0 -0
  74. package/dist/client/static/font/fira-code-cyrillic-500-normal.89f92bfb31.woff +0 -0
  75. package/dist/client/static/font/fira-code-cyrillic-600-normal.2805b497e5.woff +0 -0
  76. package/dist/client/static/font/fira-code-cyrillic-600-normal.86e0df22a3.woff2 +0 -0
  77. package/dist/client/static/font/fira-code-cyrillic-700-normal.505a88f22a.woff +0 -0
  78. package/dist/client/static/font/fira-code-cyrillic-700-normal.76f5e8d2e2.woff2 +0 -0
  79. package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.3c4b15e57d.woff2 +0 -0
  80. package/dist/client/static/font/fira-code-cyrillic-ext-400-normal.61323debaa.woff +0 -0
  81. package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.0f34210f2a.woff2 +0 -0
  82. package/dist/client/static/font/fira-code-cyrillic-ext-500-normal.2497cfa1aa.woff +0 -0
  83. package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.40fce94af9.woff2 +0 -0
  84. package/dist/client/static/font/fira-code-cyrillic-ext-600-normal.6c8774b829.woff +0 -0
  85. package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.4b742eb865.woff +0 -0
  86. package/dist/client/static/font/fira-code-cyrillic-ext-700-normal.e75eb4fccc.woff2 +0 -0
  87. package/dist/client/static/font/fira-code-greek-400-normal.bb900468b6.woff2 +0 -0
  88. package/dist/client/static/font/fira-code-greek-400-normal.be76e699ba.woff +0 -0
  89. package/dist/client/static/font/fira-code-greek-500-normal.176c9fb001.woff2 +0 -0
  90. package/dist/client/static/font/fira-code-greek-500-normal.d2c596136b.woff +0 -0
  91. package/dist/client/static/font/fira-code-greek-600-normal.490c3deed7.woff +0 -0
  92. package/dist/client/static/font/fira-code-greek-600-normal.7df14376d9.woff2 +0 -0
  93. package/dist/client/static/font/fira-code-greek-700-normal.c82b6072fc.woff2 +0 -0
  94. package/dist/client/static/font/fira-code-greek-700-normal.d5f2b2917b.woff +0 -0
  95. package/dist/client/static/font/fira-code-greek-ext-400-normal.4849a79781.woff +0 -0
  96. package/dist/client/static/font/fira-code-greek-ext-400-normal.7f5bfc4538.woff2 +0 -0
  97. package/dist/client/static/font/fira-code-greek-ext-500-normal.aaccca4075.woff2 +0 -0
  98. package/dist/client/static/font/fira-code-greek-ext-500-normal.e383181256.woff +0 -0
  99. package/dist/client/static/font/fira-code-greek-ext-600-normal.78cb4bff8e.woff +0 -0
  100. package/dist/client/static/font/fira-code-greek-ext-600-normal.d6c93d54f9.woff2 +0 -0
  101. package/dist/client/static/font/fira-code-greek-ext-700-normal.57ec7c92d9.woff +0 -0
  102. package/dist/client/static/font/fira-code-greek-ext-700-normal.8fafdae5e8.woff2 +0 -0
  103. package/dist/client/static/font/fira-code-latin-400-normal.2655b10c55.woff2 +0 -0
  104. package/dist/client/static/font/fira-code-latin-400-normal.973295532b.woff +0 -0
  105. package/dist/client/static/font/fira-code-latin-500-normal.7ae2be8fb8.woff +0 -0
  106. package/dist/client/static/font/fira-code-latin-500-normal.92a991f204.woff2 +0 -0
  107. package/dist/client/static/font/fira-code-latin-600-normal.1dbbe5bc27.woff +0 -0
  108. package/dist/client/static/font/fira-code-latin-600-normal.43788eb7f1.woff2 +0 -0
  109. package/dist/client/static/font/fira-code-latin-700-normal.2667215d33.woff2 +0 -0
  110. package/dist/client/static/font/fira-code-latin-700-normal.497a70148b.woff +0 -0
  111. package/dist/client/static/font/fira-code-latin-ext-400-normal.9dfae29aaf.woff +0 -0
  112. package/dist/client/static/font/fira-code-latin-ext-400-normal.e534ae46e2.woff2 +0 -0
  113. package/dist/client/static/font/fira-code-latin-ext-500-normal.24c7b781b0.woff +0 -0
  114. package/dist/client/static/font/fira-code-latin-ext-500-normal.aad44ab072.woff2 +0 -0
  115. package/dist/client/static/font/fira-code-latin-ext-600-normal.7bed0f2f7e.woff +0 -0
  116. package/dist/client/static/font/fira-code-latin-ext-600-normal.c509a7c9f1.woff2 +0 -0
  117. package/dist/client/static/font/fira-code-latin-ext-700-normal.6c66c8b0a9.woff2 +0 -0
  118. package/dist/client/static/font/fira-code-latin-ext-700-normal.88f64e2822.woff +0 -0
  119. package/dist/client/static/font/fira-code-symbols2-400-normal.97d3f4b17c.woff +0 -0
  120. package/dist/client/static/font/fira-code-symbols2-500-normal.b06f1a06e4.woff +0 -0
  121. package/dist/client/static/font/fira-code-symbols2-600-normal.304b653b93.woff +0 -0
  122. package/dist/client/static/font/fira-code-symbols2-700-normal.d8ce0ad586.woff +0 -0
  123. package/dist/client/static/js/async/0.8e59f2eb5b.js +1 -0
  124. package/dist/client/static/js/async/0k.5852e6b4fa.js +1 -0
  125. package/dist/client/static/js/async/0w.9ed36d5860.js +1 -0
  126. package/dist/client/static/js/async/1.f387c12b63.js +1 -0
  127. package/dist/client/static/js/async/12.d091f91c99.js +1 -0
  128. package/dist/client/static/js/async/13.8f810a8a6c.js +1 -0
  129. package/dist/client/static/js/async/19.6fe909d55a.js +160 -0
  130. package/dist/client/static/js/async/1b.23f1141a38.js +1 -0
  131. package/dist/client/static/js/async/1k.544adbf77d.js +2 -0
  132. package/dist/client/static/js/async/1k.544adbf77d.js.LICENSE.txt +6 -0
  133. package/dist/client/static/js/async/1p.0d5cddda96.js +1 -0
  134. package/dist/client/static/js/async/2.b589f1733b.js +1 -0
  135. package/dist/client/static/js/async/2v.96165101de.js +1 -0
  136. package/dist/client/static/js/async/3.0cacc08423.js +1 -0
  137. package/dist/client/static/js/async/37.b28b2f61cd.js +1 -0
  138. package/dist/client/static/js/async/3d.5085fb913f.js +1 -0
  139. package/dist/client/static/js/async/3j.a2fcea99be.js +2 -0
  140. package/dist/client/static/js/async/3j.a2fcea99be.js.LICENSE.txt +11 -0
  141. package/dist/client/static/js/async/3p.bcf32a0983.js +1 -0
  142. package/dist/client/static/js/async/3r.3a69e98ee0.js +64 -0
  143. package/dist/client/static/js/async/3u.1228460e2a.js +1 -0
  144. package/dist/client/static/js/async/3y.22075aa079.js +198 -0
  145. package/dist/client/static/js/async/3y.22075aa079.js.LICENSE.txt +5 -0
  146. package/dist/client/static/js/async/4.9442eeb472.js +1 -0
  147. package/dist/client/static/js/async/4e.678285ca55.js +1 -0
  148. package/dist/client/static/js/async/4k.33a0c7eeb4.js +1 -0
  149. package/dist/client/static/js/async/4q.aad20dab25.js +1 -0
  150. package/dist/client/static/js/async/5.ebaf8b89cc.js +36 -0
  151. package/dist/client/static/js/async/51.1938cec320.js +2 -0
  152. package/dist/client/static/js/async/51.1938cec320.js.LICENSE.txt +6 -0
  153. package/dist/client/static/js/async/5b.d88304bc13.js +1 -0
  154. package/dist/client/static/js/async/5j.d6407c4248.js +287 -0
  155. package/dist/client/static/js/async/5o.88316d4460.js +62 -0
  156. package/dist/client/static/js/async/6.7929428505.js +1 -0
  157. package/dist/client/static/js/async/66.5dfa29f957.js +93 -0
  158. package/dist/client/static/js/async/69.a18a10882f.js +1 -0
  159. package/dist/client/static/js/async/6o.5b1a06a382.js +1 -0
  160. package/dist/client/static/js/async/7.e4a9288dd0.js +1 -0
  161. package/dist/client/static/js/async/73.50280ce58d.js +1 -0
  162. package/dist/client/static/js/async/7e.a1cc9bfd88.js +1 -0
  163. package/dist/client/static/js/async/7l.7a6a377ecc.js +1 -0
  164. package/dist/client/static/js/async/8.5067439d8c.js +1 -0
  165. package/dist/client/static/js/async/8j.ea110663fb.js +1 -0
  166. package/dist/client/static/js/async/a.bce4542392.js +1 -0
  167. package/dist/client/static/js/async/aa.65d3852576.js +1 -0
  168. package/dist/client/static/js/async/ar.9dc8b1992a.js +2 -0
  169. package/dist/client/static/js/async/ar.9dc8b1992a.js.LICENSE.txt +6 -0
  170. package/dist/client/static/js/async/az.d656062b0f.js +1 -0
  171. package/dist/client/static/js/async/b.b4f6f06515.js +1 -0
  172. package/dist/client/static/js/async/bi.cbfe8eaa8e.js +1 -0
  173. package/dist/client/static/js/async/bq.586bc738d1.js +1 -0
  174. package/dist/client/static/js/async/c.cd45b0ac45.js +1 -0
  175. package/dist/client/static/js/async/c0.0af1e640d3.js +24 -0
  176. package/dist/client/static/js/async/ca.8a52cfd447.js +1 -0
  177. package/dist/client/static/js/async/cf.d34fff5d67.js +1 -0
  178. package/dist/client/static/js/async/ct.38d9da8a5a.js +1 -0
  179. package/dist/client/static/js/async/cx.ca5feec570.js +226 -0
  180. package/dist/client/static/js/async/d.a5fc8fe1b3.js +1 -0
  181. package/dist/client/static/js/async/da.f62c70f6c8.js +1 -0
  182. package/dist/client/static/js/async/dp.1725d6432c.js +1 -0
  183. package/dist/client/static/js/async/e.93214d622b.js +79 -0
  184. package/dist/client/static/js/async/f.ab50467719.js +19 -0
  185. package/dist/client/static/js/async/f.ab50467719.js.LICENSE.txt +12 -0
  186. package/dist/client/static/js/async/f8.bbf0dbae70.js +1 -0
  187. package/dist/client/static/js/async/fw.fb1a08b92d.js +6 -0
  188. package/dist/client/static/js/async/fw.fb1a08b92d.js.LICENSE.txt +6 -0
  189. package/dist/client/static/js/async/h.4e790471e4.js +27 -0
  190. package/dist/client/static/js/async/h1.e8d5aa8e80.js +1 -0
  191. package/dist/client/static/js/async/h3.216e9798ab.js +148 -0
  192. package/dist/client/static/js/async/hd.0da931b622.js +1 -0
  193. package/dist/client/static/js/async/hk.ba7fb04d41.js +1 -0
  194. package/dist/client/static/js/async/hn.7568bdb58b.js +1 -0
  195. package/dist/client/static/js/async/ho.475a5e1ae4.js +1 -0
  196. package/dist/client/static/js/async/hp.e9fe2e395a.js +2 -0
  197. package/dist/client/static/js/async/hp.e9fe2e395a.js.LICENSE.txt +17 -0
  198. package/dist/client/static/js/async/hs.6d480d0ded.js +41 -0
  199. package/dist/client/static/js/async/i.7c148e8440.js +1 -0
  200. package/dist/client/static/js/async/id.573df20f29.js +1 -0
  201. package/dist/client/static/js/async/j.ab925882d8.js +1 -0
  202. package/dist/client/static/js/async/jd.63886a1f09.js +1 -0
  203. package/dist/client/static/js/async/jg.69a4beade8.js +86 -0
  204. package/dist/client/static/js/async/jl.874d352278.js +1 -0
  205. package/dist/client/static/js/async/jll.11313b455a.js +1 -0
  206. package/dist/client/static/js/async/js.67182759ef.js +1 -0
  207. package/dist/client/static/js/async/jsc.23b70d6f40.js +1 -0
  208. package/dist/client/static/js/async/jse.334588ff5d.js +1 -0
  209. package/dist/client/static/js/async/jz.72eb929106.js +77 -0
  210. package/dist/client/static/js/async/k.e878dd350f.js +217 -0
  211. package/dist/client/static/js/async/ka.c1990ecaa3.js +115 -0
  212. package/dist/client/static/js/async/ku.29c8a59d0c.js +1 -0
  213. package/dist/client/static/js/async/ky.8dab1dade0.js +1 -0
  214. package/dist/client/static/js/async/l.102a97fce6.js +104 -0
  215. package/dist/client/static/js/async/l6.45f3b62e15.js +1 -0
  216. package/dist/client/static/js/async/l9.949710adaf.js +83 -0
  217. package/dist/client/static/js/async/l9.949710adaf.js.LICENSE.txt +13 -0
  218. package/dist/client/static/js/async/m.3fc017a055.js +28 -0
  219. package/dist/client/static/js/async/m.3fc017a055.js.LICENSE.txt +6 -0
  220. package/dist/client/static/js/async/me.8ace414f80.js +23 -0
  221. package/dist/client/static/js/async/mt.0352e976d8.js +1 -0
  222. package/dist/client/static/js/async/n.a9f1c51701.js +1 -0
  223. package/dist/client/static/js/async/na.a36cd532d6.js +1 -0
  224. package/dist/client/static/js/async/nk.6de011832e.js +1 -0
  225. package/dist/client/static/js/async/o.36353dfb88.js +1 -0
  226. package/dist/client/static/js/async/oc.9c060c9779.js +8 -0
  227. package/dist/client/static/js/async/og.ae7acf03ac.js +193 -0
  228. package/dist/client/static/js/async/p.48ecfcd14e.js +1 -0
  229. package/dist/client/static/js/async/px.783b6f91f2.js +1 -0
  230. package/dist/client/static/js/async/q.0b6fb9bf8d.js +21 -0
  231. package/dist/client/static/js/async/q.0b6fb9bf8d.js.LICENSE.txt +6 -0
  232. package/dist/client/static/js/async/q5.e683f7c26e.js +286 -0
  233. package/dist/client/static/js/async/qs.2a9ddb3c72.js +1 -0
  234. package/dist/client/static/js/async/r.51010ad87c.js +1 -0
  235. package/dist/client/static/js/async/rd.b77011ab7f.js +2 -0
  236. package/dist/client/static/js/async/rd.b77011ab7f.js.LICENSE.txt +4 -0
  237. package/dist/client/static/js/async/rf.cfbde7f744.js +2 -0
  238. package/dist/client/static/js/async/rf.cfbde7f744.js.LICENSE.txt +6 -0
  239. package/dist/client/static/js/async/s.c7d521a8ae.js +2 -0
  240. package/dist/client/static/js/async/s.c7d521a8ae.js.LICENSE.txt +6 -0
  241. package/dist/client/static/js/async/sy.7345abcd67.js +94 -0
  242. package/dist/client/static/js/async/t.0dcb01dfde.js +1 -0
  243. package/dist/client/static/js/async/t9.d44f57d518.js +1 -0
  244. package/dist/client/static/js/async/ta.973534bbec.js +1 -0
  245. package/dist/client/static/js/async/ty.3d93cf5f5f.js +1 -0
  246. package/dist/client/static/js/async/u.0871ac5b22.js +1 -0
  247. package/dist/client/static/js/async/up.ea990da0ff.js +32 -0
  248. package/dist/client/static/js/async/uw.8890abbabc.js +1 -0
  249. package/dist/client/static/js/async/v.5c7a4b087b.js +1 -0
  250. package/dist/client/static/js/async/vn.e98e2f3b61.js +309 -0
  251. package/dist/client/static/js/async/vp.9b13bf8610.js +1 -0
  252. package/dist/client/static/js/async/vu.311f1d202c.js +34 -0
  253. package/dist/client/static/js/async/w.08ac210f60.js +1 -0
  254. package/dist/client/static/js/async/wt.ad92393a90.js +1 -0
  255. package/dist/client/static/js/async/x.563f72ca6b.js +1 -0
  256. package/dist/client/static/js/async/x0.475516418f.js +1 -0
  257. package/dist/client/static/js/async/x1.da8687159b.js +90 -0
  258. package/dist/client/static/js/async/xl.a3c562a58c.js +1 -0
  259. package/dist/client/static/js/async/xn.afecebbbd9.js +2 -0
  260. package/dist/client/static/js/async/xn.afecebbbd9.js.LICENSE.txt +12 -0
  261. package/dist/client/static/js/async/y.1a9ed7a5d8.js +1 -0
  262. package/dist/client/static/js/async/y6.43c57defe4.js +1 -0
  263. package/dist/client/static/js/async/yb.8c1342401d.js +1 -0
  264. package/dist/client/static/js/async/ybq.4491f2f2dc.js +1 -0
  265. package/dist/client/static/js/async/yg.9bd4e09ecb.js +149 -0
  266. package/dist/client/static/js/async/yq.917ddd7ba2.js +1 -0
  267. package/dist/client/static/js/async/ys.00687cf82d.js +38 -0
  268. package/dist/client/static/js/async/yv.593a3f7d54.js +1 -0
  269. package/dist/client/static/js/async/z.56f61a4374.js +1 -0
  270. package/dist/client/static/js/async/zi.5fdb07b86a.js +24 -0
  271. package/dist/client/static/js/async/zj.654f37e8ff.js +1 -0
  272. package/dist/client/static/js/async/zn.966d6f1cc6.js +1 -0
  273. package/dist/client/static/js/async/zo.26213b40c0.js +1 -0
  274. package/dist/client/static/js/async/zx.e9f4105e00.js +1 -0
  275. package/dist/client/static/js/g.124fba0826.js +139 -0
  276. package/dist/client/static/js/g.124fba0826.js.LICENSE.txt +8 -0
  277. package/dist/client/static/js/index.907fd4670e.js +68 -0
  278. package/dist/client/static/js/index.907fd4670e.js.LICENSE.txt +4 -0
  279. package/dist/client/static/js/katex-vendor.95e48cf65a.js +1 -0
  280. package/dist/client/static/js/markdown-vendor.9da142c67b.js +144 -0
  281. package/dist/client/static/js/shiki-vendor.cb8452ddcd.js +1 -0
  282. package/dist/client/sw.js +15 -0
  283. package/package.json +75 -0
  284. package/src/cli/lib/args.js +233 -0
  285. package/src/cli/lib/commands/logs.js +108 -0
  286. package/src/cli/lib/commands/restart.js +28 -0
  287. package/src/cli/lib/commands/serve.js +109 -0
  288. package/src/cli/lib/commands/status.js +63 -0
  289. package/src/cli/lib/commands/stop.js +63 -0
  290. package/src/cli/lib/commands/update.js +120 -0
  291. package/src/cli/lib/output.js +136 -0
  292. package/src/cli/lib/path-utils.js +48 -0
  293. package/src/cli/lib/path-utils.test.js +71 -0
  294. package/src/cli/lib/paths.js +60 -0
  295. package/src/cli/lib/process-lifecycle.js +110 -0
  296. package/src/cli/lib/runtime.js +280 -0
  297. package/src/cli/ompchamber.js +56 -0
  298. package/src/client/App.tsx +95 -0
  299. package/src/client/bootstrap.d.ts +12 -0
  300. package/src/client/components/common/ComposerPicker.tsx +116 -0
  301. package/src/client/components/common/ComposerTextarea.tsx +131 -0
  302. package/src/client/components/common/CopyButton.tsx +73 -0
  303. package/src/client/components/common/FolderPicker.tsx +270 -0
  304. package/src/client/components/common/MarkdownRenderer.tsx +107 -0
  305. package/src/client/components/common/Modal.tsx +75 -0
  306. package/src/client/components/common/PWAInstallButton.tsx +113 -0
  307. package/src/client/components/common/StatCard.tsx +52 -0
  308. package/src/client/components/common/StreamStatusDot.tsx +28 -0
  309. package/src/client/components/common/SubagentStatusIcon.tsx +27 -0
  310. package/src/client/components/common/Toast.tsx +79 -0
  311. package/src/client/components/common/ToastStack.tsx +18 -0
  312. package/src/client/components/common/ViewportSelector.tsx +206 -0
  313. package/src/client/components/common/code-editor/index.tsx +343 -0
  314. package/src/client/components/common/code-surface/index.tsx +75 -0
  315. package/src/client/components/common/file-icon/brand-paths.ts +62 -0
  316. package/src/client/components/common/file-icon/index.tsx +127 -0
  317. package/src/client/components/common/lazy-panels.tsx +80 -0
  318. package/src/client/components/common/session-state-provider/index.tsx +55 -0
  319. package/src/client/components/common/sort-menu/index.tsx +63 -0
  320. package/src/client/components/common/sort-menu/options.ts +24 -0
  321. package/src/client/components/common/viewport.ts +21 -0
  322. package/src/client/components/common/workspace-options-menu/index.tsx +84 -0
  323. package/src/client/components/layout/RightActivityBar.tsx +95 -0
  324. package/src/client/components/layout/desktop-layout/ResizeHandle.tsx +10 -0
  325. package/src/client/components/layout/desktop-layout/TopNavbar.tsx +94 -0
  326. package/src/client/components/layout/desktop-layout/WorkspacePanels.tsx +175 -0
  327. package/src/client/components/layout/desktop-layout/index.tsx +280 -0
  328. package/src/client/components/layout/desktop-layout/resizer/index.tsx +344 -0
  329. package/src/client/components/layout/session-sidebar/CategoryItem.tsx +264 -0
  330. package/src/client/components/layout/session-sidebar/Footer.tsx +28 -0
  331. package/src/client/components/layout/session-sidebar/Header.tsx +29 -0
  332. package/src/client/components/layout/session-sidebar/Modals.tsx +209 -0
  333. package/src/client/components/layout/session-sidebar/SessionItem.tsx +145 -0
  334. package/src/client/components/layout/session-sidebar/SessionList.tsx +52 -0
  335. package/src/client/components/layout/session-sidebar/Skeleton.tsx +36 -0
  336. package/src/client/components/layout/session-sidebar/SubagentList.tsx +152 -0
  337. package/src/client/components/layout/session-sidebar/Toolbar.tsx +123 -0
  338. package/src/client/components/layout/session-sidebar/about-modal/SocialLinks.tsx +43 -0
  339. package/src/client/components/layout/session-sidebar/about-modal/UpdateSection.tsx +172 -0
  340. package/src/client/components/layout/session-sidebar/about-modal/index.tsx +63 -0
  341. package/src/client/components/layout/session-sidebar/index.tsx +174 -0
  342. package/src/client/components/mobile/LayoutWrapper.tsx +221 -0
  343. package/src/client/components/mobile/MainView.tsx +68 -0
  344. package/src/client/components/mobile/RightSidebar.tsx +217 -0
  345. package/src/client/components/mobile/SessionSidebar.tsx +175 -0
  346. package/src/client/components/mobile/mobile-main-view/Header.tsx +264 -0
  347. package/src/client/components/mobile/mobile-right-sidebar/FullDiff.tsx +80 -0
  348. package/src/client/components/mobile/mobile-right-sidebar/FullEditor.tsx +141 -0
  349. package/src/client/components/mobile/mobile-right-sidebar/Header.tsx +121 -0
  350. package/src/client/components/mobile/mobile-session-sidebar/Footer.tsx +69 -0
  351. package/src/client/components/mobile/mobile-session-sidebar/Header.tsx +34 -0
  352. package/src/client/components/mobile/mobile-session-sidebar/Item.tsx +168 -0
  353. package/src/client/components/mobile/mobile-session-sidebar/List.tsx +53 -0
  354. package/src/client/components/mobile/mobile-session-sidebar/SessionRow.tsx +99 -0
  355. package/src/client/components/mobile/mobile-session-sidebar/Skeleton.tsx +36 -0
  356. package/src/client/components/mobile/mobile-session-sidebar/Toolbar.tsx +176 -0
  357. package/src/client/components/settings/LoadingState.tsx +22 -0
  358. package/src/client/components/settings/Modal.tsx +277 -0
  359. package/src/client/components/settings/ProjectSelectorDropdown.tsx +142 -0
  360. package/src/client/components/settings/SettingsSidebarList.tsx +122 -0
  361. package/src/client/components/settings/Sidebar.tsx +153 -0
  362. package/src/client/components/settings/categories/AgentSettings.tsx +84 -0
  363. package/src/client/components/settings/categories/AppearanceSettings.tsx +50 -0
  364. package/src/client/components/settings/categories/BehaviorSettings.tsx +73 -0
  365. package/src/client/components/settings/categories/ChatSettings.tsx +24 -0
  366. package/src/client/components/settings/categories/CommandSettings.tsx +81 -0
  367. package/src/client/components/settings/categories/McpSettings.tsx +142 -0
  368. package/src/client/components/settings/categories/NotificationSettings.tsx +97 -0
  369. package/src/client/components/settings/categories/OmpSettings.tsx +312 -0
  370. package/src/client/components/settings/categories/OtherSettings.tsx +16 -0
  371. package/src/client/components/settings/categories/ProjectSettings.tsx +176 -0
  372. package/src/client/components/settings/categories/ProviderSettings.tsx +146 -0
  373. package/src/client/components/settings/categories/SkillCatalogSettings.tsx +309 -0
  374. package/src/client/components/settings/categories/SkillSettings.tsx +69 -0
  375. package/src/client/components/settings/categories/TokenUsageSettings.tsx +264 -0
  376. package/src/client/components/settings/categories/UsageSettings.tsx +77 -0
  377. package/src/client/components/settings/categories/agent-settings/DetailPane.tsx +333 -0
  378. package/src/client/components/settings/categories/agent-settings/SidebarList.tsx +42 -0
  379. package/src/client/components/settings/categories/behavior-settings/Editor.tsx +244 -0
  380. package/src/client/components/settings/categories/chat-settings/FollowUpSection.tsx +120 -0
  381. package/src/client/components/settings/categories/chat-settings/KeybindingsSection.tsx +107 -0
  382. package/src/client/components/settings/categories/chat-settings/TransportSection.tsx +101 -0
  383. package/src/client/components/settings/categories/command-settings/DetailPane.tsx +292 -0
  384. package/src/client/components/settings/categories/command-settings/SidebarList.tsx +39 -0
  385. package/src/client/components/settings/categories/mcp-settings/ConnectionTest.tsx +89 -0
  386. package/src/client/components/settings/categories/mcp-settings/DetailPane.tsx +311 -0
  387. package/src/client/components/settings/categories/mcp-settings/ImportModal.tsx +161 -0
  388. package/src/client/components/settings/categories/mcp-settings/SidebarList.tsx +120 -0
  389. package/src/client/components/settings/categories/omp-settings/ConfigTabs.tsx +243 -0
  390. package/src/client/components/settings/categories/omp-settings/ExtensionsPanel.tsx +61 -0
  391. package/src/client/components/settings/categories/omp-settings/RoleEditor.tsx +66 -0
  392. package/src/client/components/settings/categories/omp-settings/RowEditor.tsx +337 -0
  393. package/src/client/components/settings/categories/project-settings/AccentPalette.tsx +76 -0
  394. package/src/client/components/settings/categories/project-settings/DetailsForm.tsx +71 -0
  395. package/src/client/components/settings/categories/project-settings/DetailsHeader.tsx +38 -0
  396. package/src/client/components/settings/categories/project-settings/IconGrid.tsx +152 -0
  397. package/src/client/components/settings/categories/project-settings/ModelDropdown.tsx +95 -0
  398. package/src/client/components/settings/categories/project-settings/NameInput.tsx +26 -0
  399. package/src/client/components/settings/categories/project-settings/SidebarList.tsx +100 -0
  400. package/src/client/components/settings/categories/provider-settings/AddProviderModal.tsx +201 -0
  401. package/src/client/components/settings/categories/provider-settings/AuthSection.tsx +121 -0
  402. package/src/client/components/settings/categories/provider-settings/Header.tsx +22 -0
  403. package/src/client/components/settings/categories/provider-settings/Icons.tsx +35 -0
  404. package/src/client/components/settings/categories/provider-settings/LoginModal.tsx +224 -0
  405. package/src/client/components/settings/categories/provider-settings/ModelCapabilitiesModal.tsx +114 -0
  406. package/src/client/components/settings/categories/provider-settings/ModelConfigModal.tsx +155 -0
  407. package/src/client/components/settings/categories/provider-settings/ModelsList.tsx +191 -0
  408. package/src/client/components/settings/categories/provider-settings/ReconnectModal.tsx +163 -0
  409. package/src/client/components/settings/categories/provider-settings/SidebarList.tsx +133 -0
  410. package/src/client/components/settings/categories/skill-catalog/AddSourceModal.tsx +133 -0
  411. package/src/client/components/settings/categories/skill-settings/DetailPane.tsx +210 -0
  412. package/src/client/components/settings/categories/skill-settings/SidebarList.tsx +164 -0
  413. package/src/client/components/settings/categories/token-usage-settings/Breakdown.tsx +127 -0
  414. package/src/client/components/settings/categories/token-usage-settings/Chart.tsx +74 -0
  415. package/src/client/components/settings/categories/token-usage-settings/MetricsGrid.tsx +44 -0
  416. package/src/client/components/settings/categories/usage-settings/DeepSeekCard.tsx +66 -0
  417. package/src/client/components/settings/categories/usage-settings/KenariCard.tsx +68 -0
  418. package/src/client/components/settings/categories/usage-settings/ProviderCard.tsx +52 -0
  419. package/src/client/components/settings/categories/usage-settings/ProviderDetail.tsx +39 -0
  420. package/src/client/components/settings/categories/usage-settings/QuotaSection.tsx +93 -0
  421. package/src/client/components/settings/categories/usage-settings/SidebarList.tsx +77 -0
  422. package/src/client/components/settings/categories/usage-settings/UsageTable.tsx +66 -0
  423. package/src/client/components/settings/categories/usage-settings/format.ts +63 -0
  424. package/src/client/components/settings/categories/usage-settings/providers.ts +45 -0
  425. package/src/client/components/workspace/SearchPanel.tsx +259 -0
  426. package/src/client/components/workspace/browser-panel/ActivityToasts.tsx +46 -0
  427. package/src/client/components/workspace/browser-panel/AddressBar.tsx +84 -0
  428. package/src/client/components/workspace/browser-panel/Screencast.tsx +109 -0
  429. package/src/client/components/workspace/browser-panel/index.tsx +69 -0
  430. package/src/client/components/workspace/browser-toolbar/ZoomControls.tsx +48 -0
  431. package/src/client/components/workspace/browser-toolbar/index.tsx +140 -0
  432. package/src/client/components/workspace/chat-timeline/AiMessageFooter.tsx +250 -0
  433. package/src/client/components/workspace/chat-timeline/AttachmentChips.tsx +119 -0
  434. package/src/client/components/workspace/chat-timeline/ComposerDock.tsx +121 -0
  435. package/src/client/components/workspace/chat-timeline/EmptyWorkspacePrompt.tsx +220 -0
  436. package/src/client/components/workspace/chat-timeline/GeneratingIndicator.tsx +94 -0
  437. package/src/client/components/workspace/chat-timeline/MessageItem.tsx +321 -0
  438. package/src/client/components/workspace/chat-timeline/MessageList.tsx +122 -0
  439. package/src/client/components/workspace/chat-timeline/MinimapShortcuts.tsx +47 -0
  440. package/src/client/components/workspace/chat-timeline/NewChatModal.tsx +69 -0
  441. package/src/client/components/workspace/chat-timeline/QueueList.tsx +94 -0
  442. package/src/client/components/workspace/chat-timeline/SessionSkeleton.tsx +89 -0
  443. package/src/client/components/workspace/chat-timeline/SubagentView.tsx +148 -0
  444. package/src/client/components/workspace/chat-timeline/SystemNotice.tsx +209 -0
  445. package/src/client/components/workspace/chat-timeline/TaskResultContent.tsx +175 -0
  446. package/src/client/components/workspace/chat-timeline/ThinkingSection.tsx +130 -0
  447. package/src/client/components/workspace/chat-timeline/TimelineBody.tsx +130 -0
  448. package/src/client/components/workspace/chat-timeline/ToolCallCard.tsx +291 -0
  449. package/src/client/components/workspace/chat-timeline/ToolCallingSection.tsx +96 -0
  450. package/src/client/components/workspace/chat-timeline/UndoConfirmModal.tsx +83 -0
  451. package/src/client/components/workspace/chat-timeline/chat-input/AccessDropdown.tsx +53 -0
  452. package/src/client/components/workspace/chat-timeline/chat-input/AttachmentToolbar.tsx +63 -0
  453. package/src/client/components/workspace/chat-timeline/chat-input/ThinkingLevelDropdown.tsx +49 -0
  454. package/src/client/components/workspace/chat-timeline/chat-input/Toolbar.tsx +108 -0
  455. package/src/client/components/workspace/chat-timeline/chat-input/access-levels.ts +14 -0
  456. package/src/client/components/workspace/chat-timeline/chat-input/index.tsx +341 -0
  457. package/src/client/components/workspace/chat-timeline/index.tsx +290 -0
  458. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-dialog/Footer.tsx +97 -0
  459. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-dialog/Header.tsx +52 -0
  460. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-dialog/Lazy.tsx +24 -0
  461. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-dialog/SelectBody.tsx +110 -0
  462. package/src/client/components/workspace/chat-timeline/tool-renderers/ask-dialog/index.tsx +321 -0
  463. package/src/client/components/workspace/chat-timeline/tool-renderers/hashline-patch/index.tsx +92 -0
  464. package/src/client/components/workspace/chat-timeline/tool-renderers/index.tsx +160 -0
  465. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Ask.tsx +205 -0
  466. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/AstEdit.tsx +202 -0
  467. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Bash.tsx +223 -0
  468. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Checkpoint.tsx +49 -0
  469. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/ContextNotes.tsx +66 -0
  470. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Debug.tsx +91 -0
  471. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Edit.tsx +288 -0
  472. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Eval.tsx +202 -0
  473. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Github.tsx +91 -0
  474. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Goal.tsx +247 -0
  475. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Hub.tsx +273 -0
  476. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Lsp.tsx +276 -0
  477. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/ManageSkill.tsx +93 -0
  478. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Mcp.tsx +143 -0
  479. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Memory.tsx +93 -0
  480. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Read.tsx +246 -0
  481. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Resolve.tsx +96 -0
  482. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/SearchFs.tsx +132 -0
  483. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/SearchTool.tsx +317 -0
  484. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/SecurityScan.tsx +102 -0
  485. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/TaskResult.tsx +240 -0
  486. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Think.tsx +52 -0
  487. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/Todo.tsx +141 -0
  488. package/src/client/components/workspace/chat-timeline/tool-renderers/panels/WebSearch.tsx +118 -0
  489. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/DiffView.tsx +150 -0
  490. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/FallbackOutput.tsx +107 -0
  491. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/JsonCodeBlock.tsx +79 -0
  492. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/ToolCardShell.tsx +151 -0
  493. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/read-line-meta.ts +95 -0
  494. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/tool-input.ts +18 -0
  495. package/src/client/components/workspace/chat-timeline/tool-renderers/shared/truncate.ts +18 -0
  496. package/src/client/components/workspace/context-panel/CostBreakdownPopover.tsx +74 -0
  497. package/src/client/components/workspace/context-panel/LastMessageCard.tsx +34 -0
  498. package/src/client/components/workspace/context-panel/RawJsonViewer.tsx +94 -0
  499. package/src/client/components/workspace/context-panel/RawMessagesList.tsx +293 -0
  500. package/src/client/components/workspace/context-panel/StatsGrid.tsx +64 -0
  501. package/src/client/components/workspace/context-panel/TokenDistributionBar.tsx +62 -0
  502. package/src/client/components/workspace/context-panel/WindowCard.tsx +35 -0
  503. package/src/client/components/workspace/context-panel/index.tsx +142 -0
  504. package/src/client/components/workspace/context-panel/raw-messages.ts +54 -0
  505. package/src/client/components/workspace/diff-panel/SplitView.tsx +165 -0
  506. package/src/client/components/workspace/diff-panel/Toolbar.tsx +177 -0
  507. package/src/client/components/workspace/diff-panel/UnifiedView.tsx +117 -0
  508. package/src/client/components/workspace/diff-panel/index.tsx +213 -0
  509. package/src/client/components/workspace/editor/Tabs.tsx +149 -0
  510. package/src/client/components/workspace/editor/Toolbar.tsx +90 -0
  511. package/src/client/components/workspace/editor/index.tsx +189 -0
  512. package/src/client/components/workspace/file-explorer/GitRepoDropdown.tsx +143 -0
  513. package/src/client/components/workspace/file-explorer/Modals.tsx +236 -0
  514. package/src/client/components/workspace/file-explorer/TreeItem.tsx +289 -0
  515. package/src/client/components/workspace/file-explorer/index.tsx +193 -0
  516. package/src/client/components/workspace/git-panel/BranchToolbar.tsx +188 -0
  517. package/src/client/components/workspace/git-panel/ChangesList.tsx +168 -0
  518. package/src/client/components/workspace/git-panel/CommitBox.tsx +48 -0
  519. package/src/client/components/workspace/git-panel/FileItem.tsx +91 -0
  520. package/src/client/components/workspace/git-panel/Modals.tsx +97 -0
  521. package/src/client/components/workspace/git-panel/RepoHeader.tsx +137 -0
  522. package/src/client/components/workspace/git-panel/TreeItem.tsx +186 -0
  523. package/src/client/components/workspace/git-panel/TreeView.tsx +36 -0
  524. package/src/client/components/workspace/git-panel/commit-modal/CommitActions.tsx +97 -0
  525. package/src/client/components/workspace/git-panel/commit-modal/CommitDiffViewer.tsx +205 -0
  526. package/src/client/components/workspace/git-panel/commit-modal/CommitRow.tsx +179 -0
  527. package/src/client/components/workspace/git-panel/commit-modal/GraphCanvas.tsx +164 -0
  528. package/src/client/components/workspace/git-panel/commit-modal/Header.tsx +127 -0
  529. package/src/client/components/workspace/git-panel/commit-modal/index.tsx +269 -0
  530. package/src/client/components/workspace/git-panel/index.tsx +326 -0
  531. package/src/client/components/workspace/model-dropdown/Footer.tsx +21 -0
  532. package/src/client/components/workspace/model-dropdown/Header.tsx +50 -0
  533. package/src/client/components/workspace/model-dropdown/Item.tsx +137 -0
  534. package/src/client/components/workspace/model-dropdown/Panel.tsx +146 -0
  535. package/src/client/components/workspace/model-dropdown/Section.tsx +87 -0
  536. package/src/client/components/workspace/model-dropdown/Skeleton.tsx +39 -0
  537. package/src/client/components/workspace/model-dropdown/SpecsTooltip.tsx +91 -0
  538. package/src/client/components/workspace/model-dropdown/groups.ts +62 -0
  539. package/src/client/components/workspace/model-dropdown/index.tsx +245 -0
  540. package/src/client/components/workspace/model-dropdown/use-catalog.ts +111 -0
  541. package/src/client/components/workspace/terminal-panel/Header.tsx +50 -0
  542. package/src/client/components/workspace/terminal-panel/InputBar.tsx +82 -0
  543. package/src/client/components/workspace/terminal-panel/LogEntry.tsx +70 -0
  544. package/src/client/components/workspace/terminal-panel/QuickActions.tsx +39 -0
  545. package/src/client/components/workspace/terminal-panel/RealtimeXtermView.tsx +340 -0
  546. package/src/client/components/workspace/terminal-panel/index.tsx +110 -0
  547. package/src/client/components/workspace/usage-panel/ProviderSelect.tsx +208 -0
  548. package/src/client/components/workspace/usage-panel/index.tsx +98 -0
  549. package/src/client/components/workspace/user-browser-panel/AddressBar.tsx +134 -0
  550. package/src/client/components/workspace/user-browser-panel/Frame.tsx +72 -0
  551. package/src/client/components/workspace/user-browser-panel/index.tsx +87 -0
  552. package/src/client/data/agent-data/builtin.ts +31 -0
  553. package/src/client/data/agent-data/index.ts +10 -0
  554. package/src/client/data/agent-data/orchestrator.ts +113 -0
  555. package/src/client/data/agent-data/specialist.ts +245 -0
  556. package/src/client/data/context-data/index.test.ts +88 -0
  557. package/src/client/data/context-data/index.ts +310 -0
  558. package/src/client/data/context-data/presets.ts +128 -0
  559. package/src/client/data/mock/chat.ts +236 -0
  560. package/src/client/data/mock/git-commits.ts +304 -0
  561. package/src/client/data/mock/subagents.ts +212 -0
  562. package/src/client/data/mock/token-usage.ts +129 -0
  563. package/src/client/data/models/catalog.ts +293 -0
  564. package/src/client/data/samples/dialogue-session.ts +285 -0
  565. package/src/client/data/samples/sample-subagents/scout-raw.ts +341 -0
  566. package/src/client/data/samples/sample-subagents/sleeper-raw.ts +294 -0
  567. package/src/client/data/samples/sample-tools/built-in-part1.ts +265 -0
  568. package/src/client/data/samples/sample-tools/built-in-part2.ts +180 -0
  569. package/src/client/data/samples/sample-tools/other.ts +162 -0
  570. package/src/client/data/samples/subagent-session.ts +99 -0
  571. package/src/client/data/samples/tools-session.ts +85 -0
  572. package/src/client/data/samples/virtual-devices-session.ts +333 -0
  573. package/src/client/data/settings/behavior.ts +12 -0
  574. package/src/client/data/settings/command.ts +188 -0
  575. package/src/client/data/settings/mcp.ts +28 -0
  576. package/src/client/data/settings/omp-schema.json +1 -0
  577. package/src/client/data/settings/project.ts +58 -0
  578. package/src/client/data/settings/provider.ts +185 -0
  579. package/src/client/data/settings/skill.ts +340 -0
  580. package/src/client/data/theme/terminal.ts +150 -0
  581. package/src/client/hooks/browser/use-screencast.ts +178 -0
  582. package/src/client/hooks/browser/use-user-browser.ts +105 -0
  583. package/src/client/hooks/chat/composer/index.ts +181 -0
  584. package/src/client/hooks/chat/composer/items.ts +47 -0
  585. package/src/client/hooks/chat/omp/index.ts +348 -0
  586. package/src/client/hooks/chat/omp/revalidation-throttle.ts +71 -0
  587. package/src/client/hooks/chat/omp/session-list.tsx +148 -0
  588. package/src/client/hooks/chat/omp/session-sidebar-controller.ts +249 -0
  589. package/src/client/hooks/chat/omp/session-statuses.ts +83 -0
  590. package/src/client/hooks/chat/omp/status.ts +31 -0
  591. package/src/client/hooks/chat/omp/stream-poll.ts +37 -0
  592. package/src/client/hooks/chat/omp/stream.ts +108 -0
  593. package/src/client/hooks/chat/stream.ts +228 -0
  594. package/src/client/hooks/chat/subagent/index.ts +290 -0
  595. package/src/client/hooks/chat/timeline/actions.ts +322 -0
  596. package/src/client/hooks/chat/timeline/auto-scroll.ts +58 -0
  597. package/src/client/hooks/chat/timeline/browser-context.ts +40 -0
  598. package/src/client/hooks/chat/timeline/extension-dialog.ts +56 -0
  599. package/src/client/hooks/chat/timeline/index.ts +333 -0
  600. package/src/client/hooks/chat/timeline/queue.ts +87 -0
  601. package/src/client/hooks/chat/timeline/scroll.ts +134 -0
  602. package/src/client/hooks/chat/timeline/send.ts +348 -0
  603. package/src/client/hooks/chat/timeline/session-load.ts +334 -0
  604. package/src/client/hooks/chat/timeline/session-title.ts +40 -0
  605. package/src/client/hooks/chat/timeline/subagent-view.ts +92 -0
  606. package/src/client/hooks/chat/timeline/undo-confirmation.ts +29 -0
  607. package/src/client/hooks/editor/use-file-editor.ts +302 -0
  608. package/src/client/hooks/models/use-model-names.ts +17 -0
  609. package/src/client/hooks/models/use-models-catalog.ts +45 -0
  610. package/src/client/hooks/models/use-provider-names.ts +18 -0
  611. package/src/client/hooks/settings/crud-list.ts +187 -0
  612. package/src/client/hooks/settings/instruction-file.ts +91 -0
  613. package/src/client/hooks/settings/providers.ts +295 -0
  614. package/src/client/hooks/settings/skill-catalog.ts +37 -0
  615. package/src/client/hooks/settings/use-chamber-setting.ts +12 -0
  616. package/src/client/hooks/settings/useUsageReport.ts +41 -0
  617. package/src/client/hooks/ui/clipboard.ts +33 -0
  618. package/src/client/hooks/ui/copy-flag.ts +27 -0
  619. package/src/client/hooks/ui/inline-rename.ts +93 -0
  620. package/src/client/hooks/ui/notification-sound.ts +108 -0
  621. package/src/client/hooks/ui/on-click-outside.ts +22 -0
  622. package/src/client/hooks/ui/open-file.ts +42 -0
  623. package/src/client/hooks/ui/scrollbar-fade.ts +33 -0
  624. package/src/client/hooks/ui/show-more.ts +23 -0
  625. package/src/client/hooks/ui/syntax-ready.ts +17 -0
  626. package/src/client/hooks/ui/theme.ts +76 -0
  627. package/src/client/hooks/ui/toasts.ts +22 -0
  628. package/src/client/hooks/ui/updates.ts +108 -0
  629. package/src/client/hooks/ui/visibility-refresh.ts +66 -0
  630. package/src/client/hooks/ui/window-event.ts +52 -0
  631. package/src/client/hooks/workspace/commit-interactions.ts +111 -0
  632. package/src/client/hooks/workspace/commit-pagination.ts +106 -0
  633. package/src/client/hooks/workspace/file-tabs.ts +136 -0
  634. package/src/client/hooks/workspace/git-status.ts +89 -0
  635. package/src/client/hooks/workspace/git-tree.ts +146 -0
  636. package/src/client/hooks/workspace/panel-refresh.ts +72 -0
  637. package/src/client/hooks/workspace/panel-widths.ts +59 -0
  638. package/src/client/hooks/workspace/search-stream.ts +76 -0
  639. package/src/client/hooks/workspace/session-state/context.ts +15 -0
  640. package/src/client/hooks/workspace/session-state/index.ts +62 -0
  641. package/src/client/hooks/workspace/terminal-output.ts +66 -0
  642. package/src/client/hooks/workspace/terminal.ts +283 -0
  643. package/src/client/hooks/workspace/workspace-folder-actions.ts +110 -0
  644. package/src/client/lib/router/fetcher.ts +100 -0
  645. package/src/client/lib/router/search-params.ts +82 -0
  646. package/src/client/main.tsx +23 -0
  647. package/src/client/tailwind.css +364 -0
  648. package/src/server/db.server.ts +338 -0
  649. package/src/server/index.ts +19 -0
  650. package/src/server/lib/browser/runtime.test.ts +110 -0
  651. package/src/server/lib/browser/runtime.ts +160 -0
  652. package/src/server/lib/chat/session-store.server.ts +61 -0
  653. package/src/server/lib/db/client.ts +55 -0
  654. package/src/server/lib/db/settings-store.ts +148 -0
  655. package/src/server/lib/fs/atomic-write.ts +27 -0
  656. package/src/server/lib/fs/git-diff.ts +116 -0
  657. package/src/server/lib/fs/git-log.ts +174 -0
  658. package/src/server/lib/fs/repo-scope.ts +14 -0
  659. package/src/server/lib/fs/root.ts +77 -0
  660. package/src/server/lib/fs/shell.ts +71 -0
  661. package/src/server/lib/fs/terminal-cwd.ts +49 -0
  662. package/src/server/lib/models/provider-registry.server.ts +269 -0
  663. package/src/server/lib/omp/config/agents.ts +162 -0
  664. package/src/server/lib/omp/config/behavior.ts +113 -0
  665. package/src/server/lib/omp/config/config-cli.ts +94 -0
  666. package/src/server/lib/omp/config/disabled-providers.ts +68 -0
  667. package/src/server/lib/omp/config/extensions.ts +90 -0
  668. package/src/server/lib/omp/config/instructions.ts +81 -0
  669. package/src/server/lib/omp/config/mcp-test.ts +346 -0
  670. package/src/server/lib/omp/config/mcp.ts +258 -0
  671. package/src/server/lib/omp/config/providers.ts +276 -0
  672. package/src/server/lib/omp/config/roles.ts +46 -0
  673. package/src/server/lib/omp/config/skills-catalog.ts +93 -0
  674. package/src/server/lib/omp/config/skills.ts +118 -0
  675. package/src/server/lib/omp/config/yaml.ts +48 -0
  676. package/src/server/lib/omp/core/auth-credentials.ts +87 -0
  677. package/src/server/lib/omp/core/cli.ts +69 -0
  678. package/src/server/lib/omp/core/paths.ts +154 -0
  679. package/src/server/lib/omp/core/registry.ts +140 -0
  680. package/src/server/lib/omp/core/worktree.ts +106 -0
  681. package/src/server/lib/omp/rpc/constants.ts +185 -0
  682. package/src/server/lib/omp/rpc/errors.ts +27 -0
  683. package/src/server/lib/omp/rpc/kill-tree.ts +49 -0
  684. package/src/server/lib/omp/rpc/lines.ts +38 -0
  685. package/src/server/lib/omp/rpc/manager.ts +310 -0
  686. package/src/server/lib/omp/rpc/pending-ui-dialogs.ts +55 -0
  687. package/src/server/lib/omp/rpc/process-helpers.ts +82 -0
  688. package/src/server/lib/omp/rpc/process.ts +319 -0
  689. package/src/server/lib/omp/rpc/session-commands.ts +218 -0
  690. package/src/server/lib/omp/rpc/session-registry.ts +300 -0
  691. package/src/server/lib/omp/rpc/utility.ts +199 -0
  692. package/src/server/lib/omp/rpc/web-state.ts +94 -0
  693. package/src/server/lib/omp/session/files.ts +282 -0
  694. package/src/server/lib/omp/session/locator.ts +60 -0
  695. package/src/server/lib/omp/session/messages.ts +222 -0
  696. package/src/server/lib/omp/session/reader.ts +150 -0
  697. package/src/server/lib/omp/session/sidebar-data.server.ts +195 -0
  698. package/src/server/lib/omp/session/stats.ts +85 -0
  699. package/src/server/lib/omp/session/subagent-presence.ts +74 -0
  700. package/src/server/lib/omp/session/telemetry/compute.ts +188 -0
  701. package/src/server/lib/omp/session/telemetry/format.ts +110 -0
  702. package/src/server/lib/omp/session/telemetry/index.ts +4 -0
  703. package/src/server/lib/omp/session/telemetry/scan.ts +21 -0
  704. package/src/server/lib/omp/session/telemetry-raw.ts +96 -0
  705. package/src/server/lib/omp/session/telemetry.test.ts +154 -0
  706. package/src/server/lib/omp/session/title-slot.ts +203 -0
  707. package/src/server/lib/omp/session/usage.ts +298 -0
  708. package/src/server/lib/omp/subagent/history/fold.ts +196 -0
  709. package/src/server/lib/omp/subagent/history/index.ts +110 -0
  710. package/src/server/lib/omp/subagent/history/paths.ts +29 -0
  711. package/src/server/lib/omp/subagent/history/transcript.test.ts +87 -0
  712. package/src/server/lib/omp/subagent/history/transcript.ts +122 -0
  713. package/src/server/lib/remix-compat.ts +29 -0
  714. package/src/server/lib/route-adapter.ts +144 -0
  715. package/src/server/lib/sse.ts +248 -0
  716. package/src/server/lib/updates/apply.ts +46 -0
  717. package/src/server/lib/updates/check.ts +41 -0
  718. package/src/server/lib/updates/github.ts +71 -0
  719. package/src/server/lib/updates/install-method.ts +73 -0
  720. package/src/server/lib/updates/install.test.ts +74 -0
  721. package/src/server/lib/updates/install.ts +294 -0
  722. package/src/server/lib/updates/omp.ts +86 -0
  723. package/src/server/lib/usage/deepseek.ts +59 -0
  724. package/src/server/lib/usage/kenari.ts +251 -0
  725. package/src/server/lib/usage/provider-key.ts +83 -0
  726. package/src/server/mock.server.ts +33 -0
  727. package/src/server/plugins/compress.ts +51 -0
  728. package/src/server/plugins/dev-assets.ts +49 -0
  729. package/src/server/plugins/ssr.ts +100 -0
  730. package/src/server/plugins/static.ts +81 -0
  731. package/src/server/routes/agent/command.ts +81 -0
  732. package/src/server/routes/agent/events.ts +56 -0
  733. package/src/server/routes/agent/index.ts +12 -0
  734. package/src/server/routes/agent/new.ts +83 -0
  735. package/src/server/routes/agent/prewarm.ts +27 -0
  736. package/src/server/routes/agent/ws.ts +168 -0
  737. package/src/server/routes/browser/index.ts +6 -0
  738. package/src/server/routes/browser/stream.ts +217 -0
  739. package/src/server/routes/chat/index.ts +12 -0
  740. package/src/server/routes/chat/rewind.ts +162 -0
  741. package/src/server/routes/chat/root.ts +78 -0
  742. package/src/server/routes/chat/session.ts +339 -0
  743. package/src/server/routes/chat/stream.ts +111 -0
  744. package/src/server/routes/files/index.ts +10 -0
  745. package/src/server/routes/files/root.ts +29 -0
  746. package/src/server/routes/files/toggle.ts +20 -0
  747. package/src/server/routes/folders/create.ts +98 -0
  748. package/src/server/routes/folders/folder.ts +78 -0
  749. package/src/server/routes/folders/index.ts +16 -0
  750. package/src/server/routes/fs/action.ts +84 -0
  751. package/src/server/routes/fs/git.ts +334 -0
  752. package/src/server/routes/fs/index.ts +19 -0
  753. package/src/server/routes/fs/read.ts +258 -0
  754. package/src/server/routes/fs/replace.ts +69 -0
  755. package/src/server/routes/fs/search.ts +135 -0
  756. package/src/server/routes/fs/validate.ts +61 -0
  757. package/src/server/routes/health/index.ts +6 -0
  758. package/src/server/routes/health/probe.ts +27 -0
  759. package/src/server/routes/index.ts +38 -0
  760. package/src/server/routes/models/index.ts +8 -0
  761. package/src/server/routes/models/roles.ts +31 -0
  762. package/src/server/routes/models/root.ts +328 -0
  763. package/src/server/routes/omp/commands.ts +29 -0
  764. package/src/server/routes/omp/extensions.ts +34 -0
  765. package/src/server/routes/omp/index.ts +20 -0
  766. package/src/server/routes/omp/login.ts +112 -0
  767. package/src/server/routes/omp/plugins.ts +82 -0
  768. package/src/server/routes/omp/pricing.ts +65 -0
  769. package/src/server/routes/omp/session-stats.ts +30 -0
  770. package/src/server/routes/omp/sidebar.ts +40 -0
  771. package/src/server/routes/omp/state.ts +22 -0
  772. package/src/server/routes/sessions/folder.ts +16 -0
  773. package/src/server/routes/sessions/index.ts +25 -0
  774. package/src/server/routes/sessions/list.ts +23 -0
  775. package/src/server/routes/sessions/session.ts +331 -0
  776. package/src/server/routes/sessions/subagents.ts +82 -0
  777. package/src/server/routes/settings/agents.ts +128 -0
  778. package/src/server/routes/settings/behavior.ts +125 -0
  779. package/src/server/routes/settings/commands.ts +89 -0
  780. package/src/server/routes/settings/index.ts +28 -0
  781. package/src/server/routes/settings/mcp-test.ts +71 -0
  782. package/src/server/routes/settings/mcp.ts +261 -0
  783. package/src/server/routes/settings/omp-config.ts +47 -0
  784. package/src/server/routes/settings/projects.ts +84 -0
  785. package/src/server/routes/settings/provider-models.ts +278 -0
  786. package/src/server/routes/settings/providers.ts +137 -0
  787. package/src/server/routes/settings/root.ts +40 -0
  788. package/src/server/routes/settings/skills.ts +175 -0
  789. package/src/server/routes/settings/usage.ts +81 -0
  790. package/src/server/routes/telemetry/context.ts +52 -0
  791. package/src/server/routes/telemetry/index.ts +10 -0
  792. package/src/server/routes/telemetry/raw-messages.ts +80 -0
  793. package/src/server/routes/telemetry/tokens.ts +163 -0
  794. package/src/server/routes/terminal/index.ts +8 -0
  795. package/src/server/routes/terminal/run.ts +135 -0
  796. package/src/server/routes/terminal/stream.ts +100 -0
  797. package/src/server/routes/updates/apply.ts +25 -0
  798. package/src/server/routes/updates/check.ts +27 -0
  799. package/src/server/routes/updates/index.ts +8 -0
  800. package/src/server/routes/well-known/devtools.ts +9 -0
  801. package/src/server/routes/well-known/index.ts +6 -0
  802. package/src/shared/lib/browser/activity.ts +115 -0
  803. package/src/shared/lib/browser/cdp.ts +201 -0
  804. package/src/shared/lib/browser/connection.ts +81 -0
  805. package/src/shared/lib/browser/observer.ts +129 -0
  806. package/src/shared/lib/browser/page-context.ts +20 -0
  807. package/src/shared/lib/browser/targets.test.ts +45 -0
  808. package/src/shared/lib/browser/targets.ts +74 -0
  809. package/src/shared/lib/browser/url.ts +21 -0
  810. package/src/shared/lib/browser/util.ts +20 -0
  811. package/src/shared/lib/browser/viewer.ts +303 -0
  812. package/src/shared/lib/browser/watcher.ts +75 -0
  813. package/src/shared/lib/chat/attachments.ts +62 -0
  814. package/src/shared/lib/chat/capitalize.ts +9 -0
  815. package/src/shared/lib/chat/composer/client.ts +210 -0
  816. package/src/shared/lib/chat/composer/filter.ts +62 -0
  817. package/src/shared/lib/chat/composer/translate.ts +103 -0
  818. package/src/shared/lib/chat/composer/trigger.ts +53 -0
  819. package/src/shared/lib/chat/detect-format.ts +38 -0
  820. package/src/shared/lib/chat/duration.ts +82 -0
  821. package/src/shared/lib/chat/omp/agent-events.test.ts +152 -0
  822. package/src/shared/lib/chat/omp/agent-events.ts +347 -0
  823. package/src/shared/lib/chat/omp/file-mutations.ts +42 -0
  824. package/src/shared/lib/chat/omp/socket.ts +95 -0
  825. package/src/shared/lib/chat/omp/sse.ts +53 -0
  826. package/src/shared/lib/chat/omp/status.ts +45 -0
  827. package/src/shared/lib/chat/omp/transport.ts +50 -0
  828. package/src/shared/lib/chat/order.ts +40 -0
  829. package/src/shared/lib/chat/read-sse.ts +99 -0
  830. package/src/shared/lib/chat/stream-service.ts +273 -0
  831. package/src/shared/lib/chat/task-result-parser.ts +166 -0
  832. package/src/shared/lib/chat/timeline/omp-callbacks.ts +293 -0
  833. package/src/shared/lib/chat/timeline/stream-callbacks.ts +202 -0
  834. package/src/shared/lib/chat/timeline/stream-raf.ts +59 -0
  835. package/src/shared/lib/chat/timeline/tool-phrases.ts +224 -0
  836. package/src/shared/lib/chat/timeline/tool-verbs.ts +160 -0
  837. package/src/shared/lib/chat/timeline/turns.ts +30 -0
  838. package/src/shared/lib/chat/title-case.ts +293 -0
  839. package/src/shared/lib/chat/todo-parser.ts +257 -0
  840. package/src/shared/lib/chat/tool-status.ts +20 -0
  841. package/src/shared/lib/code/ansi.ts +24 -0
  842. package/src/shared/lib/code/editor-utils.ts +16 -0
  843. package/src/shared/lib/code/format.ts +17 -0
  844. package/src/shared/lib/code/highlighter.ts +135 -0
  845. package/src/shared/lib/code/parser.ts +237 -0
  846. package/src/shared/lib/code/shiki-langs.ts +93 -0
  847. package/src/shared/lib/code/shiki-themes.ts +14 -0
  848. package/src/shared/lib/code/syntax-highlight.test.ts +153 -0
  849. package/src/shared/lib/code/syntax-highlight.ts +290 -0
  850. package/src/shared/lib/db/transaction.server.ts +20 -0
  851. package/src/shared/lib/format/number.ts +69 -0
  852. package/src/shared/lib/format/time.ts +39 -0
  853. package/src/shared/lib/fs/diff-parser.ts +135 -0
  854. package/src/shared/lib/fs/file-tree.ts +26 -0
  855. package/src/shared/lib/fs/git-graph.ts +184 -0
  856. package/src/shared/lib/fs/git-status.ts +161 -0
  857. package/src/shared/lib/markdown/marked.ts +228 -0
  858. package/src/shared/lib/markdown/mermaid.ts +153 -0
  859. package/src/shared/lib/markdown/sanitize.ts +138 -0
  860. package/src/shared/lib/models/catalog.ts +88 -0
  861. package/src/shared/lib/models/client.ts +51 -0
  862. package/src/shared/lib/models/identity.ts +21 -0
  863. package/src/shared/lib/models/provider-cleanup.ts +20 -0
  864. package/src/shared/lib/models/provider-connection.ts +41 -0
  865. package/src/shared/lib/models/provider-label.ts +40 -0
  866. package/src/shared/lib/models/provider-models.ts +97 -0
  867. package/src/shared/lib/models/provider-presets.ts +29 -0
  868. package/src/shared/lib/models/remote-list.ts +125 -0
  869. package/src/shared/lib/models/server-cache.ts +27 -0
  870. package/src/shared/lib/models/thinking-levels.ts +68 -0
  871. package/src/shared/lib/omp/config/access-mode.server.ts +27 -0
  872. package/src/shared/lib/omp/config/access-mode.ts +31 -0
  873. package/src/shared/lib/omp/config/schema-extras.ts +230 -0
  874. package/src/shared/lib/omp/config/schema-types.ts +49 -0
  875. package/src/shared/lib/omp/config/schema.ts +81 -0
  876. package/src/shared/lib/omp/rpc/frame.ts +134 -0
  877. package/src/shared/lib/omp/session/default-title.test.ts +50 -0
  878. package/src/shared/lib/omp/session/default-title.ts +51 -0
  879. package/src/shared/lib/omp/session/hashline-patch.test.ts +89 -0
  880. package/src/shared/lib/omp/session/hashline-patch.ts +134 -0
  881. package/src/shared/lib/omp/session/jsonl.ts +197 -0
  882. package/src/shared/lib/omp/session/mapper.ts +145 -0
  883. package/src/shared/lib/omp/session/messages-map.ts +179 -0
  884. package/src/shared/lib/omp/session/messages-parse.ts +69 -0
  885. package/src/shared/lib/omp/session/parse-message-blocks.ts +223 -0
  886. package/src/shared/lib/omp/session/prewarm.ts +41 -0
  887. package/src/shared/lib/omp/session/sidebar.ts +77 -0
  888. package/src/shared/lib/omp/session/stream-state.server.ts +106 -0
  889. package/src/shared/lib/omp/session/telemetry-blocks.ts +60 -0
  890. package/src/shared/lib/omp/session/timestamps.ts +20 -0
  891. package/src/shared/lib/omp/session/turn-error.ts +40 -0
  892. package/src/shared/lib/omp/subagent/history/client.ts +76 -0
  893. package/src/shared/lib/omp/subagent/history/settlement.ts +113 -0
  894. package/src/shared/lib/omp/subagent/history/status.ts +40 -0
  895. package/src/shared/lib/omp/subagent/parse.ts +284 -0
  896. package/src/shared/lib/omp/subagent/result-details.ts +53 -0
  897. package/src/shared/lib/omp/subagent/transcript-client.ts +178 -0
  898. package/src/shared/lib/settings/client.test.ts +62 -0
  899. package/src/shared/lib/settings/client.ts +96 -0
  900. package/src/shared/lib/updates/semver.ts +34 -0
  901. package/src/shared/lib/util/guards.ts +14 -0
  902. package/src/shared/lib/workspace/active-project.ts +42 -0
  903. package/src/shared/lib/workspace/panel-widths.test.ts +72 -0
  904. package/src/shared/lib/workspace/panel-widths.ts +79 -0
  905. package/src/shared/lib/workspace/project-icon.ts +29 -0
  906. package/src/shared/lib/workspace/project-settings-migration.ts +62 -0
  907. package/src/shared/lib/workspace/project-settings.ts +139 -0
  908. package/src/shared/lib/workspace/refresh-cadence.ts +128 -0
  909. package/src/shared/lib/workspace/relative-time.ts +25 -0
  910. package/src/shared/lib/workspace/right-panels.ts +51 -0
  911. package/src/shared/lib/workspace/schema-migrations.ts +19 -0
  912. package/src/shared/lib/workspace/session-state/store.ts +267 -0
  913. package/src/shared/lib/workspace/sidebar-expanded.ts +23 -0
  914. package/src/shared/lib/workspace/sidebar-sort.test.ts +200 -0
  915. package/src/shared/lib/workspace/sidebar-sort.ts +131 -0
  916. package/src/shared/types/browser.ts +58 -0
  917. package/src/shared/types/chat.ts +289 -0
  918. package/src/shared/types/context.ts +87 -0
  919. package/src/shared/types/fs.ts +36 -0
  920. package/src/shared/types/git.ts +60 -0
  921. package/src/shared/types/index.ts +22 -0
  922. package/src/shared/types/omp/agent.ts +109 -0
  923. package/src/shared/types/omp/instructions.ts +38 -0
  924. package/src/shared/types/omp/session.ts +153 -0
  925. package/src/shared/types/omp/subagent.ts +176 -0
  926. package/src/shared/types/settings/agent.ts +16 -0
  927. package/src/shared/types/settings/command.ts +12 -0
  928. package/src/shared/types/settings/mcp.ts +22 -0
  929. package/src/shared/types/settings/project.ts +18 -0
  930. package/src/shared/types/settings/provider.ts +42 -0
  931. package/src/shared/types/settings/skill.ts +35 -0
  932. package/src/shared/types/settings/state.ts +59 -0
  933. package/src/shared/types/settings/usage.ts +99 -0
  934. package/src/shared/types/terminal.ts +19 -0
  935. package/src/shared/types/tokenUsage.ts +44 -0
  936. package/src/shared/types/updates.ts +38 -0
  937. package/src/shared/types/workspace.ts +56 -0
  938. package/tsconfig.json +26 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.rspackChunkompchamber=self.rspackChunkompchamber||[]).push([[9],{CU(e,t,r){r.d(t,{tz:()=>e9});var o,n=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function s(e,...t){return t.forEach(t=>{for(let r in t)e[r]=t[r]}),e}var i=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,a=class{static hasCaptures(e){return null!==e&&(i.lastIndex=0,i.test(e))}static replaceCaptures(e,t,r){return e.replace(i,(e,o,n,s)=>{let i=r[parseInt(o||n,10)];if(!i)return e;{let e=t.substring(i.start,i.end);for(;"."===e[0];)e=e.substring(1);switch(s){case"downcase":return e.toLowerCase();case"upcase":return e.toUpperCase();default:return e}}})}};function c(e,t){if(null===e&&null===t)return 0;if(!e)return -1;if(!t)return 1;let r=e.length,o=t.length;if(r===o){for(let o=0;o<r;o++){var n,s;let r=(n=e[o],n<(s=t[o])?-1:+(n>s));if(0!==r)return r}return 0}return r-o}function u(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function d(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var p=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},l=class{constructor(e,t,r){this._colorMap=e,this._defaults=t,this._root=r}static createFromRawTheme(e,t){return this.createFromParsedTheme(function(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,r=[],o=0;for(let e=0,n=t.length;e<n;e++){let n,s=t[e];if(!s.settings)continue;if("string"==typeof s.scope){let e=s.scope;n=(e=(e=e.replace(/^[,]+/,"")).replace(/[,]+$/,"")).split(",")}else n=Array.isArray(s.scope)?s.scope:[""];let i=-1;if("string"==typeof s.settings.fontStyle){i=0;let e=s.settings.fontStyle.split(" ");for(let t=0,r=e.length;t<r;t++)switch(e[t]){case"italic":i|=1;break;case"bold":i|=2;break;case"underline":i|=4;break;case"strikethrough":i|=8}}let a=null;"string"==typeof s.settings.foreground&&u(s.settings.foreground)&&(a=s.settings.foreground);let c=null;"string"==typeof s.settings.background&&u(s.settings.background)&&(c=s.settings.background);for(let t=0,s=n.length;t<s;t++){let s=n[t].trim().split(" "),u=s[s.length-1],d=null;s.length>1&&(d=s.slice(0,s.length-1)).reverse(),r[o++]=new f(u,d,e,i,a,c)}}return r}(e),t)}static createFromParsedTheme(e,t){return function(e,t){e.sort((e,t)=>{var r,o;let n=(r=e.scope,r<(o=t.scope)?-1:+(r>o));return 0!==n||0!==(n=c(e.parentScopes,t.parentScopes))?n:e.index-t.index});let r=0,o="#000000",n="#ffffff";for(;e.length>=1&&""===e[0].scope;){let t=e.shift();-1!==t.fontStyle&&(r=t.fontStyle),null!==t.foreground&&(o=t.foreground),null!==t.background&&(n=t.background)}let s=new b(t),i=new h(r,s.getId(o),s.getId(n)),a=new _(new k(0,null,-1,0,0),[]);for(let t=0,r=e.length;t<r;t++){let r=e[t];a.insert(0,r.scope,r.parentScopes,r.fontStyle,s.getId(r.foreground),s.getId(r.background))}return new l(s,i,a)}(e,t)}_cachedMatchRoot=new p(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(null===e)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(t=>(function(e,t){if(0===t.length)return!0;for(let n=0;n<t.length;n++){var r,o;let s=t[n],i=!1;if(">"===s){if(n===t.length-1)return!1;s=t[++n],i=!0}for(;e&&(r=e.scopeName,!((o=s)===r||r.startsWith(o)&&"."===r[o.length]));){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0})(e.parent,t.parentScopes));return r?new h(r.fontStyle,r.foreground,r.background):null}},g=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,r){for(let o of r)t=new e(t,o);return t}static from(...t){let r=null;for(let o=0;o<t.length;o++)r=new e(r,t[o]);return r}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(" ")}extends(e){return this===e||null!==this.parent&&this.parent.extends(e)}getExtensionIfDefined(e){let t=[],r=this;for(;r&&r!==e;)t.push(r.scopeName),r=r.parent;return r===e?t.reverse():void 0}},h=class{constructor(e,t,r){this.fontStyle=e,this.foregroundId=t,this.backgroundId=r}},f=class{constructor(e,t,r,o,n,s){this.scope=e,this.parentScopes=t,this.index=r,this.fontStyle=o,this.foreground=n,this.background=s}},m=((o=m||{})[o.NotSet=-1]="NotSet",o[o.None=0]="None",o[o.Italic=1]="Italic",o[o.Bold=2]="Bold",o[o.Underline=4]="Underline",o[o.Strikethrough=8]="Strikethrough",o),b=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,r=e.length;t<r;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(null===e)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},y=Object.freeze([]),k=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,r,o,n){this.scopeDepth=e,this.parentScopes=t||y,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let r=0,o=e.length;r<o;r++)t[r]=e[r].clone();return t}acceptOverwrite(e,t,r,o){this.scopeDepth>e?console.log("how did this happen?"):this.scopeDepth=e,-1!==t&&(this.fontStyle=t),0!==r&&(this.foreground=r),0!==o&&(this.background=o)}},_=class e{constructor(e,t=[],r={}){this._mainRule=e,this._children=r,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let r=0,o=0;for(;">"===e.parentScopes[r]&&r++,">"===t.parentScopes[o]&&o++,!(r>=e.parentScopes.length)&&!(o>=t.parentScopes.length);){let n=t.parentScopes[o].length-e.parentScopes[r].length;if(0!==n)return n;r++,o++}return t.parentScopes.length-e.parentScopes.length}match(t){if(""!==t){let e,r,o=t.indexOf(".");if(-1===o?(e=t,r=""):(e=t.substring(0,o),r=t.substring(o+1)),this._children.hasOwnProperty(e))return this._children[e].match(r)}let r=this._rulesWithParentScopes.concat(this._mainRule);return r.sort(e._cmpBySpecificity),r}insert(t,r,o,n,s,i){let a,c,u;if(""===r)return void this._doInsertHere(t,o,n,s,i);let d=r.indexOf(".");-1===d?(a=r,c=""):(a=r.substring(0,d),c=r.substring(d+1)),this._children.hasOwnProperty(a)?u=this._children[a]:(u=new e(this._mainRule.clone(),k.cloneArr(this._rulesWithParentScopes)),this._children[a]=u),u.insert(t+1,c,o,n,s,i)}_doInsertHere(e,t,r,o,n){if(null===t)return void this._mainRule.acceptOverwrite(e,r,o,n);for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let i=this._rulesWithParentScopes[s];if(0===c(i.parentScopes,t))return void i.acceptOverwrite(e,r,o,n)}-1===r&&(r=this._mainRule.fontStyle),0===o&&(o=this._mainRule.foreground),0===n&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new k(e,t,r,o,n))}},w=class e{static toBinaryStr(e){return e.toString(2).padStart(32,"0")}static print(t){let r=e.getLanguageId(t),o=e.getTokenType(t),n=e.getFontStyle(t);console.log({languageId:r,tokenType:o,fontStyle:n,foreground:e.getForeground(t),background:e.getBackground(t)})}static getLanguageId(e){return(255&e)>>>0}static getTokenType(e){return(768&e)>>>8}static containsBalancedBrackets(e){return(1024&e)!=0}static getFontStyle(e){return(30720&e)>>>11}static getForeground(e){return(0xff8000&e)>>>15}static getBackground(e){return(0xff000000&e)>>>24}static set(t,r,o,n,s,i,a){let c=e.getLanguageId(t),u=e.getTokenType(t),d=+!!e.containsBalancedBrackets(t),p=e.getFontStyle(t),l=e.getForeground(t),g=e.getBackground(t);return 0!==r&&(c=r),8!==o&&(u=o),null!==n&&(d=+!!n),-1!==s&&(p=s),0!==i&&(l=i),0!==a&&(g=a),(c|u<<8|d<<10|p<<11|l<<15|g<<24)>>>0}};function v(e,t){var r;let o,n,s=[],i=(r=e,n=(o=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g).exec(r),{next:()=>{if(!n)return null;let e=n[0];return n=o.exec(r),e}}),a=i.next();for(;null!==a;){let e=0;if(2===a.length&&":"===a.charAt(1)){switch(a.charAt(0)){case"R":e=1;break;case"L":e=-1;break;default:console.log(`Unknown priority ${a} in scope selector`)}a=i.next()}let t=u();if(s.push({matcher:t,priority:e}),","!==a)break;a=i.next()}return s;function c(){if("-"===a){a=i.next();let e=c();return t=>!!e&&!e(t)}if("("===a){a=i.next();let e=function(){let e=[],t=u();for(;t&&(e.push(t),"|"===a||","===a);){do a=i.next();while("|"===a||","===a)t=u()}return t=>e.some(e=>e(t))}();return")"===a&&(a=i.next()),e}if(A(a)){let e=[];do e.push(a),a=i.next();while(A(a))return r=>t(e,r)}return null}function u(){let e=[],t=c();for(;t;)e.push(t),t=c();return t=>e.every(e=>e(t))}}function A(e){return!!e&&!!e.match(/[\w\.:]+/)}function x(e){"function"==typeof e.dispose&&e.dispose()}var S=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},C=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},B=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},j=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new S(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new B;for(let r of e)!function(e,t,r,o){let n=r.lookup(e.scopeName);if(!n){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let s=r.lookup(t);e instanceof S?F({baseGrammar:s,selfGrammar:n},o):E(e.ruleName,{baseGrammar:s,selfGrammar:n,repository:n.repository},o);let i=r.injections(e.scopeName);if(i)for(let e of i)o.add(new S(e))}(r,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof S){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function E(e,t,r){t.repository&&t.repository[e]&&N([t.repository[e]],t,r)}function F(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&N(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&N(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function N(e,t,r){for(let o of e){if(r.visitedRule.has(o))continue;r.visitedRule.add(o);let e=o.repository?s({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&N(o.patterns,{...t,repository:e},r);let n=o.include;if(!n)continue;let i=G(n);switch(i.kind){case 0:F({...t,selfGrammar:t.baseGrammar},r);break;case 1:F(t,r);break;case 2:E(i.ruleName,{...t,repository:e},r);break;case 3:case 4:let a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){let o={baseGrammar:t.baseGrammar,selfGrammar:a,repository:e};4===i.kind?E(i.ruleName,o,r):F(o,r)}else 4===i.kind?r.add(new C(i.scopeName,i.ruleName)):r.add(new S(i.scopeName))}}}var R=class{kind=0},I=class{kind=1},P=class{constructor(e){this.ruleName=e}kind=2},T=class{constructor(e){this.scopeName=e}kind=3},L=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function G(e){if("$base"===e)return new R;if("$self"===e)return new I;let t=e.indexOf("#");return -1===t?new T(e):0===t?new P(e.substring(1)):new L(e.substring(0,t),e.substring(t+1))}var $=/\\(\d+)/,M=/\\(\d+)/g;Symbol("RuleId");var D=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,r,o){this.$location=e,this.id=t,this._name=r||null,this._nameIsCapturing=a.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=a.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${function e(t){let r=~t.lastIndexOf("/")||~t.lastIndexOf("\\");return 0===r?t:~r==t.length-1?e(t.substring(0,t.length-1)):t.substr(~r+1)}(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return this._nameIsCapturing&&null!==this._name&&null!==e&&null!==t?a.replaceCaptures(this._name,e,t):this._name}getContentName(e,t){return this._contentNameIsCapturing&&null!==this._contentName?a.replaceCaptures(this._contentName,e,t):this._contentName}},O=class extends D{retokenizeCapturedWithRuleId;constructor(e,t,r,o,n){super(e,t,r,o),this.retokenizeCapturedWithRuleId=n}dispose(){}collectPatterns(e,t){throw Error("Not supported!")}compile(e,t){throw Error("Not supported!")}compileAG(e,t,r,o){throw Error("Not supported!")}},W=class extends D{_match;captures;_cachedCompiledPatterns;constructor(e,t,r,o,n){super(e,t,r,null),this._match=new J(o,this.id),this.captures=n,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,r,o){return this._getCachedCompiledPatterns(e).compileAG(e,r,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Q,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},q=class extends D{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,r,o,n){super(e,t,r,o),this.patterns=n.patterns,this.hasMissingPatterns=n.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let r of this.patterns)e.getRule(r).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,r,o){return this._getCachedCompiledPatterns(e).compileAG(e,r,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Q,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},H=class extends D{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,r,o,n,s,i,a,c,u){super(e,t,r,o),this._begin=new J(n,this.id),this.beginCaptures=s,this._end=new J(i||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=a,this.applyEndPatternLast=c||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,r,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,r,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){for(let t of(this._cachedCompiledPatterns=new Q,this.patterns))e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},z=class extends D{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,r,o,n,s,i,a,c){super(e,t,r,o),this._begin=new J(n,this.id),this.beginCaptures=s,this.whileCaptures=a,this._while=new J(i,-2),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,r,o){return this._getCachedCompiledPatterns(e).compileAG(e,r,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns)for(let t of(this._cachedCompiledPatterns=new Q,this.patterns))e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,r,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,r,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Q,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"￿"),this._cachedCompiledWhilePatterns}},U=class e{static createCaptureRule(e,t,r,o,n){return e.registerRule(e=>new O(t,e,r,o,n))}static getCompiledRuleId(t,r,o){return t.id||r.registerRule(n=>{if(t.id=n,t.match)return new W(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,r,o));if(void 0===t.begin){t.repository&&(o=s({},o,t.repository));let n=t.patterns;return void 0===n&&t.include&&(n=[{include:t.include}]),new q(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(n,r,o))}return t.while?new z(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,r,o),t.while,e._compileCaptures(t.whileCaptures||t.captures,r,o),e._compilePatterns(t.patterns,r,o)):new H(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,r,o),t.end,e._compileCaptures(t.endCaptures||t.captures,r,o),t.applyEndPatternLast,e._compilePatterns(t.patterns,r,o))}),t.id}static _compileCaptures(t,r,o){let n=[];if(t){let s=0;for(let e in t){if("$vscodeTextmateLocation"===e)continue;let t=parseInt(e,10);t>s&&(s=t)}for(let e=0;e<=s;e++)n[e]=null;for(let s in t){if("$vscodeTextmateLocation"===s)continue;let i=parseInt(s,10),a=0;t[s].patterns&&(a=e.getCompiledRuleId(t[s],r,o)),n[i]=e.createCaptureRule(r,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,a)}}return n}static _compilePatterns(t,r,o){let n=[];if(t)for(let s=0,i=t.length;s<i;s++){let i=t[s],a=-1;if(i.include){let t=G(i.include);switch(t.kind){case 0:case 1:a=e.getCompiledRuleId(o[i.include],r,o);break;case 2:let n=o[t.ruleName];n&&(a=e.getCompiledRuleId(n,r,o));break;case 3:case 4:let s=t.scopeName,c=4===t.kind?t.ruleName:null,u=r.getExternalGrammar(s,o);if(u)if(c){let t=u.repository[c];t&&(a=e.getCompiledRuleId(t,r,u.repository))}else a=e.getCompiledRuleId(u.repository.$self,r,u.repository)}}else a=e.getCompiledRuleId(i,r,o);if(-1!==a){let e=r.getRule(a),t=!1;if((e instanceof q||e instanceof H||e instanceof z)&&e.hasMissingPatterns&&0===e.patterns.length&&(t=!0),t)continue;n.push(a)}}return{patterns:n,hasMissingPatterns:(t?t.length:0)!==n.length}}},J=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&"string"==typeof e){let t=e.length,r=0,o=[],n=!1;for(let s=0;s<t;s++)if("\\"===e.charAt(s)&&s+1<t){let t=e.charAt(s+1);"z"===t?(o.push(e.substring(r,s)),o.push("$(?!\\n)(?<!\\n)"),r=s+2):("A"===t||"G"===t)&&(n=!0),s++}this.hasAnchor=n,0===r?this.source=e:(o.push(e.substring(r,t)),this.source=o.join(""))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,"string"==typeof this.source?this.hasBackReferences=$.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if("string"!=typeof this.source)throw Error("This method should only be called if the source is a string");let r=t.map(t=>e.substring(t.start,t.end));return M.lastIndex=0,this.source.replace(M,(e,t)=>d(r[parseInt(t,10)]||""))}_buildAnchorCache(){let e,t,r,o;if("string"!=typeof this.source)throw Error("This method should only be called if the source is a string");let n=[],s=[],i=[],a=[];for(e=0,t=this.source.length;e<t;e++)r=this.source.charAt(e),n[e]=r,s[e]=r,i[e]=r,a[e]=r,"\\"===r&&e+1<t&&("A"===(o=this.source.charAt(e+1))?(n[e+1]="￿",s[e+1]="￿",i[e+1]="A",a[e+1]="A"):"G"===o?(n[e+1]="￿",s[e+1]="G",i[e+1]="￿",a[e+1]="G"):(n[e+1]=o,s[e+1]=o,i[e+1]=o,a[e+1]=o),e++);return{A0_G0:n.join(""),A0_G1:s.join(""),A1_G0:i.join(""),A1_G1:a.join("")}}resolveAnchors(e,t){if(!this.hasAnchor||!this._anchorCache||"string"!=typeof this.source)return this.source;if(e)if(t)return this._anchorCache.A1_G1;else return this._anchorCache.A1_G0;return t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Q=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(e=>e.source);this._cached=new K(e,t,this._items.map(e=>e.ruleId))}return this._cached}compileAG(e,t,r){if(!this._hasAnchors)return this.compile(e);if(t)if(r)return this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,r)),this._anchorCache.A1_G1;else return this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,r)),this._anchorCache.A1_G0;return r?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,r)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,r)),this._anchorCache.A0_G0)}_resolveAnchors(e,t,r){return new K(e,this._items.map(e=>e.resolveAnchors(t,r)),this._items.map(e=>e.ruleId))}},K=class{constructor(e,t,r){this.regExps=t,this.rules=r,this.scanner=e.createOnigScanner(t)}scanner;dispose(){"function"==typeof this.scanner.dispose&&this.scanner.dispose()}toString(){let e=[];for(let t=0,r=this.rules.length;t<r;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join("\n")}findNextMatchSync(e,t,r){let o=this.scanner.findNextMatchSync(e,t,r);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},V=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Y=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new V(e,8),this._embeddedLanguagesMatcher=new X(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return null===t?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new V(0,0);_getBasicScopeAttributes=new p(e=>new V(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let r=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!r)return 8;switch(r[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},X=class{values;scopesRegExp;constructor(e){if(0===e.length)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>d(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};"u">typeof process&&process.env.VSCODE_TEXTMATE_DEBUG;var Z=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function ee(e,t,r,o,n,s,i,a){let c=t.content.length,u=!1,d=-1;if(i){let i=function(e,t,r,o,n,s){let i=n.beginRuleCapturedEOL?0:-1,a=[];for(let t=n;t;t=t.pop()){let r=t.getRule(e);r instanceof z&&a.push({rule:r,stack:t})}for(let g=a.pop();g;g=a.pop()){var c,u,d,p,l;let{ruleScanner:a,findOptions:h}=(c=g.rule,u=e,d=g.stack.endRule,p=r,l=o===i,{ruleScanner:c.compileWhileAG(u,d,p,l),findOptions:0}),f=a.findNextMatchSync(t,o,h);if(f){if(-2!==f.ruleId){n=g.stack.pop();break}f.captureIndices&&f.captureIndices.length&&(s.produce(g.stack,f.captureIndices[0].start),er(e,t,r,g.stack,s,g.rule.whileCaptures,f.captureIndices),s.produce(g.stack,f.captureIndices[0].end),i=f.captureIndices[0].end,f.captureIndices[0].end>o&&(o=f.captureIndices[0].end,r=!1))}else{n=g.stack.pop();break}}return{stack:n,linePos:o,anchorPosition:i,isFirstLine:r}}(e,t,r,o,n,s);n=i.stack,o=i.linePos,r=i.isFirstLine,d=i.anchorPosition}let p=Date.now();for(;!u;){if(0!==a&&Date.now()-p>a)return new Z(n,!0);!function(){let i=function(e,t,r,o,n,s){let i=function(e,t,r,o,n,s){let{ruleScanner:i,findOptions:a}=et(n.getRule(e),e,n.endRule,r,o===s),c=i.findNextMatchSync(t,o,a);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}(e,t,r,o,n,s),a=e.getInjections();if(0===a.length)return i;let c=function(e,t,r,o,n,s,i){let a,c=Number.MAX_VALUE,u=null,d=0,p=s.contentNameScopesList.getScopeNames();for(let s=0,l=e.length;s<l;s++){let l=e[s];if(!l.matcher(p))continue;let{ruleScanner:g,findOptions:h}=et(t.getRule(l.ruleId),t,null,o,n===i),f=g.findNextMatchSync(r,n,h);if(!f)continue;let m=f.captureIndices[0].start;if(!(m>=c)&&(c=m,u=f.captureIndices,a=f.ruleId,d=l.priority,c===n))break}return u?{priorityMatch:-1===d,captureIndices:u,matchedRuleId:a}:null}(a,e,t,r,o,n,s);if(!c)return i;if(!i)return c;let u=i.captureIndices[0].start,d=c.captureIndices[0].start;return d<u||c.priorityMatch&&d===u?c:i}(e,t,r,o,n,d);if(!i){s.produce(n,c),u=!0;return}let a=i.captureIndices,p=i.matchedRuleId,l=!!a&&a.length>0&&a[0].end>o;if(-1===p){let i=n.getRule(e);s.produce(n,a[0].start),n=n.withContentNameScopesList(n.nameScopesList),er(e,t,r,n,s,i.endCaptures,a),s.produce(n,a[0].end);let p=n;if(n=n.parent,d=p.getAnchorPos(),!l&&p.getEnterPos()===o){n=p,s.produce(n,c),u=!0;return}}else{let i=e.getRule(p);s.produce(n,a[0].start);let g=n,h=i.getName(t.content,a),f=n.contentNameScopesList.pushAttributed(h,e);if(n=n.push(p,o,d,a[0].end===c,null,f,f),i instanceof H){er(e,t,r,n,s,i.beginCaptures,a),s.produce(n,a[0].end),d=a[0].end;let o=i.getContentName(t.content,a),p=f.pushAttributed(o,e);if(n=n.withContentNameScopesList(p),i.endHasBackReferences&&(n=n.withEndRule(i.getEndWithResolvedBackReferences(t.content,a))),!l&&g.hasSameRuleAs(n)){n=n.pop(),s.produce(n,c),u=!0;return}}else if(i instanceof z){er(e,t,r,n,s,i.beginCaptures,a),s.produce(n,a[0].end),d=a[0].end;let o=i.getContentName(t.content,a),p=f.pushAttributed(o,e);if(n=n.withContentNameScopesList(p),i.whileHasBackReferences&&(n=n.withEndRule(i.getWhileWithResolvedBackReferences(t.content,a))),!l&&g.hasSameRuleAs(n)){n=n.pop(),s.produce(n,c),u=!0;return}}else if(er(e,t,r,n,s,i.captures,a),s.produce(n,a[0].end),n=n.pop(),!l){n=n.safePop(),s.produce(n,c),u=!0;return}}a[0].end>o&&(o=a[0].end,r=!1)}()}return new Z(n,!1)}function et(e,t,r,o,n){return{ruleScanner:e.compileAG(t,r,o,n),findOptions:0}}function er(e,t,r,o,n,s,i){if(0===s.length)return;let a=t.content,c=Math.min(s.length,i.length),u=[],d=i[0].end;for(let t=0;t<c;t++){let c=s[t];if(null===c)continue;let p=i[t];if(0===p.length)continue;if(p.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)n.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?n.produceFromScopes(u[u.length-1].scopes,p.start):n.produce(o,p.start),c.retokenizeCapturedWithRuleId){let t=c.getName(a,i),s=o.contentNameScopesList.pushAttributed(t,e),u=c.getContentName(a,i),d=s.pushAttributed(u,e),l=o.push(c.retokenizeCapturedWithRuleId,p.start,-1,!1,null,s,d),g=e.createOnigString(a.substring(0,p.end));ee(e,g,r&&0===p.start,p.start,l,n,!1,0),x(g);continue}let l=c.getName(a,i);if(null!==l){let t=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(l,e);u.push(new eo(t,p.end))}}for(;u.length>0;)n.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var eo=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function en(e,t,r,o,n){let s=v(t,es),i=U.getCompiledRuleId(r,o,n.repository);for(let r of s)e.push({debugSelector:t,matcher:r.matcher,ruleId:i,grammar:n,priority:r.priority})}function es(e,t){if(t.length<e.length)return!1;let r=0;return e.every(e=>{for(let o=r;o<t.length;o++)if(function(e,t){if(!e)return!1;if(e===t)return!0;let r=t.length;return e.length>r&&e.substr(0,r)===t&&"."===e[r]}(t[o],e))return r=o+1,!0;return!1})}var ei=class{constructor(e,t,r,o,n,s,i,a){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=a,this._basicScopeAttributesProvider=new Y(r,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=i,this._grammar=ea(t,null),this._injections=null,this._tokenTypeMatchers=[],n)for(let e of Object.keys(n))for(let t of v(e,es))this._tokenTypeMatchers.push({matcher:t.matcher,type:n[e]})}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e=[],t=this._rootScopeName,r=({lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)}).lookup(t);if(r){let o=r.injections;if(o)for(let t in o)en(e,t,o[t],this,r);let n=this._grammarRepository.injections(t);n&&n.forEach(t=>{let r=this.getExternalGrammar(t);if(r){let t=r.injectionSelector;t&&en(e,t,r,this,r)}})}return e.sort((e,t)=>e.priority-t.priority),e}getInjections(){return null===this._injections&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,r=e(t);return this._ruleId2desc[t]=r,r}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let r=this._grammarRepository.lookup(e);if(r)return this._includedGrammars[e]=ea(r,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,r=0){let o=this._tokenize(e,t,!1,r);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,r=0){let o=this._tokenize(e,t,!0,r);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,r,o){let n;if(-1===this._rootId&&(this._rootId=U.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections()),t&&t!==eu.NULL)n=!1,t.reset();else{let e;n=!0;let r=this._basicScopeAttributesProvider.getDefaultAttributes(),o=this.themeProvider.getDefaults(),s=w.set(0,r.languageId,r.tokenType,null,o.fontStyle,o.foregroundId,o.backgroundId),i=this.getRule(this._rootId).getName(null,null);e=i?ec.createRootAndLookUpScopeName(i,s,this):ec.createRoot("unknown",s),t=new eu(null,this._rootId,-1,-1,!1,null,e,e)}e+="\n";let s=this.createOnigString(e),i=s.content.length,a=new ep(r,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=ee(this,s,n,0,t,a,!0,o);return x(s),{lineLength:i,lineTokens:a,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function ea(e,t){return(e=function e(t){return Array.isArray(t)?function(t){let r=[];for(let o=0,n=t.length;o<n;o++)r[o]=e(t[o]);return r}(t):t instanceof RegExp?t:"object"==typeof t?function(t){let r={};for(let o in t)r[o]=e(t[o]);return r}(t):t}(e)).repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ec=class e{constructor(e,t,r){this.parent=e,this.scopePath=t,this.tokenAttributes=r}static fromExtension(t,r){let o=t,n=t?.scopePath??null;for(let t of r)o=new e(o,n=g.push(n,t.scopeNames),t.encodedTokenAttributes);return o}static createRoot(t,r){return new e(null,new g(null,t),r)}static createRootAndLookUpScopeName(t,r,o){let n=o.getMetadataForScope(t),s=new g(null,t),i=o.themeProvider.themeMatch(s),a=e.mergeAttributes(r,n,i);return new e(null,s,a)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return e.equals(this,t)}static equals(e,t){for(;;){if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}}static mergeAttributes(e,t,r){let o=-1,n=0,s=0;return null!==r&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),w.set(e,t.languageId,t.tokenType,null,o,n,s)}pushAttributed(t,r){if(null===t)return this;if(-1===t.indexOf(" "))return e._pushAttributed(this,t,r);let o=t.split(/ /g),n=this;for(let t of o)n=e._pushAttributed(n,t,r);return n}static _pushAttributed(t,r,o){let n=o.getMetadataForScope(r),s=t.scopePath.push(r),i=o.themeProvider.themeMatch(s),a=e.mergeAttributes(t.tokenAttributes,n,i);return new e(t,s,a)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],r=this;for(;r&&r!==e;)t.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===e?t.reverse():void 0}},eu=class e{constructor(e,t,r,o,n,s,i,a){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=a,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return null!==t&&e._equals(this,t)}static _equals(e,t){return e===t||!!this._structuralEquals(e,t)&&ec.equals(e.contentNameScopesList,t.contentNameScopesList)}static _structuralEquals(e,t){for(;;){if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,r,o,n,s,i,a){return new e(this,t,r,o,n,s,i,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),"["+e.join(",")+"]"}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,r){let o=ec.fromExtension(t?.nameScopesList??null,r.nameScopesList);return new e(t,r.ruleId,r.enterPos??-1,r.anchorPos??-1,r.beginRuleCapturedEOL,r.endRule,o,ec.fromExtension(o,r.contentNameScopesList))}},ed=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>"*"===e?(this.allowAny=!0,[]):v(e,es).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>v(e,es).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&0===this.unbalancedBracketScopes.length}get matchesNever(){return 0===this.balancedBracketScopes.length&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},ep=class{constructor(e,t,r,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=r,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(r=w.set(r,0,e.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(t))}if(o&&(r=w.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let r=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:r}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),0===this._tokens.length&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),0===this._binaryTokens.length&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let r=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)r[e]=this._binaryTokens[e];return r}},el=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,r,o,n){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,new ei(e,s,t,r,o,n,this,this._onigLib))}return this._grammars.get(e)}},eg=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new el(l.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(l.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,r){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:r})}loadGrammarWithConfiguration(e,t,r){return this._loadGrammar(e,t,r.embeddedLanguages,r.tokenTypes,new ed(r.balancedBracketSelectors||[],r.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,r,o,n){let s=new j(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(e=>this._loadSingleGrammar(e.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,r,o,n)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let r="function"==typeof this._options.getInjections?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,r)}}addGrammar(e,t=[],r=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,r,o)}_grammarForScopeName(e,t=0,r=null,o=null,n=null){return this._syncRegistry.grammarForScopeName(e,t,r,o,n)}},eh=eu.NULL;function ef(e,t){let r="string"==typeof e?{}:{...e.colorReplacements},o="string"==typeof e?e:e.name;for(let[e,n]of Object.entries(t?.colorReplacements||{}))"string"==typeof n?r[e]=n:e===o&&Object.assign(r,n);return r}function em(e,t){return e&&t?.[e?.toLowerCase()]||e}async function eb(e){return Promise.resolve("function"==typeof e?e():e).then(e=>e.default||e)}function ey(e){return!e||["plaintext","txt","text","plain"].includes(e)}function ek(e){return"none"===e}let e_=/(\r?\n)/g;function ew(e,t=!1){if(0===e.length)return[["",0]];let r=e.split(e_),o=0,n=[];for(let e=0;e<r.length;e+=2){let s=t?r[e]+(r[e+1]||""):r[e];n.push([s,o]),o+=r[e].length,o+=r[e+1]?.length||0}return n}let ev="__shiki_resolved";function eA(e){if(e?.[ev])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:r,fg:o}=t;if(!r||!o){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(o=e.settings.foreground),e?.settings?.background&&(r=e.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!r&&t?.colors?.["editor.background"]&&(r=t.colors["editor.background"]),o||(o="light"===t.type?"#333333":"#bbbbbb"),r||(r="light"===t.type?"#fffffe":"#1e1e1e"),t.fg=o,t.bg=r}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let n=0,s=new Map;function i(e){if(s.has(e))return s.get(e);n+=1;let r=`#${n.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${r}`]?i(e):(s.set(e,r),r)}for(let e of(t.settings=t.settings.map(e=>{let r=e.settings?.foreground&&!e.settings.foreground.startsWith("#"),o=e.settings?.background&&!e.settings.background.startsWith("#");if(!r&&!o)return e;let n={...e,settings:{...e.settings}};if(r){let r=i(e.settings.foreground);t.colorReplacements[r]=e.settings.foreground,n.settings.foreground=r}if(o){let r=i(e.settings.background);t.colorReplacements[r]=e.settings.background,n.settings.background=r}return n}),Object.keys(t.colors||{})))if(("editor.foreground"===e||"editor.background"===e||e.startsWith("terminal.ansi"))&&!t.colors[e]?.startsWith("#")){let r=i(t.colors[e]);t.colorReplacements[r]=t.colors[e],t.colors[e]=r}return Object.defineProperty(t,ev,{enumerable:!1,writable:!1,value:!0}),t}async function ex(e){return[...new Set((await Promise.all(e.filter(e=>!("ansi"===e||ey(e))).map(async e=>await eb(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function eS(e){return(await Promise.all(e.map(async e=>ek(e)?null:eA(await eb(e))))).filter(e=>!!e)}function eC(e,t){if(!t)return e;if(t[e]){let r=new Set([e]);for(;t[e];){if(e=t[e],r.has(e))throw new n(`Circular alias \`${[...r].join(" -> ")} -> ${e}\``);r.add(e)}}return e}var eB=class extends eg{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,r,o={}){super(e),this._resolver=e,this._themes=t,this._langs=r,this._alias=o,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return"string"==typeof e?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=eA(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=l.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=eC(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let r={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let o=this.loadGrammarWithConfiguration(e.scopeName,1,r);if(o.name=e.name,this._resolvedGrammars.set(e.name,o),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],r=t.filter(([e,t])=>!t);if(r.length){let e=t.filter(([e,t])=>!!t&&(t.embeddedLanguages||t.embeddedLangs)?.some(e=>r.map(([e])=>e).includes(e))).filter(e=>!r.includes(e));throw new n(`Missing languages ${r.map(([e])=>`\`${e}\``).join(", ")}, required by ${e.map(([e])=>`\`${e}\``).join(", ")}`)}for(let[e,r]of t)this._resolver.addLanguage(r);for(let[e,r]of t)this.loadLanguage(r)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},ej=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split("."),r=[];for(let e=1;e<=t.length;e++){let o=t.slice(0,e).join(".");r=[...r,...this._injections.get(o)||[]]}return r}};let eE=0;async function eF(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,r,o]=await Promise.all([eS(e.themes||[]),ex(e.langs||[]),e.engine]);return function(e){let t;eE+=1,!1!==e.warnings&&eE>=10&&eE%10==0&&console.warn(`[Shiki] ${eE} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let r=!1;if(!e.engine)throw new n("`engine` option is required for synchronous mode");let o=(e.langs||[]).flat(1),s=(e.themes||[]).flat(1).map(eA),i=new eB(new ej(e.engine,o),s,o,e.langAlias);function a(e){if("none"===e)return{bg:"",fg:"",name:"none",settings:[],type:"dark"};d();let t=i.getTheme(e);if(!t)throw new n(`Theme \`${e}\` not found, you may need to load it first`);return t}function c(...e){d(),i.loadLanguages(e.flat(1))}function u(...e){for(let t of(d(),e.flat(1)))i.loadTheme(t)}function d(){if(r)throw new n("Shiki instance has been disposed")}function p(){r||(r=!0,i.dispose(),eE-=1)}return{setTheme:function(e){d();let r=a(e);return t!==e&&(i.setTheme(r),t=e),{theme:r,colorMap:i.getColorMap()}},getTheme:a,getLanguage:function(e){d();let t=i.getGrammar("string"==typeof e?e:e.name);if(!t)throw new n(`Language \`${e}\` not found, you may need to load it first`);return t},getLoadedThemes:function(){return d(),i.getLoadedThemes()},getLoadedLanguages:function(){return d(),i.getLoadedLanguages()},resolveLangAlias:function(t){return eC(t,e.langAlias)},loadLanguage:async function(...e){return c(await ex(e))},loadLanguageSync:c,loadTheme:async function(...e){return d(),u(await eS(e))},loadThemeSync:u,dispose:p,[Symbol.dispose]:p}}({...e,themes:t,langs:r,engine:o})}let eN=new WeakMap;function eR(e,t){eN.set(e,t)}function eI(e){return eN.get(e)}var eP=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,r){return new e(Object.fromEntries((Array.isArray(r)?r:[r]).map(e=>[e,eh])),t)}constructor(...e){if(2===e.length){let[t,r]=e;this.lang=r,this._stacks=t}else{let[t,r,o]=e;this.lang=r,this._stacks={[o]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){var t;let r,o;return t=this._stacks[e],r=[],o=new Set,!function e(t){if(o.has(t))return;o.add(t);let n=t?.nameScopesList?.scopeName;n&&r.push(n),t.parent&&e(t.parent)}(t),r}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};let eT=/,/,eL=/ /;function eG(e,t,r={}){var o,s;let i,a,{theme:c=e.getLoadedThemes()[0]}=r;if(ey(e.resolveLangAlias(r.lang||"text"))||ek(c))return ew(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:u,colorMap:d}=e.setTheme(c),p=e.getLanguage(r.lang||"text");if(r.grammarState){if(r.grammarState.lang!==p.name)throw new n(`Grammar state language "${r.grammarState.lang}" does not match highlight language "${p.name}"`);if(!r.grammarState.themes.includes(u.name))throw new n(`Grammar state themes "${r.grammarState.themes}" do not contain highlight theme "${u.name}"`)}return a=new eP((i=e$(t,o=p,s=u,d,r)).stateStack,o.name,s.name),eR(i.tokens,a),i.tokens}function e$(e,t,r,o,s){let i=ef(r,s),{tokenizeMaxLineLength:a=0,tokenizeTimeLimit:c=500,includeExplanation:u=!1}=s,d=ew(e),p=s.grammarState?function(e,t){if(!(e instanceof eP))throw new n("Invalid grammar state");return e.getInternalStack(t)}(s.grammarState,r.name)??eh:null!=s.grammarContextCode?e$(s.grammarContextCode,t,r,o,{...s,grammarState:void 0,grammarContextCode:void 0}).stateStack:eh,l=[],g=[];for(let e=0,n=d.length;e<n;e++){let n,s,[h,f]=d[e];if(""===h){l=[],g.push([]);continue}if(a>0&&h.length>=a){l=[],g.push([{content:h,offset:f,color:"",fontStyle:0}]);continue}u&&"tokenType"!==u&&(n=t.tokenizeLine(h,p,c).tokens,s=0);let m=t.tokenizeLine2(h,p,c),b=m.tokens.length/2;for(let e=0;e<b;e++){let t=m.tokens[2*e],a=e+1<b?m.tokens[2*e+2]:h.length;if(t===a)continue;let c=m.tokens[2*e+1],d=em(o[w.getForeground(c)],i),p=w.getFontStyle(c),g={content:h.substring(t,a),offset:f+t,color:d,fontStyle:p};if("tokenType"===u)g.type=w.getTokenType(c);else if(u){let e=[];if("scopeName"!==u)for(let t of r.settings){let r;switch(typeof t.scope){case"string":r=t.scope.split(eT).map(e=>e.trim());break;case"object":r=t.scope;break;default:continue}e.push({settings:t,selectors:r.map(e=>e.split(eL))})}g.explanation=[];let o=0;for(;t+o<a;){let t=n[s],r=h.substring(t.startIndex,t.endIndex);o+=r.length,g.explanation.push({content:r,scopes:"scopeName"===u?t.scopes.map(e=>({scopeName:e})):function(e,t){let r=[];for(let o=0,n=t.length;o<n;o++){let n=t[o];r[o]={scopeName:n,themeMatches:function(e,t,r){let o=[];for(let{selectors:n,settings:s}of e)for(let e of n)if(function(e,t,r){if(!eM(e.at(-1),t))return!1;let o=e.length-2,n=r.length-1;for(;o>=0&&n>=0;)eM(e[o],r[n])&&(o-=1),n-=1;return -1===o}(e,t,r)){o.push(s);break}return o}(e,n,t.slice(0,o))}}return r}(e,t.scopes)}),s+=1}}l.push(g)}g.push(l),l=[],p=m.ruleStack}return{tokens:g,stateStack:p}}function eM(e,t){return e===t||t.substring(0,e.length)===e&&"."===t[e.length]}function eD(e,t,r,o=eG){let n=Object.entries(r.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),s=n.map(n=>{let s=o(e,t,{...r,theme:n.theme});return{tokens:s,state:eI(s),theme:"string"==typeof n.theme?n.theme:n.theme.name}}),i=function(...e){let t=e.map(()=>[]),r=e.length;for(let o=0;o<e[0].length;o++){let n=e.map(e=>e[o]),s=t.map(()=>[]);t.forEach((e,t)=>e.push(s[t]));let i=n.map(()=>0),a=n.map(e=>e[0]);for(;a.every(e=>e);){let e=Math.min(...a.map(e=>e.content.length));for(let t=0;t<r;t++){let r=a[t];r.content.length===e?(s[t].push(r),i[t]+=1,a[t]=n[t][i[t]]):(s[t].push({...r,content:r.content.slice(0,e)}),a[t]={...r,content:r.content.slice(e),offset:r.offset+e})}}}return t}(...s.map(e=>e.tokens)),a=i[0].map((e,t)=>e.map((e,o)=>{let s={content:e.content,variants:{},offset:e.offset};return"includeExplanation"in r&&r.includeExplanation&&(s.explanation=e.explanation),i.forEach((e,r)=>{let{content:i,explanation:a,offset:c,...u}=e[t][o];s.variants[n[r].color]=u}),s})),c=s[0].state?new eP(Object.fromEntries(s.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),s[0].state.lang):void 0;return c&&eR(a,c),a}var eO=r("Ri");let eW=/\s+/g;function eq(e,t){if(!t)return e;for(let r of(e.properties||={},e.properties.class||=[],"string"==typeof e.properties.class&&(e.properties.class=e.properties.class.split(eW)),Array.isArray(e.properties.class)||(e.properties.class=[]),Array.isArray(t)?t:t.split(eW)))r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}let eH=["color","background-color"];function ez(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&m.Italic&&(t["font-style"]="italic"),e.fontStyle&m.Bold&&(t["font-weight"]="bold");let r=[];e.fontStyle&m.Underline&&r.push("underline"),e.fontStyle&m.Strikethrough&&r.push("line-through"),r.length&&(t["text-decoration"]=r.join(" "))}return t}function eU(e){return"string"==typeof e?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(";")}let eJ=[function(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){var r;let s,i={lines:s=ew(r=t.source,!0).map(([e])=>e),indexToPos:function(e){if(e===r.length)return{line:s.length-1,character:s.at(-1).length};let t=e,o=0;for(let e of s){if(t<e.length)break;t-=e.length,o++}return{line:o,character:t}},posToIndex:function(e,t){let r=0;for(let t=0;t<e;t++)r+=s[t].length;return r+t}};function o(e){if("number"==typeof e){if(e<0||e>t.source.length)throw new n(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...i.indexToPos(e),offset:e}}{let t=i.lines[e.line];if(void 0===t)throw new n(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${i.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new n(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:i.posToIndex(e.line,r)}}}let a=(t.options.decorations||[]).map(e=>({...e,start:o(e.start),end:o(e.end)}));(function(e){for(let t=0;t<e.length;t++){let r=e[t];if(r.start.offset>r.end.offset)throw new n(`Invalid decoration range: ${JSON.stringify(r.start)} - ${JSON.stringify(r.end)}`);for(let o=t+1;o<e.length;o++){let t=e[o],s=r.start.offset<=t.start.offset&&t.start.offset<r.end.offset,i=r.start.offset<t.end.offset&&t.end.offset<=r.end.offset,a=t.start.offset<=r.start.offset&&r.start.offset<t.end.offset,c=t.start.offset<r.end.offset&&r.end.offset<=t.end.offset;if(s||i||a||c){if(s&&i||a&&c||a&&r.start.offset===r.end.offset||i&&t.start.offset===t.end.offset)continue;throw new n(`Decorations ${JSON.stringify(r.start)} and ${JSON.stringify(t.start)} intersect.`)}}}})(a),e.set(t.meta,{decorations:a,converter:i,source:t.source})}return e.get(t.meta)}return{name:"shiki:decorations",tokens(e){if(this.options.decorations?.length){var r;let o;return(o=[...(r=t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))instanceof Set?r:new Set(r)].sort((e,t)=>e-t)).length?e.map(e=>e.flatMap(e=>{let t=e.offset+e.content.length,r=function(e,t){let r=0,o=e.length;for(;r<o;){let n=r+(o-r>>1);e[n]<=t?r=n+1:o=n}return r}(o,e.offset),n=r;for(;n<o.length&&o[n]<t;)n++;if(r===n)return e;let s=o.slice(r,n);for(let t=0;t<s.length;t++)s[t]-=e.offset;let i=0,a=[];for(let t of s)t>i&&a.push({...e,content:e.content.slice(i,t),offset:e.offset+i}),i=t;return i<e.content.length&&a.push({...e,content:e.content.slice(i),offset:e.offset+i}),a})):e}},code(e){if(!this.options.decorations?.length)return;let r=t(this),o=[...e.children].filter(e=>"element"===e.type&&"span"===e.tagName);if(o.length!==r.converter.lines.length)throw new n(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function s(e,t,r,s){let a=o[e],c="",u=-1,d=-1;if(0===t&&(u=0),0===r&&(d=0),1/0===r&&(d=a.children.length),-1===u||-1===d)for(let e=0;e<a.children.length;e++)c+=function e(t){return"text"===t.type?t.value:"element"===t.type?t.children.map(e).join(""):""}(a.children[e]),-1===u&&c.length===t&&(u=e+1),-1===d&&c.length===r&&(d=e+1);if(-1===u)throw new n(`Failed to find start index for decoration ${JSON.stringify(s.start)}`);if(-1===d)throw new n(`Failed to find end index for decoration ${JSON.stringify(s.end)}`);let p=a.children.slice(u,d);if(s.alwaysWrap||p.length!==a.children.length)if(s.alwaysWrap||1!==p.length||"element"!==p[0].type){let e={type:"element",tagName:"span",properties:{},children:p};i(e,s,"wrapper"),a.children.splice(u,p.length,e)}else i(p[0],s,"token");else i(a,s,"line")}function i(e,t,r){let o=t.properties||{},n=t.transform||(e=>e);return e.tagName=t.tagName||"span",e.properties={...e.properties,...o,class:e.properties.class},t.properties?.class&&eq(e,t.properties.class),e=n(e,r)||e}let a=[];for(let e of r.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset)){let{start:t,end:r}=e;if(t.line===r.line)s(t.line,t.character,r.character,e);else if(t.line<r.line){s(t.line,t.character,1/0,e);for(let n=t.line+1;n<r.line;n++)a.unshift(()=>{var t;o[t=n]=i(o[t],e,"line")});s(r.line,0,r.character,e)}}a.forEach(e=>e())}}}()];function eQ(e){let t=function(e){let t=[],r=[],o=[];for(let n of e)switch(n.enforce){case"pre":t.push(n);break;case"post":r.push(n);break;default:o.push(n)}return{pre:t,post:r,normal:o}}(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...eJ]}var eK=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],eV={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function eY(e){let t=e.shift();if("2"===t){let t=e.splice(0,3).map(e=>Number.parseInt(e));if(3!==t.length||t.some(e=>Number.isNaN(e)))return;return{type:"rgb",rgb:t}}if("5"===t){let t=e.shift();if(t)return{type:"table",index:Number(t)}}}var eX={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};let eZ=/#([0-9a-f]{3,8})/i,e0=/var\((--[\w-]+-ansi-[\w-]+)\)/,e1={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function e6(e,t,r={}){let o=e.resolveLangAlias(r.lang||"text"),{theme:n=e.getLoadedThemes()[0]}=r;if(!ey(o)&&!ek(n)&&"ansi"===o){let o,s,i,a,c,u,d,{theme:p}=e.setTheme(n);return o=ef(p,r),s=ew(t),i=function(e=eX){let t;function r(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,"0")).join("")}`}return{value:function(o){switch(o.type){case"named":return e[o.name];case"rgb":return r(o.rgb);case"table":var n;return n=o.index,function(){if(t)return t;t=[];for(let r=0;r<eK.length;r++)t.push(e[eK[r]]);let o=[0,95,135,175,215,255];for(let e=0;e<6;e++)for(let n=0;n<6;n++)for(let s=0;s<6;s++)t.push(r([o[e],o[n],o[s]]));let n=8;for(let e=0;e<24;e++,n+=10)t.push(r([n,n,n]));return t}()[n]}}}}(Object.fromEntries(eK.map(e=>{let t=`terminal.ansi${e[0].toUpperCase()}${e.substring(1)}`;return[e,p.colors?.[t]||e1[e]]}))),a=null,c=null,u=new Set,d={parse(e){let t=[],r=0;do{let o=function(e,t){let r=e.indexOf("\x1b",t);if(-1!==r&&"["===e[r+1]){let t=e.indexOf("m",r);if(-1!==t)return{sequence:e.substring(r+2,t).split(";"),startPosition:r,position:t+1}}return{position:e.length}}(e,r),n=o.sequence?e.substring(r,o.startPosition):e.substring(r);if(n.length>0&&t.push({value:n,foreground:a,background:c,decorations:new Set(u)}),o.sequence){let e=function(e){let t=[];for(;e.length>0;){let r=e.shift();if(!r)continue;let o=Number.parseInt(r);if(!Number.isNaN(o))if(0===o)t.push({type:"resetAll"});else if(o<=9)eV[o]&&t.push({type:"setDecoration",value:eV[o]});else if(o<=29){let e=eV[o-20];e&&(t.push({type:"resetDecoration",value:e}),"dim"===e&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:eK[o-30]}});else if(38===o){let r=eY(e);r&&t.push({type:"setForegroundColor",value:r})}else if(39===o)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:eK[o-40]}});else if(48===o){let r=eY(e);r&&t.push({type:"setBackgroundColor",value:r})}else 49===o?t.push({type:"resetBackgroundColor"}):53===o?t.push({type:"setDecoration",value:"overline"}):55===o?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:eK[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:eK[o-100+8]}})}return t}(o.sequence);for(let t of e)"resetAll"===t.type?(a=null,c=null,u.clear()):"resetForegroundColor"===t.type?a=null:"resetBackgroundColor"===t.type?c=null:"resetDecoration"===t.type&&u.delete(t.value);for(let t of e)"setForegroundColor"===t.type?a=t.value:"setBackgroundColor"===t.type?c=t.value:"setDecoration"===t.type&&u.add(t.value)}r=o.position}while(r<e.length)return t}},s.map(e=>d.parse(e[0]).map(t=>{let r,n;t.decorations.has("reverse")?(r=t.background?i.value(t.background):p.bg,n=t.foreground?i.value(t.foreground):p.fg):(r=t.foreground?i.value(t.foreground):p.fg,n=t.background?i.value(t.background):void 0),r=em(r,o),n=em(n,o),t.decorations.has("dim")&&(r=function(e){let t=e.match(eZ);if(t){let e=t[1];if(8===e.length){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${e.slice(0,6)}${t}`}if(6===e.length)return`#${e}80`;if(4===e.length){let t=e[0],r=e[1],o=e[2],n=e[3];return`#${t}${t}${r}${r}${o}${o}${Math.round(Number.parseInt(`${n}${n}`,16)/2).toString(16).padStart(2,"0")}`}else if(3===e.length){let t=e[0],r=e[1],o=e[2];return`#${t}${t}${r}${r}${o}${o}80`}}let r=e.match(e0);return r?`var(${r[1]}-dim)`:e}(r));let s=m.None;return t.decorations.has("bold")&&(s|=m.Bold),t.decorations.has("italic")&&(s|=m.Italic),t.decorations.has("underline")&&(s|=m.Underline),t.decorations.has("strikethrough")&&(s|=m.Strikethrough),{content:t.value,offset:e[1],color:r,bgColor:n,fontStyle:s}}))}return eG(e,t,r)}function e2(e,t,r){let o,s,i,a,c,u;if("themes"in r){let{defaultColor:d="light",cssVariablePrefix:p="--shiki-",colorsRendering:l="css-vars"}=r,g=Object.entries(r.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===d?-1:+(t.color===d));if(0===g.length)throw new n("`themes` option must not be empty");let h=eD(e,t,r,e6);if(u=eI(h),d&&"light-dark()"!==d&&!g.some(e=>e.color===d))throw new n(`\`themes\` option must contain the defaultColor key \`${d}\``);let f=g.map(t=>e.getTheme(t.theme)),m=g.map(e=>e.color);i=h.map(e=>e.map(e=>(function(e,t,r,o,s="css-vars"){let i={content:e.content,explanation:e.explanation,offset:e.offset},a=t.map(t=>ez(e.variants[t])),c=new Set(a.flatMap(e=>Object.keys(e))),u={},d=(e,o)=>{let n="color"===o?"":"background-color"===o?"-bg":`-${o}`;return r+t[e]+("color"===o?"":n)};return a.forEach((e,r)=>{for(let i of c){let c=e[i]||"inherit";if(0===r&&o&&eH.includes(i))if("light-dark()"===o&&a.length>1){let e=t.findIndex(e=>"light"===e),o=t.findIndex(e=>"dark"===e);if(-1===e||-1===o)throw new n('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=a[e][i]||"inherit",l=a[o][i]||"inherit";u[i]=`light-dark(${p}, ${l})`,"css-vars"===s&&(u[d(r,i)]=c)}else u[i]=c;else"css-vars"===s&&(u[d(r,i)]=c)}}),i.htmlStyle=u,i})(e,m,p,d,l))),u&&eR(i,u);let b=g.map(e=>ef(e.theme,r));s=e4(g,f,b,p,d,"fg",l),o=e4(g,f,b,p,d,"bg",l),a=`shiki-themes ${f.map(e=>e.name).join(" ")}`,c=d?void 0:[s,o].join(";")}else if("theme"in r){let n=ef(r.theme,r);i=e6(e,t,r);let c=e.getTheme(r.theme);o=em(c.bg,n),s=em(c.fg,n),a=c.name,u=eI(i)}else throw new n("Invalid options, either `theme` or `themes` must be provided");return{tokens:i,fg:s,bg:o,themeName:a,rootStyle:c,grammarState:u}}function e4(e,t,r,o,s,i,a){return e.map((c,u)=>{let d=em(t[u][i],r[u])||"inherit",p=`${o+c.color}${"bg"===i?"-bg":""}:${d}`;if(0===u&&s){if("light-dark()"===s&&e.length>1){let o=e.findIndex(e=>"light"===e.color),s=e.findIndex(e=>"dark"===e.color);if(-1===o||-1===s)throw new n('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${em(t[o][i],r[o])||"inherit"}, ${em(t[s][i],r[s])||"inherit"});${p}`}return d}return"css-vars"===a?p:null}).filter(e=>!!e).join(";")}let e8=/^\s+$/,e5=/^(\s*)(.*?)(\s*)$/;function e3(e,t,r,o={meta:{},options:r,codeToHast:(t,r)=>e3(e,t,r),codeToTokens:(t,r)=>e2(e,t,r)}){let n=t;for(let e of eQ(r))n=e.preprocess?.call(o,n,r)||n;let{tokens:s,fg:i,bg:a,themeName:c,rootStyle:u,grammarState:d}=e2(e,n,r),{mergeWhitespaces:p=!0,mergeSameStyleTokens:l=!1}=r;!0===p?s=s.map(e=>{let t,r=[],o="";return e.forEach((n,s)=>{let i=!(n.fontStyle&&(n.fontStyle&m.Underline||n.fontStyle&m.Strikethrough));i&&e8.test(n.content)&&e[s+1]?(void 0===t&&(t=n.offset),o+=n.content):o?(i?r.push({...n,offset:t,content:o+n.content}):r.push({content:o,offset:t},n),t=void 0,o=""):r.push(n)}),r}):"never"===p&&(s=s.map(e=>e.flatMap(e=>{if(e8.test(e.content))return e;let t=e.content.match(e5);if(!t)return e;let[,r,o,n]=t;if(!r&&!n)return e;let s=[{...e,offset:e.offset+r.length,content:o}];return r&&s.unshift({content:r,offset:e.offset}),n&&s.push({content:n,offset:e.offset+r.length+o.length}),s}))),l&&(s=s.map(e=>{let t=[];for(let r of e){if(0===t.length){t.push({...r});continue}let e=t.at(-1),o=eU(e.htmlStyle||ez(e)),n=eU(r.htmlStyle||ez(r)),s=e.fontStyle&&(e.fontStyle&m.Underline||e.fontStyle&m.Strikethrough),i=r.fontStyle&&(r.fontStyle&m.Underline||r.fontStyle&m.Strikethrough);s||i||o!==n?t.push({...r}):e.content+=r.content}return t}));let g={...o,get source(){return n}};for(let e of eQ(r))s=e.tokens?.call(g,s)||s;return function(e,t,r,o=eI(e)){let n=eQ(t),s=[],i={type:"root",children:[]},{structure:a="classic",tabindex:c="0"}=t,u={class:`shiki ${t.themeName||""}`};for(let[e,r]of(!1!==t.rootStyle&&(null!=t.rootStyle?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),!1!==c&&null!=c&&(u.tabindex=c.toString()),Object.entries(t.meta||{})))e.startsWith("_")||(u[e]=r);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},p={type:"element",tagName:"code",properties:{},children:s},l=[],g={...r,structure:a,addClassToHast:eq,get source(){return r.source},get tokens(){return e},get options(){return t},get root(){return i},get pre(){return d},get code(){return p},get lines(){return l}};if(e.forEach((e,t)=>{t&&("inline"===a?i.children.push({type:"element",tagName:"br",properties:{},children:[]}):"classic"===a&&s.push({type:"text",value:"\n"}));let r={type:"element",tagName:"span",properties:{class:"line"},children:[]},o=0;for(let s of e){let e={type:"element",tagName:"span",properties:{...s.htmlAttrs},children:[{type:"text",value:s.content}]},c=eU(s.htmlStyle||ez(s));for(let i of(c&&(e.properties.style=c),n))e=i?.span?.call(g,e,t+1,o,r,s)||e;"inline"===a?i.children.push(e):"classic"===a&&r.children.push(e),o+=s.content.length}if("classic"===a){for(let e of n)r=e?.line?.call(g,r,t+1)||r;l.push(r),s.push(r)}else"inline"===a&&l.push(r)}),"classic"===a){for(let e of n)p=e?.code?.call(g,p)||p;for(let e of(d.children.push(p),n))d=e?.pre?.call(g,d)||d;i.children.push(d)}else if("inline"===a){let e=[],t={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let r of i.children)"element"===r.type&&"br"===r.tagName?(e.push(t),t={type:"element",tagName:"span",properties:{class:"line"},children:[]}):("element"===r.type||"text"===r.type)&&t.children.push(r);e.push(t);let r={type:"element",tagName:"code",properties:{},children:e};for(let e of n)r=e?.code?.call(g,r)||r;i.children=[];for(let e=0;e<r.children.length;e++){e>0&&i.children.push({type:"element",tagName:"br",properties:{},children:[]});let t=r.children[e];"element"===t.type&&i.children.push(...t.children)}}let h=i;for(let e of n)h=e?.root?.call(g,h)||h;return o&&eR(h,o),h}(s,{...r,fg:i,bg:a,themeName:c,rootStyle:!1!==r.rootStyle&&(r.rootStyle??u)},g,d)}let e7=eO.V;async function e9(e){let t=await eF(e);return{getLastGrammarState:(...e)=>(function(...e){if(2===e.length)return eI(e[1]);let[t,r,o={}]=e,{lang:s="text",theme:i=t.getLoadedThemes()[0]}=o;if(ey(s)||ek(i))throw new n("Plain language does not have grammar state");if("ansi"===s)throw new n("ANSI language does not have grammar state");let{theme:a,colorMap:c}=t.setTheme(i),u=t.getLanguage(s);return new eP(e$(r,u,a,c,o).stateStack,u.name,a.name)})(t,...e),codeToTokensBase:(e,r)=>e6(t,e,r),codeToTokensWithThemes:(e,r)=>eD(t,e,r),codeToTokens:(e,r)=>e2(t,e,r),codeToHast:(e,r)=>e3(t,e,r),codeToHtml:(e,r)=>(function(e,t,r){let o={meta:{},options:r,codeToHast:(t,r)=>e3(e,t,r),codeToTokens:(t,r)=>e2(e,t,r)},n=e7(e3(e,t,r,o));for(let e of eQ(r))n=e.postprocess?.call(o,n,r)||n;return n})(t,e,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}},he(e,t,r){r.d(t,{l:()=>s});var o=class{patterns;options;regexps;constructor(e,t={}){this.patterns=e,this.options=t;let{forgiving:r=!1,cache:o,regexConstructor:n}=t;if(!n)throw Error("Option `regexConstructor` is not provided");this.regexps=e.map(e=>{if("string"!=typeof e)return e;let t=o?.get(e);if(t){if(t instanceof RegExp)return t;if(r)return null;throw t}try{let t=n(e);return o?.set(e,t),t}catch(t){if(o?.set(e,t),r)return null;throw t}})}findNextMatchSync(e,t,r){let o="string"==typeof e?e:e.content,n=[];function s(e,t,r=0){return{index:e,captureIndices:t.indices.map(e=>null==e?{start:0xffffffff,end:0xffffffff,length:0}:{start:e[0]+r,end:e[1]+r,length:e[1]-e[0]})}}for(let e=0;e<this.regexps.length;e++){let r=this.regexps[e];if(r)try{r.lastIndex=t;let i=r.exec(o);if(!i)continue;if(i.index===t)return s(e,i,0);n.push([e,i,0])}catch(e){if(this.options.forgiving)continue;throw e}}if(n.length){let e=Math.min(...n.map(e=>e[1].index));for(let[t,r,o]of n)if(r.index===e)return s(t,r,o)}return null}},n=r("ft");function s(e={}){let t={target:"auto",cache:new Map,...e};return t.regexConstructor||=e=>{var r;return r={target:t.target},(0,n.vr)(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...r})},{createScanner:e=>new o(e,t),createString:e=>({content:e})}}},g1(e,t){t.A=Object.freeze(JSON.parse('{"colors":{"actionBar.toggledBackground":"#525761","activityBar.background":"#282c34","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#282c34","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#21252b","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#21252b","dropdown.border":"#21252b","editor.background":"#282c34","editor.findMatchBackground":"#d19a6644","editor.findMatchBorder":"#ffffff5a","editor.findMatchHighlightBackground":"#ffffff22","editor.foreground":"#abb2bf","editor.lineHighlightBackground":"#2c313c","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffd33d44","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#21252b","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorHoverWidget.background":"#21252b","editorHoverWidget.border":"#181a1f","editorHoverWidget.highlightForeground":"#61afef","editorIndentGuide.activeBackground1":"#c8c8c859","editorIndentGuide.background1":"#3b4048","editorInlayHint.background":"#2c313c","editorInlayHint.foreground":"#abb2bf","editorLineNumber.activeForeground":"#abb2bf","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#21252b","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#21252b","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","multiDiffEditor.headerBackground":"#21252b","panel.border":"#3e4452","panelSectionHeader.background":"#21252b","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#282c34","settings.headerForeground":"#fff","sideBar.background":"#21252b","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#282c34","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#21252b","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#21252b","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#282c34","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#21252b","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#282c34","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#282c34","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#282c34","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"},"displayName":"One Dark Pro","name":"one-dark-pro","semanticHighlighting":true,"semanticTokenColors":{"annotation:dart":{"foreground":"#d19a66"},"enumMember":{"foreground":"#56b6c2"},"macro":{"foreground":"#d19a66"},"memberOperatorOverload":{"foreground":"#c678dd"},"parameter.label:dart":{"foreground":"#abb2bf"},"property:dart":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"scope":"source.java","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"scope":"keyword","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"scope":"variable","settings":{"foreground":"#e06c75"}},{"scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"scope":"token.package","settings":{"foreground":"#abb2bf"}},{"scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"scope":"storage","settings":{"foreground":"#c678dd"}},{"scope":"token.storage","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"scope":"support.function","settings":{"foreground":"#56b6c2"}},{"scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"scope":"string","settings":{"foreground":"#98c379"}},{"scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"scope":"constant","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"scope":["keyword.operator.arithmetic.c","keyword.operator.arithmetic.cpp"],"settings":{"foreground":"#c678dd"}},{"scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"scope":"comment, punctuation.definition.comment","settings":{"fontStyle":"italic","foreground":"#7f848e"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"scope":["variable.parameter.function.latex"],"settings":{"foreground":"#e06c75"}},{"scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}},{"scope":["log.info"],"settings":{"foreground":"#98c379"}},{"scope":["log.warning"],"settings":{"foreground":"#e5c07b"}},{"scope":["log.error"],"settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.expression.is","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.label","settings":{"foreground":"#e06c75"}},{"scope":["support.class.math.block.environment.latex","constant.other.general.math.tex"],"settings":{"foreground":"#61afef"}},{"scope":["constant.character.math.tex"],"settings":{"foreground":"#98c379"}},{"scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"type":"dark"}'))},h3(e,t){t.A=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#FAFAFA","activityBar.foreground":"#121417","activityBarBadge.background":"#526FFF","activityBarBadge.foreground":"#FFFFFF","badge.background":"#526FFF","badge.foreground":"#FFFFFF","button.background":"#5871EF","button.foreground":"#FFFFFF","button.hoverBackground":"#6B83ED","diffEditor.insertedTextBackground":"#00809B33","dropdown.background":"#FFFFFF","dropdown.border":"#DBDBDC","editor.background":"#FAFAFA","editor.findMatchHighlightBackground":"#526FFF33","editor.foreground":"#383A42","editor.lineHighlightBackground":"#383A420C","editor.selectionBackground":"#E5E5E6","editorCursor.foreground":"#526FFF","editorGroup.background":"#EAEAEB","editorGroup.border":"#DBDBDC","editorGroupHeader.tabsBackground":"#EAEAEB","editorHoverWidget.background":"#EAEAEB","editorHoverWidget.border":"#DBDBDC","editorIndentGuide.activeBackground":"#626772","editorIndentGuide.background":"#383A4233","editorInlayHint.background":"#F5F5F5","editorInlayHint.foreground":"#AFB2BB","editorLineNumber.activeForeground":"#383A42","editorLineNumber.foreground":"#9D9D9F","editorRuler.foreground":"#383A4233","editorSuggestWidget.background":"#EAEAEB","editorSuggestWidget.border":"#DBDBDC","editorSuggestWidget.selectedBackground":"#FFFFFF","editorWhitespace.foreground":"#383A4233","editorWidget.background":"#EAEAEB","editorWidget.border":"#E5E5E6","extensionButton.prominentBackground":"#3BBA54","extensionButton.prominentHoverBackground":"#4CC263","focusBorder":"#526FFF","input.background":"#FFFFFF","input.border":"#DBDBDC","list.activeSelectionBackground":"#DBDBDC","list.activeSelectionForeground":"#232324","list.focusBackground":"#DBDBDC","list.highlightForeground":"#121417","list.hoverBackground":"#DBDBDC66","list.inactiveSelectionBackground":"#DBDBDC","list.inactiveSelectionForeground":"#232324","notebook.cellEditorBackground":"#F5F5F5","notification.background":"#333333","peekView.border":"#526FFF","peekViewEditor.background":"#FFFFFF","peekViewResult.background":"#EAEAEB","peekViewResult.selectionBackground":"#DBDBDC","peekViewTitle.background":"#FFFFFF","pickerGroup.border":"#526FFF","scrollbarSlider.activeBackground":"#747D9180","scrollbarSlider.background":"#4E566680","scrollbarSlider.hoverBackground":"#5A637580","sideBar.background":"#EAEAEB","sideBarSectionHeader.background":"#FAFAFA","statusBar.background":"#EAEAEB","statusBar.debuggingForeground":"#FFFFFF","statusBar.foreground":"#424243","statusBar.noFolderBackground":"#EAEAEB","statusBarItem.hoverBackground":"#DBDBDC","tab.activeBackground":"#FAFAFA","tab.activeForeground":"#121417","tab.border":"#DBDBDC","tab.inactiveBackground":"#EAEAEB","titleBar.activeBackground":"#EAEAEB","titleBar.activeForeground":"#424243","titleBar.inactiveBackground":"#EAEAEB","titleBar.inactiveForeground":"#424243"},"displayName":"One Light","name":"one-light","tokenColors":[{"scope":["comment"],"settings":{"fontStyle":"italic","foreground":"#A0A1A7"}},{"scope":["comment markup.link"],"settings":{"foreground":"#A0A1A7"}},{"scope":["entity.name.type"],"settings":{"foreground":"#C18401"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#C18401"}},{"scope":["keyword"],"settings":{"foreground":"#A626A4"}},{"scope":["keyword.control"],"settings":{"foreground":"#A626A4"}},{"scope":["keyword.operator"],"settings":{"foreground":"#383A42"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#4078F2"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#986801"}},{"scope":["storage"],"settings":{"foreground":"#A626A4"}},{"scope":["storage.type.annotation","storage.type.primitive"],"settings":{"foreground":"#A626A4"}},{"scope":["storage.modifier.package","storage.modifier.import"],"settings":{"foreground":"#383A42"}},{"scope":["constant"],"settings":{"foreground":"#986801"}},{"scope":["constant.variable"],"settings":{"foreground":"#986801"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#0184BC"}},{"scope":["constant.numeric"],"settings":{"foreground":"#986801"}},{"scope":["constant.other.color"],"settings":{"foreground":"#0184BC"}},{"scope":["constant.other.symbol"],"settings":{"foreground":"#0184BC"}},{"scope":["variable"],"settings":{"foreground":"#E45649"}},{"scope":["variable.interpolation"],"settings":{"foreground":"#CA1243"}},{"scope":["variable.parameter"],"settings":{"foreground":"#383A42"}},{"scope":["string"],"settings":{"foreground":"#50A14F"}},{"scope":["string > source","string embedded"],"settings":{"foreground":"#383A42"}},{"scope":["string.regexp"],"settings":{"foreground":"#0184BC"}},{"scope":["string.regexp source.ruby.embedded"],"settings":{"foreground":"#C18401"}},{"scope":["string.other.link"],"settings":{"foreground":"#E45649"}},{"scope":["punctuation.definition.comment"],"settings":{"foreground":"#A0A1A7"}},{"scope":["punctuation.definition.method-parameters","punctuation.definition.function-parameters","punctuation.definition.parameters","punctuation.definition.separator","punctuation.definition.seperator","punctuation.definition.array"],"settings":{"foreground":"#383A42"}},{"scope":["punctuation.definition.heading","punctuation.definition.identity"],"settings":{"foreground":"#4078F2"}},{"scope":["punctuation.definition.bold"],"settings":{"fontStyle":"bold","foreground":"#C18401"}},{"scope":["punctuation.definition.italic"],"settings":{"fontStyle":"italic","foreground":"#A626A4"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#CA1243"}},{"scope":["punctuation.section.method","punctuation.section.class","punctuation.section.inner-class"],"settings":{"foreground":"#383A42"}},{"scope":["support.class"],"settings":{"foreground":"#C18401"}},{"scope":["support.type"],"settings":{"foreground":"#0184BC"}},{"scope":["support.function"],"settings":{"foreground":"#0184BC"}},{"scope":["support.function.any-method"],"settings":{"foreground":"#4078F2"}},{"scope":["entity.name.function"],"settings":{"foreground":"#4078F2"}},{"scope":["entity.name.class","entity.name.type.class"],"settings":{"foreground":"#C18401"}},{"scope":["entity.name.section"],"settings":{"foreground":"#4078F2"}},{"scope":["entity.name.tag"],"settings":{"foreground":"#E45649"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#986801"}},{"scope":["entity.other.attribute-name.id"],"settings":{"foreground":"#4078F2"}},{"scope":["meta.class"],"settings":{"foreground":"#C18401"}},{"scope":["meta.class.body"],"settings":{"foreground":"#383A42"}},{"scope":["meta.method-call","meta.method"],"settings":{"foreground":"#383A42"}},{"scope":["meta.definition.variable"],"settings":{"foreground":"#E45649"}},{"scope":["meta.link"],"settings":{"foreground":"#986801"}},{"scope":["meta.require"],"settings":{"foreground":"#4078F2"}},{"scope":["meta.selector"],"settings":{"foreground":"#A626A4"}},{"scope":["meta.separator"],"settings":{"foreground":"#383A42"}},{"scope":["meta.tag"],"settings":{"foreground":"#383A42"}},{"scope":["underline"],"settings":{"text-decoration":"underline"}},{"scope":["none"],"settings":{"foreground":"#383A42"}},{"scope":["invalid.deprecated"],"settings":{"background":"#F2A60D","foreground":"#000000"}},{"scope":["invalid.illegal"],"settings":{"background":"#FF1414","foreground":"#50A14F"}},{"scope":["markup.bold"],"settings":{"fontStyle":"bold","foreground":"#986801"}},{"scope":["markup.changed"],"settings":{"foreground":"#A626A4"}},{"scope":["markup.deleted"],"settings":{"foreground":"#E45649"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#A626A4"}},{"scope":["markup.heading"],"settings":{"foreground":"#E45649"}},{"scope":["markup.heading punctuation.definition.heading"],"settings":{"foreground":"#4078F2"}},{"scope":["markup.link"],"settings":{"foreground":"#0184BC"}},{"scope":["markup.inserted"],"settings":{"foreground":"#50A14F"}},{"scope":["markup.quote"],"settings":{"foreground":"#986801"}},{"scope":["markup.raw"],"settings":{"foreground":"#50A14F"}},{"scope":["source.c keyword.operator"],"settings":{"foreground":"#A626A4"}},{"scope":["source.cpp keyword.operator"],"settings":{"foreground":"#A626A4"}},{"scope":["source.cs keyword.operator"],"settings":{"foreground":"#A626A4"}},{"scope":["source.css property-name","source.css property-value"],"settings":{"foreground":"#696C77"}},{"scope":["source.css property-name.support","source.css property-value.support"],"settings":{"foreground":"#383A42"}},{"scope":["source.elixir source.embedded.source"],"settings":{"foreground":"#383A42"}},{"scope":["source.elixir constant.language","source.elixir constant.numeric","source.elixir constant.definition"],"settings":{"foreground":"#4078F2"}},{"scope":["source.elixir variable.definition","source.elixir variable.anonymous"],"settings":{"foreground":"#A626A4"}},{"scope":["source.elixir parameter.variable.function"],"settings":{"fontStyle":"italic","foreground":"#986801"}},{"scope":["source.elixir quoted"],"settings":{"foreground":"#50A14F"}},{"scope":["source.elixir keyword.special-method","source.elixir embedded.section","source.elixir embedded.source.empty"],"settings":{"foreground":"#E45649"}},{"scope":["source.elixir readwrite.module punctuation"],"settings":{"foreground":"#E45649"}},{"scope":["source.elixir regexp.section","source.elixir regexp.string"],"settings":{"foreground":"#CA1243"}},{"scope":["source.elixir separator","source.elixir keyword.operator"],"settings":{"foreground":"#986801"}},{"scope":["source.elixir variable.constant"],"settings":{"foreground":"#C18401"}},{"scope":["source.elixir array","source.elixir scope","source.elixir section"],"settings":{"foreground":"#696C77"}},{"scope":["source.gfm markup"],"settings":{"-webkit-font-smoothing":"auto"}},{"scope":["source.gfm link entity"],"settings":{"foreground":"#4078F2"}},{"scope":["source.go storage.type.string"],"settings":{"foreground":"#A626A4"}},{"scope":["source.ini keyword.other.definition.ini"],"settings":{"foreground":"#E45649"}},{"scope":["source.java storage.modifier.import"],"settings":{"foreground":"#C18401"}},{"scope":["source.java storage.type"],"settings":{"foreground":"#C18401"}},{"scope":["source.java keyword.operator.instanceof"],"settings":{"foreground":"#A626A4"}},{"scope":["source.java-properties meta.key-pair"],"settings":{"foreground":"#E45649"}},{"scope":["source.java-properties meta.key-pair > punctuation"],"settings":{"foreground":"#383A42"}},{"scope":["source.js keyword.operator"],"settings":{"foreground":"#0184BC"}},{"scope":["source.js keyword.operator.delete","source.js keyword.operator.in","source.js keyword.operator.of","source.js keyword.operator.instanceof","source.js keyword.operator.new","source.js keyword.operator.typeof","source.js keyword.operator.void"],"settings":{"foreground":"#A626A4"}},{"scope":["source.ts keyword.operator"],"settings":{"foreground":"#0184BC"}},{"scope":["source.flow keyword.operator"],"settings":{"foreground":"#0184BC"}},{"scope":["source.json meta.structure.dictionary.json > string.quoted.json"],"settings":{"foreground":"#E45649"}},{"scope":["source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string"],"settings":{"foreground":"#E45649"}},{"scope":["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],"settings":{"foreground":"#50A14F"}},{"scope":["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],"settings":{"foreground":"#0184BC"}},{"scope":["ng.interpolation"],"settings":{"foreground":"#E45649"}},{"scope":["ng.interpolation.begin","ng.interpolation.end"],"settings":{"foreground":"#4078F2"}},{"scope":["ng.interpolation function"],"settings":{"foreground":"#E45649"}},{"scope":["ng.interpolation function.begin","ng.interpolation function.end"],"settings":{"foreground":"#4078F2"}},{"scope":["ng.interpolation bool"],"settings":{"foreground":"#986801"}},{"scope":["ng.interpolation bracket"],"settings":{"foreground":"#383A42"}},{"scope":["ng.pipe","ng.operator"],"settings":{"foreground":"#383A42"}},{"scope":["ng.tag"],"settings":{"foreground":"#0184BC"}},{"scope":["ng.attribute-with-value attribute-name"],"settings":{"foreground":"#C18401"}},{"scope":["ng.attribute-with-value string"],"settings":{"foreground":"#A626A4"}},{"scope":["ng.attribute-with-value string.begin","ng.attribute-with-value string.end"],"settings":{"foreground":"#383A42"}},{"scope":["source.ruby constant.other.symbol > punctuation"],"settings":{"foreground":"inherit"}},{"scope":["source.php class.bracket"],"settings":{"foreground":"#383A42"}},{"scope":["source.python keyword.operator.logical.python"],"settings":{"foreground":"#A626A4"}},{"scope":["source.python variable.parameter"],"settings":{"foreground":"#986801"}},{"scope":"customrule","settings":{"foreground":"#383A42"}},{"scope":"support.type.property-name","settings":{"foreground":"#383A42"}},{"scope":"string.quoted.double punctuation","settings":{"foreground":"#50A14F"}},{"scope":"support.constant","settings":{"foreground":"#986801"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#E45649"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#E45649"}},{"scope":["punctuation.separator.key-value.ts","punctuation.separator.key-value.js","punctuation.separator.key-value.tsx"],"settings":{"foreground":"#0184BC"}},{"scope":["source.js.embedded.html keyword.operator","source.ts.embedded.html keyword.operator"],"settings":{"foreground":"#0184BC"}},{"scope":["variable.other.readwrite.js","variable.other.readwrite.ts","variable.other.readwrite.tsx"],"settings":{"foreground":"#383A42"}},{"scope":["support.variable.dom.js","support.variable.dom.ts"],"settings":{"foreground":"#E45649"}},{"scope":["support.variable.property.dom.js","support.variable.property.dom.ts"],"settings":{"foreground":"#E45649"}},{"scope":["meta.template.expression.js punctuation.definition","meta.template.expression.ts punctuation.definition"],"settings":{"foreground":"#CA1243"}},{"scope":["source.ts punctuation.definition.typeparameters","source.js punctuation.definition.typeparameters","source.tsx punctuation.definition.typeparameters"],"settings":{"foreground":"#383A42"}},{"scope":["source.ts punctuation.definition.block","source.js punctuation.definition.block","source.tsx punctuation.definition.block"],"settings":{"foreground":"#383A42"}},{"scope":["source.ts punctuation.separator.comma","source.js punctuation.separator.comma","source.tsx punctuation.separator.comma"],"settings":{"foreground":"#383A42"}},{"scope":["support.variable.property.js","support.variable.property.ts","support.variable.property.tsx"],"settings":{"foreground":"#E45649"}},{"scope":["keyword.control.default.js","keyword.control.default.ts","keyword.control.default.tsx"],"settings":{"foreground":"#E45649"}},{"scope":["keyword.operator.expression.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.instanceof.tsx"],"settings":{"foreground":"#A626A4"}},{"scope":["keyword.operator.expression.of.js","keyword.operator.expression.of.ts","keyword.operator.expression.of.tsx"],"settings":{"foreground":"#A626A4"}},{"scope":["meta.brace.round.js","meta.array-binding-pattern-variable.js","meta.brace.square.js","meta.brace.round.ts","meta.array-binding-pattern-variable.ts","meta.brace.square.ts","meta.brace.round.tsx","meta.array-binding-pattern-variable.tsx","meta.brace.square.tsx"],"settings":{"foreground":"#383A42"}},{"scope":["source.js punctuation.accessor","source.ts punctuation.accessor","source.tsx punctuation.accessor"],"settings":{"foreground":"#383A42"}},{"scope":["punctuation.terminator.statement.js","punctuation.terminator.statement.ts","punctuation.terminator.statement.tsx"],"settings":{"foreground":"#383A42"}},{"scope":["meta.array-binding-pattern-variable.js variable.other.readwrite.js","meta.array-binding-pattern-variable.ts variable.other.readwrite.ts","meta.array-binding-pattern-variable.tsx variable.other.readwrite.tsx"],"settings":{"foreground":"#986801"}},{"scope":["source.js support.variable","source.ts support.variable","source.tsx support.variable"],"settings":{"foreground":"#E45649"}},{"scope":["variable.other.constant.property.js","variable.other.constant.property.ts","variable.other.constant.property.tsx"],"settings":{"foreground":"#986801"}},{"scope":["keyword.operator.new.ts","keyword.operator.new.j","keyword.operator.new.tsx"],"settings":{"foreground":"#A626A4"}},{"scope":["source.ts keyword.operator","source.tsx keyword.operator"],"settings":{"foreground":"#0184BC"}},{"scope":["punctuation.separator.parameter.js","punctuation.separator.parameter.ts","punctuation.separator.parameter.tsx "],"settings":{"foreground":"#383A42"}},{"scope":["constant.language.import-export-all.js","constant.language.import-export-all.ts"],"settings":{"foreground":"#E45649"}},{"scope":["constant.language.import-export-all.jsx","constant.language.import-export-all.tsx"],"settings":{"foreground":"#0184BC"}},{"scope":["keyword.control.as.js","keyword.control.as.ts","keyword.control.as.jsx","keyword.control.as.tsx"],"settings":{"foreground":"#383A42"}},{"scope":["variable.other.readwrite.alias.js","variable.other.readwrite.alias.ts","variable.other.readwrite.alias.jsx","variable.other.readwrite.alias.tsx"],"settings":{"foreground":"#E45649"}},{"scope":["variable.other.constant.js","variable.other.constant.ts","variable.other.constant.jsx","variable.other.constant.tsx"],"settings":{"foreground":"#986801"}},{"scope":["meta.export.default.js variable.other.readwrite.js","meta.export.default.ts variable.other.readwrite.ts"],"settings":{"foreground":"#E45649"}},{"scope":["source.js meta.template.expression.js punctuation.accessor","source.ts meta.template.expression.ts punctuation.accessor","source.tsx meta.template.expression.tsx punctuation.accessor"],"settings":{"foreground":"#50A14F"}},{"scope":["source.js meta.import-equals.external.js keyword.operator","source.jsx meta.import-equals.external.jsx keyword.operator","source.ts meta.import-equals.external.ts keyword.operator","source.tsx meta.import-equals.external.tsx keyword.operator"],"settings":{"foreground":"#383A42"}},{"scope":"entity.name.type.module.js,entity.name.type.module.ts,entity.name.type.module.jsx,entity.name.type.module.tsx","settings":{"foreground":"#50A14F"}},{"scope":"meta.class.js,meta.class.ts,meta.class.jsx,meta.class.tsx","settings":{"foreground":"#383A42"}},{"scope":["meta.definition.property.js variable","meta.definition.property.ts variable","meta.definition.property.jsx variable","meta.definition.property.tsx variable"],"settings":{"foreground":"#383A42"}},{"scope":["meta.type.parameters.js support.type","meta.type.parameters.jsx support.type","meta.type.parameters.ts support.type","meta.type.parameters.tsx support.type"],"settings":{"foreground":"#383A42"}},{"scope":["source.js meta.tag.js keyword.operator","source.jsx meta.tag.jsx keyword.operator","source.ts meta.tag.ts keyword.operator","source.tsx meta.tag.tsx keyword.operator"],"settings":{"foreground":"#383A42"}},{"scope":["meta.tag.js punctuation.section.embedded","meta.tag.jsx punctuation.section.embedded","meta.tag.ts punctuation.section.embedded","meta.tag.tsx punctuation.section.embedded"],"settings":{"foreground":"#383A42"}},{"scope":["meta.array.literal.js variable","meta.array.literal.jsx variable","meta.array.literal.ts variable","meta.array.literal.tsx variable"],"settings":{"foreground":"#C18401"}},{"scope":["support.type.object.module.js","support.type.object.module.jsx","support.type.object.module.ts","support.type.object.module.tsx"],"settings":{"foreground":"#E45649"}},{"scope":["constant.language.json"],"settings":{"foreground":"#0184BC"}},{"scope":["variable.other.constant.object.js","variable.other.constant.object.jsx","variable.other.constant.object.ts","variable.other.constant.object.tsx"],"settings":{"foreground":"#986801"}},{"scope":["storage.type.property.js","storage.type.property.jsx","storage.type.property.ts","storage.type.property.tsx"],"settings":{"foreground":"#0184BC"}},{"scope":["meta.template.expression.js string.quoted punctuation.definition","meta.template.expression.jsx string.quoted punctuation.definition","meta.template.expression.ts string.quoted punctuation.definition","meta.template.expression.tsx string.quoted punctuation.definition"],"settings":{"foreground":"#50A14F"}},{"scope":["meta.template.expression.js string.template punctuation.definition.string.template","meta.template.expression.jsx string.template punctuation.definition.string.template","meta.template.expression.ts string.template punctuation.definition.string.template","meta.template.expression.tsx string.template punctuation.definition.string.template"],"settings":{"foreground":"#50A14F"}},{"scope":["keyword.operator.expression.in.js","keyword.operator.expression.in.jsx","keyword.operator.expression.in.ts","keyword.operator.expression.in.tsx"],"settings":{"foreground":"#A626A4"}},{"scope":["variable.other.object.js","variable.other.object.ts"],"settings":{"foreground":"#383A42"}},{"scope":["meta.object-literal.key.js","meta.object-literal.key.ts"],"settings":{"foreground":"#E45649"}},{"scope":"source.python constant.other","settings":{"foreground":"#383A42"}},{"scope":"source.python constant","settings":{"foreground":"#986801"}},{"scope":"constant.character.format.placeholder.other.python storage","settings":{"foreground":"#986801"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#E45649"}},{"scope":"meta.function.parameters.python","settings":{"foreground":"#986801"}},{"scope":"punctuation.separator.annotation.python","settings":{"foreground":"#383A42"}},{"scope":"punctuation.separator.parameters.python","settings":{"foreground":"#383A42"}},{"scope":"entity.name.variable.field.cs","settings":{"foreground":"#E45649"}},{"scope":"source.cs keyword.operator","settings":{"foreground":"#383A42"}},{"scope":"variable.other.readwrite.cs","settings":{"foreground":"#383A42"}},{"scope":"variable.other.object.cs","settings":{"foreground":"#383A42"}},{"scope":"variable.other.object.property.cs","settings":{"foreground":"#383A42"}},{"scope":"entity.name.variable.property.cs","settings":{"foreground":"#4078F2"}},{"scope":"storage.type.cs","settings":{"foreground":"#C18401"}},{"scope":"keyword.other.unsafe.rust","settings":{"foreground":"#A626A4"}},{"scope":"entity.name.type.rust","settings":{"foreground":"#0184BC"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#383A42"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#986801"}},{"scope":"storage.type.core.rust","settings":{"foreground":"#0184BC"}},{"scope":"meta.attribute.rust","settings":{"foreground":"#986801"}},{"scope":"storage.class.std.rust","settings":{"foreground":"#0184BC"}},{"scope":"markup.raw.block.markdown","settings":{"foreground":"#383A42"}},{"scope":"punctuation.definition.variable.shell","settings":{"foreground":"#E45649"}},{"scope":"support.constant.property-value.css","settings":{"foreground":"#383A42"}},{"scope":"punctuation.definition.constant.css","settings":{"foreground":"#986801"}},{"scope":"punctuation.separator.key-value.scss","settings":{"foreground":"#E45649"}},{"scope":"punctuation.definition.constant.scss","settings":{"foreground":"#986801"}},{"scope":"meta.property-list.scss punctuation.separator.key-value.scss","settings":{"foreground":"#383A42"}},{"scope":"storage.type.primitive.array.java","settings":{"foreground":"#C18401"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#E45649"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#E45649"}},{"scope":"markup.heading.setext","settings":{"foreground":"#383A42"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#986801"}},{"scope":"markup.inline.raw.markdown","settings":{"foreground":"#50A14F"}},{"scope":"beginning.punctuation.definition.list.markdown","settings":{"foreground":"#E45649"}},{"scope":"markup.quote.markdown","settings":{"fontStyle":"italic","foreground":"#A0A1A7"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#383A42"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#A626A4"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"foreground":"#A626A4"}},{"scope":["string.other.link.title.markdown","string.other.link.description.markdown"],"settings":{"foreground":"#4078F2"}},{"scope":"punctuation.separator.variable.ruby","settings":{"foreground":"#E45649"}},{"scope":"variable.other.constant.ruby","settings":{"foreground":"#986801"}},{"scope":"keyword.operator.other.ruby","settings":{"foreground":"#50A14F"}},{"scope":"punctuation.definition.variable.php","settings":{"foreground":"#E45649"}},{"scope":"meta.class.php","settings":{"foreground":"#383A42"}}],"type":"light"}'))}}]);
@@ -0,0 +1,15 @@
1
+ const CACHE_NAME = 'ompchamber-v1';
2
+
3
+ self.addEventListener('install', (event) => {
4
+ self.skipWaiting();
5
+ });
6
+
7
+ self.addEventListener('activate', (event) => {
8
+ event.waitUntil(self.clients.claim());
9
+ });
10
+
11
+ self.addEventListener('fetch', (event) => {
12
+ // A simple fetch handler is required by Chromium for PWA installability.
13
+ // We'll just let network requests pass through normally.
14
+ event.respondWith(fetch(event.request).catch(() => caches.match(event.request)));
15
+ });
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "ompchamber",
3
+ "version": "0.3.0",
4
+ "description": "Developer web console and diagnostic chamber for AI Oh-My-Pi — Elysia + Preact on Bun.",
5
+ "type": "module",
6
+ "engines": {
7
+ "bun": ">=1.4.0"
8
+ },
9
+ "bin": {
10
+ "ompchamber": "./src/cli/ompchamber.js"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/rajebdev/ompchamber.git"
15
+ },
16
+ "homepage": "https://github.com/rajebdev/ompchamber#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/rajebdev/ompchamber/issues"
19
+ },
20
+ "keywords": [
21
+ "omp",
22
+ "oh-my-pi",
23
+ "agent",
24
+ "console",
25
+ "elysia",
26
+ "preact",
27
+ "bun"
28
+ ],
29
+ "files": [
30
+ "src",
31
+ "dist/client",
32
+ "tsconfig.json"
33
+ ],
34
+ "scripts": {
35
+ "dev:server": "bun run --hot src/server/index.ts",
36
+ "dev:client": "rsbuild build --watch",
37
+ "dev": "NODE_ENV=development bun run dev:server & bun run dev:client; wait",
38
+ "dev:lan": "HOST=0.0.0.0 NODE_ENV=development bun run dev:server & bun run dev:client; wait",
39
+ "build": "rsbuild build",
40
+ "start": "NODE_ENV=production bun run src/server/index.ts",
41
+ "typecheck": "tsc",
42
+ "clean": "rm -rf dist",
43
+ "lint": "tsc --noEmit",
44
+ "test": "bun test"
45
+ },
46
+ "dependencies": {
47
+ "@fontsource/fira-code": "^5.3.0",
48
+ "@google/genai": "^2.21.0",
49
+ "@shikijs/langs": "^4.4.3",
50
+ "@shikijs/themes": "^4.4.3",
51
+ "@tailwindcss/typography": "^0.5.20",
52
+ "@xterm/addon-fit": "^0.11.0",
53
+ "@xterm/xterm": "^6.0.0",
54
+ "dompurify": "^3.4.15",
55
+ "elysia": "^1.4.30",
56
+ "katex": "^0.18.7",
57
+ "lucide-preact": "^1.47.0",
58
+ "marked": "^18.0.11",
59
+ "marked-linkify-it": "^4.0.2",
60
+ "mermaid": "^12.0.0",
61
+ "preact": "^10.29.8",
62
+ "remend": "^1.3.1",
63
+ "ripgrep": "^0.3.1",
64
+ "shiki": "^4.4.3"
65
+ },
66
+ "devDependencies": {
67
+ "@rsbuild/core": "^2.2.7",
68
+ "@rsbuild/plugin-preact": "^2.1.0",
69
+ "@tailwindcss/postcss": "^4.1.14",
70
+ "@types/bun": "^1.4.2",
71
+ "@types/node": "^22.14.0",
72
+ "tailwindcss": "^4.1.14",
73
+ "typescript": "~5.8.2"
74
+ }
75
+ }