brighterscript 1.0.0-alpha.50 → 1.0.0-alpha.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +3 -0
  2. package/bsconfig.schema.json +75 -0
  3. package/dist/BsConfig.d.ts +90 -5
  4. package/dist/CodeActionUtil.d.ts +17 -0
  5. package/dist/CodeActionUtil.js.map +1 -1
  6. package/dist/CommentFlagProcessor.d.ts +16 -12
  7. package/dist/CommentFlagProcessor.js +141 -59
  8. package/dist/CommentFlagProcessor.js.map +1 -1
  9. package/dist/CrossScopeValidator.js +13 -5
  10. package/dist/CrossScopeValidator.js.map +1 -1
  11. package/dist/DiagnosticManager.d.ts +1 -0
  12. package/dist/DiagnosticManager.js +25 -9
  13. package/dist/DiagnosticManager.js.map +1 -1
  14. package/dist/DiagnosticMessages.d.ts +61 -17
  15. package/dist/DiagnosticMessages.js +78 -24
  16. package/dist/DiagnosticMessages.js.map +1 -1
  17. package/dist/LanguageServer.d.ts +39 -2
  18. package/dist/LanguageServer.js +142 -5
  19. package/dist/LanguageServer.js.map +1 -1
  20. package/dist/Program.d.ts +62 -1
  21. package/dist/Program.js +185 -13
  22. package/dist/Program.js.map +1 -1
  23. package/dist/ProgramBuilder.d.ts +1 -8
  24. package/dist/ProgramBuilder.js +31 -11
  25. package/dist/ProgramBuilder.js.map +1 -1
  26. package/dist/Scope.d.ts +87 -6
  27. package/dist/Scope.js +76 -31
  28. package/dist/Scope.js.map +1 -1
  29. package/dist/ScopeNamespaceLookup.d.ts +73 -0
  30. package/dist/ScopeNamespaceLookup.js +242 -0
  31. package/dist/ScopeNamespaceLookup.js.map +1 -0
  32. package/dist/SymbolTable.d.ts +9 -2
  33. package/dist/SymbolTable.js +24 -14
  34. package/dist/SymbolTable.js.map +1 -1
  35. package/dist/astUtils/CachedLookups.js +3 -0
  36. package/dist/astUtils/CachedLookups.js.map +1 -1
  37. package/dist/astUtils/reflection.d.ts +4 -1
  38. package/dist/astUtils/reflection.js +24 -4
  39. package/dist/astUtils/reflection.js.map +1 -1
  40. package/dist/astUtils/visitors.d.ts +2 -1
  41. package/dist/astUtils/visitors.js.map +1 -1
  42. package/dist/bscPlugin/BscPlugin.d.ts +4 -2
  43. package/dist/bscPlugin/BscPlugin.js +10 -2
  44. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  45. package/dist/bscPlugin/CallExpressionInfo.d.ts +1 -1
  46. package/dist/bscPlugin/CallExpressionInfo.js +1 -2
  47. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  48. package/dist/bscPlugin/FileWriter.d.ts +13 -0
  49. package/dist/bscPlugin/FileWriter.js +56 -1
  50. package/dist/bscPlugin/FileWriter.js.map +1 -1
  51. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +106 -5
  52. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +630 -126
  53. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  54. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
  55. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
  56. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
  57. package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
  58. package/dist/bscPlugin/codeActions/codeActionHelpers.js +31 -0
  59. package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
  60. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
  61. package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
  62. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  63. package/dist/bscPlugin/definition/DefinitionProvider.js +8 -0
  64. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
  65. package/dist/bscPlugin/hover/HoverProcessor.js +11 -3
  66. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  67. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
  68. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +77 -0
  69. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
  70. package/dist/bscPlugin/serialize/FileSerializer.d.ts +1 -1
  71. package/dist/bscPlugin/serialize/FileSerializer.js +12 -7
  72. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -1
  73. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +7 -0
  74. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +87 -1
  75. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  76. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
  77. package/dist/bscPlugin/validation/BrsFileValidator.js +97 -21
  78. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  79. package/dist/bscPlugin/validation/ScopeValidator.d.ts +17 -0
  80. package/dist/bscPlugin/validation/ScopeValidator.js +162 -4
  81. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  82. package/dist/bscPlugin/validation/XmlFileValidator.js +14 -0
  83. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  84. package/dist/cli.js +13 -0
  85. package/dist/cli.js.map +1 -1
  86. package/dist/diagnosticUtils.d.ts +51 -1
  87. package/dist/diagnosticUtils.js +222 -1
  88. package/dist/diagnosticUtils.js.map +1 -1
  89. package/dist/files/BrsFile.d.ts +18 -2
  90. package/dist/files/BrsFile.js +87 -6
  91. package/dist/files/BrsFile.js.map +1 -1
  92. package/dist/files/XmlFile.js +2 -1
  93. package/dist/files/XmlFile.js.map +1 -1
  94. package/dist/interfaces.d.ts +68 -23
  95. package/dist/interfaces.js.map +1 -1
  96. package/dist/lexer/Lexer.js +4 -5
  97. package/dist/lexer/Lexer.js.map +1 -1
  98. package/dist/lexer/Token.d.ts +1 -1
  99. package/dist/lexer/TokenKind.d.ts +8 -0
  100. package/dist/lexer/TokenKind.js +21 -1
  101. package/dist/lexer/TokenKind.js.map +1 -1
  102. package/dist/lsp/LspProject.d.ts +49 -1
  103. package/dist/lsp/Project.d.ts +33 -1
  104. package/dist/lsp/Project.js +129 -4
  105. package/dist/lsp/Project.js.map +1 -1
  106. package/dist/lsp/ProjectManager.d.ts +48 -2
  107. package/dist/lsp/ProjectManager.js +152 -9
  108. package/dist/lsp/ProjectManager.js.map +1 -1
  109. package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
  110. package/dist/lsp/worker/WorkerThreadProject.js +16 -0
  111. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  112. package/dist/parser/AstNode.d.ts +3 -1
  113. package/dist/parser/AstNode.js +2 -0
  114. package/dist/parser/AstNode.js.map +1 -1
  115. package/dist/parser/Expression.d.ts +54 -5
  116. package/dist/parser/Expression.js +112 -7
  117. package/dist/parser/Expression.js.map +1 -1
  118. package/dist/parser/Parser.d.ts +24 -1
  119. package/dist/parser/Parser.js +180 -41
  120. package/dist/parser/Parser.js.map +1 -1
  121. package/dist/parser/SGParser.d.ts +1 -0
  122. package/dist/parser/SGParser.js +9 -0
  123. package/dist/parser/SGParser.js.map +1 -1
  124. package/dist/parser/Statement.d.ts +6 -1
  125. package/dist/parser/Statement.js +22 -14
  126. package/dist/parser/Statement.js.map +1 -1
  127. package/dist/parser/TranspileState.d.ts +4 -2
  128. package/dist/parser/TranspileState.js +10 -4
  129. package/dist/parser/TranspileState.js.map +1 -1
  130. package/dist/roku-types/data.json +210 -3
  131. package/dist/types/ArrayType.js +6 -1
  132. package/dist/types/ArrayType.js.map +1 -1
  133. package/dist/types/BooleanType.js +1 -1
  134. package/dist/types/BooleanType.js.map +1 -1
  135. package/dist/types/CallFuncableType.d.ts +1 -1
  136. package/dist/types/ClassType.js +3 -0
  137. package/dist/types/ClassType.js.map +1 -1
  138. package/dist/types/ComponentType.js +3 -0
  139. package/dist/types/ComponentType.js.map +1 -1
  140. package/dist/types/EnumType.js +3 -0
  141. package/dist/types/EnumType.js.map +1 -1
  142. package/dist/types/IntersectionType.js +3 -0
  143. package/dist/types/IntersectionType.js.map +1 -1
  144. package/dist/types/ReferenceType.js +6 -0
  145. package/dist/types/ReferenceType.js.map +1 -1
  146. package/dist/types/TypeStatementType.d.ts +1 -0
  147. package/dist/types/TypeStatementType.js +12 -1
  148. package/dist/types/TypeStatementType.js.map +1 -1
  149. package/dist/types/TypedFunctionType.js +20 -10
  150. package/dist/types/TypedFunctionType.js.map +1 -1
  151. package/dist/types/UnionType.js +3 -0
  152. package/dist/types/UnionType.js.map +1 -1
  153. package/dist/types/helpers.js +6 -0
  154. package/dist/types/helpers.js.map +1 -1
  155. package/dist/util.d.ts +42 -3
  156. package/dist/util.js +131 -7
  157. package/dist/util.js.map +1 -1
  158. package/package.json +24 -26
  159. package/dist/astUtils/CachedLookups.spec.d.ts +0 -1
  160. package/dist/astUtils/CachedLookups.spec.js +0 -39
  161. package/dist/astUtils/CachedLookups.spec.js.map +0 -1
  162. package/dist/astUtils/Editor.spec.d.ts +0 -1
  163. package/dist/astUtils/Editor.spec.js +0 -258
  164. package/dist/astUtils/Editor.spec.js.map +0 -1
  165. package/dist/astUtils/creators.spec.d.ts +0 -1
  166. package/dist/astUtils/creators.spec.js +0 -21
  167. package/dist/astUtils/creators.spec.js.map +0 -1
  168. package/dist/astUtils/reflection.spec.d.ts +0 -1
  169. package/dist/astUtils/reflection.spec.js +0 -392
  170. package/dist/astUtils/reflection.spec.js.map +0 -1
  171. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  172. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  173. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  174. package/dist/astUtils/visitors.spec.d.ts +0 -1
  175. package/dist/astUtils/visitors.spec.js +0 -1432
  176. package/dist/astUtils/visitors.spec.js.map +0 -1
  177. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  178. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -311
  179. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  180. package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +0 -1
  181. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -2512
  182. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
  183. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  184. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -87
  185. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  186. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  187. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -991
  188. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  189. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  190. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  191. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  192. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  193. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -564
  194. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  195. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +0 -1
  196. package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -33
  197. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
  198. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  199. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -291
  200. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  201. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  202. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  203. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  204. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +0 -1
  205. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -75
  206. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
  207. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  208. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -1517
  209. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  210. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +0 -1
  211. package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -6135
  212. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
  213. package/dist/common/Sequencer.spec.d.ts +0 -1
  214. package/dist/common/Sequencer.spec.js +0 -75
  215. package/dist/common/Sequencer.spec.js.map +0 -1
  216. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  217. package/dist/files/BrsFile.Class.spec.js +0 -2035
  218. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  219. package/dist/files/BrsFile.spec.d.ts +0 -1
  220. package/dist/files/BrsFile.spec.js +0 -5848
  221. package/dist/files/BrsFile.spec.js.map +0 -1
  222. package/dist/files/LazyFileData.spec.d.ts +0 -1
  223. package/dist/files/LazyFileData.spec.js +0 -27
  224. package/dist/files/LazyFileData.spec.js.map +0 -1
  225. package/dist/files/XmlFile.spec.d.ts +0 -1
  226. package/dist/files/XmlFile.spec.js +0 -1173
  227. package/dist/files/XmlFile.spec.js.map +0 -1
  228. package/dist/files/tests/imports.spec.d.ts +0 -1
  229. package/dist/files/tests/imports.spec.js +0 -251
  230. package/dist/files/tests/imports.spec.js.map +0 -1
  231. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  232. package/dist/files/tests/optionalChaning.spec.js +0 -152
  233. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  234. package/dist/lexer/Character.spec.d.ts +0 -1
  235. package/dist/lexer/Character.spec.js +0 -27
  236. package/dist/lexer/Character.spec.js.map +0 -1
  237. package/dist/lexer/Lexer.spec.d.ts +0 -1
  238. package/dist/lexer/Lexer.spec.js +0 -1345
  239. package/dist/lexer/Lexer.spec.js.map +0 -1
  240. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  241. package/dist/lsp/ActionQueue.spec.js +0 -80
  242. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  243. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  244. package/dist/lsp/DocumentManager.spec.js +0 -103
  245. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  246. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  247. package/dist/lsp/PathFilterer.spec.js +0 -182
  248. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  249. package/dist/lsp/Project.spec.d.ts +0 -1
  250. package/dist/lsp/Project.spec.js +0 -267
  251. package/dist/lsp/Project.spec.js.map +0 -1
  252. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  253. package/dist/lsp/ProjectManager.spec.js +0 -913
  254. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  255. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  256. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  257. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  258. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  259. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  260. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  261. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  262. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -71
  263. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  264. package/dist/parser/AstNode.spec.d.ts +0 -1
  265. package/dist/parser/AstNode.spec.js +0 -1455
  266. package/dist/parser/AstNode.spec.js.map +0 -1
  267. package/dist/parser/BrightScriptDocParser.spec.d.ts +0 -1
  268. package/dist/parser/BrightScriptDocParser.spec.js +0 -310
  269. package/dist/parser/BrightScriptDocParser.spec.js.map +0 -1
  270. package/dist/parser/Expression.spec.d.ts +0 -1
  271. package/dist/parser/Expression.spec.js +0 -40
  272. package/dist/parser/Expression.spec.js.map +0 -1
  273. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  274. package/dist/parser/Parser.Class.spec.js +0 -520
  275. package/dist/parser/Parser.Class.spec.js.map +0 -1
  276. package/dist/parser/Parser.spec.d.ts +0 -6
  277. package/dist/parser/Parser.spec.js +0 -2802
  278. package/dist/parser/Parser.spec.js.map +0 -1
  279. package/dist/parser/SGParser.spec.d.ts +0 -1
  280. package/dist/parser/SGParser.spec.js +0 -130
  281. package/dist/parser/SGParser.spec.js.map +0 -1
  282. package/dist/parser/Statement.spec.d.ts +0 -1
  283. package/dist/parser/Statement.spec.js +0 -191
  284. package/dist/parser/Statement.spec.js.map +0 -1
  285. package/dist/parser/tests/Parser.spec.d.ts +0 -12
  286. package/dist/parser/tests/Parser.spec.js +0 -29
  287. package/dist/parser/tests/Parser.spec.js.map +0 -1
  288. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  289. package/dist/parser/tests/controlFlow/For.spec.js +0 -169
  290. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  291. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  292. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -140
  293. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  294. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  295. package/dist/parser/tests/controlFlow/If.spec.js +0 -694
  296. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  297. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  298. package/dist/parser/tests/controlFlow/While.spec.js +0 -114
  299. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  300. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  301. package/dist/parser/tests/expression/Additive.spec.js +0 -107
  302. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  303. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  304. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -304
  305. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  306. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  307. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -342
  308. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  309. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  310. package/dist/parser/tests/expression/Boolean.spec.js +0 -90
  311. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  312. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  313. package/dist/parser/tests/expression/Call.spec.js +0 -252
  314. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  315. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  316. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  317. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  318. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  319. package/dist/parser/tests/expression/Function.spec.js +0 -412
  320. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  321. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  322. package/dist/parser/tests/expression/Indexing.spec.js +0 -302
  323. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  324. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  325. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  326. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  327. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  328. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  329. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  330. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  331. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -111
  332. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  333. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  334. package/dist/parser/tests/expression/Primary.spec.js +0 -165
  335. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  336. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  337. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  338. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  339. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  340. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  341. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  342. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  343. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  344. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  345. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  346. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  347. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  348. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  349. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -878
  350. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  351. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +0 -1
  352. package/dist/parser/tests/expression/TypeExpression.spec.js +0 -126
  353. package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
  354. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  355. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  356. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  357. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  358. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  359. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  360. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  361. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -500
  362. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  363. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  364. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  365. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  366. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  367. package/dist/parser/tests/statement/Declaration.spec.js +0 -114
  368. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  369. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  370. package/dist/parser/tests/statement/Dim.spec.js +0 -80
  371. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  372. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  373. package/dist/parser/tests/statement/Enum.spec.js +0 -744
  374. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  375. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  376. package/dist/parser/tests/statement/For.spec.js +0 -45
  377. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  378. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  379. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  380. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  381. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  382. package/dist/parser/tests/statement/Function.spec.js +0 -343
  383. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  384. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  385. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  386. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  387. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  388. package/dist/parser/tests/statement/Increment.spec.js +0 -120
  389. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  390. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  391. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -110
  392. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  393. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  394. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  395. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  396. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  397. package/dist/parser/tests/statement/Misc.spec.js +0 -292
  398. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  399. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  400. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -200
  401. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  402. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  403. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -97
  404. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  405. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  406. package/dist/parser/tests/statement/Set.spec.js +0 -232
  407. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  408. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  409. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  410. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  411. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  412. package/dist/parser/tests/statement/Throw.spec.js +0 -38
  413. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  414. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  415. package/dist/parser/tests/statement/TryCatch.spec.js +0 -151
  416. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  417. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  418. package/dist/preprocessor/Manifest.spec.js +0 -80
  419. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  420. package/dist/types/ArrayType.spec.d.ts +0 -1
  421. package/dist/types/ArrayType.spec.js +0 -58
  422. package/dist/types/ArrayType.spec.js.map +0 -1
  423. package/dist/types/BooleanType.spec.d.ts +0 -1
  424. package/dist/types/BooleanType.spec.js +0 -18
  425. package/dist/types/BooleanType.spec.js.map +0 -1
  426. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
  427. package/dist/types/BuiltInInterfaceAdder.spec.js +0 -115
  428. package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
  429. package/dist/types/ClassType.spec.d.ts +0 -1
  430. package/dist/types/ClassType.spec.js +0 -76
  431. package/dist/types/ClassType.spec.js.map +0 -1
  432. package/dist/types/DoubleType.spec.d.ts +0 -1
  433. package/dist/types/DoubleType.spec.js +0 -20
  434. package/dist/types/DoubleType.spec.js.map +0 -1
  435. package/dist/types/DynamicType.spec.d.ts +0 -1
  436. package/dist/types/DynamicType.spec.js +0 -23
  437. package/dist/types/DynamicType.spec.js.map +0 -1
  438. package/dist/types/EnumType.spec.d.ts +0 -1
  439. package/dist/types/EnumType.spec.js +0 -33
  440. package/dist/types/EnumType.spec.js.map +0 -1
  441. package/dist/types/FloatType.spec.d.ts +0 -1
  442. package/dist/types/FloatType.spec.js +0 -12
  443. package/dist/types/FloatType.spec.js.map +0 -1
  444. package/dist/types/IntegerType.spec.d.ts +0 -1
  445. package/dist/types/IntegerType.spec.js +0 -16
  446. package/dist/types/IntegerType.spec.js.map +0 -1
  447. package/dist/types/InterfaceType.spec.d.ts +0 -1
  448. package/dist/types/InterfaceType.spec.js +0 -227
  449. package/dist/types/InterfaceType.spec.js.map +0 -1
  450. package/dist/types/IntersectionType.spec.d.ts +0 -1
  451. package/dist/types/IntersectionType.spec.js +0 -150
  452. package/dist/types/IntersectionType.spec.js.map +0 -1
  453. package/dist/types/InvalidType.spec.d.ts +0 -1
  454. package/dist/types/InvalidType.spec.js +0 -16
  455. package/dist/types/InvalidType.spec.js.map +0 -1
  456. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  457. package/dist/types/LongIntegerType.spec.js +0 -18
  458. package/dist/types/LongIntegerType.spec.js.map +0 -1
  459. package/dist/types/ObjectType.spec.d.ts +0 -1
  460. package/dist/types/ObjectType.spec.js +0 -12
  461. package/dist/types/ObjectType.spec.js.map +0 -1
  462. package/dist/types/ReferenceType.spec.d.ts +0 -1
  463. package/dist/types/ReferenceType.spec.js +0 -151
  464. package/dist/types/ReferenceType.spec.js.map +0 -1
  465. package/dist/types/StringType.spec.d.ts +0 -1
  466. package/dist/types/StringType.spec.js +0 -12
  467. package/dist/types/StringType.spec.js.map +0 -1
  468. package/dist/types/TypedFunctionType.spec.d.ts +0 -1
  469. package/dist/types/TypedFunctionType.spec.js +0 -122
  470. package/dist/types/TypedFunctionType.spec.js.map +0 -1
  471. package/dist/types/UnionType.spec.d.ts +0 -1
  472. package/dist/types/UnionType.spec.js +0 -205
  473. package/dist/types/UnionType.spec.js.map +0 -1
  474. package/dist/types/VoidType.spec.d.ts +0 -1
  475. package/dist/types/VoidType.spec.js +0 -12
  476. package/dist/types/VoidType.spec.js.map +0 -1
  477. package/dist/types/helper.spec.d.ts +0 -1
  478. package/dist/types/helper.spec.js +0 -174
  479. package/dist/types/helper.spec.js.map +0 -1
  480. package/dist/types/roFunctionType.spec.d.ts +0 -1
  481. package/dist/types/roFunctionType.spec.js +0 -20
  482. package/dist/types/roFunctionType.spec.js.map +0 -1
@@ -236,18 +236,21 @@ class CrossScopeValidator {
236
236
  return this.providedTreeMap.get(scope.name);
237
237
  }
238
238
  const providedTree = new ProvidedNode('', this.componentsMap);
239
- const duplicatesMap = new Map();
239
+ let duplicatesMap = null;
240
240
  const referenceTypesMap = new Map();
241
241
  const addSymbolWithDuplicates = (symbolName, file, symbolObj) => {
242
- var _a;
242
+ var _a, _b;
243
243
  // eslint-disable-next-line no-bitwise
244
244
  const globalSymbol = this.program.globalScope.symbolTable.getSymbol(symbolName, 2 /* SymbolTypeFlag.typetime */ | 1 /* SymbolTypeFlag.runtime */);
245
245
  const symbolIsNamespace = providedTree.getNamespace(symbolName);
246
246
  const isDupe = providedTree.addSymbol(symbolName, { file: file, symbol: symbolObj.symbol });
247
247
  if (symbolIsNamespace || globalSymbol || isDupe || symbolObj.duplicates.length > 0) {
248
- let dupesSet = duplicatesMap.get(symbolName);
248
+ let dupesSet = (_a = duplicatesMap === null || duplicatesMap === void 0 ? void 0 : duplicatesMap.get(symbolName)) !== null && _a !== void 0 ? _a : null;
249
249
  if (!dupesSet) {
250
250
  dupesSet = new Set();
251
+ if (!duplicatesMap) {
252
+ duplicatesMap = new Map();
253
+ }
251
254
  duplicatesMap.set(symbolName, dupesSet);
252
255
  const existing = providedTree.getSymbol(symbolName);
253
256
  if (existing) {
@@ -259,7 +262,7 @@ class CrossScopeValidator {
259
262
  }
260
263
  if (symbolIsNamespace) {
261
264
  const namespaceContainer = scope.getNamespace(symbolName);
262
- const nsNode = (_a = namespaceContainer === null || namespaceContainer === void 0 ? void 0 : namespaceContainer.namespaceStatements) === null || _a === void 0 ? void 0 : _a[0];
265
+ const nsNode = (_b = namespaceContainer === null || namespaceContainer === void 0 ? void 0 : namespaceContainer.namespaceStatements) === null || _b === void 0 ? void 0 : _b[0];
263
266
  if (nsNode) {
264
267
  const nsFile = namespaceContainer.file;
265
268
  const nsType = nsNode.getType({ flags: 2 /* SymbolTypeFlag.typetime */ });
@@ -479,7 +482,7 @@ class CrossScopeValidator {
479
482
  tag: CrossScopeValidatorDiagnosticTag
480
483
  });
481
484
  const { missingSymbols, duplicatesMap } = this.getIssuesForScope(scope);
482
- if (addDuplicateSymbolDiagnostics) {
485
+ if (addDuplicateSymbolDiagnostics && duplicatesMap) {
483
486
  for (const [_flag, dupeSet] of duplicatesMap.entries()) {
484
487
  if (dupeSet.size > 1) {
485
488
  const dupesArray = [...dupeSet.values()];
@@ -552,6 +555,11 @@ class CrossScopeValidator {
552
555
  // If symbols are missing in SOME scopes, add diagnostic
553
556
  for (const [symbol, scopeList] of missingSymbolInScope.entries()) {
554
557
  const typeChainResult = util_1.util.processTypeChain(symbol.typeChain);
558
+ //roku built-in type names (rosgnode*, etc.) aren't tracked in any symbol table;
559
+ //skip cannot-find-name when the symbol's name is one of those built-ins.
560
+ if (typeChainResult.itemName && util_1.util.isBuiltInType(typeChainResult.itemName)) {
561
+ continue;
562
+ }
555
563
  for (const scope of scopeList) {
556
564
  this.program.diagnostics.register(Object.assign(Object.assign({}, this.getCannotFindDiagnostic(scope, symbol, typeChainResult)), { location: typeChainResult.location }), {
557
565
  scope: scope,
@@ -1 +1 @@
1
- {"version":3,"file":"CrossScopeValidator.js","sourceRoot":"","sources":["../src/CrossScopeValidator.ts"],"names":[],"mappings":";;;AAGA,6DAA0D;AAE1D,iCAA8B;AAG9B,sDAAgQ;AAEhQ,yDAAkE;AAElE,qDAAkD;AAClD,6CAA8D;AAI9D,4CAA4C;AAC5C,uDAA+C;AAiB/C,MAAM,gCAAgC,GAAG,qBAAqB,CAAC;AAE/D,MAAa,YAAY;IAKrB,YAAmB,MAAc,EAAE,EAAU,aAA2C;QAArE,QAAG,GAAH,GAAG,CAAa;QAAU,kBAAa,GAAb,aAAa,CAA8B;QAHxF,eAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC7C,YAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEgD,CAAC;IAG7F,cAAc,CAAC,UAA4B;;QACvC,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,mCAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,mCAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC,mCACrD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,UAAkB;;QACxB,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;SACV;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,GAAG,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SAClD;QACD,IAAI,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,aAAqB;QAC9B,IAAI,oBAAoB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB,CAAC,oBAA8B,EAAE,IAAkB;;QACnE,MAAM,KAAK,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAErC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE;oBAClC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBAC1C,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE;wBAC3B,WAAW,GAAG,UAAU,CAAC;qBAC5B;yBAAM,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;wBACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;wBACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACxB,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;yBACxD;6BAAM;4BACH,WAAW,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAChD,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;yBAC9C;qBACJ;iBACJ;gBACD,IAAI,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,IAAA,uBAAU,EAAC,WAAW,CAAC,EAAE;oBACzB,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;iBAClD;gBACD,IAAI,IAAA,8BAAiB,EAAC,WAAW,CAAC,EAAE;oBAChC,IAAI,eAAe,GAAG,WAAW,CAAC;oBAClC,OAAO,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,EAAE;wBAChC,IAAI,UAAU,GAAG,eAAe,CAAC,UAAqB,CAAC;wBACvD,IAAI,IAAA,4BAAe,EAAC,eAAe,CAAC,UAAU,CAAC,EAAE;4BAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;4BACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACxB,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;6BACvD;iCAAM;gCACH,UAAU,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAC/C,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;6BAC9C;yBACJ;wBACD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC5B,eAAe,GAAG,UAA6B,CAAC;qBACnD;iBAEJ;gBACD,MAAM,SAAS,GAAG,EAAE,CAAC;gBAErB,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;oBAC9B,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,gCAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACnG,IAAI,IAAA,4BAAe,EAAC,WAAW,CAAC,EAAE;wBAC9B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;wBAC1C,WAAW,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAAI,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;qBACtI;oBACD,IAAI,WAAW,EAAE;wBACb,MAAM;qBACT;iBACJ;gBAED,IAAI,CAAC,WAAW,EAAE;oBACd,OAAO;iBACV;gBACD,sBAAsB;gBACtB,MAAM,mCACC,MAAM,KAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,gCAAwB,EAAE,GAC3G,CAAC;aACL;YACD,OAAO,MAAM,CAAC;SAEjB;aAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEpD,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED,uBAAuB,CAAC,oBAA8B;;QAClD,MAAM,KAAK,GAAG,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,UAA0B;QACpD,IAAI,oBAAoB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAEO,oBAAoB,CAAC,oBAA8B,EAAE,UAA0B;;QACnF,MAAM,KAAK,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE;YAClB,4BAA4B;YAC5B,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE;gBAChB,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;aAC7C;YACD,OAAO,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SAC/D;aAAM;YACH,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC5B,kFAAkF;gBAClF,OAAO,IAAI,CAAC;aACf;YAED,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aACvC;iBAAM;gBACH,WAAW,GAAG,CAAA,MAAA,kBAAkB,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,OAAK,MAAA,UAAU,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,CAAA,CAAC;aACvG;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AA/JD,oCA+JC;AAGD,MAAa,mBAAmB;IAE5B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAuDnC,mBAAc,GAAG,IAAI,GAAG,EAA2F,CAAC;QACpH,oBAAe,GAAG,IAAI,GAAG,EAA2F,CAAC;QAG7G,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IA3DnB,CAAC;IAEhC,aAAa,CAAC,MAAwB;;QAC1C,IAAI,SAAS,GAAG,IAAI,KAAK,EAAoB,CAAC;QAC9C,IAAI,sBAAsB,GAAa,EAAE,CAAC;QAE1C,SAAS,mBAAmB,CAAC,SAA2B,EAAE,SAAmB;YACzE,SAAS,KAAT,SAAS,GAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC;YAChC,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,IAAI,IAAA,4BAAe,EAAC,SAAS,CAAC,EAAE;wBAC5B,OAAO,SAAS,CAAC,QAAQ,CAAC;qBAC7B;yBAAM,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;wBACrC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;qBAC9B;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC;iBACnB;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,qBAAqB,CAAC;QACjC,CAAC;QAED,IAAI,IAAA,wBAAW,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9E,MAAM,eAAe,GAAG,IAAA,qCAA2B,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE;gBACvC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;aACnF;SAEJ;aAAM;YACH,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE;QAED,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE;YACxD,MAAM,UAAU,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;YAClE,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAC9B,IAAI,0BAA0B,GAAG,EAAE,CAAC;YACpC,IAAI,CAAA,MAAA,MAAM,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,IAAI,CAAA,MAAA,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,WAAW,EAAE,MAAK,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBACrI,oBAAoB,GAAG,GAAG,CAAC,MAAA,MAAM,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;aAC3F;YACD,IAAI,oBAAoB,EAAE;gBACtB,cAAc,GAAG,GAAG,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;gBACpE,0BAA0B,GAAG,GAAG,oBAAoB,IAAI,UAAU,EAAE,CAAC;aACxE;YAED,SAAS,CAAC,IAAI,CAAC;gBACX,gBAAgB,EAAE,UAAU;gBAC5B,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,cAAc;gBAC7B,0BAA0B,EAAE,0BAA0B,CAAC,uDAAuD;aACjH,CAAC,CAAC;SACN;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAQD,cAAc,CAAC,KAAY;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC1D,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBACvC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACnD,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;oBACtC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/B;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,eAAe,CAAC,KAAY;;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC/C;QACD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAE7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsH,CAAC;QAGxJ,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,IAAa,EAAE,SAAyB,EAAE,EAAE;;YAC7F,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,gEAAgD,CAAC,CAAC;YAClI,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,IAAI,iBAAiB,IAAI,YAAY,IAAI,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChF,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,EAAE;oBACX,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;oBAC3D,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBACpD,IAAI,QAAQ,EAAE;wBACV,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBAC1B;iBACJ;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;oBACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC1D;gBACD,IAAI,iBAAiB,EAAE;oBACnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,mBAAmB,0CAAG,CAAC,CAAC,CAAC;oBAC5D,IAAI,MAAM,EAAE;wBACR,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC;wBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC;wBAClE,IAAI,QAAQ,GAAc;4BACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;4BAC9C,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;4BAC9B,KAAK,iCAAyB;yBACjC,CAAC;wBACF,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;4BAC/D,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;yBACpD;qBACJ;iBACJ;gBACD,KAAK,MAAM,kBAAkB,IAAI,SAAS,CAAC,UAAU,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE;wBAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;qBAC5D;iBACJ;gBACD,IAAI,YAAY,EAAE;oBACd,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,4BAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/D;aACJ;QACL,CAAC,CAAC;QAEF,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;;YAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;gBAEjE,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;oBACrD,IAAI,IAAA,4BAAe,EAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBACxC,SAAS;qBACZ;oBACD,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;iBACxD;aACJ;YAED,uDAAuD;YACvD,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC1E,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;oBACrD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBACzC,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,0CAAE,YAAY,CAAqB,iCAAoB,CAAC,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;oBACpK,MAAM,QAAQ,GAAG,IAAA,yCAAyB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBAEvE,iBAAiB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,OAAO,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE;YAC/B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE;gBACrE,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBAClC,oDAAoD;oBACpD,IAAI,MAAA,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAI,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;wBAC9F,UAAU,EAAE,CAAC;qBAChB;iBACJ;gBACD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE;oBACnC,4BAA4B;oBAC5B,uBAAuB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;oBAClG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACzC,WAAW,GAAG,IAAI,CAAC;iBACtB;aACJ;YACD,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM;aACT;SACJ;QAED,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,KAAY;;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEnD,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;YAEhE,oCAAoC;YACpC,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBACvJ,gDAAgD;gBAChD,SAAS;aACZ;YACD,IAAI,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,CAAA,MAAA,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,UAAU,CAAA,EAAE;oBACjD,IAAI,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBACtE,IAAI,CAAC,qBAAqB,EAAE;wBACxB,qBAAqB,GAAG,IAAI,GAAG,EAAoE,CAAC;wBACpG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;qBACpE;oBACD,qBAAqB,CAAC,GAAG,CAAC;wBACtB,KAAK,EAAE,KAAK;wBACZ,UAAU,EAAE,WAAW,CAAC,IAAI;wBAC5B,cAAc,EAAE,WAAW,CAAC,MAAM;qBACrC,CAAC,CAAC;iBACN;aACJ;iBAAM;gBACH,IAAI,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAE/D,IAAI,cAAc,EAAE;oBAChB,iFAAiF;oBACjF,qEAAqE;iBACxE;qBAAM;oBACH,uBAAuB;oBACvB,MAAM,OAAO,qBAAQ,gBAAgB,CAAE,CAAC;oBACxC,IAAI,aAAa,GAAG,YAAY,CAAC;oBACjC,IAAI,gBAAgB,CAAC;oBACrB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE;wBACxC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;4BACxB,kGAAkG;4BAClG,iCAAiC;4BACjC,MAAM,UAAU,GAAG,MAAA,MAAC,UAAU,CAAC,IAAsB,0CAAE,QAAQ,mCAAI,UAAU,CAAC,IAAI,CAAC;4BACnF,IAAI,CAAC,gBAAgB,EAAE;gCACnB,aAAa,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,uBAAuB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;6BAE7E;4BACD,IAAI,aAAa,EAAE;gCACf,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;6BAChC;iCAAM;gCACH,IAAI,gBAAgB,EAAE;oCAClB,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,gCAAwB,EAAE,CAAC,CAAC;iCACzG;qCAAM;oCACH,gBAAgB,GAAG,MAAA,MAAA,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;iCACrF;gCAED,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,EAAE,EAAE;oCAClC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;iCAChC;qCAAM;oCACH,MAAM;iCACT;6BACJ;yBACJ;qBACJ;oBACD,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;iBACxC;aACJ;SACJ;QACD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC5E,CAAC;IAED,uBAAuB,CAAC,IAAa;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACtC;SACJ;IACL,CAAC;IAED,yBAAyB,CAAC,MAAe;QACrC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACnE,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE;gBACzC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;oBACpD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChC;aACJ;YACD,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACtC;SACJ;IACL,CAAC;IAED,8BAA8B,CAAC,MAAe,EAAE,cAAgD;QAC5F,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAW,CAAC;QACrD,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAW,CAAC;QAE1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACjF,OAAO;iBACV;gBACD,IAAI,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACxE,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO;iBACV;gBACD,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACN;QACD,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED,+BAA+B,CAAC,MAAe,EAAE,cAAgD;QAC7F,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAS,CAAC;QACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAW,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACxE,OAAO;iBACV;gBACD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE9B,IAAI,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACxE,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACzC;YACL,CAAC,CAAC,CAAC;SACN;QACD,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAED,kBAAkB;;QACd,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,wBAAwB;QACxB,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,kCAA0B,0CAAG,CAAC,CAAC,CAAC;YAC/G,IAAI,eAAe,IAAI,SAAS,EAAE;gBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;aACvF;SACJ;IACL,CAAC;IAED,uBAAuB,CAAC,MAAe;;QACnC,MAAM,6BAA6B,GAAG,IAAI,CAAC;QAC3C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAgC,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAEvC,iDAAiD;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC;gBACnC,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE,gCAAgC;aACxC,CAAC,CAAC;YAEH,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,6BAA6B,EAAE;gBAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;oBACpD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;wBAElB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;4BAE3B,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,0CAAE,YAAY,CAAC;4BAClD,IAAI,CAAC,QAAQ,EAAE;gCACX,SAAS;6BACZ;4BACD,IAAI,QAAQ,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;4BACjC,MAAM,iBAAiB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAqB,iCAAoB,CAAC,CAAC;4BAE3F,IAAI,iBAAiB,EAAE;gCACnB,QAAQ,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC;6BACnF;4BAED,MAAM,gBAAgB,GAAG,MAAA,WAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mCAAI,MAAM,CAAC;4BAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACxC,IAAI,CAAC,KAAK,CAAC,EAAE;oCACT,SAAS;iCACZ;gCACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gCAChC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;oCAChD,SAAS;iCACZ;gCAED,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,CAAC;gCAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;gCAE1D,IAAI,IAAA,gCAAmB,EAAC,QAAQ,CAAC,IAAI,IAAA,gCAAmB,EAAC,aAAa,CAAC,EAAE;oCACrE,oDAAoD;oCACpD,SAAS;iCACZ;gCACD,IAAI,aAAa;oCACb,CAAC,IAAA,iCAAoB,EAAC,QAAQ,CAAC;wCAC3B,IAAA,4BAAe,EAAC,QAAQ,CAAC;wCACzB,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC,EAAE;oCACjC,+CAA+C;oCAC/C,SAAS;iCACZ;gCACD,IAAI,QAAQ,GAAG,MAAA,SAAS,CAAC,MAAM,0CAAE,IAAI,CAAC;gCAEtC,IAAI,aAAa,EAAE;oCACf,MAAM,sBAAsB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAqB,iCAAoB,CAAC,CAAC;oCACrG,IAAI,sBAAsB,EAAE;wCACxB,QAAQ,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC;qCACxF;iCACJ;gCAID,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAA,WAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,mCAAI,MAAM,CAAC;gCAClH,IAAI,aAAa,GAAG,MAAA,MAAA,MAAA,MAAC,QAA4B,aAA5B,QAAQ,uBAAR,QAAQ,CAAsB,MAAM,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,KAAK,CAAC;gCAC7G,IAAI,aAAa,GAAG,MAAA,MAAA,MAAA,MAAC,aAAiC,aAAjC,aAAa,uBAAb,aAAa,CAAsB,MAAM,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,0CAAE,KAAK,CAAC;gCAExH,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wCACxC,OAAO,EAAE,GAAG,gBAAgB,gBAAgB;wCAC5C,QAAQ,EAAE,WAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;qCAC5E,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACf,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,uCAAkB,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,KACjF,QAAQ,EAAE,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EACpE,kBAAkB,EAAE,kBAAkB,KACvC;oCACC,KAAK,EAAE,KAAK;oCACZ,IAAI,EAAE,CAAC,gCAAgC,CAAC;iCAC3C,CAAC,CAAC;6BACN;yBACJ;qBACJ;iBACJ;aACJ;YACD,6EAA6E;YAC7E,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBAExC,IAAI,uBAAuB,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtE,IAAI,CAAC,uBAAuB,EAAE;oBAC1B,uBAAuB,GAAG,IAAI,GAAG,EAAS,CAAC;oBAC3C,oBAAoB,CAAC,GAAG,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;iBACpE;gBACD,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACtC;SACJ;QAED,wDAAwD;QACxD,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE;YAC9D,MAAM,eAAe,GAAG,WAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,KAC/D,QAAQ,EAAE,eAAe,CAAC,QAAQ,KACnC;oBACC,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,CAAC,gCAAgC,CAAC;iBAC3C,CAAC,CAAC;aACN;SACJ;QAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,gCAAgC,EAAE,EAAE;YAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;YACzD,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC7B,MAAM,eAAe,GAAG,WAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,uCAAkB,CAAC,4BAA4B,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KACxG,QAAQ,EAAE,eAAe,CAAC,QAAQ,KACnC;oBACC,IAAI,EAAE,CAAC,gCAAgC,CAAC;iBAC3C,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAED,gCAAgC;QAC5B,MAAM,uBAAuB,GAAG,IAAI,KAAK,EAAgE,CAAC;QAC1G,iGAAiG;QACjG,KAAK,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACrE,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC5B,6CAA6C;gBAC7C,SAAS;aACZ;YACD,MAAM,eAAe,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAS,CAAC;YAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gBACnD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAE5D,uBAAuB;gBACvB,IAAI,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;oBACpD,8DAA8D;iBACjE;qBAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;oBACpE,2EAA2E;oBAC3E,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC;iBAC/C;qBAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;oBACpE,iEAAiE;iBACpE;qBAAM;oBACH,wEAAwE;oBACxE,IAAI,CAAC,UAAU,EAAE;wBACb,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,UAAU,GAAG,IAAI,CAAC;qBACrB;oBACD,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACpD;aACJ;YAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC7B,uBAAuB,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,MAAM;oBACd,kBAAkB,EAAE,kBAAkB;iBACzC,CAAC,CAAC;aACN;SACJ;QACD,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEO,uBAAuB,CAAC,KAAY,EAAE,gBAAkC,EAAE,eAAuC;;QACrH,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,0CAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,MAAA,eAAe,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACpE,IAAI,qBAAqB,CAAC,mBAAmB,EAAE;gBAC3C,IAAI,gBAAgB,GAAG,WAAI,CAAC,oCAAoC,CAAC,qBAAqB,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxH,OAAO,uCAAkB,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;aACzE;SACJ;QAED,IAAI,IAAA,6BAAgB,EAAC,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,CAAA,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,MAAM,MAAK,eAAe,CAAC,OAAO,EAAE;YACzH,OAAO,uCAAkB,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;SAChK;QACD,OAAO,uCAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC7J,CAAC;IAEO,uBAAuB,CAAC,QAAsB,EAAE,eAAuC;QAC3F,IAAI,eAAe,CAAC,kBAAkB,KAAK,yBAAW,CAAC,aAAa,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA,EAAE;YAChI,OAAO,WAAW,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AAlhBD,kDAkhBC"}
1
+ {"version":3,"file":"CrossScopeValidator.js","sourceRoot":"","sources":["../src/CrossScopeValidator.ts"],"names":[],"mappings":";;;AAGA,6DAA0D;AAE1D,iCAA8B;AAG9B,sDAAgQ;AAEhQ,yDAAkE;AAElE,qDAAkD;AAClD,6CAA8D;AAI9D,4CAA4C;AAC5C,uDAA+C;AAiB/C,MAAM,gCAAgC,GAAG,qBAAqB,CAAC;AAE/D,MAAa,YAAY;IAKrB,YAAmB,MAAc,EAAE,EAAU,aAA2C;QAArE,QAAG,GAAH,GAAG,CAAa;QAAU,kBAAa,GAAb,aAAa,CAA8B;QAHxF,eAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC7C,YAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEgD,CAAC;IAG7F,cAAc,CAAC,UAA4B;;QACvC,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,mCAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,mCAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,0BAA0B,CAAC,mCACrD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,SAAS,CAAC,UAAkB;;QACxB,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;SACV;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,GAAG,CAAC,eAAe,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SAClD;QACD,IAAI,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,CAAC,aAAqB;QAC9B,IAAI,oBAAoB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB,CAAC,oBAA8B,EAAE,IAAkB;;QACnE,MAAM,KAAK,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAErC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE;oBAClC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;oBAC1C,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE;wBAC3B,WAAW,GAAG,UAAU,CAAC;qBAC5B;yBAAM,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;wBACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;wBACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACxB,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;yBACxD;6BAAM;4BACH,WAAW,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAChD,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;yBAC9C;qBACJ;iBACJ;gBACD,IAAI,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,IAAA,uBAAU,EAAC,WAAW,CAAC,EAAE;oBACzB,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;iBAClD;gBACD,IAAI,IAAA,8BAAiB,EAAC,WAAW,CAAC,EAAE;oBAChC,IAAI,eAAe,GAAG,WAAW,CAAC;oBAClC,OAAO,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,EAAE;wBAChC,IAAI,UAAU,GAAG,eAAe,CAAC,UAAqB,CAAC;wBACvD,IAAI,IAAA,4BAAe,EAAC,eAAe,CAAC,UAAU,CAAC,EAAE;4BAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;4BACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACxB,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;6BACvD;iCAAM;gCACH,UAAU,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAC/C,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;6BAC9C;yBACJ;wBACD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC5B,eAAe,GAAG,UAA6B,CAAC;qBACnD;iBAEJ;gBACD,MAAM,SAAS,GAAG,EAAE,CAAC;gBAErB,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;oBAC9B,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,gCAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACnG,IAAI,IAAA,4BAAe,EAAC,WAAW,CAAC,EAAE;wBAC9B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;wBAC1C,WAAW,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,mCAAI,MAAA,MAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;qBACtI;oBACD,IAAI,WAAW,EAAE;wBACb,MAAM;qBACT;iBACJ;gBAED,IAAI,CAAC,WAAW,EAAE;oBACd,OAAO;iBACV;gBACD,sBAAsB;gBACtB,MAAM,mCACC,MAAM,KAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,gCAAwB,EAAE,GAC3G,CAAC;aACL;YACD,OAAO,MAAM,CAAC;SAEjB;aAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEpD,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED,uBAAuB,CAAC,oBAA8B;;QAClD,MAAM,KAAK,GAAG,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED,SAAS,CAAC,UAAkB,EAAE,UAA0B;QACpD,IAAI,oBAAoB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAEO,oBAAoB,CAAC,oBAA8B,EAAE,UAA0B;;QACnF,MAAM,KAAK,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,IAAG,CAAC,EAAE;YAClB,4BAA4B;YAC5B,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,EAAE;gBAChB,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;aAC7C;YACD,OAAO,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SAC/D;aAAM;YACH,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC5B,kFAAkF;gBAClF,OAAO,IAAI,CAAC;aACf;YAED,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aACvC;iBAAM;gBACH,WAAW,GAAG,CAAA,MAAA,kBAAkB,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,OAAK,MAAA,UAAU,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,CAAA,CAAC;aACvG;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AA/JD,oCA+JC;AAGD,MAAa,mBAAmB;IAE5B,YAAmB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAuDnC,mBAAc,GAAG,IAAI,GAAG,EAA2F,CAAC;QACpH,oBAAe,GAAG,IAAI,GAAG,EAA2F,CAAC;QAG7G,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IA3DnB,CAAC;IAEhC,aAAa,CAAC,MAAwB;;QAC1C,IAAI,SAAS,GAAG,IAAI,KAAK,EAAoB,CAAC;QAC9C,IAAI,sBAAsB,GAAa,EAAE,CAAC;QAE1C,SAAS,mBAAmB,CAAC,SAA2B,EAAE,SAAmB;YACzE,SAAS,KAAT,SAAS,GAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC;YAChC,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnD,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,IAAI,IAAA,4BAAe,EAAC,SAAS,CAAC,EAAE;wBAC5B,OAAO,SAAS,CAAC,QAAQ,CAAC;qBAC7B;yBAAM,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;wBACrC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;qBAC9B;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC;iBACnB;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,qBAAqB,CAAC;QACjC,CAAC;QAED,IAAI,IAAA,wBAAW,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9E,MAAM,eAAe,GAAG,IAAA,qCAA2B,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9E,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE;gBACvC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;aACnF;SAEJ;aAAM;YACH,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE;QAED,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE;YACxD,MAAM,UAAU,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;YAClE,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAC9B,IAAI,0BAA0B,GAAG,EAAE,CAAC;YACpC,IAAI,CAAA,MAAA,MAAM,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,IAAI,CAAA,MAAA,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC,WAAW,EAAE,MAAK,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBACrI,oBAAoB,GAAG,GAAG,CAAC,MAAA,MAAM,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;aAC3F;YACD,IAAI,oBAAoB,EAAE;gBACtB,cAAc,GAAG,GAAG,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;gBACpE,0BAA0B,GAAG,GAAG,oBAAoB,IAAI,UAAU,EAAE,CAAC;aACxE;YAED,SAAS,CAAC,IAAI,CAAC;gBACX,gBAAgB,EAAE,UAAU;gBAC5B,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,cAAc;gBAC7B,0BAA0B,EAAE,0BAA0B,CAAC,uDAAuD;aACjH,CAAC,CAAC;SACN;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAQD,cAAc,CAAC,KAAY;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC1D,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBACvC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACnD,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;oBACtC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC/B;aACJ;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,eAAe,CAAC,KAAY;;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC/C;QACD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,aAAa,GAAqC,IAAI,CAAC;QAE3D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsH,CAAC;QAGxJ,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,IAAa,EAAE,SAAyB,EAAE,EAAE;;YAC7F,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,gEAAgD,CAAC,CAAC;YAClI,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,IAAI,iBAAiB,IAAI,YAAY,IAAI,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChF,IAAI,QAAQ,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC;gBACtD,IAAI,CAAC,QAAQ,EAAE;oBACX,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;oBAC3D,IAAI,CAAC,aAAa,EAAE;wBAChB,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;qBAC1D;oBACD,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBACpD,IAAI,QAAQ,EAAE;wBACV,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBAC1B;iBACJ;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;oBACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC1D;gBACD,IAAI,iBAAiB,EAAE;oBACnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,mBAAmB,0CAAG,CAAC,CAAC,CAAC;oBAC5D,IAAI,MAAM,EAAE;wBACR,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC;wBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC;wBAClE,IAAI,QAAQ,GAAc;4BACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;4BAC9C,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;4BAC9B,KAAK,iCAAyB;yBACjC,CAAC;wBACF,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;4BAC/D,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;yBACpD;qBACJ;iBACJ;gBACD,KAAK,MAAM,kBAAkB,IAAI,SAAS,CAAC,UAAU,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE;wBAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;qBAC5D;iBACJ;gBACD,IAAI,YAAY,EAAE;oBACd,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,4BAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC/D;aACJ;QACL,CAAC,CAAC;QAEF,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;;YAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE;gBAEjE,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;oBACrD,IAAI,IAAA,4BAAe,EAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBACxC,SAAS;qBACZ;oBACD,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;iBACxD;aACJ;YAED,uDAAuD;YACvD,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBAC1E,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;oBACrD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBACzC,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,0CAAE,YAAY,CAAqB,iCAAoB,CAAC,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;oBACpK,MAAM,QAAQ,GAAG,IAAA,yCAAyB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBAEvE,iBAAiB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,OAAO,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE;YAC/B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE;gBACrE,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBAClC,oDAAoD;oBACpD,IAAI,MAAA,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAI,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;wBAC9F,UAAU,EAAE,CAAC;qBAChB;iBACJ;gBACD,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE;oBACnC,4BAA4B;oBAC5B,uBAAuB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;oBAClG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBACzC,WAAW,GAAG,IAAI,CAAC;iBACtB;aACJ;YACD,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM;aACT;SACJ;QAED,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,KAAY;;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEnD,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;YAEhE,oCAAoC;YACpC,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBACvJ,gDAAgD;gBAChD,SAAS;aACZ;YACD,IAAI,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,CAAA,MAAA,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,UAAU,CAAA,EAAE;oBACjD,IAAI,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBACtE,IAAI,CAAC,qBAAqB,EAAE;wBACxB,qBAAqB,GAAG,IAAI,GAAG,EAAoE,CAAC;wBACpG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;qBACpE;oBACD,qBAAqB,CAAC,GAAG,CAAC;wBACtB,KAAK,EAAE,KAAK;wBACZ,UAAU,EAAE,WAAW,CAAC,IAAI;wBAC5B,cAAc,EAAE,WAAW,CAAC,MAAM;qBACrC,CAAC,CAAC;iBACN;aACJ;iBAAM;gBACH,IAAI,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAE/D,IAAI,cAAc,EAAE;oBAChB,iFAAiF;oBACjF,qEAAqE;iBACxE;qBAAM;oBACH,uBAAuB;oBACvB,MAAM,OAAO,qBAAQ,gBAAgB,CAAE,CAAC;oBACxC,IAAI,aAAa,GAAG,YAAY,CAAC;oBACjC,IAAI,gBAAgB,CAAC;oBACrB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE;wBACxC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;4BACxB,kGAAkG;4BAClG,iCAAiC;4BACjC,MAAM,UAAU,GAAG,MAAA,MAAC,UAAU,CAAC,IAAsB,0CAAE,QAAQ,mCAAI,UAAU,CAAC,IAAI,CAAC;4BACnF,IAAI,CAAC,gBAAgB,EAAE;gCACnB,aAAa,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,uBAAuB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;6BAE7E;4BACD,IAAI,aAAa,EAAE;gCACf,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;6BAChC;iCAAM;gCACH,IAAI,gBAAgB,EAAE;oCAClB,gBAAgB,GAAG,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,gCAAwB,EAAE,CAAC,CAAC;iCACzG;qCAAM;oCACH,gBAAgB,GAAG,MAAA,MAAA,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,0CAAE,IAAI,CAAC;iCACrF;gCAED,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,YAAY,EAAE,EAAE;oCAClC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;iCAChC;qCAAM;oCACH,MAAM;iCACT;6BACJ;yBACJ;qBACJ;oBACD,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;iBACxC;aACJ;SACJ;QACD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC5E,CAAC;IAED,uBAAuB,CAAC,IAAa;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACtC;SACJ;IACL,CAAC;IAED,yBAAyB,CAAC,MAAe;QACrC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACnE,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE;gBACzC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;oBACpD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChC;aACJ;YACD,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACtC;SACJ;IACL,CAAC;IAED,8BAA8B,CAAC,MAAe,EAAE,cAAgD;QAC5F,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAW,CAAC;QACrD,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAW,CAAC;QAE1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACjF,OAAO;iBACV;gBACD,IAAI,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACxE,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,OAAO;iBACV;gBACD,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACN;QACD,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED,+BAA+B,CAAC,MAAe,EAAE,cAAgD;QAC7F,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAS,CAAC;QACpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAW,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACxE,OAAO;iBACV;gBACD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE9B,IAAI,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE;oBACxE,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACzC;YACL,CAAC,CAAC,CAAC;SACN;QACD,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAED,kBAAkB;;QACd,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,wBAAwB;QACxB,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,kCAA0B,0CAAG,CAAC,CAAC,CAAC;YAC/G,IAAI,eAAe,IAAI,SAAS,EAAE;gBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;aACvF;SACJ;IACL,CAAC;IAED,uBAAuB,CAAC,MAAe;;QACnC,MAAM,6BAA6B,GAAG,IAAI,CAAC;QAC3C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAgC,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAEvC,iDAAiD;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC;gBACnC,KAAK,EAAE,KAAK;gBACZ,GAAG,EAAE,gCAAgC;aACxC,CAAC,CAAC;YAEH,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,6BAA6B,IAAI,aAAa,EAAE;gBAChD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;oBACpD,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;wBAElB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;wBAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;4BAE3B,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,IAAI,0CAAE,YAAY,CAAC;4BAClD,IAAI,CAAC,QAAQ,EAAE;gCACX,SAAS;6BACZ;4BACD,IAAI,QAAQ,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC;4BACjC,MAAM,iBAAiB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAqB,iCAAoB,CAAC,CAAC;4BAE3F,IAAI,iBAAiB,EAAE;gCACnB,QAAQ,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC;6BACnF;4BAED,MAAM,gBAAgB,GAAG,MAAA,WAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,mCAAI,MAAM,CAAC;4BAEzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACxC,IAAI,CAAC,KAAK,CAAC,EAAE;oCACT,SAAS;iCACZ;gCACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gCAChC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE;oCAChD,SAAS;iCACZ;gCAED,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,IAAI,0CAAE,YAAY,CAAC;gCAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;gCAE1D,IAAI,IAAA,gCAAmB,EAAC,QAAQ,CAAC,IAAI,IAAA,gCAAmB,EAAC,aAAa,CAAC,EAAE;oCACrE,oDAAoD;oCACpD,SAAS;iCACZ;gCACD,IAAI,aAAa;oCACb,CAAC,IAAA,iCAAoB,EAAC,QAAQ,CAAC;wCAC3B,IAAA,4BAAe,EAAC,QAAQ,CAAC;wCACzB,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC,EAAE;oCACjC,+CAA+C;oCAC/C,SAAS;iCACZ;gCACD,IAAI,QAAQ,GAAG,MAAA,SAAS,CAAC,MAAM,0CAAE,IAAI,CAAC;gCAEtC,IAAI,aAAa,EAAE;oCACf,MAAM,sBAAsB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAqB,iCAAoB,CAAC,CAAC;oCACrG,IAAI,sBAAsB,EAAE;wCACxB,QAAQ,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC;qCACxF;iCACJ;gCAID,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAA,WAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,mCAAI,MAAM,CAAC;gCAClH,IAAI,aAAa,GAAG,MAAA,MAAA,MAAA,MAAC,QAA4B,aAA5B,QAAQ,uBAAR,QAAQ,CAAsB,MAAM,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,KAAK,CAAC;gCAC7G,IAAI,aAAa,GAAG,MAAA,MAAA,MAAA,MAAC,aAAiC,aAAjC,aAAa,uBAAb,aAAa,CAAsB,MAAM,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,0CAAE,KAAK,CAAC;gCAExH,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wCACxC,OAAO,EAAE,GAAG,gBAAgB,gBAAgB;wCAC5C,QAAQ,EAAE,WAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;qCAC5E,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACf,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,uCAAkB,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,KACjF,QAAQ,EAAE,WAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EACpE,kBAAkB,EAAE,kBAAkB,KACvC;oCACC,KAAK,EAAE,KAAK;oCACZ,IAAI,EAAE,CAAC,gCAAgC,CAAC;iCAC3C,CAAC,CAAC;6BACN;yBACJ;qBACJ;iBACJ;aACJ;YACD,6EAA6E;YAC7E,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBAExC,IAAI,uBAAuB,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACtE,IAAI,CAAC,uBAAuB,EAAE;oBAC1B,uBAAuB,GAAG,IAAI,GAAG,EAAS,CAAC;oBAC3C,oBAAoB,CAAC,GAAG,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;iBACpE;gBACD,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACtC;SACJ;QAED,wDAAwD;QACxD,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE;YAC9D,MAAM,eAAe,GAAG,WAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhE,gFAAgF;YAChF,yEAAyE;YACzE,IAAI,eAAe,CAAC,QAAQ,IAAI,WAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;gBAC1E,SAAS;aACZ;YAED,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,KAC/D,QAAQ,EAAE,eAAe,CAAC,QAAQ,KACnC;oBACC,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,CAAC,gCAAgC,CAAC;iBAC3C,CAAC,CAAC;aACN;SACJ;QAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,gCAAgC,EAAE,EAAE;YAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACjC,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;YACzD,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC7B,MAAM,eAAe,GAAG,WAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,iCAC1B,uCAAkB,CAAC,4BAA4B,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KACxG,QAAQ,EAAE,eAAe,CAAC,QAAQ,KACnC;oBACC,IAAI,EAAE,CAAC,gCAAgC,CAAC;iBAC3C,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAED,gCAAgC;QAC5B,MAAM,uBAAuB,GAAG,IAAI,KAAK,EAAgE,CAAC;QAC1G,iGAAiG;QACjG,KAAK,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACrE,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC5B,6CAA6C;gBAC7C,SAAS;aACZ;YACD,MAAM,eAAe,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAS,CAAC;YAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gBACnD,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAE5D,uBAAuB;gBACvB,IAAI,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;oBACpD,8DAA8D;iBACjE;qBAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;oBACpE,2EAA2E;oBAC3E,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC;iBAC/C;qBAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;oBACpE,iEAAiE;iBACpE;qBAAM;oBACH,wEAAwE;oBACxE,IAAI,CAAC,UAAU,EAAE;wBACb,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,UAAU,GAAG,IAAI,CAAC;qBACrB;oBACD,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACpD;aACJ;YAED,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC7B,uBAAuB,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,MAAM;oBACd,kBAAkB,EAAE,kBAAkB;iBACzC,CAAC,CAAC;aACN;SACJ;QACD,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEO,uBAAuB,CAAC,KAAY,EAAE,gBAAkC,EAAE,eAAuC;;QACrH,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,0CAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,MAAA,eAAe,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC7B,MAAM,qBAAqB,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACpE,IAAI,qBAAqB,CAAC,mBAAmB,EAAE;gBAC3C,IAAI,gBAAgB,GAAG,WAAI,CAAC,oCAAoC,CAAC,qBAAqB,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;gBACxH,OAAO,uCAAkB,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;aACzE;SACJ;QAED,IAAI,IAAA,6BAAgB,EAAC,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,CAAA,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,MAAM,MAAK,eAAe,CAAC,OAAO,EAAE;YACzH,OAAO,uCAAkB,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;SAChK;QACD,OAAO,uCAAkB,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC7J,CAAC;IAEO,uBAAuB,CAAC,QAAsB,EAAE,eAAuC;QAC3F,IAAI,eAAe,CAAC,kBAAkB,KAAK,yBAAW,CAAC,aAAa,KAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA,EAAE;YAChI,OAAO,WAAW,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AA3hBD,kDA2hBC"}
@@ -55,6 +55,7 @@ export declare class DiagnosticManager {
55
55
  * Determine whether this diagnostic should be supressed or not, based on brs comment-flags
56
56
  */
57
57
  isDiagnosticSuppressed(diagnostic: BsDiagnostic): boolean;
58
+ private doesCodeListIncludeCode;
58
59
  private filterDiagnostics;
59
60
  clear(): void;
60
61
  clearForFile(fileSrcPath: string): void;
@@ -8,6 +8,7 @@ const DiagnosticFilterer_1 = require("./DiagnosticFilterer");
8
8
  const DiagnosticSeverityAdjuster_1 = require("./DiagnosticSeverityAdjuster");
9
9
  const chalk_1 = require("chalk");
10
10
  const logging_1 = require("./logging");
11
+ const DiagnosticMessages_1 = require("./DiagnosticMessages");
11
12
  /**
12
13
  * Manages all diagnostics for a program.
13
14
  * Diagnostics can be added specific to a certain file/range and optionally scope or an AST node
@@ -154,23 +155,38 @@ class DiagnosticManager {
154
155
  * Determine whether this diagnostic should be supressed or not, based on brs comment-flags
155
156
  */
156
157
  isDiagnosticSuppressed(diagnostic) {
157
- var _a, _b, _c, _d, _e, _f, _g;
158
+ var _a, _b, _c, _d, _e, _f;
158
159
  const diagnosticCode = typeof diagnostic.code === 'string' ? diagnostic.code.toLowerCase() : (_b = (_a = diagnostic.code) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : undefined;
159
160
  const diagnosticLegacyCode = typeof diagnostic.legacyCode === 'string' ? diagnostic.legacyCode.toLowerCase() : diagnostic.legacyCode;
160
161
  const file = (_c = this.program) === null || _c === void 0 ? void 0 : _c.getFile((_d = diagnostic.location) === null || _d === void 0 ? void 0 : _d.uri);
162
+ if (diagnosticCode === DiagnosticMessages_1.DiagnosticCodeMap.unknownDiagnosticCode) {
163
+ return false;
164
+ }
161
165
  for (let flag of (_e = file === null || file === void 0 ? void 0 : file.commentFlags) !== null && _e !== void 0 ? _e : []) {
162
- //this diagnostic is affected by this flag
163
- if (diagnostic.location.range && util_1.util.rangeContains(flag.affectedRange, diagnostic.location.range.start)) {
164
- //if the flag acts upon this diagnostic's code
165
- const diagCodeSuppressed = (diagnosticCode !== undefined && ((_f = flag.codes) === null || _f === void 0 ? void 0 : _f.includes(diagnosticCode))) ||
166
- (diagnosticLegacyCode !== undefined && ((_g = flag.codes) === null || _g === void 0 ? void 0 : _g.includes(diagnosticLegacyCode)));
167
- if (flag.codes === null || diagCodeSuppressed) {
168
- return true;
169
- }
166
+ if (!((_f = diagnostic.location) === null || _f === void 0 ? void 0 : _f.range) || !util_1.util.rangeContains(flag.affectedRange, diagnostic.location.range.start)) {
167
+ continue;
168
+ }
169
+ //if this flag explicitly re-enables the code, it's not suppressed here, keep looking
170
+ const isEnabled = flag.enableCodes === null || this.doesCodeListIncludeCode(flag.enableCodes, diagnosticCode, diagnosticLegacyCode);
171
+ if (isEnabled) {
172
+ continue;
173
+ }
174
+ //if this flag disables the code, it's suppressed
175
+ const isDisabled = flag.codes === null || this.doesCodeListIncludeCode(flag.codes, diagnosticCode, diagnosticLegacyCode);
176
+ if (isDisabled) {
177
+ return true;
170
178
  }
171
179
  }
172
180
  return false;
173
181
  }
182
+ doesCodeListIncludeCode(codes, code, legacyCode) {
183
+ const codeLower = typeof code === 'string' ? code.toLowerCase() : code.toString();
184
+ const legacyCodeLower = typeof legacyCode === 'string' ? legacyCode.toLowerCase() : legacyCode === null || legacyCode === void 0 ? void 0 : legacyCode.toString();
185
+ return codes === null || codes === void 0 ? void 0 : codes.some((c) => {
186
+ const cLower = typeof c === 'string' ? c.toLowerCase() : c.toString();
187
+ return cLower === codeLower || cLower === legacyCodeLower;
188
+ });
189
+ }
174
190
  filterDiagnostics(diagnostics) {
175
191
  var _a, _b;
176
192
  //filter out diagnostics based on our diagnostic filters
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticManager.js","sourceRoot":"","sources":["../src/DiagnosticManager.ts"],"names":[],"mappings":";;;AAGA,iCAA8B;AAC9B,mCAAgC;AAChC,sDAAmE;AAEnE,6DAA0D;AAC1D,6EAA0E;AAE1E,iCAA0B;AAE1B,uCAAmD;AAoBnD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAE1B,YAAY,OAAiE;;QAKrE,qBAAgB,GAAG,IAAI,aAAK,EAAkC,CAAC;QAE/D,uBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAE9C,uBAAkB,GAAG,IAAI,uDAA0B,EAAE,CAAC;QAUtD,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,WAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QACxC,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1C,eAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QArBjD,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAA,sBAAY,GAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;IAC1F,CAAC;IA4BM,QAAQ,CAAC,aAAyE,EAAE,OAA2B;;QAClH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrH,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE;YACtC,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC/F,MAAM,WAAW,GAAG,MAAC,cAAwC,aAAxC,cAAc,uBAAd,cAAc,CAA4B,OAAO,mCAAI,OAAO,CAAC;YAClF,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBAEvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;oBAChC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACtC;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,EAAE,UAAU,kBAAI,GAAG,EAAE,GAAG,IAAK,UAAU,CAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAqB,EAAE,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,kBAAkB,EAAE;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;aACpG;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,IAAI,WAAW,EAAE;gBACb,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAEO,SAAS,CAAC,UAA+B,EAAE,OAA2B;;QAC1E,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;aAC5C;YACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,CAAC,IAAI,EAAE;gBACd,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;qBACxC;oBACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAClD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBAC1C;gBACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACpD;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBACnD;gBACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,cAAc;;QACjB,MAAM,sBAAsB,GAAG,GAAG,EAAE;;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvD,MAAM,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;gBACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC,CAAC,mCAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE;;gBACpE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YAEH,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,4BAA4B,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,kBAAkB,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAElK,OAAO,mBAAmB,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE,sBAAsB,CAAC,mCAAI,sBAAsB,EAAE,CAAC;IACzI,CAAC;IAEO,2BAA2B;;QAC/B,MAAM,OAAO,GAAG,EAAyB,CAAC;QAC1C,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YAC3D,MAAM,UAAU,qBAAQ,gBAAgB,CAAC,UAAU,CAAE,CAAC;YACtD,MAAM,kBAAkB,GAAG,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAS,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACtD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrC;aACJ;YACD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;gBAChC,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,KAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;oBAC7C,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,uBAAuB,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,aAAa,0CAAE,IAAI,GAAG;wBACtE,QAAQ,EAAE,WAAI,CAAC,uBAAuB,CAClC,WAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAC,EACtC,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,GAAG,0CAAE,gBAAgB,0CAAE,YAAY,CAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,KAAK,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/H;qBACJ,CAAC,CAAC;iBACN;qBAAM;oBACH,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,GAAG;wBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAChC,CAAC,CAAC;iBACN;aAEJ;YACD,UAAU,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnD,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,CAAA,EAAE;gBAC3B,UAAU,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,qDAAG,gBAAgB,CAAC,CAAC;gBAChE,IAAI,UAAU,CAAC,QAAQ,EAAE;oBACrB,qGAAqG;oBACrG,UAAU,CAAC,OAAO,GAAG,GAAG,UAAU,CAAC,OAAO,gDAAgD,CAAC;iBAC9F;aACJ;YACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,UAAwB;;QAClD,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,QAAQ,EAAE,mCAAI,SAAS,CAAC;QACtI,MAAM,oBAAoB,GAAG,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACrI,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,CAAC,CAAC;QAE7D,KAAK,IAAI,IAAI,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,EAAE,EAAE;YACvC,0CAA0C;YAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACtG,8CAA8C;gBAC9C,MAAM,kBAAkB,GAAG,CAAC,cAAc,KAAK,SAAS,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,cAAc,CAAC,CAAA,CAAC;oBAC7F,CAAC,oBAAoB,KAAK,SAAS,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,kBAAkB,EAAE;oBAC3C,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,WAA2B;;QACjD,wDAAwD;QACxD,IAAI,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,iCACjD,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,KACrB,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,WAAmB;;QACnC,MAAM,cAAc,GAAG,MAAA,MAAA,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,0CAAE,WAAW,kDAAI,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC5D;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEM,aAAa,CAAC,KAAY;;QAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;oBACzB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAEM,eAAe,CAAC,OAAgB;;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC7B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,GAAW;;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,EAAE;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC5B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,WAAoB,EAAE,UAAoC,EAAE,yBAAsC,EAAE,iBAAiB,GAAG,KAAK;QACvJ,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,IAAI,KAAK,CAAC,EAAE;YACpE,OAAO,EAAE,CAAC;SACb;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAC/C,OAAO,yBAAyB,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,MAA+B;;QAEhD,MAAM,WAAW,GAAG;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;YACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;YACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;SAC5B,CAAC;QAEF,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1I,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9J,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3I,KAAK,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,EAAE;YACrD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE;oBAC5B,OAAO,GAAG,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC;iBAClD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE;oBAC9B,OAAO,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,MAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iBACvD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,MAAK,MAAM,CAAC,OAAO,CAAC;iBACzD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;iBAChD;gBAED,IAAI,OAAO,EAAE;oBACT,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAChE,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B,EAAE,QAA6B;;QAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,EAAE;gBAClC,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,MAAA,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAClC,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,oBAAoB,EAAE;oBACvB,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,sBAAsB,GAAG,KAAK,CAAC;gBACnC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;wBACtC,sBAAsB,GAAG,IAAI,CAAC;wBAC9B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,sBAAsB,EAAE;oBACzB,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpE;aACJ;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,wBAAwB,GAAG,KAAK,CAAC;gBACrC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;wBAC1C,wBAAwB,GAAG,IAAI,CAAC;wBAChC,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,wBAAwB,EAAE;oBAC3B,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B;;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;SAC7E;IACL,CAAC;IAGO,gBAAgB,CAAC,UAAwB;;QAC7C,OAAO,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,mCAAI,QAAQ,IAAI,WAAI,CAAC,aAAa,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,KAAK,CAAC,MAAM,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IACpJ,CAAC;IAEO,uBAAuB,CAAC,MAAsC,EAAE,MAAsC;QAC1G,SAAS,QAAQ,CAAC,WAAyC;;YACvD,OAAO,GAAG,WAAW,CAAC,OAAO,MAAM,MAAA,WAAW,CAAC,QAAQ,0CAAE,GAAG,MAAM,WAAI,CAAC,aAAa,CAAC,MAAA,WAAW,CAAC,QAAQ,0CAAE,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtI,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE;YACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnB;SACJ;IACL,CAAC;IAEM,gBAAgB,CAAC,IAAa;QACjC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAClD;QACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AA7aD,8CA6aC"}
1
+ {"version":3,"file":"DiagnosticManager.js","sourceRoot":"","sources":["../src/DiagnosticManager.ts"],"names":[],"mappings":";;;AAGA,iCAA8B;AAC9B,mCAAgC;AAChC,sDAAmE;AAEnE,6DAA0D;AAC1D,6EAA0E;AAE1E,iCAA0B;AAE1B,uCAAmD;AAGnD,6DAAyD;AAkBzD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAE1B,YAAY,OAAiE;;QAKrE,qBAAgB,GAAG,IAAI,aAAK,EAAkC,CAAC;QAE/D,uBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAE9C,uBAAkB,GAAG,IAAI,uDAA0B,EAAE,CAAC;QAUtD,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,WAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QACxC,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1C,eAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QArBjD,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAA,sBAAY,GAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,UAAU,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;IAC1F,CAAC;IA4BM,QAAQ,CAAC,aAAyE,EAAE,OAA2B;;QAClH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrH,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE;YACtC,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC/F,MAAM,WAAW,GAAG,MAAC,cAAwC,aAAxC,cAAc,uBAAd,cAAc,CAA4B,OAAO,mCAAI,OAAO,CAAC;YAClF,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBAEvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;oBAChC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACtC;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,EAAE,UAAU,kBAAI,GAAG,EAAE,GAAG,IAAK,UAAU,CAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAqB,EAAE,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,kBAAkB,EAAE;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;aACpG;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,IAAI,WAAW,EAAE;gBACb,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAEO,SAAS,CAAC,UAA+B,EAAE,OAA2B;;QAC1E,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;aAC5C;YACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,CAAC,IAAI,EAAE;gBACd,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;qBACxC;oBACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAClD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBAC1C;gBACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACpD;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBACnD;gBACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,cAAc;;QACjB,MAAM,sBAAsB,GAAG,GAAG,EAAE;;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvD,MAAM,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;gBACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC,CAAC,mCAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE;;gBACpE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YAEH,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,4BAA4B,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,kBAAkB,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAElK,OAAO,mBAAmB,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE,sBAAsB,CAAC,mCAAI,sBAAsB,EAAE,CAAC;IACzI,CAAC;IAEO,2BAA2B;;QAC/B,MAAM,OAAO,GAAG,EAAyB,CAAC;QAC1C,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YAC3D,MAAM,UAAU,qBAAQ,gBAAgB,CAAC,UAAU,CAAE,CAAC;YACtD,MAAM,kBAAkB,GAAG,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAS,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACtD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrC;aACJ;YACD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;gBAChC,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,KAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;oBAC7C,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,uBAAuB,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,aAAa,0CAAE,IAAI,GAAG;wBACtE,QAAQ,EAAE,WAAI,CAAC,uBAAuB,CAClC,WAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAC,EACtC,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,GAAG,0CAAE,gBAAgB,0CAAE,YAAY,CAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,KAAK,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/H;qBACJ,CAAC,CAAC;iBACN;qBAAM;oBACH,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,GAAG;wBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAChC,CAAC,CAAC;iBACN;aAEJ;YACD,UAAU,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnD,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,CAAA,EAAE;gBAC3B,UAAU,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,gBAAgB,qDAAG,gBAAgB,CAAC,CAAC;gBAChE,IAAI,UAAU,CAAC,QAAQ,EAAE;oBACrB,qGAAqG;oBACrG,UAAU,CAAC,OAAO,GAAG,GAAG,UAAU,CAAC,OAAO,gDAAgD,CAAC;iBAC9F;aACJ;YACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,UAAwB;;QAClD,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,QAAQ,EAAE,mCAAI,SAAS,CAAC;QACtI,MAAM,oBAAoB,GAAG,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACrI,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,cAAc,KAAK,sCAAiB,CAAC,qBAAqB,EAAE;YAC5D,OAAO,KAAK,CAAC;SAChB;QAED,KAAK,IAAI,IAAI,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,EAAE,EAAE;YAEvC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,KAAK,CAAA,IAAI,CAAC,WAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACzG,SAAS;aACZ;YACD,qFAAqF;YACrF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;YACpI,IAAI,SAAS,EAAE;gBACX,SAAS;aACZ;YAED,iDAAiD;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;YACzH,IAAI,UAAU,EAAE;gBACZ,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,KAAiC,EAAE,IAAiC,EAAE,UAAuC;QACzI,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClF,MAAM,eAAe,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAC;QAC3G,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB,CAAC,WAA2B;;QACjD,wDAAwD;QACxD,IAAI,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,iCACjD,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,KACrB,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,WAAmB;;QACnC,MAAM,cAAc,GAAG,MAAA,MAAA,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,0CAAE,WAAW,kDAAI,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC5D;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEM,aAAa,CAAC,KAAY;;QAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;oBACzB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAEM,eAAe,CAAC,OAAgB;;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC7B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,GAAW;;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,EAAE;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC5B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,WAAoB,EAAE,UAAoC,EAAE,yBAAsC,EAAE,iBAAiB,GAAG,KAAK;QACvJ,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,IAAI,KAAK,CAAC,EAAE;YACpE,OAAO,EAAE,CAAC;SACb;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAC/C,OAAO,yBAAyB,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,MAA+B;;QAEhD,MAAM,WAAW,GAAG;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;YACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;YACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;SAC5B,CAAC;QAEF,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1I,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9J,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3I,KAAK,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,EAAE;YACrD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE;oBAC5B,OAAO,GAAG,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC;iBAClD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE;oBAC9B,OAAO,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,MAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iBACvD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,MAAK,MAAM,CAAC,OAAO,CAAC;iBACzD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;iBAChD;gBAED,IAAI,OAAO,EAAE;oBACT,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAChE,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B,EAAE,QAA6B;;QAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,EAAE;gBAClC,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,MAAA,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAClC,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,oBAAoB,EAAE;oBACvB,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,sBAAsB,GAAG,KAAK,CAAC;gBACnC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;wBACtC,sBAAsB,GAAG,IAAI,CAAC;wBAC9B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,sBAAsB,EAAE;oBACzB,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpE;aACJ;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,wBAAwB,GAAG,KAAK,CAAC;gBACrC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;wBAC1C,wBAAwB,GAAG,IAAI,CAAC;wBAChC,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,wBAAwB,EAAE;oBAC3B,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B;;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;SAC7E;IACL,CAAC;IAGO,gBAAgB,CAAC,UAAwB;;QAC7C,OAAO,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,mCAAI,QAAQ,IAAI,WAAI,CAAC,aAAa,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,KAAK,CAAC,MAAM,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IACpJ,CAAC;IAEO,uBAAuB,CAAC,MAAsC,EAAE,MAAsC;QAC1G,SAAS,QAAQ,CAAC,WAAyC;;YACvD,OAAO,GAAG,WAAW,CAAC,OAAO,MAAM,MAAA,WAAW,CAAC,QAAQ,0CAAE,GAAG,MAAM,WAAI,CAAC,aAAa,CAAC,MAAA,WAAW,CAAC,QAAQ,0CAAE,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtI,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE;YACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnB;SACJ;IACL,CAAC;IAEM,gBAAgB,CAAC,IAAa;QACjC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAClD;QACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AAhcD,8CAgcC"}
@@ -93,9 +93,12 @@ export declare let DiagnosticMessages: {
93
93
  severity: 2;
94
94
  code: string;
95
95
  };
96
- scriptImportCaseMismatch: (correctFilePath: string) => {
96
+ scriptImportCaseMismatch: (correctFilePath: string, correctUri?: string) => {
97
97
  message: string;
98
98
  legacyCode: number;
99
+ data: {
100
+ correctFilePath: string;
101
+ };
99
102
  severity: 2;
100
103
  code: string;
101
104
  };
@@ -425,7 +428,7 @@ export declare let DiagnosticMessages: {
425
428
  severity: 1;
426
429
  code: string;
427
430
  };
428
- __unused20: () => {
431
+ expectedStatementOrFunctionCallButReceivedExpression: (expressionType?: string) => {
429
432
  message: string;
430
433
  legacyCode: number;
431
434
  severity: 1;
@@ -681,7 +684,7 @@ export declare let DiagnosticMessages: {
681
684
  severity: 1;
682
685
  code: string;
683
686
  };
684
- __unused45: () => {
687
+ unnecessaryCodebehindScriptImport: () => {
685
688
  message: string;
686
689
  legacyCode: number;
687
690
  severity: 2;
@@ -902,13 +905,11 @@ export declare let DiagnosticMessages: {
902
905
  assignmentTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
903
906
  message: string;
904
907
  data: TypeCompatibilityData;
905
- legacyCode: number;
906
908
  severity: 1;
907
909
  code: string;
908
910
  };
909
911
  operatorTypeMismatch: (operatorString: string, firstType: string, secondType?: string) => {
910
912
  message: string;
911
- legacyCode: number;
912
913
  severity: 1;
913
914
  code: string;
914
915
  };
@@ -919,51 +920,43 @@ export declare let DiagnosticMessages: {
919
920
  data?: TypeCompatibilityData;
920
921
  }) => {
921
922
  message: string;
922
- legacyCode: number;
923
923
  severity: 1;
924
924
  code: string;
925
925
  };
926
926
  memberAccessibilityMismatch: (memberName: string, accessModifierFlag: SymbolTypeFlag, definingClassName: string) => {
927
927
  message: string;
928
- legacyCode: number;
929
928
  severity: 1;
930
929
  code: string;
931
930
  };
932
- invalidTypecastStatementApplication: (foundApplication: string) => {
931
+ invalidTypecastStatementApplication: (foundApplication: string, isInFunctionBlock: boolean) => {
933
932
  message: string;
934
- legacyCode: number;
935
933
  severity: 1;
936
934
  code: string;
937
935
  };
938
936
  itemCannotBeUsedAsType: (typeText: string) => {
939
937
  message: string;
940
- legacyCode: number;
941
938
  severity: 1;
942
939
  code: string;
943
940
  };
944
941
  unsafeUnmatchedTerminatorInConditionalCompileBlock: (terminator: string) => {
945
942
  message: string;
946
- legacyCode: number;
947
943
  severity: 1;
948
944
  code: string;
949
945
  };
950
946
  returnTypeCoercionMismatch: (returnType?: string) => {
951
947
  message: string;
952
- legacyCode: number;
953
948
  severity: 1;
954
949
  code: string;
955
950
  };
956
951
  argumentTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
957
952
  message: string;
958
953
  data: TypeCompatibilityData;
959
- legacyCode: number;
960
954
  severity: 1;
961
955
  code: string;
962
956
  };
963
957
  returnTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
964
958
  message: string;
965
959
  data: TypeCompatibilityData;
966
- legacyCode: number;
967
960
  severity: 1;
968
961
  code: string;
969
962
  };
@@ -975,7 +968,6 @@ export declare let DiagnosticMessages: {
975
968
  typeName: string;
976
969
  isCallfunc: boolean;
977
970
  };
978
- legacyCode: number;
979
971
  severity: 1;
980
972
  code: string;
981
973
  };
@@ -989,6 +981,51 @@ export declare let DiagnosticMessages: {
989
981
  severity: 1;
990
982
  code: string;
991
983
  };
984
+ propAccessNotPermittedAfterFunctionCallInExpressionStatement: (accessDescription: string) => {
985
+ message: string;
986
+ legacyCode: number;
987
+ severity: 1;
988
+ code: string;
989
+ };
990
+ computedPropertyKeyMustBeConstantExpression: () => {
991
+ message: string;
992
+ legacyCode: number;
993
+ severity: 1;
994
+ code: string;
995
+ };
996
+ computedAAKeyMustBeStringExpression: () => {
997
+ message: string;
998
+ legacyCode: number;
999
+ severity: 1;
1000
+ code: string;
1001
+ };
1002
+ featureRequiresMinFirmwareVersion: (featureName: string, minimumVersion: string, configuredVersion: string) => {
1003
+ message: string;
1004
+ legacyCode: number;
1005
+ severity: 1;
1006
+ code: string;
1007
+ };
1008
+ reservedBuiltinUsedAsValue: (name: string) => {
1009
+ message: string;
1010
+ legacyCode: number;
1011
+ severity: 1;
1012
+ code: string;
1013
+ };
1014
+ /**
1015
+ * Emitted when a block recovers from a wrong terminator (e.g. `while ... next` or `for ... end while`).
1016
+ * `expected` lists the legal terminators in preferred-first order; `found` is the actual text.
1017
+ * Quick fixes consume the structured `data` to build "Convert '<found>' to '<expected[i]>'" actions.
1018
+ */
1019
+ mismatchedEndingToken: (expected?: string[], found?: string) => {
1020
+ message: string;
1021
+ legacyCode: number;
1022
+ data: {
1023
+ expected: string[];
1024
+ found: string;
1025
+ };
1026
+ severity: 1;
1027
+ code: string;
1028
+ };
992
1029
  };
993
1030
  export declare const defaultMaximumTruncationLength = 160;
994
1031
  export declare function typeCompatibilityMessage(actualTypeString: string, expectedTypeString: string, data: TypeCompatibilityData): string;
@@ -997,8 +1034,8 @@ export declare function incompatibleSymbolMessage(symbolName: string, options: {
997
1034
  isUnion?: boolean;
998
1035
  data?: TypeCompatibilityData;
999
1036
  }): string;
1000
- export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable" | "notIterable", string>;
1001
- export declare const DiagnosticLegacyCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable" | "notIterable", number>;
1037
+ export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "expectedStatementOrFunctionCallButReceivedExpression" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "unnecessaryCodebehindScriptImport" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable" | "notIterable" | "propAccessNotPermittedAfterFunctionCallInExpressionStatement" | "computedPropertyKeyMustBeConstantExpression" | "computedAAKeyMustBeStringExpression" | "featureRequiresMinFirmwareVersion" | "reservedBuiltinUsedAsValue" | "mismatchedEndingToken", string>;
1038
+ export declare const DiagnosticLegacyCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "expectedStatementOrFunctionCallButReceivedExpression" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "unnecessaryCodebehindScriptImport" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable" | "notIterable" | "propAccessNotPermittedAfterFunctionCallInExpressionStatement" | "computedPropertyKeyMustBeConstantExpression" | "computedAAKeyMustBeStringExpression" | "featureRequiresMinFirmwareVersion" | "reservedBuiltinUsedAsValue" | "mismatchedEndingToken", number>;
1002
1039
  export declare let diagnosticCodes: string[];
1003
1040
  export interface DiagnosticInfo {
1004
1041
  message: string;
@@ -1011,3 +1048,10 @@ export interface DiagnosticInfo {
1011
1048
  * DiagnosticMessages-like object in order to get the same type support
1012
1049
  */
1013
1050
  export declare type DiagnosticMessageType<K extends keyof D, D extends Record<string, (...args: any) => any> = typeof DiagnosticMessages> = ReturnType<D[K]> & Pick<BsDiagnostic, 'code' | 'location' | 'relatedInformation' | 'tags'>;
1051
+ /**
1052
+ * Refines a diagnostic to its concrete `DiagnosticMessageType<K>` shape (including the typed `data`
1053
+ * payload) when its code matches `DiagnosticCodeMap[key]`.
1054
+ */
1055
+ export declare function isDiagnosticOfType<K extends keyof typeof DiagnosticMessages>(diagnostic: {
1056
+ code?: number | string;
1057
+ }, key: K): diagnostic is DiagnosticMessageType<K>;