monaco-editor 0.54.0 → 0.55.0-dev-20251007

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 (507) hide show
  1. package/dev/vs/assets/{css.worker-UBouhlx6.js → css.worker-BPWFUJr8.js} +21 -13
  2. package/dev/vs/assets/{editor.worker-Dt-rrJKL.js → editor.worker-BNmK7__C.js} +21 -13
  3. package/dev/vs/assets/{html.worker-z9P_0-Yg.js → html.worker-DArI7VaB.js} +21 -13
  4. package/dev/vs/assets/{json.worker-DL8PoUrj.js → json.worker-CWecjvZJ.js} +21 -13
  5. package/dev/vs/assets/{ts.worker-CcnreaRY.js → ts.worker-OSpMT55a.js} +21 -13
  6. package/dev/vs/basic-languages/monaco.contribution.js +18 -18
  7. package/dev/vs/{cssMode-YNsTpAl9.js → cssMode-iRwIbB8J.js} +1 -1
  8. package/dev/vs/editor/editor.main.css +18 -14
  9. package/dev/vs/editor/editor.main.js +6 -6
  10. package/dev/vs/{editor.api-BhD7pWdi.js → editor.api-BgcxwOJR.js} +619 -331
  11. package/dev/vs/{freemarker2-Ci5s7p-k.js → freemarker2-BcA-FoEq.js} +1 -1
  12. package/dev/vs/{handlebars-Cpd6mzVL.js → handlebars-CFCe3CTT.js} +1 -1
  13. package/dev/vs/{html-L3fuhF-c.js → html-C2k_b3vV.js} +1 -1
  14. package/dev/vs/{htmlMode-BL74tky3.js → htmlMode-B6H3nvmZ.js} +1 -1
  15. package/dev/vs/{javascript-DtYAOqDf.js → javascript-Ci3a-NjL.js} +1 -1
  16. package/dev/vs/{jsonMode-KHMzkiG2.js → jsonMode-PBs-6YJq.js} +1 -1
  17. package/dev/vs/language/css/monaco.contribution.js +2 -2
  18. package/dev/vs/language/html/monaco.contribution.js +2 -2
  19. package/dev/vs/language/json/monaco.contribution.js +2 -2
  20. package/dev/vs/language/typescript/monaco.contribution.js +2 -2
  21. package/dev/vs/{liquid-CDz0dGHZ.js → liquid-xiAvFKY7.js} +1 -1
  22. package/dev/vs/{lspLanguageFeatures-C8J-56s2.js → lspLanguageFeatures-Bn27dcIU.js} +1 -1
  23. package/dev/vs/{mdx-CRukMuk2.js → mdx-DI_S5KNw.js} +1 -1
  24. package/dev/vs/nls.messages.de.js +1 -1
  25. package/dev/vs/nls.messages.es.js +1 -1
  26. package/dev/vs/nls.messages.fr.js +1 -1
  27. package/dev/vs/nls.messages.it.js +1 -1
  28. package/dev/vs/nls.messages.ja.js +1 -1
  29. package/dev/vs/nls.messages.ko.js +1 -1
  30. package/dev/vs/nls.messages.ru.js +1 -1
  31. package/dev/vs/nls.messages.zh-cn.js +1 -1
  32. package/dev/vs/nls.messages.zh-tw.js +1 -1
  33. package/dev/vs/{python-CSlobbnO.js → python-Dygfp6S4.js} +1 -1
  34. package/dev/vs/{razor-CcKFJPeA.js → razor-DRuwtGaR.js} +1 -1
  35. package/dev/vs/{tsMode-DOj38qML.js → tsMode-Blwumg5f.js} +1 -1
  36. package/dev/vs/{typescript-qRP7tyf4.js → typescript-Bn0Trwe9.js} +1 -1
  37. package/dev/vs/{workers-CJWv4CcA.js → workers-Blx_hD2K.js} +1 -1
  38. package/dev/vs/{xml-CSLddLaW.js → xml-BfLQO-V6.js} +1 -1
  39. package/dev/vs/{yaml-TB97xlnI.js → yaml-DdSHCspc.js} +1 -1
  40. package/esm/nls.messages.de.js +1 -1
  41. package/esm/nls.messages.es.js +1 -1
  42. package/esm/nls.messages.fr.js +1 -1
  43. package/esm/nls.messages.it.js +1 -1
  44. package/esm/nls.messages.ja.js +1 -1
  45. package/esm/nls.messages.ko.js +1 -1
  46. package/esm/nls.messages.ru.js +1 -1
  47. package/esm/nls.messages.zh-cn.js +1 -1
  48. package/esm/nls.messages.zh-tw.js +1 -1
  49. package/esm/vs/base/browser/canIUse.js +1 -0
  50. package/esm/vs/base/browser/canIUse.js.map +1 -1
  51. package/esm/vs/base/browser/dom.js +9 -0
  52. package/esm/vs/base/browser/dom.js.map +1 -1
  53. package/esm/vs/base/browser/fastDomNode.js.map +1 -1
  54. package/esm/vs/base/browser/mouseEvent.js +3 -0
  55. package/esm/vs/base/browser/mouseEvent.js.map +1 -1
  56. package/esm/vs/base/browser/trustedTypes.js +2 -0
  57. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  58. package/esm/vs/base/browser/ui/list/listWidget.js +5 -5
  59. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  60. package/esm/vs/base/browser/ui/sash/sash.css +1 -1
  61. package/esm/vs/base/browser/ui/sash/sash.js +4 -0
  62. package/esm/vs/base/browser/ui/sash/sash.js.map +1 -1
  63. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
  64. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  65. package/esm/vs/base/browser/ui/table/table.css +2 -2
  66. package/esm/vs/base/browser/ui/tree/abstractTree.js +7 -3
  67. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  68. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +4 -0
  69. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  70. package/esm/vs/base/browser/ui/tree/indexTreeModel.js +1 -0
  71. package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
  72. package/esm/vs/base/browser/ui/tree/media/tree.css +2 -2
  73. package/esm/vs/base/browser/webWorkerFactory.js +3 -0
  74. package/esm/vs/base/browser/webWorkerFactory.js.map +1 -1
  75. package/esm/vs/base/common/buffer.js.map +1 -1
  76. package/esm/vs/base/common/decorators.js +1 -0
  77. package/esm/vs/base/common/decorators.js.map +1 -1
  78. package/esm/vs/base/common/errors.js +1 -0
  79. package/esm/vs/base/common/errors.js.map +1 -1
  80. package/esm/vs/base/common/glob.js +1 -1
  81. package/esm/vs/base/common/glob.js.map +1 -1
  82. package/esm/vs/base/common/hash.js.map +1 -1
  83. package/esm/vs/base/common/hotReload.js +2 -0
  84. package/esm/vs/base/common/hotReload.js.map +1 -1
  85. package/esm/vs/base/common/hotReloadHelpers.js +1 -0
  86. package/esm/vs/base/common/hotReloadHelpers.js.map +1 -1
  87. package/esm/vs/base/common/lifecycle.js +19 -0
  88. package/esm/vs/base/common/lifecycle.js.map +1 -1
  89. package/esm/vs/base/common/map.js.map +1 -1
  90. package/esm/vs/base/common/marshalling.js +4 -0
  91. package/esm/vs/base/common/marshalling.js.map +1 -1
  92. package/esm/vs/base/common/network.js +1 -0
  93. package/esm/vs/base/common/network.js.map +1 -1
  94. package/esm/vs/base/common/objects.js +1 -0
  95. package/esm/vs/base/common/objects.js.map +1 -1
  96. package/esm/vs/base/common/observableInternal/changeTracker.js +4 -0
  97. package/esm/vs/base/common/observableInternal/changeTracker.js.map +1 -1
  98. package/esm/vs/base/common/observableInternal/debugLocation.js +1 -0
  99. package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
  100. package/esm/vs/base/common/observableInternal/debugName.js +1 -0
  101. package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
  102. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js +1 -0
  103. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js.map +1 -1
  104. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +1 -0
  105. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js.map +1 -1
  106. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js +1 -0
  107. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js.map +1 -1
  108. package/esm/vs/base/common/observableInternal/observables/derived.js +7 -1
  109. package/esm/vs/base/common/observableInternal/observables/derived.js.map +1 -1
  110. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +2 -0
  111. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
  112. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -0
  113. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  114. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +1 -0
  115. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  116. package/esm/vs/base/common/process.js +1 -0
  117. package/esm/vs/base/common/process.js.map +1 -1
  118. package/esm/vs/base/common/product.js.map +1 -1
  119. package/esm/vs/base/common/types.js +2 -0
  120. package/esm/vs/base/common/types.js.map +1 -1
  121. package/esm/vs/base/common/worker/webWorker.js +26 -14
  122. package/esm/vs/base/common/worker/webWorker.js.map +1 -1
  123. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js +2 -0
  124. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js.map +1 -0
  125. package/esm/vs/basic-languages/_.contribution.js +1 -1
  126. package/esm/vs/basic-languages/abap/abap.contribution.js +1 -1
  127. package/esm/vs/basic-languages/abap/abap.js +1 -1
  128. package/esm/vs/basic-languages/apex/apex.contribution.js +1 -1
  129. package/esm/vs/basic-languages/apex/apex.js +1 -1
  130. package/esm/vs/basic-languages/azcli/azcli.contribution.js +1 -1
  131. package/esm/vs/basic-languages/azcli/azcli.js +1 -1
  132. package/esm/vs/basic-languages/bat/bat.contribution.js +1 -1
  133. package/esm/vs/basic-languages/bat/bat.js +1 -1
  134. package/esm/vs/basic-languages/bicep/bicep.contribution.js +1 -1
  135. package/esm/vs/basic-languages/bicep/bicep.js +1 -1
  136. package/esm/vs/basic-languages/cameligo/cameligo.contribution.js +1 -1
  137. package/esm/vs/basic-languages/cameligo/cameligo.js +1 -1
  138. package/esm/vs/basic-languages/clojure/clojure.contribution.js +1 -1
  139. package/esm/vs/basic-languages/clojure/clojure.js +1 -1
  140. package/esm/vs/basic-languages/coffee/coffee.contribution.js +1 -1
  141. package/esm/vs/basic-languages/coffee/coffee.js +1 -1
  142. package/esm/vs/basic-languages/cpp/cpp.contribution.js +1 -1
  143. package/esm/vs/basic-languages/cpp/cpp.js +1 -1
  144. package/esm/vs/basic-languages/csharp/csharp.contribution.js +1 -1
  145. package/esm/vs/basic-languages/csharp/csharp.js +1 -1
  146. package/esm/vs/basic-languages/csp/csp.contribution.js +1 -1
  147. package/esm/vs/basic-languages/csp/csp.js +1 -1
  148. package/esm/vs/basic-languages/css/css.contribution.js +1 -1
  149. package/esm/vs/basic-languages/css/css.js +1 -1
  150. package/esm/vs/basic-languages/cypher/cypher.contribution.js +1 -1
  151. package/esm/vs/basic-languages/cypher/cypher.js +1 -1
  152. package/esm/vs/basic-languages/dart/dart.contribution.js +1 -1
  153. package/esm/vs/basic-languages/dart/dart.js +1 -1
  154. package/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js +1 -1
  155. package/esm/vs/basic-languages/dockerfile/dockerfile.js +1 -1
  156. package/esm/vs/basic-languages/ecl/ecl.contribution.js +1 -1
  157. package/esm/vs/basic-languages/ecl/ecl.js +1 -1
  158. package/esm/vs/basic-languages/elixir/elixir.contribution.js +1 -1
  159. package/esm/vs/basic-languages/elixir/elixir.js +1 -1
  160. package/esm/vs/basic-languages/flow9/flow9.contribution.js +1 -1
  161. package/esm/vs/basic-languages/flow9/flow9.js +1 -1
  162. package/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js +1 -1
  163. package/esm/vs/basic-languages/freemarker2/freemarker2.js +1 -1
  164. package/esm/vs/basic-languages/fsharp/fsharp.contribution.js +1 -1
  165. package/esm/vs/basic-languages/fsharp/fsharp.js +1 -1
  166. package/esm/vs/basic-languages/go/go.contribution.js +1 -1
  167. package/esm/vs/basic-languages/go/go.js +1 -1
  168. package/esm/vs/basic-languages/graphql/graphql.contribution.js +1 -1
  169. package/esm/vs/basic-languages/graphql/graphql.js +1 -1
  170. package/esm/vs/basic-languages/handlebars/handlebars.contribution.js +1 -1
  171. package/esm/vs/basic-languages/handlebars/handlebars.js +1 -1
  172. package/esm/vs/basic-languages/hcl/hcl.contribution.js +1 -1
  173. package/esm/vs/basic-languages/hcl/hcl.js +1 -1
  174. package/esm/vs/basic-languages/html/html.contribution.js +1 -1
  175. package/esm/vs/basic-languages/html/html.js +1 -1
  176. package/esm/vs/basic-languages/ini/ini.contribution.js +1 -1
  177. package/esm/vs/basic-languages/ini/ini.js +1 -1
  178. package/esm/vs/basic-languages/java/java.contribution.js +1 -1
  179. package/esm/vs/basic-languages/java/java.js +1 -1
  180. package/esm/vs/basic-languages/javascript/javascript.contribution.js +1 -1
  181. package/esm/vs/basic-languages/javascript/javascript.js +1 -1
  182. package/esm/vs/basic-languages/julia/julia.contribution.js +1 -1
  183. package/esm/vs/basic-languages/julia/julia.js +1 -1
  184. package/esm/vs/basic-languages/kotlin/kotlin.contribution.js +1 -1
  185. package/esm/vs/basic-languages/kotlin/kotlin.js +1 -1
  186. package/esm/vs/basic-languages/less/less.contribution.js +1 -1
  187. package/esm/vs/basic-languages/less/less.js +1 -1
  188. package/esm/vs/basic-languages/lexon/lexon.contribution.js +1 -1
  189. package/esm/vs/basic-languages/lexon/lexon.js +1 -1
  190. package/esm/vs/basic-languages/liquid/liquid.contribution.js +1 -1
  191. package/esm/vs/basic-languages/liquid/liquid.js +1 -1
  192. package/esm/vs/basic-languages/lua/lua.contribution.js +1 -1
  193. package/esm/vs/basic-languages/lua/lua.js +1 -1
  194. package/esm/vs/basic-languages/m3/m3.contribution.js +1 -1
  195. package/esm/vs/basic-languages/m3/m3.js +1 -1
  196. package/esm/vs/basic-languages/markdown/markdown.contribution.js +1 -1
  197. package/esm/vs/basic-languages/markdown/markdown.js +1 -1
  198. package/esm/vs/basic-languages/mdx/mdx.contribution.js +1 -1
  199. package/esm/vs/basic-languages/mdx/mdx.js +1 -1
  200. package/esm/vs/basic-languages/mips/mips.contribution.js +1 -1
  201. package/esm/vs/basic-languages/mips/mips.js +1 -1
  202. package/esm/vs/basic-languages/monaco.contribution.js +1 -1
  203. package/esm/vs/basic-languages/msdax/msdax.contribution.js +1 -1
  204. package/esm/vs/basic-languages/msdax/msdax.js +1 -1
  205. package/esm/vs/basic-languages/mysql/mysql.contribution.js +1 -1
  206. package/esm/vs/basic-languages/mysql/mysql.js +1 -1
  207. package/esm/vs/basic-languages/objective-c/objective-c.contribution.js +1 -1
  208. package/esm/vs/basic-languages/objective-c/objective-c.js +1 -1
  209. package/esm/vs/basic-languages/pascal/pascal.contribution.js +1 -1
  210. package/esm/vs/basic-languages/pascal/pascal.js +1 -1
  211. package/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js +1 -1
  212. package/esm/vs/basic-languages/pascaligo/pascaligo.js +1 -1
  213. package/esm/vs/basic-languages/perl/perl.contribution.js +1 -1
  214. package/esm/vs/basic-languages/perl/perl.js +1 -1
  215. package/esm/vs/basic-languages/pgsql/pgsql.contribution.js +1 -1
  216. package/esm/vs/basic-languages/pgsql/pgsql.js +1 -1
  217. package/esm/vs/basic-languages/php/php.contribution.js +1 -1
  218. package/esm/vs/basic-languages/php/php.js +1 -1
  219. package/esm/vs/basic-languages/pla/pla.contribution.js +1 -1
  220. package/esm/vs/basic-languages/pla/pla.js +1 -1
  221. package/esm/vs/basic-languages/postiats/postiats.contribution.js +1 -1
  222. package/esm/vs/basic-languages/postiats/postiats.js +1 -1
  223. package/esm/vs/basic-languages/powerquery/powerquery.contribution.js +1 -1
  224. package/esm/vs/basic-languages/powerquery/powerquery.js +1 -1
  225. package/esm/vs/basic-languages/powershell/powershell.contribution.js +1 -1
  226. package/esm/vs/basic-languages/powershell/powershell.js +1 -1
  227. package/esm/vs/basic-languages/protobuf/protobuf.contribution.js +1 -1
  228. package/esm/vs/basic-languages/protobuf/protobuf.js +1 -1
  229. package/esm/vs/basic-languages/pug/pug.contribution.js +1 -1
  230. package/esm/vs/basic-languages/pug/pug.js +1 -1
  231. package/esm/vs/basic-languages/python/python.contribution.js +1 -1
  232. package/esm/vs/basic-languages/python/python.js +1 -1
  233. package/esm/vs/basic-languages/qsharp/qsharp.contribution.js +1 -1
  234. package/esm/vs/basic-languages/qsharp/qsharp.js +1 -1
  235. package/esm/vs/basic-languages/r/r.contribution.js +1 -1
  236. package/esm/vs/basic-languages/r/r.js +1 -1
  237. package/esm/vs/basic-languages/razor/razor.contribution.js +1 -1
  238. package/esm/vs/basic-languages/razor/razor.js +1 -1
  239. package/esm/vs/basic-languages/redis/redis.contribution.js +1 -1
  240. package/esm/vs/basic-languages/redis/redis.js +1 -1
  241. package/esm/vs/basic-languages/redshift/redshift.contribution.js +1 -1
  242. package/esm/vs/basic-languages/redshift/redshift.js +1 -1
  243. package/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js +1 -1
  244. package/esm/vs/basic-languages/restructuredtext/restructuredtext.js +1 -1
  245. package/esm/vs/basic-languages/ruby/ruby.contribution.js +1 -1
  246. package/esm/vs/basic-languages/ruby/ruby.js +1 -1
  247. package/esm/vs/basic-languages/rust/rust.contribution.js +1 -1
  248. package/esm/vs/basic-languages/rust/rust.js +1 -1
  249. package/esm/vs/basic-languages/sb/sb.contribution.js +1 -1
  250. package/esm/vs/basic-languages/sb/sb.js +1 -1
  251. package/esm/vs/basic-languages/scala/scala.contribution.js +1 -1
  252. package/esm/vs/basic-languages/scala/scala.js +1 -1
  253. package/esm/vs/basic-languages/scheme/scheme.contribution.js +1 -1
  254. package/esm/vs/basic-languages/scheme/scheme.js +1 -1
  255. package/esm/vs/basic-languages/scss/scss.contribution.js +1 -1
  256. package/esm/vs/basic-languages/scss/scss.js +1 -1
  257. package/esm/vs/basic-languages/shell/shell.contribution.js +1 -1
  258. package/esm/vs/basic-languages/shell/shell.js +1 -1
  259. package/esm/vs/basic-languages/solidity/solidity.contribution.js +1 -1
  260. package/esm/vs/basic-languages/solidity/solidity.js +1 -1
  261. package/esm/vs/basic-languages/sophia/sophia.contribution.js +1 -1
  262. package/esm/vs/basic-languages/sophia/sophia.js +1 -1
  263. package/esm/vs/basic-languages/sparql/sparql.contribution.js +1 -1
  264. package/esm/vs/basic-languages/sparql/sparql.js +1 -1
  265. package/esm/vs/basic-languages/sql/sql.contribution.js +1 -1
  266. package/esm/vs/basic-languages/sql/sql.js +1 -1
  267. package/esm/vs/basic-languages/st/st.contribution.js +1 -1
  268. package/esm/vs/basic-languages/st/st.js +1 -1
  269. package/esm/vs/basic-languages/swift/swift.contribution.js +1 -1
  270. package/esm/vs/basic-languages/swift/swift.js +1 -1
  271. package/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js +1 -1
  272. package/esm/vs/basic-languages/systemverilog/systemverilog.js +1 -1
  273. package/esm/vs/basic-languages/tcl/tcl.contribution.js +1 -1
  274. package/esm/vs/basic-languages/tcl/tcl.js +1 -1
  275. package/esm/vs/basic-languages/twig/twig.contribution.js +1 -1
  276. package/esm/vs/basic-languages/twig/twig.js +1 -1
  277. package/esm/vs/basic-languages/typescript/typescript.contribution.js +1 -1
  278. package/esm/vs/basic-languages/typescript/typescript.js +1 -1
  279. package/esm/vs/basic-languages/typespec/typespec.contribution.js +1 -1
  280. package/esm/vs/basic-languages/typespec/typespec.js +1 -1
  281. package/esm/vs/basic-languages/vb/vb.contribution.js +1 -1
  282. package/esm/vs/basic-languages/vb/vb.js +1 -1
  283. package/esm/vs/basic-languages/wgsl/wgsl.contribution.js +1 -1
  284. package/esm/vs/basic-languages/wgsl/wgsl.js +1 -1
  285. package/esm/vs/basic-languages/xml/xml.contribution.js +1 -1
  286. package/esm/vs/basic-languages/xml/xml.js +1 -1
  287. package/esm/vs/basic-languages/yaml/yaml.contribution.js +1 -1
  288. package/esm/vs/basic-languages/yaml/yaml.js +1 -1
  289. package/esm/vs/editor/browser/config/editorConfiguration.js +3 -2
  290. package/esm/vs/editor/browser/config/editorConfiguration.js.map +1 -1
  291. package/esm/vs/editor/browser/config/migrateOptions.js +1 -1
  292. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  293. package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js.map +1 -1
  294. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +2 -0
  295. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js.map +1 -1
  296. package/esm/vs/editor/browser/controller/mouseHandler.js +2 -1
  297. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  298. package/esm/vs/editor/browser/controller/mouseTarget.js +7 -0
  299. package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
  300. package/esm/vs/editor/browser/controller/pointerHandler.js.map +1 -1
  301. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  302. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  303. package/esm/vs/editor/browser/editorDom.js.map +1 -1
  304. package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
  305. package/esm/vs/editor/browser/gpu/gpuUtils.js +1 -0
  306. package/esm/vs/editor/browser/gpu/gpuUtils.js.map +1 -1
  307. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -0
  308. package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
  309. package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
  310. package/esm/vs/editor/browser/services/bulkEditService.js.map +1 -1
  311. package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
  312. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  313. package/esm/vs/editor/browser/services/hoverService/hover.css +2 -0
  314. package/esm/vs/editor/browser/services/hoverService/hoverService.js.map +1 -1
  315. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
  316. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
  317. package/esm/vs/editor/browser/services/inlineCompletionsService.js +8 -8
  318. package/esm/vs/editor/browser/services/inlineCompletionsService.js.map +1 -1
  319. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  320. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  321. package/esm/vs/editor/browser/view/viewLayer.js.map +1 -1
  322. package/esm/vs/editor/browser/view.js.map +1 -1
  323. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -0
  324. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  325. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +1 -0
  326. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js.map +1 -1
  327. package/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js.map +1 -1
  328. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -1
  329. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  330. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -0
  331. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js.map +1 -1
  332. package/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js.map +1 -1
  333. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  334. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js.map +1 -1
  335. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +1 -0
  336. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  337. package/esm/vs/editor/browser/widget/diffEditor/utils.js +2 -0
  338. package/esm/vs/editor/browser/widget/diffEditor/utils.js.map +1 -1
  339. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -0
  340. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js.map +1 -1
  341. package/esm/vs/editor/common/config/editorOptions.js +122 -68
  342. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  343. package/esm/vs/editor/common/config/fontInfo.js +32 -16
  344. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  345. package/esm/vs/editor/common/config/fontInfoFromSettings.js +16 -0
  346. package/esm/vs/editor/common/config/fontInfoFromSettings.js.map +1 -0
  347. package/esm/vs/editor/common/core/edits/edit.js +1 -0
  348. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  349. package/esm/vs/editor/common/core/edits/stringEdit.js +2 -0
  350. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  351. package/esm/vs/editor/common/core/position.js +1 -1
  352. package/esm/vs/editor/common/core/position.js.map +1 -1
  353. package/esm/vs/editor/common/core/range.js +1 -1
  354. package/esm/vs/editor/common/core/range.js.map +1 -1
  355. package/esm/vs/editor/common/core/selection.js +1 -1
  356. package/esm/vs/editor/common/core/selection.js.map +1 -1
  357. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  358. package/esm/vs/editor/common/editorCommon.js.map +1 -1
  359. package/esm/vs/editor/common/languages.js +1 -1
  360. package/esm/vs/editor/common/languages.js.map +1 -1
  361. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +14 -0
  362. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js.map +1 -1
  363. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +2 -0
  364. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js.map +1 -1
  365. package/esm/vs/editor/common/model/textModel.js +1 -1
  366. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  367. package/esm/vs/editor/common/model.js +1 -1
  368. package/esm/vs/editor/common/model.js.map +1 -1
  369. package/esm/vs/editor/common/services/editorBaseApi.js.map +1 -1
  370. package/esm/vs/editor/common/services/editorWebWorker.js +1 -0
  371. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  372. package/esm/vs/editor/common/services/editorWorkerHost.js.map +1 -1
  373. package/esm/vs/editor/common/services/modelService.js +14 -21
  374. package/esm/vs/editor/common/services/modelService.js.map +1 -1
  375. package/esm/vs/editor/common/textModelEditSource.js +2 -0
  376. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  377. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +40 -1
  378. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  379. package/esm/vs/editor/common/viewModel/viewModelImpl.js +2 -1
  380. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  381. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +1 -1
  382. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js.map +1 -1
  383. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  384. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  385. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +1 -0
  386. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  387. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -0
  388. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  389. package/esm/vs/editor/contrib/find/browser/findModel.js +1 -0
  390. package/esm/vs/editor/contrib/find/browser/findModel.js.map +1 -1
  391. package/esm/vs/editor/contrib/find/browser/findWidget.css +5 -5
  392. package/esm/vs/editor/contrib/folding/browser/folding.css +4 -4
  393. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  394. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  395. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js.map +1 -1
  396. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +30 -14
  397. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  398. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +4 -3
  399. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  400. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +56 -7
  401. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  402. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +1 -0
  403. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js.map +1 -1
  404. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -0
  405. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  406. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -0
  407. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  408. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  409. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  410. package/esm/vs/editor/contrib/rename/browser/renameWidget.js.map +1 -1
  411. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css +2 -0
  412. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +2 -0
  413. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  414. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js.map +1 -1
  415. package/esm/vs/editor/editor.api.d.ts +8 -8
  416. package/esm/vs/editor/editor.api.js +4 -0
  417. package/esm/vs/editor/editor.api.js.map +1 -1
  418. package/esm/vs/editor/editor.main.js +1 -1
  419. package/esm/vs/editor/editor.worker.js +1 -1
  420. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  421. package/esm/vs/editor/standalone/browser/standaloneEditor.js +37 -0
  422. package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
  423. package/esm/vs/editor/standalone/browser/standaloneLanguages.js +37 -0
  424. package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
  425. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  426. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  427. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js +3 -0
  428. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js.map +1 -1
  429. package/esm/vs/language/css/css.worker.js +1 -1
  430. package/esm/vs/language/css/cssMode.js +1 -1
  431. package/esm/vs/language/css/monaco.contribution.js +1 -1
  432. package/esm/vs/language/html/html.worker.js +1 -1
  433. package/esm/vs/language/html/htmlMode.js +1 -1
  434. package/esm/vs/language/html/monaco.contribution.js +1 -1
  435. package/esm/vs/language/json/json.worker.js +1 -1
  436. package/esm/vs/language/json/jsonMode.js +1 -1
  437. package/esm/vs/language/json/monaco.contribution.js +1 -1
  438. package/esm/vs/language/typescript/monaco.contribution.js +1 -1
  439. package/esm/vs/language/typescript/ts.worker.js +1 -1
  440. package/esm/vs/language/typescript/tsMode.js +1 -1
  441. package/esm/vs/platform/accessibility/browser/accessibilityService.js +2 -2
  442. package/esm/vs/platform/accessibility/browser/accessibilityService.js.map +1 -1
  443. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  444. package/esm/vs/platform/commands/common/commands.js.map +1 -1
  445. package/esm/vs/platform/contextkey/common/contextkey.js +5 -0
  446. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  447. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js +1 -0
  448. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js.map +1 -1
  449. package/esm/vs/platform/dnd/browser/dnd.js +2 -0
  450. package/esm/vs/platform/dnd/browser/dnd.js.map +1 -1
  451. package/esm/vs/platform/instantiation/common/descriptors.js.map +1 -1
  452. package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
  453. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -0
  454. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  455. package/esm/vs/platform/list/browser/listService.js +5 -0
  456. package/esm/vs/platform/list/browser/listService.js.map +1 -1
  457. package/esm/vs/platform/log/common/log.js.map +1 -1
  458. package/esm/vs/platform/log/common/logService.js.map +1 -1
  459. package/esm/vs/platform/observable/common/wrapInHotClass.js +2 -0
  460. package/esm/vs/platform/observable/common/wrapInHotClass.js.map +1 -1
  461. package/esm/vs/platform/observable/common/wrapInReloadableClass.js +3 -0
  462. package/esm/vs/platform/observable/common/wrapInReloadableClass.js.map +1 -1
  463. package/esm/vs/platform/product/common/product.js +69 -0
  464. package/esm/vs/platform/product/common/product.js.map +1 -0
  465. package/esm/vs/platform/quickinput/browser/quickInput.js +1 -1
  466. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  467. package/min/vs/assets/{css.worker-cO8rX8Iy.js → css.worker-BVuiDuBy.js} +2 -2
  468. package/min/vs/assets/{editor.worker-DM0G1eFj.js → editor.worker-jxNOmuJM.js} +9 -9
  469. package/min/vs/assets/{html.worker-BruuIJkK.js → html.worker-DjzoR3Nq.js} +12 -12
  470. package/min/vs/assets/{json.worker-DghZTZS7.js → json.worker-BHO4PP-I.js} +16 -16
  471. package/min/vs/assets/{ts.worker-C4E4vgbE.js → ts.worker-BbmlTFxS.js} +24 -24
  472. package/min/vs/basic-languages/monaco.contribution.js +1 -1
  473. package/min/vs/{cssMode-CGp6dFmI.js → cssMode-CihSYqKE.js} +1 -1
  474. package/min/vs/editor/editor.main.css +1 -1
  475. package/min/vs/editor/editor.main.js +1 -1
  476. package/min/vs/{editor.api-i0YVFWkl.js → editor.api-BBvXWtgc.js} +171 -171
  477. package/min/vs/{freemarker2-CJME-ah8.js → freemarker2-Ce3sL2WS.js} +1 -1
  478. package/min/vs/{handlebars-NccI6MVO.js → handlebars-Bb3ZjWAt.js} +1 -1
  479. package/min/vs/{html-K7M-xuod.js → html-CsBZo_Ud.js} +1 -1
  480. package/min/vs/{htmlMode-DtjCNH-N.js → htmlMode-BaDSxMv5.js} +1 -1
  481. package/min/vs/{javascript-CUpTMdAr.js → javascript-2_kuM68q.js} +1 -1
  482. package/min/vs/{jsonMode-CJjR_ECa.js → jsonMode-PX5jRR_L.js} +1 -1
  483. package/min/vs/language/css/monaco.contribution.js +1 -1
  484. package/min/vs/language/html/monaco.contribution.js +1 -1
  485. package/min/vs/language/json/monaco.contribution.js +1 -1
  486. package/min/vs/language/typescript/monaco.contribution.js +1 -1
  487. package/min/vs/{liquid-STktYroN.js → liquid-DREB9HpI.js} +1 -1
  488. package/min/vs/{lspLanguageFeatures-A02kBDb6.js → lspLanguageFeatures-D8gqdJoR.js} +1 -1
  489. package/min/vs/{mdx-C6mq4H94.js → mdx-BNAJfpzr.js} +1 -1
  490. package/min/vs/nls.messages.de.js +1 -1
  491. package/min/vs/nls.messages.es.js +1 -1
  492. package/min/vs/nls.messages.fr.js +1 -1
  493. package/min/vs/nls.messages.it.js +1 -1
  494. package/min/vs/nls.messages.ja.js +1 -1
  495. package/min/vs/nls.messages.ko.js +1 -1
  496. package/min/vs/nls.messages.ru.js +1 -1
  497. package/min/vs/nls.messages.zh-cn.js +1 -1
  498. package/min/vs/nls.messages.zh-tw.js +1 -1
  499. package/min/vs/{python-B-Y2SC3b.js → python-CLgnWbAg.js} +1 -1
  500. package/min/vs/{razor-JzN5FpSg.js → razor-pD9XaIj8.js} +1 -1
  501. package/min/vs/{tsMode-i88JHxDY.js → tsMode-DDFENmoA.js} +1 -1
  502. package/min/vs/{typescript-4zug7YwV.js → typescript-CWlXqxY6.js} +1 -1
  503. package/min/vs/{workers-CbP2cVmy.js → workers-Da5d5FZY.js} +1 -1
  504. package/min/vs/{xml-DRHZuZwg.js → xml-B8kusTdt.js} +1 -1
  505. package/min/vs/{yaml-CkWIGXBM.js → yaml-CxSYV94R.js} +1 -1
  506. package/monaco.d.ts +8 -8
  507. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAEhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAmC,0BAA0B,EAAoB,MAAM,sCAAsC,CAAC;AACnJ,OAAO,EAAwB,oBAAoB,EAAiD,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGhL,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAqF,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACzL,OAAO,EAAE,oBAAoB,EAA4B,MAAM,0CAA0C,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAgC,wBAAwB,EAA2E,MAAM,mCAAmC,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAuB,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sDAAsD,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAEnJ,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,4BAA4B,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAa,EAAE,6DAA6D,CAAC,CAAC,CAAC;AAE5K,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;aAC1B,OAAE,GAAG,mCAAH,AAAsC,CAAC;IAQhE,YACkB,OAAoB,EACf,oBAA2D,EAC/C,sBAAyE,EACpF,oBAA2C;QAElE,KAAK,EAAE,CAAC;QALS,YAAO,GAAP,OAAO,CAAa;QACE,yBAAoB,GAApB,oBAAoB,CAAsB;QAC9B,2BAAsB,GAAtB,sBAAsB,CAAkC;QATpG,iBAAY,GAAmE,IAAI,CAAC;QAIpF,kBAAa,GAAY,KAAK,CAAC;QAyCtB,iBAAY,GAAG,CAAC,KAAsC,EAAQ,EAAE;YAChF,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxB,OAAO;gBACR,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAEtH,IAAI,IAAI,CAAC;gBACT,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,EAAE,CAAC;oBAC9C,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAuE,EAAE,gEAAgE,CAAC;wBAChK,OAAO,EAAE,IAAI,kDAAkD,EAAE;qBACjE,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,EAAE,CAAC;oBACjD,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAmE,EAAE,0DAA0D,CAAC;wBACtJ,OAAO,EAAE,IAAI,8CAA8C,EAAE;qBAC7D,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,EAAE,CAAC;oBACjD,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAmE,EAAE,0DAA0D,CAAC;wBACtJ,OAAO,EAAE,IAAI,8CAA8C,EAAE;qBAC7D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC3B,EAAE,EAAE,wBAAwB;oBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACR;4BACC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;4BAC9B,IAAI,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;yBACvC;qBACD;oBACD,OAAO,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC3B,CAAC;iBACD,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;QA7ED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;QAExG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,4CAAkC,CAAC;QAEpE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,CAAC,UAAU,4CAAkC,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,4CAAkC,CAAC;gBACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAEe,OAAO;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAkDO,kBAAkB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhG,IACC;YACC,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,mBAAmB;YAC3B,OAAO,CAAC,mBAAmB;SAC3B,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,EACpC,CAAC;YACF,qDAAqD;YACrD,OAAO;QACR,CAAC;QAED,MAAM,gBAAgB,GAA8B;YACnD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YACrF,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAChE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;oBACxE,OAAO,QAAQ,CAAC;gBACjB,CAAC;qBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,QAAQ,CAAC,QAAQ,CAAC;gBAC1B,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClI,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvG,CAAC;IACF,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;;AArJW,kBAAkB;IAW5B,WAAA,oBAAoB,CAAA;IACpB,WAAA,gCAAgC,CAAA;IAChC,WAAA,qBAAqB,CAAA;GAbX,kBAAkB,CAsJ9B;;AAcD,SAAS,cAAc,CAAC,OAAgB,EAAE,OAAwC;IACjF,OAAO;QACN,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;QAChG,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;QACtG,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc;QACnG,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;KACtC,CAAC;AACH,CAAC;AAED,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IAKlD,YACkB,OAA0B,EAC1B,QAAmC,EACnC,YAA8D,EACxC,oBAA0C;QAEjF,KAAK,EAAE,CAAC;QALS,YAAO,GAAP,OAAO,CAAmB;QAC1B,aAAQ,GAAR,QAAQ,CAA2B;QACnC,iBAAY,GAAZ,YAAY,CAAkD;QACxC,yBAAoB,GAApB,oBAAoB,CAAsB;QAGjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,oBAAoB;aACvB,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;aACzD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC9B,OAAO;YACR,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,cAAc,EAAE,CAAC;gBACnD,gCAAgC;gBAChC,OAAO;YACR,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,+CAA+C;gBAC/C,mCAAmC;gBACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IACC,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC3C,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAE;YAC3C,SAAS,EAAE,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;SACtD,CAAC;IACH,CAAC;CACD,CAAA;AAnFK,0BAA0B;IAS7B,WAAA,oBAAoB,CAAA;GATjB,0BAA0B,CAmF/B;AAED,MAAM,0BAA2B,SAAQ,UAAU;IAMlD,YACkB,OAA0B,EAC1B,QAAmC,EACnC,YAA8D;QAE/E,KAAK,EAAE,CAAC;QAJS,YAAO,GAAP,OAAO,CAAmB;QAC1B,aAAQ,GAAR,QAAQ,CAA2B;QACnC,iBAAY,GAAZ,YAAY,CAAkD;QAG/E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,MAAM,WAAW,GAA6B;YAC7C,MAAM,EAAE,EAAE;YACV,uBAAuB,EAAE,CAAC;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,2BAA2B,EAAE,CAAC;YAC9B,OAAO,EAAE,KAAK;SACd,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,2BAA2B,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,uBAAuB,CAAC;YAC3E,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,uBAAuB,CAAC;YAC3E,WAAW,CAAC,2BAA2B,IAAI,WAAW,CAAC,2BAA2B,CAAC;YACnF,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC1B,gDAAgD;YAChD,kCAAkC;YAClC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;QACF,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAE;YAC3C,SAAS,EAAE,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;SACtD,CAAC;IACH,CAAC;CACD;AAED,MAAM,mCAAmC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAmD,EAAE,qCAAqC,CAAC,CAAC;AAE9I,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAI9C,YACkB,OAAoB,EACnB,gBAAmD,EACrD,cAA+C;QAF9C,YAAO,GAAP,OAAO,CAAa;QACF,qBAAgB,GAAhB,gBAAgB,CAAkB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QALhD,iBAAY,GAAW,CAAC,CAAC;IAOzC,CAAC;IAED,WAAW,CAAC,MAAmB,EAAE,eAAmC;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,kCAA0B,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAqB,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAEjC,MAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,SAAS;YACV,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5C,qCAAqC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YAEvC,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAExD,IAAI,MAAc,CAAC;YACnB,QAAQ,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,mDAA2C,CAAC,CAAC,CAAC;oBAC7C,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAA4C,EAC5C,wGAAwG,EACxG,YAAY,EACZ,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAC5E,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAAuC,EACvC,kGAAkG,EAClG,YAAY,EACZ,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAC5E,CAAC;oBACH,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED;oBACC,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAAuC,EACvC,iCAAiC,EACjC,YAAY,CACZ,CAAC;oBACF,MAAM;gBAEP;oBACC,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAA2C,EAC3C,mDAAmD,EACnD,YAAY,CACZ,CAAC;oBACF,MAAM;YACR,CAAC;YAED,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACV,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,kBAAkB,GAA2B;gBAClD,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC,CAAC;YAEF,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAiC,EAAE,iBAAiB,CAAC,CAAC;YAC1F,MAAM,GAAG,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC;iBAC3C,cAAc,CAAC,MAAM,CAAC;iBACtB,UAAU,CAAC,GAAG,CAAC;iBACf,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,mCAAmC,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,gBAAgB,CAAC,OAAkC,EAAE,UAA2B;QACtF,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5G,CAAC;CACD,CAAA;AAtGY,kCAAkC;IAM5C,WAAA,gBAAgB,CAAA;IAChB,WAAA,cAAc,CAAA;GAPJ,kCAAkC,CAsG9C;;AAED,SAAS,cAAc,CAAC,SAAiB;IACxC,OAAO,KAAK,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IACjD,IAAI,KAAK,GAAG,KAAK,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;IAC/C,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,mGAAmG;QACnG,KAAK,IAAI,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiB;IACrD,IAAI,SAAS,+BAAsB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAkC;IACtE,OAAO,2BAA2B,CAAC,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,WAAW;IAAjB;QAGkB,QAAG,GAAG,IAAI,GAAG,EAAkC,CAAC;IAwBlE,CAAC;aA1BuB,aAAQ,GAAG,IAAI,WAAW,EAAlB,AAAoB,CAAC;IAIpD,wBAAwB,CAAC,OAAkC;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9E,CAAC;IAEO,aAAa,CAAC,cAAuB,EAAE,aAAsB;QACpE,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,aAAa,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC;gBAC9C,WAAW,EAAE,mBAAmB;gBAChC,UAAU,4DAAoD;gBAC9D,SAAS,EAAE,mBAAmB;gBAC9B,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,mBAAmB,EAAE,cAAc;gBACnC,kBAAkB,EAAE,aAAa;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;;AAMF,MAAM,OAAO,mCAAoC,SAAQ,YAAY;IAEpE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAuD,EAAE,gDAAgD,CAAC;YAC/H,YAAY,EAAE,SAAS;SACvB,CAAC,CAAC;QANY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA2D,EAAE,+BAA+B,CAAC,CAAC;IAOxI,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,eAAe,EAAE,KAAK,mCAA2B,CAAC;IACrH,CAAC;CACD;AAED,MAAM,OAAO,kCAAmC,SAAQ,YAAY;IAEnE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAsD,EAAE,+CAA+C,CAAC;YAC7H,YAAY,EAAE,SAAS;SACvB,CAAC,CAAC;QANY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA0D,EAAE,8BAA8B,CAAC,CAAC;IAOtI,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,mCAA2B,CAAC;IACpH,CAAC;CACD;AAED,MAAM,OAAO,8CAA+C,SAAQ,OAAO;aAC5D,OAAE,GAAG,yEAAH,AAA4E,CAAC;IAE7F;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAkE,EAAE,8CAA8C,CAAC;YACxI,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAsE,EAAE,6BAA6B,CAAC,CAAC;IAQjJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,mCAA2B,CAAC;IACzH,CAAC;;AAGF,MAAM,OAAO,8CAA+C,SAAQ,OAAO;aAC5D,OAAE,GAAG,yEAAH,AAA4E,CAAC;IAE7F;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAkE,EAAE,8CAA8C,CAAC;YACxI,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAsE,EAAE,6BAA6B,CAAC,CAAC;IAQjJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,mCAA2B,CAAC;IACzH,CAAC;;AAGF,MAAM,OAAO,kDAAmD,SAAQ,OAAO;aAChE,OAAE,GAAG,6EAAH,AAAgF,CAAC;IAEjG;QACC,KAAK,CAAC;YACL,EAAE,EAAE,kDAAkD,CAAC,EAAE;YACzD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAsE,EAAE,oDAAoD,CAAC;YAClJ,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA0E,EAAE,6BAA6B,CAAC,CAAC;IAQrJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,EAAE,KAAK,mCAA2B,CAAC;IACnH,CAAC;;AAUF,MAAM,OAAO,kBAAmB,SAAQ,OAAO;aAChC,OAAE,GAAG,mDAAmD,CAAC;IACvE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,kBAAkB,CAAC,EAAE;YACzB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAA4C,EAAE,sBAAsB,CAAC;YAC1F,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,IAAS;QACrD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAA8B,CAAC;QAElF,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAMjE,SAAS,uCAAuC,CAAC,SAAiB;YACjE,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAA2D,EAAE,0DAA0D,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YACzK,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAkD,EAAE,oCAAoC,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACzJ,CAAC;QAED,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YAC5D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAkD,EAAE,wEAAwE,EAAE,MAAM,CAAC;oBACzJ,GAAG,EAAE,KAAK,IAAI,EAAE;wBACf,iCAAiC,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnE,CAAC;iBACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,CAAC,IAAI,CACX;YACC,KAAK,EAAE,uCAAuC,CAAC,SAAS,CAAC;YACzD,GAAG,EAAE,GAAG,EAAE,CAAC,+BAA+B,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC;SAC7E,CACD,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,kCAAkC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,SAAS,QAAQ,CAAC,OAAgB;YACjC,OAAO,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/F,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,8CAA8C,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,8CAA8C,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,uDAA+C,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,kDAAkD,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CACzC,OAAO,EACP,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAC9C,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;;AAGF,KAAK,UAAU,+BAA+B,CAAC,oBAA2C,EAAE,SAAmB;IAC9G,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAElG,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1D,KAAK,GAAG,aAAoB,CAAC;IAC9B,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,mCAA2B,CAAC;AACvH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,oBAA2C,EAAE,OAAiB;IAC9G,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IAE1G,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1D,iDAAiD;QACjD,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAoB,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,mCAA2B,CAAC;AACpH,CAAC;AAED,SAAS,WAAW,CAAC,KAAY;IAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,eAAe,CAAC,8CAA8C,CAAC,CAAC;AAChE,eAAe,CAAC,8CAA8C,CAAC,CAAC;AAChE,eAAe,CAAC,kDAAkD,CAAC,CAAC;AACpE,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACpC,0BAA0B,CAAC,kBAAkB,CAAC,EAAE,EAAE,kBAAkB,2DAAmD,CAAC;AACxH,wBAAwB,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC","file":"unicodeHighlighter.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { RunOnceScheduler } from '../../../../base/common/async.js';\nimport { CharCode } from '../../../../base/common/charCode.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { createCommandUri, MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport * as platform from '../../../../base/common/platform.js';\nimport { InvisibleCharacters, isBasicASCII } from '../../../../base/common/strings.js';\nimport './unicodeHighlighter.css';\nimport { IActiveCodeEditor, ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { InUntrustedWorkspace, inUntrustedWorkspace, EditorOption, InternalUnicodeHighlightOptions, unicodeHighlightConfigKeys } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { IModelDecoration, IModelDeltaDecoration, ITextModel, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { UnicodeHighlighterOptions, UnicodeHighlighterReason, UnicodeHighlighterReasonKind, UnicodeTextModelHighlighter } from '../../../common/services/unicodeTextModelHighlighter.js';\nimport { IEditorWorkerService, IUnicodeHighlightsResult } from '../../../common/services/editorWorker.js';\nimport { ILanguageService } from '../../../common/languages/language.js';\nimport { HoverAnchor, HoverAnchorType, HoverParticipantRegistry, IEditorHoverParticipant, IEditorHoverRenderContext, IRenderedHoverParts } from '../../hover/browser/hoverTypes.js';\nimport { MarkdownHover, renderMarkdownHovers } from '../../hover/browser/markdownHoverParticipant.js';\nimport { BannerController } from './bannerController.js';\nimport * as nls from '../../../../nls.js';\nimport { ConfigurationTarget, IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\nimport { IQuickInputService, IQuickPickItem } from '../../../../platform/quickinput/common/quickInput.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { IWorkspaceTrustManagementService } from '../../../../platform/workspace/common/workspaceTrust.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { safeIntl } from '../../../../base/common/date.js';\nimport { isModelDecorationInComment, isModelDecorationInString, isModelDecorationVisible } from '../../../common/viewModel/viewModelDecoration.js';\n\nexport const warningIcon = registerIcon('extensions-warning-message', Codicon.warning, nls.localize('warningIcon', 'Icon shown with a warning message in the extensions editor.'));\n\nexport class UnicodeHighlighter extends Disposable implements IEditorContribution {\n\tpublic static readonly ID = 'editor.contrib.unicodeHighlighter';\n\n\tprivate _highlighter: DocumentUnicodeHighlighter | ViewportUnicodeHighlighter | null = null;\n\tprivate _options: InternalUnicodeHighlightOptions;\n\n\tprivate readonly _bannerController: BannerController;\n\tprivate _bannerClosed: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IEditorWorkerService private readonly _editorWorkerService: IEditorWorkerService,\n\t\t@IWorkspaceTrustManagementService private readonly _workspaceTrustService: IWorkspaceTrustManagementService,\n\t\t@IInstantiationService instantiationService: IInstantiationService,\n\t) {\n\t\tsuper();\n\n\t\tthis._bannerController = this._register(instantiationService.createInstance(BannerController, _editor));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._bannerClosed = false;\n\t\t\tthis._updateHighlighter();\n\t\t}));\n\n\t\tthis._options = _editor.getOption(EditorOption.unicodeHighlighting);\n\n\t\tthis._register(_workspaceTrustService.onDidChangeTrust(e => {\n\t\t\tthis._updateHighlighter();\n\t\t}));\n\n\t\tthis._register(_editor.onDidChangeConfiguration(e => {\n\t\t\tif (e.hasChanged(EditorOption.unicodeHighlighting)) {\n\t\t\t\tthis._options = _editor.getOption(EditorOption.unicodeHighlighting);\n\t\t\t\tthis._updateHighlighter();\n\t\t\t}\n\t\t}));\n\n\t\tthis._updateHighlighter();\n\t}\n\n\tpublic override dispose(): void {\n\t\tif (this._highlighter) {\n\t\t\tthis._highlighter.dispose();\n\t\t\tthis._highlighter = null;\n\t\t}\n\t\tsuper.dispose();\n\t}\n\n\tprivate readonly _updateState = (state: IUnicodeHighlightsResult | null): void => {\n\t\tif (state && state.hasMore) {\n\t\t\tif (this._bannerClosed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This document contains many non-basic ASCII characters.\n\t\t\tconst max = Math.max(state.ambiguousCharacterCount, state.nonBasicAsciiCharacterCount, state.invisibleCharacterCount);\n\n\t\t\tlet data;\n\t\t\tif (state.nonBasicAsciiCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters', 'This document contains many non-basic ASCII unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfNonBasicAsciiCharactersAction(),\n\t\t\t\t};\n\t\t\t} else if (state.ambiguousCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters', 'This document contains many ambiguous unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfAmbiguousCharactersAction(),\n\t\t\t\t};\n\t\t\t} else if (state.invisibleCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters', 'This document contains many invisible unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfInvisibleCharactersAction(),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthrow new Error('Unreachable');\n\t\t\t}\n\n\t\t\tthis._bannerController.show({\n\t\t\t\tid: 'unicodeHighlightBanner',\n\t\t\t\tmessage: data.message,\n\t\t\t\ticon: warningIcon,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: data.command.shortLabel,\n\t\t\t\t\t\thref: `command:${data.command.desc.id}`\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tonClose: () => {\n\t\t\t\t\tthis._bannerClosed = true;\n\t\t\t\t},\n\t\t\t});\n\t\t} else {\n\t\t\tthis._bannerController.hide();\n\t\t}\n\t};\n\n\tprivate _updateHighlighter(): void {\n\t\tthis._updateState(null);\n\n\t\tif (this._highlighter) {\n\t\t\tthis._highlighter.dispose();\n\t\t\tthis._highlighter = null;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = resolveOptions(this._workspaceTrustService.isWorkspaceTrusted(), this._options);\n\n\t\tif (\n\t\t\t[\n\t\t\t\toptions.nonBasicASCII,\n\t\t\t\toptions.ambiguousCharacters,\n\t\t\t\toptions.invisibleCharacters,\n\t\t\t].every((option) => option === false)\n\t\t) {\n\t\t\t// Don't do anything if the feature is fully disabled\n\t\t\treturn;\n\t\t}\n\n\t\tconst highlightOptions: UnicodeHighlighterOptions = {\n\t\t\tnonBasicASCII: options.nonBasicASCII,\n\t\t\tambiguousCharacters: options.ambiguousCharacters,\n\t\t\tinvisibleCharacters: options.invisibleCharacters,\n\t\t\tincludeComments: options.includeComments,\n\t\t\tincludeStrings: options.includeStrings,\n\t\t\tallowedCodePoints: Object.keys(options.allowedCharacters).map(c => c.codePointAt(0)!),\n\t\t\tallowedLocales: Object.keys(options.allowedLocales).map(locale => {\n\t\t\t\tif (locale === '_os') {\n\t\t\t\t\tconst osLocale = safeIntl.NumberFormat().value.resolvedOptions().locale;\n\t\t\t\t\treturn osLocale;\n\t\t\t\t} else if (locale === '_vscode') {\n\t\t\t\t\treturn platform.language;\n\t\t\t\t}\n\t\t\t\treturn locale;\n\t\t\t}),\n\t\t};\n\n\t\tif (this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)) {\n\t\t\tthis._highlighter = new DocumentUnicodeHighlighter(this._editor, highlightOptions, this._updateState, this._editorWorkerService);\n\t\t} else {\n\t\t\tthis._highlighter = new ViewportUnicodeHighlighter(this._editor, highlightOptions, this._updateState);\n\t\t}\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (this._highlighter) {\n\t\t\treturn this._highlighter.getDecorationInfo(decoration);\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport interface UnicodeHighlighterDecorationInfo {\n\treason: UnicodeHighlighterReason;\n\tinComment: boolean;\n\tinString: boolean;\n}\n\ntype Resolve<T> =\n\tT extends InUntrustedWorkspace ? never\n\t: T extends 'auto' ? never : T;\n\ntype ResolvedOptions = { [TKey in keyof InternalUnicodeHighlightOptions]: Resolve<InternalUnicodeHighlightOptions[TKey]> };\n\nfunction resolveOptions(trusted: boolean, options: InternalUnicodeHighlightOptions): ResolvedOptions {\n\treturn {\n\t\tnonBasicASCII: options.nonBasicASCII === inUntrustedWorkspace ? !trusted : options.nonBasicASCII,\n\t\tambiguousCharacters: options.ambiguousCharacters,\n\t\tinvisibleCharacters: options.invisibleCharacters,\n\t\tincludeComments: options.includeComments === inUntrustedWorkspace ? !trusted : options.includeComments,\n\t\tincludeStrings: options.includeStrings === inUntrustedWorkspace ? !trusted : options.includeStrings,\n\t\tallowedCharacters: options.allowedCharacters,\n\t\tallowedLocales: options.allowedLocales,\n\t};\n}\n\nclass DocumentUnicodeHighlighter extends Disposable {\n\tprivate readonly _model: ITextModel;\n\tprivate readonly _updateSoon: RunOnceScheduler;\n\tprivate _decorations;\n\n\tconstructor(\n\t\tprivate readonly _editor: IActiveCodeEditor,\n\t\tprivate readonly _options: UnicodeHighlighterOptions,\n\t\tprivate readonly _updateState: (state: IUnicodeHighlightsResult | null) => void,\n\t\t@IEditorWorkerService private readonly _editorWorkerService: IEditorWorkerService,\n\t) {\n\t\tsuper();\n\t\tthis._model = this._editor.getModel();\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\t\tthis._updateSoon = this._register(new RunOnceScheduler(() => this._update(), 250));\n\n\t\tthis._register(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\n\t\tthis._updateSoon.schedule();\n\t}\n\n\tpublic override dispose() {\n\t\tthis._decorations.clear();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _update(): void {\n\t\tif (this._model.isDisposed()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._model.mightContainNonBasicASCII()) {\n\t\t\tthis._decorations.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst modelVersionId = this._model.getVersionId();\n\t\tthis._editorWorkerService\n\t\t\t.computedUnicodeHighlights(this._model.uri, this._options)\n\t\t\t.then((info) => {\n\t\t\t\tif (this._model.isDisposed()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this._model.getVersionId() !== modelVersionId) {\n\t\t\t\t\t// model changed in the meantime\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._updateState(info);\n\n\t\t\t\tconst decorations: IModelDeltaDecoration[] = [];\n\t\t\t\tif (!info.hasMore) {\n\t\t\t\t\t// Don't show decoration if there are too many.\n\t\t\t\t\t// In this case, a banner is shown.\n\t\t\t\t\tfor (const range of info.ranges) {\n\t\t\t\t\t\tdecorations.push({\n\t\t\t\t\t\t\trange: range,\n\t\t\t\t\t\t\toptions: Decorations.instance.getDecorationFromOptions(this._options),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._decorations.set(decorations);\n\t\t\t});\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (!this._decorations.has(decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (\n\t\t\t!isModelDecorationVisible(model, decoration)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tconst text = model.getValueInRange(decoration.range);\n\t\treturn {\n\t\t\treason: computeReason(text, this._options)!,\n\t\t\tinComment: isModelDecorationInComment(model, decoration),\n\t\t\tinString: isModelDecorationInString(model, decoration),\n\t\t};\n\t}\n}\n\nclass ViewportUnicodeHighlighter extends Disposable {\n\n\tprivate readonly _model: ITextModel;\n\tprivate readonly _updateSoon: RunOnceScheduler;\n\tprivate readonly _decorations;\n\n\tconstructor(\n\t\tprivate readonly _editor: IActiveCodeEditor,\n\t\tprivate readonly _options: UnicodeHighlighterOptions,\n\t\tprivate readonly _updateState: (state: IUnicodeHighlightsResult | null) => void,\n\t) {\n\t\tsuper();\n\t\tthis._model = this._editor.getModel();\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\n\t\tthis._updateSoon = this._register(new RunOnceScheduler(() => this._update(), 250));\n\n\t\tthis._register(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeHiddenAreas(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\n\t\tthis._updateSoon.schedule();\n\t}\n\n\tpublic override dispose() {\n\t\tthis._decorations.clear();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _update(): void {\n\t\tif (this._model.isDisposed()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._model.mightContainNonBasicASCII()) {\n\t\t\tthis._decorations.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst ranges = this._editor.getVisibleRanges();\n\t\tconst decorations: IModelDeltaDecoration[] = [];\n\t\tconst totalResult: IUnicodeHighlightsResult = {\n\t\t\tranges: [],\n\t\t\tambiguousCharacterCount: 0,\n\t\t\tinvisibleCharacterCount: 0,\n\t\t\tnonBasicAsciiCharacterCount: 0,\n\t\t\thasMore: false,\n\t\t};\n\t\tfor (const range of ranges) {\n\t\t\tconst result = UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model, this._options, range);\n\t\t\tfor (const r of result.ranges) {\n\t\t\t\ttotalResult.ranges.push(r);\n\t\t\t}\n\t\t\ttotalResult.ambiguousCharacterCount += totalResult.ambiguousCharacterCount;\n\t\t\ttotalResult.invisibleCharacterCount += totalResult.invisibleCharacterCount;\n\t\t\ttotalResult.nonBasicAsciiCharacterCount += totalResult.nonBasicAsciiCharacterCount;\n\t\t\ttotalResult.hasMore = totalResult.hasMore || result.hasMore;\n\t\t}\n\n\t\tif (!totalResult.hasMore) {\n\t\t\t// Don't show decorations if there are too many.\n\t\t\t// A banner will be shown instead.\n\t\t\tfor (const range of totalResult.ranges) {\n\t\t\t\tdecorations.push({ range, options: Decorations.instance.getDecorationFromOptions(this._options) });\n\t\t\t}\n\t\t}\n\t\tthis._updateState(totalResult);\n\n\t\tthis._decorations.set(decorations);\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (!this._decorations.has(decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tconst text = model.getValueInRange(decoration.range);\n\t\tif (!isModelDecorationVisible(model, decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\treason: computeReason(text, this._options)!,\n\t\t\tinComment: isModelDecorationInComment(model, decoration),\n\t\t\tinString: isModelDecorationInString(model, decoration),\n\t\t};\n\t}\n}\n\nconst configureUnicodeHighlightOptionsStr = nls.localize('unicodeHighlight.configureUnicodeHighlightOptions', 'Configure Unicode Highlight Options');\n\nexport class UnicodeHighlighterHoverParticipant implements IEditorHoverParticipant<MarkdownHover> {\n\n\tpublic readonly hoverOrdinal: number = 5;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageService private readonly _languageService: ILanguageService,\n\t\t@IOpenerService private readonly _openerService: IOpenerService,\n\t) {\n\t}\n\n\tcomputeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): MarkdownHover[] {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\n\t\tconst unicodeHighlighter = this._editor.getContribution<UnicodeHighlighter>(UnicodeHighlighter.ID);\n\t\tif (!unicodeHighlighter) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst result: MarkdownHover[] = [];\n\t\tconst existedReason = new Set<string>();\n\t\tlet index = 300;\n\t\tfor (const d of lineDecorations) {\n\n\t\t\tconst highlightInfo = unicodeHighlighter.getDecorationInfo(d);\n\t\t\tif (!highlightInfo) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst char = model.getValueInRange(d.range);\n\t\t\t// text refers to a single character.\n\t\t\tconst codePoint = char.codePointAt(0)!;\n\n\t\t\tconst codePointStr = formatCodePointMarkdown(codePoint);\n\n\t\t\tlet reason: string;\n\t\t\tswitch (highlightInfo.reason.kind) {\n\t\t\t\tcase UnicodeHighlighterReasonKind.Ambiguous: {\n\t\t\t\t\tif (isBasicASCII(highlightInfo.reason.confusableWith)) {\n\t\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t\t'unicodeHighlight.characterIsAmbiguousASCII',\n\t\t\t\t\t\t\t'The character {0} could be confused with the ASCII character {1}, which is more common in source code.',\n\t\t\t\t\t\t\tcodePointStr,\n\t\t\t\t\t\t\tformatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)!)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t\t'unicodeHighlight.characterIsAmbiguous',\n\t\t\t\t\t\t\t'The character {0} could be confused with the character {1}, which is more common in source code.',\n\t\t\t\t\t\t\tcodePointStr,\n\t\t\t\t\t\t\tformatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)!)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase UnicodeHighlighterReasonKind.Invisible:\n\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t'unicodeHighlight.characterIsInvisible',\n\t\t\t\t\t\t'The character {0} is invisible.',\n\t\t\t\t\t\tcodePointStr\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase UnicodeHighlighterReasonKind.NonBasicAscii:\n\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t'unicodeHighlight.characterIsNonBasicAscii',\n\t\t\t\t\t\t'The character {0} is not a basic ASCII character.',\n\t\t\t\t\t\tcodePointStr\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (existedReason.has(reason)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\texistedReason.add(reason);\n\n\t\t\tconst adjustSettingsArgs: ShowExcludeOptionsArgs = {\n\t\t\t\tcodePoint: codePoint,\n\t\t\t\treason: highlightInfo.reason,\n\t\t\t\tinComment: highlightInfo.inComment,\n\t\t\t\tinString: highlightInfo.inString,\n\t\t\t};\n\n\t\t\tconst adjustSettings = nls.localize('unicodeHighlight.adjustSettings', 'Adjust settings');\n\t\t\tconst uri = createCommandUri(ShowExcludeOptions.ID, adjustSettingsArgs);\n\t\t\tconst markdown = new MarkdownString('', true)\n\t\t\t\t.appendMarkdown(reason)\n\t\t\t\t.appendText(' ')\n\t\t\t\t.appendLink(uri, adjustSettings, configureUnicodeHighlightOptionsStr);\n\t\t\tresult.push(new MarkdownHover(this, d.range, [markdown], false, index++));\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic renderHoverParts(context: IEditorHoverRenderContext, hoverParts: MarkdownHover[]): IRenderedHoverParts<MarkdownHover> {\n\t\treturn renderMarkdownHovers(context, hoverParts, this._editor, this._languageService, this._openerService);\n\t}\n}\n\nfunction codePointToHex(codePoint: number): string {\n\treturn `U+${codePoint.toString(16).padStart(4, '0')}`;\n}\n\nfunction formatCodePointMarkdown(codePoint: number) {\n\tlet value = `\\`${codePointToHex(codePoint)}\\``;\n\tif (!InvisibleCharacters.isInvisibleCharacter(codePoint)) {\n\t\t// Don't render any control characters or any invisible characters, as they cannot be seen anyways.\n\t\tvalue += ` \"${`${renderCodePointAsInlineCode(codePoint)}`}\"`;\n\t}\n\treturn value;\n}\n\nfunction renderCodePointAsInlineCode(codePoint: number): string {\n\tif (codePoint === CharCode.BackTick) {\n\t\treturn '`` ` ``';\n\t}\n\treturn '`' + String.fromCodePoint(codePoint) + '`';\n}\n\nfunction computeReason(char: string, options: UnicodeHighlighterOptions): UnicodeHighlighterReason | null {\n\treturn UnicodeTextModelHighlighter.computeUnicodeHighlightReason(char, options);\n}\n\nclass Decorations {\n\tpublic static readonly instance = new Decorations();\n\n\tprivate readonly map = new Map<string, ModelDecorationOptions>();\n\n\tgetDecorationFromOptions(options: UnicodeHighlighterOptions): ModelDecorationOptions {\n\t\treturn this.getDecoration(!options.includeComments, !options.includeStrings);\n\t}\n\n\tprivate getDecoration(hideInComments: boolean, hideInStrings: boolean): ModelDecorationOptions {\n\t\tconst key = `${hideInComments}${hideInStrings}`;\n\t\tlet options = this.map.get(key);\n\t\tif (!options) {\n\t\t\toptions = ModelDecorationOptions.createDynamic({\n\t\t\t\tdescription: 'unicode-highlight',\n\t\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\t\tclassName: 'unicode-highlight',\n\t\t\t\tshowIfCollapsed: true,\n\t\t\t\toverviewRuler: null,\n\t\t\t\tminimap: null,\n\t\t\t\thideInCommentTokens: hideInComments,\n\t\t\t\thideInStringTokens: hideInStrings,\n\t\t\t});\n\t\t\tthis.map.set(key, options);\n\t\t}\n\t\treturn options;\n\t}\n}\n\ninterface IDisableUnicodeHighlightAction {\n}\n\nexport class DisableHighlightingInCommentsAction extends EditorAction implements IDisableUnicodeHighlightAction {\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingInComments.shortLabel', 'Disable Highlight In Comments');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\tlabel: nls.localize2('action.unicodeHighlight.disableHighlightingInComments', \"Disable highlighting of characters in comments\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.includeComments, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingInStringsAction extends EditorAction implements IDisableUnicodeHighlightAction {\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingInStrings.shortLabel', 'Disable Highlight In Strings');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\tlabel: nls.localize2('action.unicodeHighlight.disableHighlightingInStrings', \"Disable highlighting of characters in strings\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.includeStrings, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfAmbiguousCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel', 'Disable Ambiguous Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters', \"Disable highlighting of ambiguous characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.ambiguousCharacters, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfInvisibleCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel', 'Disable Invisible Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfInvisibleCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfInvisibleCharacters', \"Disable highlighting of invisible characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.invisibleCharacters, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfNonBasicAsciiCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel', 'Disable Non ASCII Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfNonBasicAsciiCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters', \"Disable highlighting of non basic ASCII characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.nonBasicASCII, false, ConfigurationTarget.USER);\n\t}\n}\n\ninterface ShowExcludeOptionsArgs {\n\tcodePoint: number;\n\treason: UnicodeHighlighterReason;\n\tinComment: boolean;\n\tinString: boolean;\n}\n\nexport class ShowExcludeOptions extends Action2 {\n\tpublic static ID = 'editor.action.unicodeHighlight.showExcludeOptions';\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowExcludeOptions.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.showExcludeOptions', \"Show Exclude Options\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, args: any): Promise<void> {\n\t\tconst { codePoint, reason, inString, inComment } = args as ShowExcludeOptionsArgs;\n\n\t\tconst char = String.fromCodePoint(codePoint);\n\n\t\tconst quickPickService = accessor.get(IQuickInputService);\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\n\t\tinterface ExtendedOptions extends IQuickPickItem {\n\t\t\trun(): Promise<void>;\n\t\t}\n\n\t\tfunction getExcludeCharFromBeingHighlightedLabel(codePoint: number) {\n\t\t\tif (InvisibleCharacters.isInvisibleCharacter(codePoint)) {\n\t\t\t\treturn nls.localize('unicodeHighlight.excludeInvisibleCharFromBeingHighlighted', 'Exclude {0} (invisible character) from being highlighted', codePointToHex(codePoint));\n\t\t\t}\n\t\t\treturn nls.localize('unicodeHighlight.excludeCharFromBeingHighlighted', 'Exclude {0} from being highlighted', `${codePointToHex(codePoint)} \"${char}\"`);\n\t\t}\n\n\t\tconst options: ExtendedOptions[] = [];\n\n\t\tif (reason.kind === UnicodeHighlighterReasonKind.Ambiguous) {\n\t\t\tfor (const locale of reason.notAmbiguousInLocales) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: nls.localize(\"unicodeHighlight.allowCommonCharactersInLanguage\", \"Allow unicode characters that are more common in the language \\\"{0}\\\".\", locale),\n\t\t\t\t\trun: async () => {\n\t\t\t\t\t\texcludeLocaleFromBeingHighlighted(configurationService, [locale]);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\toptions.push(\n\t\t\t{\n\t\t\t\tlabel: getExcludeCharFromBeingHighlightedLabel(codePoint),\n\t\t\t\trun: () => excludeCharFromBeingHighlighted(configurationService, [codePoint])\n\t\t\t}\n\t\t);\n\n\t\tif (inComment) {\n\t\t\tconst action = new DisableHighlightingInCommentsAction();\n\t\t\toptions.push({ label: action.label, run: async () => action.runAction(configurationService) });\n\t\t} else if (inString) {\n\t\t\tconst action = new DisableHighlightingInStringsAction();\n\t\t\toptions.push({ label: action.label, run: async () => action.runAction(configurationService) });\n\t\t}\n\n\t\tfunction getTitle(options: Action2) {\n\t\t\treturn typeof options.desc.title === 'string' ? options.desc.title : options.desc.title.value;\n\t\t}\n\n\t\tif (reason.kind === UnicodeHighlighterReasonKind.Ambiguous) {\n\t\t\tconst action = new DisableHighlightingOfAmbiguousCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else if (reason.kind === UnicodeHighlighterReasonKind.Invisible) {\n\t\t\tconst action = new DisableHighlightingOfInvisibleCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else if (reason.kind === UnicodeHighlighterReasonKind.NonBasicAscii) {\n\t\t\tconst action = new DisableHighlightingOfNonBasicAsciiCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else {\n\t\t\texpectNever(reason);\n\t\t}\n\n\t\tconst result = await quickPickService.pick(\n\t\t\toptions,\n\t\t\t{ title: configureUnicodeHighlightOptionsStr }\n\t\t);\n\n\t\tif (result) {\n\t\t\tawait result.run();\n\t\t}\n\t}\n}\n\nasync function excludeCharFromBeingHighlighted(configurationService: IConfigurationService, charCodes: number[]) {\n\tconst existingValue = configurationService.getValue(unicodeHighlightConfigKeys.allowedCharacters);\n\n\tlet value: Record<string, boolean>;\n\tif ((typeof existingValue === 'object') && existingValue) {\n\t\tvalue = existingValue as any;\n\t} else {\n\t\tvalue = {};\n\t}\n\n\tfor (const charCode of charCodes) {\n\t\tvalue[String.fromCodePoint(charCode)] = true;\n\t}\n\n\tawait configurationService.updateValue(unicodeHighlightConfigKeys.allowedCharacters, value, ConfigurationTarget.USER);\n}\n\nasync function excludeLocaleFromBeingHighlighted(configurationService: IConfigurationService, locales: string[]) {\n\tconst existingValue = configurationService.inspect(unicodeHighlightConfigKeys.allowedLocales).user?.value;\n\n\tlet value: Record<string, boolean>;\n\tif ((typeof existingValue === 'object') && existingValue) {\n\t\t// Copy value, as the existing value is read only\n\t\tvalue = Object.assign({}, existingValue as any);\n\t} else {\n\t\tvalue = {};\n\t}\n\n\tfor (const locale of locales) {\n\t\tvalue[locale] = true;\n\t}\n\n\tawait configurationService.updateValue(unicodeHighlightConfigKeys.allowedLocales, value, ConfigurationTarget.USER);\n}\n\nfunction expectNever(value: never) {\n\tthrow new Error(`Unexpected value: ${value}`);\n}\n\nregisterAction2(DisableHighlightingOfAmbiguousCharactersAction);\nregisterAction2(DisableHighlightingOfInvisibleCharactersAction);\nregisterAction2(DisableHighlightingOfNonBasicAsciiCharactersAction);\nregisterAction2(ShowExcludeOptions);\nregisterEditorContribution(UnicodeHighlighter.ID, UnicodeHighlighter, EditorContributionInstantiation.AfterFirstRender);\nHoverParticipantRegistry.register(UnicodeHighlighterHoverParticipant);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAEhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAmC,0BAA0B,EAAoB,MAAM,sCAAsC,CAAC;AACnJ,OAAO,EAAwB,oBAAoB,EAAiD,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGhL,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAqF,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AACzL,OAAO,EAAE,oBAAoB,EAA4B,MAAM,0CAA0C,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAgC,wBAAwB,EAA2E,MAAM,mCAAmC,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAuB,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sDAAsD,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAEnJ,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,4BAA4B,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAa,EAAE,6DAA6D,CAAC,CAAC,CAAC;AAE5K,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;aAC1B,OAAE,GAAG,mCAAH,AAAsC,CAAC;IAQhE,YACkB,OAAoB,EACf,oBAA2D,EAC/C,sBAAyE,EACpF,oBAA2C;QAElE,KAAK,EAAE,CAAC;QALS,YAAO,GAAP,OAAO,CAAa;QACE,yBAAoB,GAApB,oBAAoB,CAAsB;QAC9B,2BAAsB,GAAtB,sBAAsB,CAAkC;QATpG,iBAAY,GAAmE,IAAI,CAAC;QAIpF,kBAAa,GAAY,KAAK,CAAC;QAyCtB,iBAAY,GAAG,CAAC,KAAsC,EAAQ,EAAE;YAChF,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxB,OAAO;gBACR,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAEtH,IAAI,IAAI,CAAC;gBACT,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,EAAE,CAAC;oBAC9C,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAuE,EAAE,gEAAgE,CAAC;wBAChK,OAAO,EAAE,IAAI,kDAAkD,EAAE;qBACjE,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,EAAE,CAAC;oBACjD,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAmE,EAAE,0DAA0D,CAAC;wBACtJ,OAAO,EAAE,IAAI,8CAA8C,EAAE;qBAC7D,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,EAAE,CAAC;oBACjD,IAAI,GAAG;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAmE,EAAE,0DAA0D,CAAC;wBACtJ,OAAO,EAAE,IAAI,8CAA8C,EAAE;qBAC7D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC3B,EAAE,EAAE,wBAAwB;oBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACR;4BACC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;4BAC9B,IAAI,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;yBACvC;qBACD;oBACD,OAAO,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC3B,CAAC;iBACD,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;QA7ED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;QAExG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,4CAAkC,CAAC;QAEpE,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,CAAC,UAAU,4CAAkC,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,4CAAkC,CAAC;gBACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAEe,OAAO;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAkDO,kBAAkB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhG,IACC;YACC,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,mBAAmB;YAC3B,OAAO,CAAC,mBAAmB;SAC3B,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,EACpC,CAAC;YACF,qDAAqD;YACrD,OAAO;QACR,CAAC;QAED,MAAM,gBAAgB,GAA8B;YACnD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YACrF,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAChE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;oBACxE,OAAO,QAAQ,CAAC;gBACjB,CAAC;qBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,QAAQ,CAAC,QAAQ,CAAC;gBAC1B,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClI,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvG,CAAC;IACF,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;;AArJW,kBAAkB;IAW5B,WAAA,oBAAoB,CAAA;IACpB,WAAA,gCAAgC,CAAA;IAChC,WAAA,qBAAqB,CAAA;GAbX,kBAAkB,CAsJ9B;;AAcD,SAAS,cAAc,CAAC,OAAgB,EAAE,OAAwC;IACjF,OAAO;QACN,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;QAChG,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;QACtG,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc;QACnG,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;KACtC,CAAC;AACH,CAAC;AAED,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAU;IAKlD,YACkB,OAA0B,EAC1B,QAAmC,EACnC,YAA8D,EACxC,oBAA0C;QAEjF,KAAK,EAAE,CAAC;QALS,YAAO,GAAP,OAAO,CAAmB;QAC1B,aAAQ,GAAR,QAAQ,CAA2B;QACnC,iBAAY,GAAZ,YAAY,CAAkD;QACxC,yBAAoB,GAApB,oBAAoB,CAAsB;QAGjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,oBAAoB;aACvB,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;aACzD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC9B,OAAO;YACR,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,cAAc,EAAE,CAAC;gBACnD,gCAAgC;gBAChC,OAAO;YACR,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,+CAA+C;gBAC/C,mCAAmC;gBACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACrE,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IACC,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC3C,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAE;YAC3C,SAAS,EAAE,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;SACtD,CAAC;IACH,CAAC;CACD,CAAA;AAnFK,0BAA0B;IAS7B,WAAA,oBAAoB,CAAA;GATjB,0BAA0B,CAmF/B;AAED,MAAM,0BAA2B,SAAQ,UAAU;IAMlD,YACkB,OAA0B,EAC1B,QAAmC,EACnC,YAA8D;QAE/E,KAAK,EAAE,CAAC;QAJS,YAAO,GAAP,OAAO,CAAmB;QAC1B,aAAQ,GAAR,QAAQ,CAA2B;QACnC,iBAAY,GAAZ,YAAY,CAAkD;QAG/E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAE/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEe,OAAO;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,MAAM,WAAW,GAA6B;YAC7C,MAAM,EAAE,EAAE;YACV,uBAAuB,EAAE,CAAC;YAC1B,uBAAuB,EAAE,CAAC;YAC1B,2BAA2B,EAAE,CAAC;YAC9B,OAAO,EAAE,KAAK;SACd,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,2BAA2B,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;YACD,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,uBAAuB,CAAC;YAC3E,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,uBAAuB,CAAC;YAC3E,WAAW,CAAC,2BAA2B,IAAI,WAAW,CAAC,2BAA2B,CAAC;YACnF,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC1B,gDAAgD;YAChD,kCAAkC;YAClC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACxC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;QACF,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAiB,CAAC,UAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAE;YAC3C,SAAS,EAAE,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;SACtD,CAAC;IACH,CAAC;CACD;AAED,MAAM,mCAAmC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAmD,EAAE,qCAAqC,CAAC,CAAC;AAE9I,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAI9C,YACkB,OAAoB,EACnB,gBAAmD,EACrD,cAA+C;QAF9C,YAAO,GAAP,OAAO,CAAa;QACF,qBAAgB,GAAhB,gBAAgB,CAAkB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QALhD,iBAAY,GAAW,CAAC,CAAC;IAOzC,CAAC;IAED,WAAW,CAAC,MAAmB,EAAE,eAAmC;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,kCAA0B,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAqB,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAEjC,MAAM,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,SAAS;YACV,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5C,qCAAqC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YAEvC,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAExD,IAAI,MAAc,CAAC;YACnB,QAAQ,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,mDAA2C,CAAC,CAAC,CAAC;oBAC7C,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAA4C,EAC5C,wGAAwG,EACxG,YAAY,EACZ,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAC5E,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAAuC,EACvC,kGAAkG,EAClG,YAAY,EACZ,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAC5E,CAAC;oBACH,CAAC;oBACD,MAAM;gBACP,CAAC;gBAED;oBACC,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAAuC,EACvC,iCAAiC,EACjC,YAAY,CACZ,CAAC;oBACF,MAAM;gBAEP;oBACC,MAAM,GAAG,GAAG,CAAC,QAAQ,CACpB,IAA2C,EAC3C,mDAAmD,EACnD,YAAY,CACZ,CAAC;oBACF,MAAM;YACR,CAAC;YAED,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACV,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,kBAAkB,GAA2B;gBAClD,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,aAAa,CAAC,MAAM;gBAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC,CAAC;YAEF,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAiC,EAAE,iBAAiB,CAAC,CAAC;YAC1F,MAAM,GAAG,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC;iBAC3C,cAAc,CAAC,MAAM,CAAC;iBACtB,UAAU,CAAC,GAAG,CAAC;iBACf,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,mCAAmC,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,gBAAgB,CAAC,OAAkC,EAAE,UAA2B;QACtF,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5G,CAAC;CACD,CAAA;AAtGY,kCAAkC;IAM5C,WAAA,gBAAgB,CAAA;IAChB,WAAA,cAAc,CAAA;GAPJ,kCAAkC,CAsG9C;;AAED,SAAS,cAAc,CAAC,SAAiB;IACxC,OAAO,KAAK,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IACjD,IAAI,KAAK,GAAG,KAAK,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;IAC/C,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,mGAAmG;QACnG,KAAK,IAAI,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiB;IACrD,IAAI,SAAS,+BAAsB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAkC;IACtE,OAAO,2BAA2B,CAAC,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,WAAW;IAAjB;QAGkB,QAAG,GAAG,IAAI,GAAG,EAAkC,CAAC;IAwBlE,CAAC;aA1BuB,aAAQ,GAAG,IAAI,WAAW,EAAlB,AAAoB,CAAC;IAIpD,wBAAwB,CAAC,OAAkC;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9E,CAAC;IAEO,aAAa,CAAC,cAAuB,EAAE,aAAsB;QACpE,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,aAAa,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC;gBAC9C,WAAW,EAAE,mBAAmB;gBAChC,UAAU,4DAAoD;gBAC9D,SAAS,EAAE,mBAAmB;gBAC9B,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,mBAAmB,EAAE,cAAc;gBACnC,kBAAkB,EAAE,aAAa;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;;AAMF,MAAM,OAAO,mCAAoC,SAAQ,YAAY;IAEpE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAuD,EAAE,gDAAgD,CAAC;YAC/H,YAAY,EAAE,SAAS;SACvB,CAAC,CAAC;QANY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA2D,EAAE,+BAA+B,CAAC,CAAC;IAOxI,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,eAAe,EAAE,KAAK,mCAA2B,CAAC;IACrH,CAAC;CACD;AAED,MAAM,OAAO,kCAAmC,SAAQ,YAAY;IAEnE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAsD,EAAE,+CAA+C,CAAC;YAC7H,YAAY,EAAE,SAAS;SACvB,CAAC,CAAC;QANY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA0D,EAAE,8BAA8B,CAAC,CAAC;IAOtI,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,mCAA2B,CAAC;IACpH,CAAC;CACD;AAED,MAAM,OAAO,8CAA+C,SAAQ,OAAO;aAC5D,OAAE,GAAG,yEAAH,AAA4E,CAAC;IAE7F;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAkE,EAAE,8CAA8C,CAAC;YACxI,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAsE,EAAE,6BAA6B,CAAC,CAAC;IAQjJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,mCAA2B,CAAC;IACzH,CAAC;;AAGF,MAAM,OAAO,8CAA+C,SAAQ,OAAO;aAC5D,OAAE,GAAG,yEAAH,AAA4E,CAAC;IAE7F;QACC,KAAK,CAAC;YACL,EAAE,EAAE,8CAA8C,CAAC,EAAE;YACrD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAkE,EAAE,8CAA8C,CAAC;YACxI,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAsE,EAAE,6BAA6B,CAAC,CAAC;IAQjJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,KAAK,mCAA2B,CAAC;IACzH,CAAC;;AAGF,MAAM,OAAO,kDAAmD,SAAQ,OAAO;aAChE,OAAE,GAAG,6EAAH,AAAgF,CAAC;IAEjG;QACC,KAAK,CAAC;YACL,EAAE,EAAE,kDAAkD,CAAC,EAAE;YACzD,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAsE,EAAE,oDAAoD,CAAC;YAClJ,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;QAPY,eAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAA0E,EAAE,6BAA6B,CAAC,CAAC;IAQrJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,MAAmB,EAAE,IAAS;QAC1E,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,oBAA2C;QACjE,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,EAAE,KAAK,mCAA2B,CAAC;IACnH,CAAC;;AAUF,MAAM,OAAO,kBAAmB,SAAQ,OAAO;aAChC,OAAE,GAAG,mDAAmD,CAAC;IACvE;QACC,KAAK,CAAC;YACL,EAAE,EAAE,kBAAkB,CAAC,EAAE;YACzB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAA4C,EAAE,sBAAsB,CAAC;YAC1F,YAAY,EAAE,SAAS;YACvB,EAAE,EAAE,KAAK;SACT,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAA0B,EAAE,IAAS;QACrD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAA8B,CAAC;QAElF,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAMjE,SAAS,uCAAuC,CAAC,SAAiB;YACjE,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAA2D,EAAE,0DAA0D,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YACzK,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAkD,EAAE,oCAAoC,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACzJ,CAAC;QAED,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YAC5D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAkD,EAAE,wEAAwE,EAAE,MAAM,CAAC;oBACzJ,GAAG,EAAE,KAAK,IAAI,EAAE;wBACf,iCAAiC,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnE,CAAC;iBACD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,CAAC,IAAI,CACX;YACC,KAAK,EAAE,uCAAuC,CAAC,SAAS,CAAC;YACzD,GAAG,EAAE,GAAG,EAAE,CAAC,+BAA+B,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC;SAC7E,CACD,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,kCAAkC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,SAAS,QAAQ,CAAC,OAAgB;YACjC,OAAO,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/F,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,8CAA8C,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,mDAA2C,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,IAAI,8CAA8C,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,uDAA+C,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,kDAAkD,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CACzC,OAAO,EACP,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAC9C,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;;AAGF,KAAK,UAAU,+BAA+B,CAAC,oBAA2C,EAAE,SAAmB;IAC9G,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAElG,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1D,mDAAmD;QACnD,KAAK,GAAG,aAAoB,CAAC;IAC9B,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,mCAA2B,CAAC;AACvH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,oBAA2C,EAAE,OAAiB;IAC9G,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IAE1G,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC,OAAO,aAAa,KAAK,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;QAC1D,iDAAiD;QACjD,mDAAmD;QACnD,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAoB,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,cAAc,EAAE,KAAK,mCAA2B,CAAC;AACpH,CAAC;AAED,SAAS,WAAW,CAAC,KAAY;IAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,eAAe,CAAC,8CAA8C,CAAC,CAAC;AAChE,eAAe,CAAC,8CAA8C,CAAC,CAAC;AAChE,eAAe,CAAC,kDAAkD,CAAC,CAAC;AACpE,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACpC,0BAA0B,CAAC,kBAAkB,CAAC,EAAE,EAAE,kBAAkB,2DAAmD,CAAC;AACxH,wBAAwB,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC","file":"unicodeHighlighter.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { RunOnceScheduler } from '../../../../base/common/async.js';\nimport { CharCode } from '../../../../base/common/charCode.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { createCommandUri, MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport * as platform from '../../../../base/common/platform.js';\nimport { InvisibleCharacters, isBasicASCII } from '../../../../base/common/strings.js';\nimport './unicodeHighlighter.css';\nimport { IActiveCodeEditor, ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { InUntrustedWorkspace, inUntrustedWorkspace, EditorOption, InternalUnicodeHighlightOptions, unicodeHighlightConfigKeys } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { IModelDecoration, IModelDeltaDecoration, ITextModel, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { UnicodeHighlighterOptions, UnicodeHighlighterReason, UnicodeHighlighterReasonKind, UnicodeTextModelHighlighter } from '../../../common/services/unicodeTextModelHighlighter.js';\nimport { IEditorWorkerService, IUnicodeHighlightsResult } from '../../../common/services/editorWorker.js';\nimport { ILanguageService } from '../../../common/languages/language.js';\nimport { HoverAnchor, HoverAnchorType, HoverParticipantRegistry, IEditorHoverParticipant, IEditorHoverRenderContext, IRenderedHoverParts } from '../../hover/browser/hoverTypes.js';\nimport { MarkdownHover, renderMarkdownHovers } from '../../hover/browser/markdownHoverParticipant.js';\nimport { BannerController } from './bannerController.js';\nimport * as nls from '../../../../nls.js';\nimport { ConfigurationTarget, IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\nimport { IQuickInputService, IQuickPickItem } from '../../../../platform/quickinput/common/quickInput.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { IWorkspaceTrustManagementService } from '../../../../platform/workspace/common/workspaceTrust.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { safeIntl } from '../../../../base/common/date.js';\nimport { isModelDecorationInComment, isModelDecorationInString, isModelDecorationVisible } from '../../../common/viewModel/viewModelDecoration.js';\n\nexport const warningIcon = registerIcon('extensions-warning-message', Codicon.warning, nls.localize('warningIcon', 'Icon shown with a warning message in the extensions editor.'));\n\nexport class UnicodeHighlighter extends Disposable implements IEditorContribution {\n\tpublic static readonly ID = 'editor.contrib.unicodeHighlighter';\n\n\tprivate _highlighter: DocumentUnicodeHighlighter | ViewportUnicodeHighlighter | null = null;\n\tprivate _options: InternalUnicodeHighlightOptions;\n\n\tprivate readonly _bannerController: BannerController;\n\tprivate _bannerClosed: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IEditorWorkerService private readonly _editorWorkerService: IEditorWorkerService,\n\t\t@IWorkspaceTrustManagementService private readonly _workspaceTrustService: IWorkspaceTrustManagementService,\n\t\t@IInstantiationService instantiationService: IInstantiationService,\n\t) {\n\t\tsuper();\n\n\t\tthis._bannerController = this._register(instantiationService.createInstance(BannerController, _editor));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._bannerClosed = false;\n\t\t\tthis._updateHighlighter();\n\t\t}));\n\n\t\tthis._options = _editor.getOption(EditorOption.unicodeHighlighting);\n\n\t\tthis._register(_workspaceTrustService.onDidChangeTrust(e => {\n\t\t\tthis._updateHighlighter();\n\t\t}));\n\n\t\tthis._register(_editor.onDidChangeConfiguration(e => {\n\t\t\tif (e.hasChanged(EditorOption.unicodeHighlighting)) {\n\t\t\t\tthis._options = _editor.getOption(EditorOption.unicodeHighlighting);\n\t\t\t\tthis._updateHighlighter();\n\t\t\t}\n\t\t}));\n\n\t\tthis._updateHighlighter();\n\t}\n\n\tpublic override dispose(): void {\n\t\tif (this._highlighter) {\n\t\t\tthis._highlighter.dispose();\n\t\t\tthis._highlighter = null;\n\t\t}\n\t\tsuper.dispose();\n\t}\n\n\tprivate readonly _updateState = (state: IUnicodeHighlightsResult | null): void => {\n\t\tif (state && state.hasMore) {\n\t\t\tif (this._bannerClosed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// This document contains many non-basic ASCII characters.\n\t\t\tconst max = Math.max(state.ambiguousCharacterCount, state.nonBasicAsciiCharacterCount, state.invisibleCharacterCount);\n\n\t\t\tlet data;\n\t\t\tif (state.nonBasicAsciiCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters', 'This document contains many non-basic ASCII unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfNonBasicAsciiCharactersAction(),\n\t\t\t\t};\n\t\t\t} else if (state.ambiguousCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters', 'This document contains many ambiguous unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfAmbiguousCharactersAction(),\n\t\t\t\t};\n\t\t\t} else if (state.invisibleCharacterCount >= max) {\n\t\t\t\tdata = {\n\t\t\t\t\tmessage: nls.localize('unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters', 'This document contains many invisible unicode characters'),\n\t\t\t\t\tcommand: new DisableHighlightingOfInvisibleCharactersAction(),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthrow new Error('Unreachable');\n\t\t\t}\n\n\t\t\tthis._bannerController.show({\n\t\t\t\tid: 'unicodeHighlightBanner',\n\t\t\t\tmessage: data.message,\n\t\t\t\ticon: warningIcon,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: data.command.shortLabel,\n\t\t\t\t\t\thref: `command:${data.command.desc.id}`\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tonClose: () => {\n\t\t\t\t\tthis._bannerClosed = true;\n\t\t\t\t},\n\t\t\t});\n\t\t} else {\n\t\t\tthis._bannerController.hide();\n\t\t}\n\t};\n\n\tprivate _updateHighlighter(): void {\n\t\tthis._updateState(null);\n\n\t\tif (this._highlighter) {\n\t\t\tthis._highlighter.dispose();\n\t\t\tthis._highlighter = null;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = resolveOptions(this._workspaceTrustService.isWorkspaceTrusted(), this._options);\n\n\t\tif (\n\t\t\t[\n\t\t\t\toptions.nonBasicASCII,\n\t\t\t\toptions.ambiguousCharacters,\n\t\t\t\toptions.invisibleCharacters,\n\t\t\t].every((option) => option === false)\n\t\t) {\n\t\t\t// Don't do anything if the feature is fully disabled\n\t\t\treturn;\n\t\t}\n\n\t\tconst highlightOptions: UnicodeHighlighterOptions = {\n\t\t\tnonBasicASCII: options.nonBasicASCII,\n\t\t\tambiguousCharacters: options.ambiguousCharacters,\n\t\t\tinvisibleCharacters: options.invisibleCharacters,\n\t\t\tincludeComments: options.includeComments,\n\t\t\tincludeStrings: options.includeStrings,\n\t\t\tallowedCodePoints: Object.keys(options.allowedCharacters).map(c => c.codePointAt(0)!),\n\t\t\tallowedLocales: Object.keys(options.allowedLocales).map(locale => {\n\t\t\t\tif (locale === '_os') {\n\t\t\t\t\tconst osLocale = safeIntl.NumberFormat().value.resolvedOptions().locale;\n\t\t\t\t\treturn osLocale;\n\t\t\t\t} else if (locale === '_vscode') {\n\t\t\t\t\treturn platform.language;\n\t\t\t\t}\n\t\t\t\treturn locale;\n\t\t\t}),\n\t\t};\n\n\t\tif (this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)) {\n\t\t\tthis._highlighter = new DocumentUnicodeHighlighter(this._editor, highlightOptions, this._updateState, this._editorWorkerService);\n\t\t} else {\n\t\t\tthis._highlighter = new ViewportUnicodeHighlighter(this._editor, highlightOptions, this._updateState);\n\t\t}\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (this._highlighter) {\n\t\t\treturn this._highlighter.getDecorationInfo(decoration);\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport interface UnicodeHighlighterDecorationInfo {\n\treason: UnicodeHighlighterReason;\n\tinComment: boolean;\n\tinString: boolean;\n}\n\ntype Resolve<T> =\n\tT extends InUntrustedWorkspace ? never\n\t: T extends 'auto' ? never : T;\n\ntype ResolvedOptions = { [TKey in keyof InternalUnicodeHighlightOptions]: Resolve<InternalUnicodeHighlightOptions[TKey]> };\n\nfunction resolveOptions(trusted: boolean, options: InternalUnicodeHighlightOptions): ResolvedOptions {\n\treturn {\n\t\tnonBasicASCII: options.nonBasicASCII === inUntrustedWorkspace ? !trusted : options.nonBasicASCII,\n\t\tambiguousCharacters: options.ambiguousCharacters,\n\t\tinvisibleCharacters: options.invisibleCharacters,\n\t\tincludeComments: options.includeComments === inUntrustedWorkspace ? !trusted : options.includeComments,\n\t\tincludeStrings: options.includeStrings === inUntrustedWorkspace ? !trusted : options.includeStrings,\n\t\tallowedCharacters: options.allowedCharacters,\n\t\tallowedLocales: options.allowedLocales,\n\t};\n}\n\nclass DocumentUnicodeHighlighter extends Disposable {\n\tprivate readonly _model: ITextModel;\n\tprivate readonly _updateSoon: RunOnceScheduler;\n\tprivate _decorations;\n\n\tconstructor(\n\t\tprivate readonly _editor: IActiveCodeEditor,\n\t\tprivate readonly _options: UnicodeHighlighterOptions,\n\t\tprivate readonly _updateState: (state: IUnicodeHighlightsResult | null) => void,\n\t\t@IEditorWorkerService private readonly _editorWorkerService: IEditorWorkerService,\n\t) {\n\t\tsuper();\n\t\tthis._model = this._editor.getModel();\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\t\tthis._updateSoon = this._register(new RunOnceScheduler(() => this._update(), 250));\n\n\t\tthis._register(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\n\t\tthis._updateSoon.schedule();\n\t}\n\n\tpublic override dispose() {\n\t\tthis._decorations.clear();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _update(): void {\n\t\tif (this._model.isDisposed()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._model.mightContainNonBasicASCII()) {\n\t\t\tthis._decorations.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst modelVersionId = this._model.getVersionId();\n\t\tthis._editorWorkerService\n\t\t\t.computedUnicodeHighlights(this._model.uri, this._options)\n\t\t\t.then((info) => {\n\t\t\t\tif (this._model.isDisposed()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this._model.getVersionId() !== modelVersionId) {\n\t\t\t\t\t// model changed in the meantime\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._updateState(info);\n\n\t\t\t\tconst decorations: IModelDeltaDecoration[] = [];\n\t\t\t\tif (!info.hasMore) {\n\t\t\t\t\t// Don't show decoration if there are too many.\n\t\t\t\t\t// In this case, a banner is shown.\n\t\t\t\t\tfor (const range of info.ranges) {\n\t\t\t\t\t\tdecorations.push({\n\t\t\t\t\t\t\trange: range,\n\t\t\t\t\t\t\toptions: Decorations.instance.getDecorationFromOptions(this._options),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._decorations.set(decorations);\n\t\t\t});\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (!this._decorations.has(decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (\n\t\t\t!isModelDecorationVisible(model, decoration)\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\t\tconst text = model.getValueInRange(decoration.range);\n\t\treturn {\n\t\t\treason: computeReason(text, this._options)!,\n\t\t\tinComment: isModelDecorationInComment(model, decoration),\n\t\t\tinString: isModelDecorationInString(model, decoration),\n\t\t};\n\t}\n}\n\nclass ViewportUnicodeHighlighter extends Disposable {\n\n\tprivate readonly _model: ITextModel;\n\tprivate readonly _updateSoon: RunOnceScheduler;\n\tprivate readonly _decorations;\n\n\tconstructor(\n\t\tprivate readonly _editor: IActiveCodeEditor,\n\t\tprivate readonly _options: UnicodeHighlighterOptions,\n\t\tprivate readonly _updateState: (state: IUnicodeHighlightsResult | null) => void,\n\t) {\n\t\tsuper();\n\t\tthis._model = this._editor.getModel();\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\n\t\tthis._updateSoon = this._register(new RunOnceScheduler(() => this._update(), 250));\n\n\t\tthis._register(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidScrollChange(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeHiddenAreas(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\t\tthis._register(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._updateSoon.schedule();\n\t\t}));\n\n\t\tthis._updateSoon.schedule();\n\t}\n\n\tpublic override dispose() {\n\t\tthis._decorations.clear();\n\t\tsuper.dispose();\n\t}\n\n\tprivate _update(): void {\n\t\tif (this._model.isDisposed()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._model.mightContainNonBasicASCII()) {\n\t\t\tthis._decorations.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst ranges = this._editor.getVisibleRanges();\n\t\tconst decorations: IModelDeltaDecoration[] = [];\n\t\tconst totalResult: IUnicodeHighlightsResult = {\n\t\t\tranges: [],\n\t\t\tambiguousCharacterCount: 0,\n\t\t\tinvisibleCharacterCount: 0,\n\t\t\tnonBasicAsciiCharacterCount: 0,\n\t\t\thasMore: false,\n\t\t};\n\t\tfor (const range of ranges) {\n\t\t\tconst result = UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model, this._options, range);\n\t\t\tfor (const r of result.ranges) {\n\t\t\t\ttotalResult.ranges.push(r);\n\t\t\t}\n\t\t\ttotalResult.ambiguousCharacterCount += totalResult.ambiguousCharacterCount;\n\t\t\ttotalResult.invisibleCharacterCount += totalResult.invisibleCharacterCount;\n\t\t\ttotalResult.nonBasicAsciiCharacterCount += totalResult.nonBasicAsciiCharacterCount;\n\t\t\ttotalResult.hasMore = totalResult.hasMore || result.hasMore;\n\t\t}\n\n\t\tif (!totalResult.hasMore) {\n\t\t\t// Don't show decorations if there are too many.\n\t\t\t// A banner will be shown instead.\n\t\t\tfor (const range of totalResult.ranges) {\n\t\t\t\tdecorations.push({ range, options: Decorations.instance.getDecorationFromOptions(this._options) });\n\t\t\t}\n\t\t}\n\t\tthis._updateState(totalResult);\n\n\t\tthis._decorations.set(decorations);\n\t}\n\n\tpublic getDecorationInfo(decoration: IModelDecoration): UnicodeHighlighterDecorationInfo | null {\n\t\tif (!this._decorations.has(decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tconst text = model.getValueInRange(decoration.range);\n\t\tif (!isModelDecorationVisible(model, decoration)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\treason: computeReason(text, this._options)!,\n\t\t\tinComment: isModelDecorationInComment(model, decoration),\n\t\t\tinString: isModelDecorationInString(model, decoration),\n\t\t};\n\t}\n}\n\nconst configureUnicodeHighlightOptionsStr = nls.localize('unicodeHighlight.configureUnicodeHighlightOptions', 'Configure Unicode Highlight Options');\n\nexport class UnicodeHighlighterHoverParticipant implements IEditorHoverParticipant<MarkdownHover> {\n\n\tpublic readonly hoverOrdinal: number = 5;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageService private readonly _languageService: ILanguageService,\n\t\t@IOpenerService private readonly _openerService: IOpenerService,\n\t) {\n\t}\n\n\tcomputeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): MarkdownHover[] {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\n\t\tconst unicodeHighlighter = this._editor.getContribution<UnicodeHighlighter>(UnicodeHighlighter.ID);\n\t\tif (!unicodeHighlighter) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst result: MarkdownHover[] = [];\n\t\tconst existedReason = new Set<string>();\n\t\tlet index = 300;\n\t\tfor (const d of lineDecorations) {\n\n\t\t\tconst highlightInfo = unicodeHighlighter.getDecorationInfo(d);\n\t\t\tif (!highlightInfo) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst char = model.getValueInRange(d.range);\n\t\t\t// text refers to a single character.\n\t\t\tconst codePoint = char.codePointAt(0)!;\n\n\t\t\tconst codePointStr = formatCodePointMarkdown(codePoint);\n\n\t\t\tlet reason: string;\n\t\t\tswitch (highlightInfo.reason.kind) {\n\t\t\t\tcase UnicodeHighlighterReasonKind.Ambiguous: {\n\t\t\t\t\tif (isBasicASCII(highlightInfo.reason.confusableWith)) {\n\t\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t\t'unicodeHighlight.characterIsAmbiguousASCII',\n\t\t\t\t\t\t\t'The character {0} could be confused with the ASCII character {1}, which is more common in source code.',\n\t\t\t\t\t\t\tcodePointStr,\n\t\t\t\t\t\t\tformatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)!)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t\t'unicodeHighlight.characterIsAmbiguous',\n\t\t\t\t\t\t\t'The character {0} could be confused with the character {1}, which is more common in source code.',\n\t\t\t\t\t\t\tcodePointStr,\n\t\t\t\t\t\t\tformatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)!)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase UnicodeHighlighterReasonKind.Invisible:\n\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t'unicodeHighlight.characterIsInvisible',\n\t\t\t\t\t\t'The character {0} is invisible.',\n\t\t\t\t\t\tcodePointStr\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase UnicodeHighlighterReasonKind.NonBasicAscii:\n\t\t\t\t\treason = nls.localize(\n\t\t\t\t\t\t'unicodeHighlight.characterIsNonBasicAscii',\n\t\t\t\t\t\t'The character {0} is not a basic ASCII character.',\n\t\t\t\t\t\tcodePointStr\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (existedReason.has(reason)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\texistedReason.add(reason);\n\n\t\t\tconst adjustSettingsArgs: ShowExcludeOptionsArgs = {\n\t\t\t\tcodePoint: codePoint,\n\t\t\t\treason: highlightInfo.reason,\n\t\t\t\tinComment: highlightInfo.inComment,\n\t\t\t\tinString: highlightInfo.inString,\n\t\t\t};\n\n\t\t\tconst adjustSettings = nls.localize('unicodeHighlight.adjustSettings', 'Adjust settings');\n\t\t\tconst uri = createCommandUri(ShowExcludeOptions.ID, adjustSettingsArgs);\n\t\t\tconst markdown = new MarkdownString('', true)\n\t\t\t\t.appendMarkdown(reason)\n\t\t\t\t.appendText(' ')\n\t\t\t\t.appendLink(uri, adjustSettings, configureUnicodeHighlightOptionsStr);\n\t\t\tresult.push(new MarkdownHover(this, d.range, [markdown], false, index++));\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic renderHoverParts(context: IEditorHoverRenderContext, hoverParts: MarkdownHover[]): IRenderedHoverParts<MarkdownHover> {\n\t\treturn renderMarkdownHovers(context, hoverParts, this._editor, this._languageService, this._openerService);\n\t}\n}\n\nfunction codePointToHex(codePoint: number): string {\n\treturn `U+${codePoint.toString(16).padStart(4, '0')}`;\n}\n\nfunction formatCodePointMarkdown(codePoint: number) {\n\tlet value = `\\`${codePointToHex(codePoint)}\\``;\n\tif (!InvisibleCharacters.isInvisibleCharacter(codePoint)) {\n\t\t// Don't render any control characters or any invisible characters, as they cannot be seen anyways.\n\t\tvalue += ` \"${`${renderCodePointAsInlineCode(codePoint)}`}\"`;\n\t}\n\treturn value;\n}\n\nfunction renderCodePointAsInlineCode(codePoint: number): string {\n\tif (codePoint === CharCode.BackTick) {\n\t\treturn '`` ` ``';\n\t}\n\treturn '`' + String.fromCodePoint(codePoint) + '`';\n}\n\nfunction computeReason(char: string, options: UnicodeHighlighterOptions): UnicodeHighlighterReason | null {\n\treturn UnicodeTextModelHighlighter.computeUnicodeHighlightReason(char, options);\n}\n\nclass Decorations {\n\tpublic static readonly instance = new Decorations();\n\n\tprivate readonly map = new Map<string, ModelDecorationOptions>();\n\n\tgetDecorationFromOptions(options: UnicodeHighlighterOptions): ModelDecorationOptions {\n\t\treturn this.getDecoration(!options.includeComments, !options.includeStrings);\n\t}\n\n\tprivate getDecoration(hideInComments: boolean, hideInStrings: boolean): ModelDecorationOptions {\n\t\tconst key = `${hideInComments}${hideInStrings}`;\n\t\tlet options = this.map.get(key);\n\t\tif (!options) {\n\t\t\toptions = ModelDecorationOptions.createDynamic({\n\t\t\t\tdescription: 'unicode-highlight',\n\t\t\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\t\t\tclassName: 'unicode-highlight',\n\t\t\t\tshowIfCollapsed: true,\n\t\t\t\toverviewRuler: null,\n\t\t\t\tminimap: null,\n\t\t\t\thideInCommentTokens: hideInComments,\n\t\t\t\thideInStringTokens: hideInStrings,\n\t\t\t});\n\t\t\tthis.map.set(key, options);\n\t\t}\n\t\treturn options;\n\t}\n}\n\ninterface IDisableUnicodeHighlightAction {\n}\n\nexport class DisableHighlightingInCommentsAction extends EditorAction implements IDisableUnicodeHighlightAction {\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingInComments.shortLabel', 'Disable Highlight In Comments');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\tlabel: nls.localize2('action.unicodeHighlight.disableHighlightingInComments', \"Disable highlighting of characters in comments\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.includeComments, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingInStringsAction extends EditorAction implements IDisableUnicodeHighlightAction {\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingInStrings.shortLabel', 'Disable Highlight In Strings');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\tlabel: nls.localize2('action.unicodeHighlight.disableHighlightingInStrings', \"Disable highlighting of characters in strings\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.includeStrings, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfAmbiguousCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel', 'Disable Ambiguous Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfAmbiguousCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters', \"Disable highlighting of ambiguous characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.ambiguousCharacters, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfInvisibleCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel', 'Disable Invisible Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfInvisibleCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfInvisibleCharacters', \"Disable highlighting of invisible characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.invisibleCharacters, false, ConfigurationTarget.USER);\n\t}\n}\n\nexport class DisableHighlightingOfNonBasicAsciiCharactersAction extends Action2 implements IDisableUnicodeHighlightAction {\n\tpublic static ID = 'editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters';\n\tpublic readonly shortLabel = nls.localize('unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel', 'Disable Non ASCII Highlight');\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: DisableHighlightingOfNonBasicAsciiCharactersAction.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters', \"Disable highlighting of non basic ASCII characters\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> {\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\t\tif (configurationService) {\n\t\t\tthis.runAction(configurationService);\n\t\t}\n\t}\n\n\tpublic async runAction(configurationService: IConfigurationService): Promise<void> {\n\t\tawait configurationService.updateValue(unicodeHighlightConfigKeys.nonBasicASCII, false, ConfigurationTarget.USER);\n\t}\n}\n\ninterface ShowExcludeOptionsArgs {\n\tcodePoint: number;\n\treason: UnicodeHighlighterReason;\n\tinComment: boolean;\n\tinString: boolean;\n}\n\nexport class ShowExcludeOptions extends Action2 {\n\tpublic static ID = 'editor.action.unicodeHighlight.showExcludeOptions';\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: ShowExcludeOptions.ID,\n\t\t\ttitle: nls.localize2('action.unicodeHighlight.showExcludeOptions', \"Show Exclude Options\"),\n\t\t\tprecondition: undefined,\n\t\t\tf1: false,\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, args: any): Promise<void> {\n\t\tconst { codePoint, reason, inString, inComment } = args as ShowExcludeOptionsArgs;\n\n\t\tconst char = String.fromCodePoint(codePoint);\n\n\t\tconst quickPickService = accessor.get(IQuickInputService);\n\t\tconst configurationService = accessor.get(IConfigurationService);\n\n\t\tinterface ExtendedOptions extends IQuickPickItem {\n\t\t\trun(): Promise<void>;\n\t\t}\n\n\t\tfunction getExcludeCharFromBeingHighlightedLabel(codePoint: number) {\n\t\t\tif (InvisibleCharacters.isInvisibleCharacter(codePoint)) {\n\t\t\t\treturn nls.localize('unicodeHighlight.excludeInvisibleCharFromBeingHighlighted', 'Exclude {0} (invisible character) from being highlighted', codePointToHex(codePoint));\n\t\t\t}\n\t\t\treturn nls.localize('unicodeHighlight.excludeCharFromBeingHighlighted', 'Exclude {0} from being highlighted', `${codePointToHex(codePoint)} \"${char}\"`);\n\t\t}\n\n\t\tconst options: ExtendedOptions[] = [];\n\n\t\tif (reason.kind === UnicodeHighlighterReasonKind.Ambiguous) {\n\t\t\tfor (const locale of reason.notAmbiguousInLocales) {\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: nls.localize(\"unicodeHighlight.allowCommonCharactersInLanguage\", \"Allow unicode characters that are more common in the language \\\"{0}\\\".\", locale),\n\t\t\t\t\trun: async () => {\n\t\t\t\t\t\texcludeLocaleFromBeingHighlighted(configurationService, [locale]);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\toptions.push(\n\t\t\t{\n\t\t\t\tlabel: getExcludeCharFromBeingHighlightedLabel(codePoint),\n\t\t\t\trun: () => excludeCharFromBeingHighlighted(configurationService, [codePoint])\n\t\t\t}\n\t\t);\n\n\t\tif (inComment) {\n\t\t\tconst action = new DisableHighlightingInCommentsAction();\n\t\t\toptions.push({ label: action.label, run: async () => action.runAction(configurationService) });\n\t\t} else if (inString) {\n\t\t\tconst action = new DisableHighlightingInStringsAction();\n\t\t\toptions.push({ label: action.label, run: async () => action.runAction(configurationService) });\n\t\t}\n\n\t\tfunction getTitle(options: Action2) {\n\t\t\treturn typeof options.desc.title === 'string' ? options.desc.title : options.desc.title.value;\n\t\t}\n\n\t\tif (reason.kind === UnicodeHighlighterReasonKind.Ambiguous) {\n\t\t\tconst action = new DisableHighlightingOfAmbiguousCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else if (reason.kind === UnicodeHighlighterReasonKind.Invisible) {\n\t\t\tconst action = new DisableHighlightingOfInvisibleCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else if (reason.kind === UnicodeHighlighterReasonKind.NonBasicAscii) {\n\t\t\tconst action = new DisableHighlightingOfNonBasicAsciiCharactersAction();\n\t\t\toptions.push({ label: getTitle(action), run: async () => action.runAction(configurationService) });\n\t\t} else {\n\t\t\texpectNever(reason);\n\t\t}\n\n\t\tconst result = await quickPickService.pick(\n\t\t\toptions,\n\t\t\t{ title: configureUnicodeHighlightOptionsStr }\n\t\t);\n\n\t\tif (result) {\n\t\t\tawait result.run();\n\t\t}\n\t}\n}\n\nasync function excludeCharFromBeingHighlighted(configurationService: IConfigurationService, charCodes: number[]) {\n\tconst existingValue = configurationService.getValue(unicodeHighlightConfigKeys.allowedCharacters);\n\n\tlet value: Record<string, boolean>;\n\tif ((typeof existingValue === 'object') && existingValue) {\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tvalue = existingValue as any;\n\t} else {\n\t\tvalue = {};\n\t}\n\n\tfor (const charCode of charCodes) {\n\t\tvalue[String.fromCodePoint(charCode)] = true;\n\t}\n\n\tawait configurationService.updateValue(unicodeHighlightConfigKeys.allowedCharacters, value, ConfigurationTarget.USER);\n}\n\nasync function excludeLocaleFromBeingHighlighted(configurationService: IConfigurationService, locales: string[]) {\n\tconst existingValue = configurationService.inspect(unicodeHighlightConfigKeys.allowedLocales).user?.value;\n\n\tlet value: Record<string, boolean>;\n\tif ((typeof existingValue === 'object') && existingValue) {\n\t\t// Copy value, as the existing value is read only\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tvalue = Object.assign({}, existingValue as any);\n\t} else {\n\t\tvalue = {};\n\t}\n\n\tfor (const locale of locales) {\n\t\tvalue[locale] = true;\n\t}\n\n\tawait configurationService.updateValue(unicodeHighlightConfigKeys.allowedLocales, value, ConfigurationTarget.USER);\n}\n\nfunction expectNever(value: never) {\n\tthrow new Error(`Unexpected value: ${value}`);\n}\n\nregisterAction2(DisableHighlightingOfAmbiguousCharactersAction);\nregisterAction2(DisableHighlightingOfInvisibleCharactersAction);\nregisterAction2(DisableHighlightingOfNonBasicAsciiCharactersAction);\nregisterAction2(ShowExcludeOptions);\nregisterEditorContribution(UnicodeHighlighter.ID, UnicodeHighlighter, EditorContributionInstantiation.AfterFirstRender);\nHoverParticipantRegistry.register(UnicodeHighlighterHoverParticipant);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.ts"],"names":[],"mappings":"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","file":"unusualLineTerminators.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { basename } from '../../../../base/common/resources.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfirmationResult, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';\n\nconst ignoreUnusualLineTerminators = 'ignoreUnusualLineTerminators';\n\nfunction writeIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel, state: boolean): void {\n\tcodeEditorService.setModelProperty(model.uri, ignoreUnusualLineTerminators, state);\n}\n\nfunction readIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel): boolean | undefined {\n\treturn codeEditorService.getModelProperty(model.uri, ignoreUnusualLineTerminators);\n}\n\nexport class UnusualLineTerminatorsDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.unusualLineTerminatorsDetector';\n\n\tprivate _config: 'auto' | 'off' | 'prompt';\n\tprivate _isPresentingDialog: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IDialogService private readonly _dialogService: IDialogService,\n\t\t@ICodeEditorService private readonly _codeEditorService: ICodeEditorService\n\t) {\n\t\tsuper();\n\n\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\tthis._register(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.unusualLineTerminators)) {\n\t\t\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\t\t\tthis._checkForUnusualLineTerminators();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tif (e.isUndoing) {\n\t\t\t\t// skip checking in case of undoing\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._checkForUnusualLineTerminators();\n\t}\n\n\tprivate async _checkForUnusualLineTerminators(): Promise<void> {\n\t\tif (this._config === 'off') {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (!model.mightContainUnusualLineTerminators()) {\n\t\t\treturn;\n\t\t}\n\t\tconst ignoreState = readIgnoreState(this._codeEditorService, model);\n\t\tif (ignoreState === true) {\n\t\t\t// this model should be ignored\n\t\t\treturn;\n\t\t}\n\t\tif (this._editor.getOption(EditorOption.readOnly)) {\n\t\t\t// read only editor => sorry!\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._config === 'auto') {\n\t\t\t// just do it!\n\t\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPresentingDialog) {\n\t\t\t// we're currently showing the dialog, which is async.\n\t\t\t// avoid spamming the user\n\t\t\treturn;\n\t\t}\n\n\t\tlet result: IConfirmationResult;\n\t\ttry {\n\t\t\tthis._isPresentingDialog = true;\n\t\t\tresult = await this._dialogService.confirm({\n\t\t\t\ttitle: nls.localize('unusualLineTerminators.title', \"Unusual Line Terminators\"),\n\t\t\t\tmessage: nls.localize('unusualLineTerminators.message', \"Detected unusual line terminators\"),\n\t\t\t\tdetail: nls.localize('unusualLineTerminators.detail', \"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\\n\\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.\", basename(model.uri)),\n\t\t\t\tprimaryButton: nls.localize({ key: 'unusualLineTerminators.fix', comment: ['&& denotes a mnemonic'] }, \"&&Remove Unusual Line Terminators\"),\n\t\t\t\tcancelButton: nls.localize('unusualLineTerminators.ignore', \"Ignore\")\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._isPresentingDialog = false;\n\t\t}\n\n\t\tif (!result.confirmed) {\n\t\t\t// this model should be ignored\n\t\t\twriteIgnoreState(this._codeEditorService, model, true);\n\t\t\treturn;\n\t\t}\n\n\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t}\n}\n\nregisterEditorContribution(UnusualLineTerminatorsDetector.ID, UnusualLineTerminatorsDetector, EditorContributionInstantiation.AfterFirstRender);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.ts"],"names":[],"mappings":"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","file":"unusualLineTerminators.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { basename } from '../../../../base/common/resources.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfirmationResult, IDialogService } from '../../../../platform/dialogs/common/dialogs.js';\n\nconst ignoreUnusualLineTerminators = 'ignoreUnusualLineTerminators';\n\nfunction writeIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel, state: boolean): void {\n\tcodeEditorService.setModelProperty(model.uri, ignoreUnusualLineTerminators, state);\n}\n\nfunction readIgnoreState(codeEditorService: ICodeEditorService, model: ITextModel): boolean | undefined {\n\treturn codeEditorService.getModelProperty(model.uri, ignoreUnusualLineTerminators) as boolean | undefined;\n}\n\nexport class UnusualLineTerminatorsDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.unusualLineTerminatorsDetector';\n\n\tprivate _config: 'auto' | 'off' | 'prompt';\n\tprivate _isPresentingDialog: boolean = false;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@IDialogService private readonly _dialogService: IDialogService,\n\t\t@ICodeEditorService private readonly _codeEditorService: ICodeEditorService\n\t) {\n\t\tsuper();\n\n\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\tthis._register(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.unusualLineTerminators)) {\n\t\t\t\tthis._config = this._editor.getOption(EditorOption.unusualLineTerminators);\n\t\t\t\tthis._checkForUnusualLineTerminators();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._register(this._editor.onDidChangeModelContent((e) => {\n\t\t\tif (e.isUndoing) {\n\t\t\t\t// skip checking in case of undoing\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._checkForUnusualLineTerminators();\n\t\t}));\n\n\t\tthis._checkForUnusualLineTerminators();\n\t}\n\n\tprivate async _checkForUnusualLineTerminators(): Promise<void> {\n\t\tif (this._config === 'off') {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\t\tconst model = this._editor.getModel();\n\t\tif (!model.mightContainUnusualLineTerminators()) {\n\t\t\treturn;\n\t\t}\n\t\tconst ignoreState = readIgnoreState(this._codeEditorService, model);\n\t\tif (ignoreState === true) {\n\t\t\t// this model should be ignored\n\t\t\treturn;\n\t\t}\n\t\tif (this._editor.getOption(EditorOption.readOnly)) {\n\t\t\t// read only editor => sorry!\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._config === 'auto') {\n\t\t\t// just do it!\n\t\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPresentingDialog) {\n\t\t\t// we're currently showing the dialog, which is async.\n\t\t\t// avoid spamming the user\n\t\t\treturn;\n\t\t}\n\n\t\tlet result: IConfirmationResult;\n\t\ttry {\n\t\t\tthis._isPresentingDialog = true;\n\t\t\tresult = await this._dialogService.confirm({\n\t\t\t\ttitle: nls.localize('unusualLineTerminators.title', \"Unusual Line Terminators\"),\n\t\t\t\tmessage: nls.localize('unusualLineTerminators.message', \"Detected unusual line terminators\"),\n\t\t\t\tdetail: nls.localize('unusualLineTerminators.detail', \"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\\n\\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.\", basename(model.uri)),\n\t\t\t\tprimaryButton: nls.localize({ key: 'unusualLineTerminators.fix', comment: ['&& denotes a mnemonic'] }, \"&&Remove Unusual Line Terminators\"),\n\t\t\t\tcancelButton: nls.localize('unusualLineTerminators.ignore', \"Ignore\")\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._isPresentingDialog = false;\n\t\t}\n\n\t\tif (!result.confirmed) {\n\t\t\t// this model should be ignored\n\t\t\twriteIgnoreState(this._codeEditorService, model, true);\n\t\t\treturn;\n\t\t}\n\n\t\tmodel.removeUnusualLineTerminators(this._editor.getSelections());\n\t}\n}\n\nregisterEditorContribution(UnusualLineTerminatorsDetector.ID, UnusualLineTerminatorsDetector, EditorContributionInstantiation.AfterFirstRender);\n"]}
@@ -622,7 +622,7 @@ export class Position {
622
622
  /**
623
623
  * Test if `obj` is an `IPosition`.
624
624
  */
625
- static isIPosition(obj: any): obj is IPosition;
625
+ static isIPosition(obj: unknown): obj is IPosition;
626
626
  toJSON(): IPosition;
627
627
  }
628
628
 
@@ -786,7 +786,7 @@ export class Range {
786
786
  /**
787
787
  * Test if `obj` is an `IRange`.
788
788
  */
789
- static isIRange(obj: any): obj is IRange;
789
+ static isIRange(obj: unknown): obj is IRange;
790
790
  /**
791
791
  * Test if the two ranges are touching in any way.
792
792
  */
@@ -912,7 +912,7 @@ export class Selection extends Range {
912
912
  /**
913
913
  * Test if `obj` is an `ISelection`.
914
914
  */
915
- static isISelection(obj: any): obj is ISelection;
915
+ static isISelection(obj: unknown): obj is ISelection;
916
916
  /**
917
917
  * Create with a direction.
918
918
  */
@@ -2638,7 +2638,7 @@ export namespace editor {
2638
2638
  cursorState: ICursorState[];
2639
2639
  viewState: IViewState;
2640
2640
  contributionsState: {
2641
- [id: string]: any;
2641
+ [id: string]: unknown;
2642
2642
  };
2643
2643
  }
2644
2644
 
@@ -2853,7 +2853,7 @@ export namespace editor {
2853
2853
  * @param handlerId The id of the handler or the id of a contribution.
2854
2854
  * @param payload Extra data to be sent to the handler.
2855
2855
  */
2856
- trigger(source: string | null | undefined, handlerId: string, payload: any): void;
2856
+ trigger(source: string | null | undefined, handlerId: string, payload: unknown): void;
2857
2857
  /**
2858
2858
  * Gets the current model attached to this editor.
2859
2859
  */
@@ -2925,11 +2925,11 @@ export namespace editor {
2925
2925
  /**
2926
2926
  * Store view state.
2927
2927
  */
2928
- saveViewState?(): any;
2928
+ saveViewState?(): unknown;
2929
2929
  /**
2930
2930
  * Restore view state.
2931
2931
  */
2932
- restoreViewState?(state: any): void;
2932
+ restoreViewState?(state: unknown): void;
2933
2933
  }
2934
2934
 
2935
2935
  /**
@@ -8395,7 +8395,7 @@ export namespace languages {
8395
8395
  id: string;
8396
8396
  title: string;
8397
8397
  tooltip?: string;
8398
- arguments?: any[];
8398
+ arguments?: unknown[];
8399
8399
  }
8400
8400
 
8401
8401
  export interface CommentThreadRevealOptions {
@@ -32,11 +32,15 @@ export const Uri = api.Uri;
32
32
  export const Token = api.Token;
33
33
  export const editor = api.editor;
34
34
  export const languages = api.languages;
35
+ // eslint-disable-next-line local/code-no-any-casts
35
36
  const monacoEnvironment = globalThis.MonacoEnvironment;
37
+ // eslint-disable-next-line local/code-no-any-casts
36
38
  if (monacoEnvironment?.globalAPI || (typeof globalThis.define === 'function' && (globalThis.define).amd)) {
37
39
  globalThis.monaco = api;
38
40
  }
41
+ // eslint-disable-next-line local/code-no-any-casts
39
42
  if (typeof globalThis.require !== 'undefined' && typeof globalThis.require.config === 'function') {
43
+ // eslint-disable-next-line local/code-no-any-casts
40
44
  globalThis.require.config({
41
45
  ignoreDuplicateModules: [
42
46
  'vscode-languageserver-types',
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/editor.api.ts","vs/editor/editor.api.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAA4C,MAAM,kCAAkC,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,qCAAqC;AACrC,aAAa,CAAC,cAAc,CAAC,YAAY,8BAAsB,CAAC;AAChE,aAAa,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;AAC/C,aAAa,CAAC,UAAU,CAAC,YAAY,4CAAoC,CAAC;AAC1E,aAAa,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;AAElD,6FAA6F;AAC7F,6DAA6D;AAC7D,mBAAmB,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvG,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;AAClC,GAAG,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;AACrC,GAAG,CAAC,SAAS,GAAG,wBAAwB,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC,uBAAuB,CAAC;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AAMvC,MAAM,iBAAiB,GAAoC,UAAkB,CAAC,iBAAiB,CAAC;AAChG,IAAI,iBAAiB,EAAE,SAAS,IAAI,CAAC,OAAQ,UAAkB,CAAC,MAAM,KAAK,UAAU,IAAI,CAAE,UAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5H,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC;AACzB,CAAC;AAED,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,IAAI,OAAQ,UAAkB,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;IACnH,UAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;QAClC,sBAAsB,EAAE;YACvB,6BAA6B;YAC7B,kCAAkC;YAClC,oCAAoC;YACpC,yCAAyC;YACzC,YAAY;YACZ,uBAAuB;YACvB,cAAc;YACd,mBAAmB;YACnB,YAAY;YACZ,kBAAkB;YAClB,0CAA0C;SAC1C;KACD,CAAC,CAAC;AACJ,CAAC","file":"editor.api.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { EditorOptions, WrappingIndent, EditorAutoIndentStrategy } from './common/config/editorOptions.js';\nimport { createMonacoBaseAPI } from './common/services/editorBaseApi.js';\nimport { createMonacoEditorAPI } from './standalone/browser/standaloneEditor.js';\nimport { createMonacoLanguagesAPI } from './standalone/browser/standaloneLanguages.js';\nimport { FormattingConflicts } from './contrib/format/browser/format.js';\n\n// Set defaults for standalone editor\nEditorOptions.wrappingIndent.defaultValue = WrappingIndent.None;\nEditorOptions.glyphMargin.defaultValue = false;\nEditorOptions.autoIndent.defaultValue = EditorAutoIndentStrategy.Advanced;\nEditorOptions.overviewRulerLanes.defaultValue = 2;\n\n// We need to register a formatter selector which simply picks the first available formatter.\n// See https://github.com/microsoft/monaco-editor/issues/2327\nFormattingConflicts.setFormatterSelector((formatter, document, mode) => Promise.resolve(formatter[0]));\n\nconst api = createMonacoBaseAPI();\napi.editor = createMonacoEditorAPI();\napi.languages = createMonacoLanguagesAPI();\nexport const CancellationTokenSource = api.CancellationTokenSource;\nexport const Emitter = api.Emitter;\nexport const KeyCode = api.KeyCode;\nexport const KeyMod = api.KeyMod;\nexport const Position = api.Position;\nexport const Range = api.Range;\nexport const Selection = api.Selection;\nexport const SelectionDirection = api.SelectionDirection;\nexport const MarkerSeverity = api.MarkerSeverity;\nexport const MarkerTag = api.MarkerTag;\nexport const Uri = api.Uri;\nexport const Token = api.Token;\nexport const editor = api.editor;\nexport const languages = api.languages;\n\ninterface IMonacoEnvironment {\n\tglobalAPI?: boolean;\n}\n\nconst monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;\nif (monacoEnvironment?.globalAPI || (typeof (globalThis as any).define === 'function' && ((globalThis as any).define).amd)) {\n\tglobalThis.monaco = api;\n}\n\nif (typeof (globalThis as any).require !== 'undefined' && typeof (globalThis as any).require.config === 'function') {\n\t(globalThis as any).require.config({\n\t\tignoreDuplicateModules: [\n\t\t\t'vscode-languageserver-types',\n\t\t\t'vscode-languageserver-types/main',\n\t\t\t'vscode-languageserver-textdocument',\n\t\t\t'vscode-languageserver-textdocument/main',\n\t\t\t'vscode-nls',\n\t\t\t'vscode-nls/vscode-nls',\n\t\t\t'jsonc-parser',\n\t\t\t'jsonc-parser/main',\n\t\t\t'vscode-uri',\n\t\t\t'vscode-uri/index',\n\t\t\t'vs/basic-languages/typescript/typescript'\n\t\t]\n\t});\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { EditorOptions, WrappingIndent, EditorAutoIndentStrategy } from './common/config/editorOptions.js';\nimport { createMonacoBaseAPI } from './common/services/editorBaseApi.js';\nimport { createMonacoEditorAPI } from './standalone/browser/standaloneEditor.js';\nimport { createMonacoLanguagesAPI } from './standalone/browser/standaloneLanguages.js';\nimport { FormattingConflicts } from './contrib/format/browser/format.js';\n\n// Set defaults for standalone editor\nEditorOptions.wrappingIndent.defaultValue = WrappingIndent.None;\nEditorOptions.glyphMargin.defaultValue = false;\nEditorOptions.autoIndent.defaultValue = EditorAutoIndentStrategy.Advanced;\nEditorOptions.overviewRulerLanes.defaultValue = 2;\n\n// We need to register a formatter selector which simply picks the first available formatter.\n// See https://github.com/microsoft/monaco-editor/issues/2327\nFormattingConflicts.setFormatterSelector((formatter, document, mode) => Promise.resolve(formatter[0]));\n\nconst api = createMonacoBaseAPI();\napi.editor = createMonacoEditorAPI();\napi.languages = createMonacoLanguagesAPI();\nexport const CancellationTokenSource = api.CancellationTokenSource;\nexport const Emitter = api.Emitter;\nexport const KeyCode = api.KeyCode;\nexport const KeyMod = api.KeyMod;\nexport const Position = api.Position;\nexport const Range = api.Range;\nexport const Selection = api.Selection;\nexport const SelectionDirection = api.SelectionDirection;\nexport const MarkerSeverity = api.MarkerSeverity;\nexport const MarkerTag = api.MarkerTag;\nexport const Uri = api.Uri;\nexport const Token = api.Token;\nexport const editor = api.editor;\nexport const languages = api.languages;\n\ninterface IMonacoEnvironment {\n\tglobalAPI?: boolean;\n}\n\nconst monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;\nif (monacoEnvironment?.globalAPI || (typeof (globalThis as any).define === 'function' && ((globalThis as any).define).amd)) {\n\tglobalThis.monaco = api;\n}\n\nif (typeof (globalThis as any).require !== 'undefined' && typeof (globalThis as any).require.config === 'function') {\n\t(globalThis as any).require.config({\n\t\tignoreDuplicateModules: [\n\t\t\t'vscode-languageserver-types',\n\t\t\t'vscode-languageserver-types/main',\n\t\t\t'vscode-languageserver-textdocument',\n\t\t\t'vscode-languageserver-textdocument/main',\n\t\t\t'vscode-nls',\n\t\t\t'vscode-nls/vscode-nls',\n\t\t\t'jsonc-parser',\n\t\t\t'jsonc-parser/main',\n\t\t\t'vscode-uri',\n\t\t\t'vscode-uri/index',\n\t\t\t'vs/basic-languages/typescript/typescript'\n\t\t]\n\t});\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/editor.api.ts","vs/editor/editor.api.ts"],"names":[],"mappings":"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","file":"editor.api.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { EditorOptions, WrappingIndent, EditorAutoIndentStrategy } from './common/config/editorOptions.js';\nimport { createMonacoBaseAPI } from './common/services/editorBaseApi.js';\nimport { createMonacoEditorAPI } from './standalone/browser/standaloneEditor.js';\nimport { createMonacoLanguagesAPI } from './standalone/browser/standaloneLanguages.js';\nimport { FormattingConflicts } from './contrib/format/browser/format.js';\n\n// Set defaults for standalone editor\nEditorOptions.wrappingIndent.defaultValue = WrappingIndent.None;\nEditorOptions.glyphMargin.defaultValue = false;\nEditorOptions.autoIndent.defaultValue = EditorAutoIndentStrategy.Advanced;\nEditorOptions.overviewRulerLanes.defaultValue = 2;\n\n// We need to register a formatter selector which simply picks the first available formatter.\n// See https://github.com/microsoft/monaco-editor/issues/2327\nFormattingConflicts.setFormatterSelector((formatter, document, mode) => Promise.resolve(formatter[0]));\n\nconst api = createMonacoBaseAPI();\napi.editor = createMonacoEditorAPI();\napi.languages = createMonacoLanguagesAPI();\nexport const CancellationTokenSource = api.CancellationTokenSource;\nexport const Emitter = api.Emitter;\nexport const KeyCode = api.KeyCode;\nexport const KeyMod = api.KeyMod;\nexport const Position = api.Position;\nexport const Range = api.Range;\nexport const Selection = api.Selection;\nexport const SelectionDirection = api.SelectionDirection;\nexport const MarkerSeverity = api.MarkerSeverity;\nexport const MarkerTag = api.MarkerTag;\nexport const Uri = api.Uri;\nexport const Token = api.Token;\nexport const editor = api.editor;\nexport const languages = api.languages;\n\ninterface IMonacoEnvironment {\n\tglobalAPI?: boolean;\n}\n\n// eslint-disable-next-line local/code-no-any-casts\nconst monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;\n// eslint-disable-next-line local/code-no-any-casts\nif (monacoEnvironment?.globalAPI || (typeof (globalThis as any).define === 'function' && ((globalThis as any).define).amd)) {\n\tglobalThis.monaco = api;\n}\n\n// eslint-disable-next-line local/code-no-any-casts\nif (typeof (globalThis as any).require !== 'undefined' && typeof (globalThis as any).require.config === 'function') {\n\t// eslint-disable-next-line local/code-no-any-casts\n\t(globalThis as any).require.config({\n\t\tignoreDuplicateModules: [\n\t\t\t'vscode-languageserver-types',\n\t\t\t'vscode-languageserver-types/main',\n\t\t\t'vscode-languageserver-textdocument',\n\t\t\t'vscode-languageserver-textdocument/main',\n\t\t\t'vscode-nls',\n\t\t\t'vscode-nls/vscode-nls',\n\t\t\t'jsonc-parser',\n\t\t\t'jsonc-parser/main',\n\t\t\t'vscode-uri',\n\t\t\t'vscode-uri/index',\n\t\t\t'vs/basic-languages/typescript/typescript'\n\t\t]\n\t});\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { EditorOptions, WrappingIndent, EditorAutoIndentStrategy } from './common/config/editorOptions.js';\nimport { createMonacoBaseAPI } from './common/services/editorBaseApi.js';\nimport { createMonacoEditorAPI } from './standalone/browser/standaloneEditor.js';\nimport { createMonacoLanguagesAPI } from './standalone/browser/standaloneLanguages.js';\nimport { FormattingConflicts } from './contrib/format/browser/format.js';\n\n// Set defaults for standalone editor\nEditorOptions.wrappingIndent.defaultValue = WrappingIndent.None;\nEditorOptions.glyphMargin.defaultValue = false;\nEditorOptions.autoIndent.defaultValue = EditorAutoIndentStrategy.Advanced;\nEditorOptions.overviewRulerLanes.defaultValue = 2;\n\n// We need to register a formatter selector which simply picks the first available formatter.\n// See https://github.com/microsoft/monaco-editor/issues/2327\nFormattingConflicts.setFormatterSelector((formatter, document, mode) => Promise.resolve(formatter[0]));\n\nconst api = createMonacoBaseAPI();\napi.editor = createMonacoEditorAPI();\napi.languages = createMonacoLanguagesAPI();\nexport const CancellationTokenSource = api.CancellationTokenSource;\nexport const Emitter = api.Emitter;\nexport const KeyCode = api.KeyCode;\nexport const KeyMod = api.KeyMod;\nexport const Position = api.Position;\nexport const Range = api.Range;\nexport const Selection = api.Selection;\nexport const SelectionDirection = api.SelectionDirection;\nexport const MarkerSeverity = api.MarkerSeverity;\nexport const MarkerTag = api.MarkerTag;\nexport const Uri = api.Uri;\nexport const Token = api.Token;\nexport const editor = api.editor;\nexport const languages = api.languages;\n\ninterface IMonacoEnvironment {\n\tglobalAPI?: boolean;\n}\n\n// eslint-disable-next-line local/code-no-any-casts\nconst monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;\n// eslint-disable-next-line local/code-no-any-casts\nif (monacoEnvironment?.globalAPI || (typeof (globalThis as any).define === 'function' && ((globalThis as any).define).amd)) {\n\tglobalThis.monaco = api;\n}\n\n// eslint-disable-next-line local/code-no-any-casts\nif (typeof (globalThis as any).require !== 'undefined' && typeof (globalThis as any).require.config === 'function') {\n\t// eslint-disable-next-line local/code-no-any-casts\n\t(globalThis as any).require.config({\n\t\tignoreDuplicateModules: [\n\t\t\t'vscode-languageserver-types',\n\t\t\t'vscode-languageserver-types/main',\n\t\t\t'vscode-languageserver-textdocument',\n\t\t\t'vscode-languageserver-textdocument/main',\n\t\t\t'vscode-nls',\n\t\t\t'vscode-nls/vscode-nls',\n\t\t\t'jsonc-parser',\n\t\t\t'jsonc-parser/main',\n\t\t\t'vscode-uri',\n\t\t\t'vscode-uri/index',\n\t\t\t'vs/basic-languages/typescript/typescript'\n\t\t]\n\t});\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.54.0(7c2310116c57517348bbd868a21139f32454be22)
3
+ * Version: 0.55.0-dev-20251007(7c2310116c57517348bbd868a21139f32454be22)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.54.0(7c2310116c57517348bbd868a21139f32454be22)
3
+ * Version: 0.55.0-dev-20251007(7c2310116c57517348bbd868a21139f32454be22)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------------------------*/