brighterscript 1.0.0-alpha.5 → 1.0.0-alpha.50

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 (715) hide show
  1. package/README.md +76 -138
  2. package/bsconfig.schema.json +121 -5
  3. package/dist/ActionPipeline.d.ts +10 -0
  4. package/dist/ActionPipeline.js +40 -0
  5. package/dist/ActionPipeline.js.map +1 -0
  6. package/dist/AstValidationSegmenter.d.ts +45 -0
  7. package/dist/AstValidationSegmenter.js +322 -0
  8. package/dist/AstValidationSegmenter.js.map +1 -0
  9. package/dist/BsConfig.d.ts +72 -39
  10. package/dist/BusyStatusTracker.d.ts +61 -0
  11. package/dist/BusyStatusTracker.js +148 -0
  12. package/dist/BusyStatusTracker.js.map +1 -0
  13. package/dist/Cache.d.ts +3 -8
  14. package/dist/Cache.js +9 -14
  15. package/dist/Cache.js.map +1 -1
  16. package/dist/CacheVerifier.d.ts +7 -0
  17. package/dist/CacheVerifier.js +20 -0
  18. package/dist/CacheVerifier.js.map +1 -0
  19. package/dist/CodeActionUtil.d.ts +12 -4
  20. package/dist/CodeActionUtil.js +22 -5
  21. package/dist/CodeActionUtil.js.map +1 -1
  22. package/dist/CommentFlagProcessor.d.ts +7 -6
  23. package/dist/CommentFlagProcessor.js +11 -8
  24. package/dist/CommentFlagProcessor.js.map +1 -1
  25. package/dist/CrossScopeValidator.d.ts +68 -0
  26. package/dist/CrossScopeValidator.js +642 -0
  27. package/dist/CrossScopeValidator.js.map +1 -0
  28. package/dist/DependencyGraph.d.ts +8 -3
  29. package/dist/DependencyGraph.js +49 -16
  30. package/dist/DependencyGraph.js.map +1 -1
  31. package/dist/DiagnosticCollection.d.ts +21 -5
  32. package/dist/DiagnosticCollection.js +77 -24
  33. package/dist/DiagnosticCollection.js.map +1 -1
  34. package/dist/DiagnosticFilterer.d.ts +27 -6
  35. package/dist/DiagnosticFilterer.js +273 -60
  36. package/dist/DiagnosticFilterer.js.map +1 -1
  37. package/dist/DiagnosticManager.d.ts +82 -0
  38. package/dist/DiagnosticManager.js +406 -0
  39. package/dist/DiagnosticManager.js.map +1 -0
  40. package/dist/DiagnosticMessages.d.ts +558 -196
  41. package/dist/DiagnosticMessages.js +870 -340
  42. package/dist/DiagnosticMessages.js.map +1 -1
  43. package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
  44. package/dist/DiagnosticSeverityAdjuster.js +45 -0
  45. package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
  46. package/dist/FunctionScope.d.ts +28 -0
  47. package/dist/FunctionScope.js +52 -0
  48. package/dist/FunctionScope.js.map +1 -0
  49. package/dist/KeyedThrottler.d.ts +3 -3
  50. package/dist/KeyedThrottler.js +3 -3
  51. package/dist/KeyedThrottler.js.map +1 -1
  52. package/dist/LanguageServer.d.ts +100 -105
  53. package/dist/LanguageServer.js +444 -745
  54. package/dist/LanguageServer.js.map +1 -1
  55. package/dist/Logger.d.ts +17 -13
  56. package/dist/Logger.js +64 -34
  57. package/dist/Logger.js.map +1 -1
  58. package/dist/PluginInterface.d.ts +32 -10
  59. package/dist/PluginInterface.js +117 -7
  60. package/dist/PluginInterface.js.map +1 -1
  61. package/dist/Program.d.ts +241 -98
  62. package/dist/Program.js +1432 -717
  63. package/dist/Program.js.map +1 -1
  64. package/dist/ProgramBuilder.d.ts +47 -23
  65. package/dist/ProgramBuilder.js +224 -178
  66. package/dist/ProgramBuilder.js.map +1 -1
  67. package/dist/Scope.d.ts +149 -109
  68. package/dist/Scope.js +557 -550
  69. package/dist/Scope.js.map +1 -1
  70. package/dist/SemanticTokenUtils.js +5 -1
  71. package/dist/SemanticTokenUtils.js.map +1 -1
  72. package/dist/Stopwatch.d.ts +4 -0
  73. package/dist/Stopwatch.js +8 -1
  74. package/dist/Stopwatch.js.map +1 -1
  75. package/dist/SymbolTable.d.ts +136 -24
  76. package/dist/SymbolTable.js +565 -64
  77. package/dist/SymbolTable.js.map +1 -1
  78. package/dist/SymbolTypeFlag.d.ts +9 -0
  79. package/dist/SymbolTypeFlag.js +14 -0
  80. package/dist/SymbolTypeFlag.js.map +1 -0
  81. package/dist/Throttler.d.ts +12 -0
  82. package/dist/Throttler.js +39 -0
  83. package/dist/Throttler.js.map +1 -1
  84. package/dist/Watcher.d.ts +0 -3
  85. package/dist/Watcher.js +0 -3
  86. package/dist/Watcher.js.map +1 -1
  87. package/dist/XmlScope.d.ts +5 -15
  88. package/dist/XmlScope.js +34 -90
  89. package/dist/XmlScope.js.map +1 -1
  90. package/dist/astUtils/CachedLookups.d.ts +50 -0
  91. package/dist/astUtils/CachedLookups.js +334 -0
  92. package/dist/astUtils/CachedLookups.js.map +1 -0
  93. package/dist/astUtils/CachedLookups.spec.js +39 -0
  94. package/dist/astUtils/CachedLookups.spec.js.map +1 -0
  95. package/dist/astUtils/Editor.d.ts +69 -0
  96. package/dist/astUtils/Editor.js +245 -0
  97. package/dist/astUtils/Editor.js.map +1 -0
  98. package/dist/astUtils/Editor.spec.js +258 -0
  99. package/dist/astUtils/Editor.spec.js.map +1 -0
  100. package/dist/astUtils/creators.d.ts +54 -19
  101. package/dist/astUtils/creators.js +242 -42
  102. package/dist/astUtils/creators.js.map +1 -1
  103. package/dist/astUtils/creators.spec.js +5 -5
  104. package/dist/astUtils/creators.spec.js.map +1 -1
  105. package/dist/astUtils/reflection.d.ts +196 -85
  106. package/dist/astUtils/reflection.js +497 -144
  107. package/dist/astUtils/reflection.js.map +1 -1
  108. package/dist/astUtils/reflection.spec.js +267 -167
  109. package/dist/astUtils/reflection.spec.js.map +1 -1
  110. package/dist/astUtils/stackedVisitor.js.map +1 -1
  111. package/dist/astUtils/stackedVisitor.spec.js +14 -14
  112. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  113. package/dist/astUtils/visitors.d.ts +116 -53
  114. package/dist/astUtils/visitors.js +95 -15
  115. package/dist/astUtils/visitors.js.map +1 -1
  116. package/dist/astUtils/visitors.spec.js +629 -51
  117. package/dist/astUtils/visitors.spec.js.map +1 -1
  118. package/dist/astUtils/xml.d.ts +9 -8
  119. package/dist/astUtils/xml.js +12 -7
  120. package/dist/astUtils/xml.js.map +1 -1
  121. package/dist/bscPlugin/BscPlugin.d.ts +24 -4
  122. package/dist/bscPlugin/BscPlugin.js +88 -4
  123. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  124. package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
  125. package/dist/bscPlugin/CallExpressionInfo.js +143 -0
  126. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
  127. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  128. package/dist/bscPlugin/FileWriter.js +24 -0
  129. package/dist/bscPlugin/FileWriter.js.map +1 -0
  130. package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
  131. package/dist/bscPlugin/SignatureHelpUtil.js +137 -0
  132. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
  133. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +6 -5
  134. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +173 -27
  135. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  136. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +138 -21
  137. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  138. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +65 -0
  139. package/dist/bscPlugin/completions/CompletionsProcessor.js +633 -0
  140. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
  141. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +2512 -0
  142. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  143. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  144. package/dist/bscPlugin/definition/DefinitionProvider.js +212 -0
  145. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  146. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +87 -0
  147. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  148. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  149. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  150. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  151. package/dist/bscPlugin/hover/HoverProcessor.d.ts +18 -0
  152. package/dist/bscPlugin/hover/HoverProcessor.js +230 -0
  153. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
  154. package/dist/bscPlugin/hover/HoverProcessor.spec.js +991 -0
  155. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
  156. package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
  157. package/dist/bscPlugin/references/ReferencesProvider.js +57 -0
  158. package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
  159. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +1 -0
  160. package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
  161. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
  162. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +14 -0
  163. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +164 -0
  164. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
  165. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
  166. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +564 -0
  167. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
  168. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
  169. package/dist/bscPlugin/serialize/BslibInjector.spec.js +33 -0
  170. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  171. package/dist/bscPlugin/serialize/BslibManager.d.ts +12 -0
  172. package/dist/bscPlugin/serialize/BslibManager.js +46 -0
  173. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  174. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  175. package/dist/bscPlugin/serialize/FileSerializer.js +75 -0
  176. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  177. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.d.ts +7 -0
  178. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js +22 -0
  179. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js.map +1 -0
  180. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +1 -0
  181. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +291 -0
  182. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +1 -0
  183. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.d.ts +7 -0
  184. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js +26 -0
  185. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js.map +1 -0
  186. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +1 -0
  187. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +245 -0
  188. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +1 -0
  189. package/dist/bscPlugin/symbols/symbolUtils.d.ts +5 -0
  190. package/dist/bscPlugin/symbols/symbolUtils.js +141 -0
  191. package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
  192. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +27 -0
  193. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +418 -0
  194. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  195. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  196. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +75 -0
  197. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  198. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
  199. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
  200. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
  201. package/dist/bscPlugin/validation/BrsFileAfterValidator.d.ts +7 -0
  202. package/dist/bscPlugin/validation/BrsFileAfterValidator.js +18 -0
  203. package/dist/bscPlugin/validation/BrsFileAfterValidator.js.map +1 -0
  204. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +37 -0
  205. package/dist/bscPlugin/validation/BrsFileValidator.js +638 -0
  206. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  207. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
  208. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1517 -0
  209. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -0
  210. package/dist/bscPlugin/validation/ProgramValidator.d.ts +11 -0
  211. package/dist/bscPlugin/validation/ProgramValidator.js +33 -0
  212. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
  213. package/dist/bscPlugin/validation/ScopeValidator.d.ts +141 -0
  214. package/dist/bscPlugin/validation/ScopeValidator.js +1323 -0
  215. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  216. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  217. package/dist/bscPlugin/validation/ScopeValidator.spec.js +6135 -0
  218. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  219. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
  220. package/dist/bscPlugin/validation/XmlFileValidator.js +36 -0
  221. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
  222. package/dist/cli.js +126 -27
  223. package/dist/cli.js.map +1 -1
  224. package/dist/common/Sequencer.d.ts +53 -0
  225. package/dist/common/Sequencer.js +233 -0
  226. package/dist/common/Sequencer.js.map +1 -0
  227. package/dist/common/Sequencer.spec.d.ts +1 -0
  228. package/dist/common/Sequencer.spec.js +75 -0
  229. package/dist/common/Sequencer.spec.js.map +1 -0
  230. package/dist/deferred.d.ts +5 -3
  231. package/dist/deferred.js +10 -0
  232. package/dist/deferred.js.map +1 -1
  233. package/dist/diagnosticUtils.d.ts +10 -3
  234. package/dist/diagnosticUtils.js +64 -25
  235. package/dist/diagnosticUtils.js.map +1 -1
  236. package/dist/examples/plugins/removePrint.d.ts +2 -2
  237. package/dist/examples/plugins/removePrint.js +8 -12
  238. package/dist/examples/plugins/removePrint.js.map +1 -1
  239. package/dist/files/AssetFile.d.ts +24 -0
  240. package/dist/files/AssetFile.js +25 -0
  241. package/dist/files/AssetFile.js.map +1 -0
  242. package/dist/files/BrsFile.Class.spec.js +1213 -259
  243. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  244. package/dist/files/BrsFile.d.ts +145 -87
  245. package/dist/files/BrsFile.js +836 -934
  246. package/dist/files/BrsFile.js.map +1 -1
  247. package/dist/files/BrsFile.spec.js +4226 -902
  248. package/dist/files/BrsFile.spec.js.map +1 -1
  249. package/dist/files/BscFile.d.ts +102 -0
  250. package/dist/files/BscFile.js +15 -0
  251. package/dist/files/BscFile.js.map +1 -0
  252. package/dist/files/Factory.d.ts +25 -0
  253. package/dist/files/Factory.js +22 -0
  254. package/dist/files/Factory.js.map +1 -0
  255. package/dist/files/LazyFileData.d.ts +21 -0
  256. package/dist/files/LazyFileData.js +54 -0
  257. package/dist/files/LazyFileData.js.map +1 -0
  258. package/dist/files/LazyFileData.spec.d.ts +1 -0
  259. package/dist/files/LazyFileData.spec.js +27 -0
  260. package/dist/files/LazyFileData.spec.js.map +1 -0
  261. package/dist/files/XmlFile.d.ts +80 -41
  262. package/dist/files/XmlFile.js +161 -137
  263. package/dist/files/XmlFile.js.map +1 -1
  264. package/dist/files/XmlFile.spec.js +444 -336
  265. package/dist/files/XmlFile.spec.js.map +1 -1
  266. package/dist/files/tests/imports.spec.js +62 -52
  267. package/dist/files/tests/imports.spec.js.map +1 -1
  268. package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
  269. package/dist/files/tests/optionalChaning.spec.js +152 -0
  270. package/dist/files/tests/optionalChaning.spec.js.map +1 -0
  271. package/dist/globalCallables.d.ts +3 -1
  272. package/dist/globalCallables.js +424 -184
  273. package/dist/globalCallables.js.map +1 -1
  274. package/dist/index.d.ts +32 -4
  275. package/dist/index.js +54 -7
  276. package/dist/index.js.map +1 -1
  277. package/dist/interfaces.d.ts +942 -125
  278. package/dist/interfaces.js +21 -0
  279. package/dist/interfaces.js.map +1 -1
  280. package/dist/lexer/Character.spec.js +5 -5
  281. package/dist/lexer/Character.spec.js.map +1 -1
  282. package/dist/lexer/Lexer.d.ts +51 -12
  283. package/dist/lexer/Lexer.js +215 -65
  284. package/dist/lexer/Lexer.js.map +1 -1
  285. package/dist/lexer/Lexer.spec.js +812 -568
  286. package/dist/lexer/Lexer.spec.js.map +1 -1
  287. package/dist/lexer/Token.d.ts +27 -11
  288. package/dist/lexer/Token.js +10 -2
  289. package/dist/lexer/Token.js.map +1 -1
  290. package/dist/lexer/TokenKind.d.ts +40 -2
  291. package/dist/lexer/TokenKind.js +147 -10
  292. package/dist/lexer/TokenKind.js.map +1 -1
  293. package/dist/logging.d.ts +14 -0
  294. package/dist/logging.js +29 -0
  295. package/dist/logging.js.map +1 -0
  296. package/dist/lsp/ActionQueue.d.ts +35 -0
  297. package/dist/lsp/ActionQueue.js +115 -0
  298. package/dist/lsp/ActionQueue.js.map +1 -0
  299. package/dist/lsp/ActionQueue.spec.d.ts +1 -0
  300. package/dist/lsp/ActionQueue.spec.js +80 -0
  301. package/dist/lsp/ActionQueue.spec.js.map +1 -0
  302. package/dist/lsp/DocumentManager.d.ts +63 -0
  303. package/dist/lsp/DocumentManager.js +122 -0
  304. package/dist/lsp/DocumentManager.js.map +1 -0
  305. package/dist/lsp/DocumentManager.spec.d.ts +1 -0
  306. package/dist/lsp/DocumentManager.spec.js +103 -0
  307. package/dist/lsp/DocumentManager.spec.js.map +1 -0
  308. package/dist/lsp/LspProject.d.ts +239 -0
  309. package/dist/lsp/LspProject.js +3 -0
  310. package/dist/lsp/LspProject.js.map +1 -0
  311. package/dist/lsp/PathFilterer.d.ts +75 -0
  312. package/dist/lsp/PathFilterer.js +196 -0
  313. package/dist/lsp/PathFilterer.js.map +1 -0
  314. package/dist/lsp/PathFilterer.spec.d.ts +1 -0
  315. package/dist/lsp/PathFilterer.spec.js +182 -0
  316. package/dist/lsp/PathFilterer.spec.js.map +1 -0
  317. package/dist/lsp/Project.d.ts +168 -0
  318. package/dist/lsp/Project.js +437 -0
  319. package/dist/lsp/Project.js.map +1 -0
  320. package/dist/lsp/Project.spec.d.ts +1 -0
  321. package/dist/lsp/Project.spec.js +267 -0
  322. package/dist/lsp/Project.spec.js.map +1 -0
  323. package/dist/lsp/ProjectManager.d.ts +242 -0
  324. package/dist/lsp/ProjectManager.js +824 -0
  325. package/dist/lsp/ProjectManager.js.map +1 -0
  326. package/dist/lsp/ProjectManager.spec.d.ts +1 -0
  327. package/dist/lsp/ProjectManager.spec.js +913 -0
  328. package/dist/lsp/ProjectManager.spec.js.map +1 -0
  329. package/dist/lsp/ReaderWriterManager.d.ts +21 -0
  330. package/dist/lsp/ReaderWriterManager.js +60 -0
  331. package/dist/lsp/ReaderWriterManager.js.map +1 -0
  332. package/dist/lsp/worker/MessageHandler.d.ts +99 -0
  333. package/dist/lsp/worker/MessageHandler.js +138 -0
  334. package/dist/lsp/worker/MessageHandler.js.map +1 -0
  335. package/dist/lsp/worker/MessageHandler.spec.d.ts +1 -0
  336. package/dist/lsp/worker/MessageHandler.spec.js +64 -0
  337. package/dist/lsp/worker/MessageHandler.spec.js.map +1 -0
  338. package/dist/lsp/worker/WorkerPool.d.ts +38 -0
  339. package/dist/lsp/worker/WorkerPool.js +78 -0
  340. package/dist/lsp/worker/WorkerPool.js.map +1 -0
  341. package/dist/lsp/worker/WorkerPool.spec.d.ts +1 -0
  342. package/dist/lsp/worker/WorkerPool.spec.js +59 -0
  343. package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
  344. package/dist/lsp/worker/WorkerThreadProject.d.ts +143 -0
  345. package/dist/lsp/worker/WorkerThreadProject.js +189 -0
  346. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
  347. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
  348. package/dist/lsp/worker/WorkerThreadProject.spec.js +71 -0
  349. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -0
  350. package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
  351. package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
  352. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
  353. package/dist/lsp/worker/run.d.ts +1 -0
  354. package/dist/lsp/worker/run.js +14 -0
  355. package/dist/lsp/worker/run.js.map +1 -0
  356. package/dist/parser/AstNode.d.ts +203 -0
  357. package/dist/parser/AstNode.js +303 -0
  358. package/dist/parser/AstNode.js.map +1 -0
  359. package/dist/parser/AstNode.spec.d.ts +1 -0
  360. package/dist/parser/AstNode.spec.js +1455 -0
  361. package/dist/parser/AstNode.spec.js.map +1 -0
  362. package/dist/parser/BrightScriptDocParser.d.ts +56 -0
  363. package/dist/parser/BrightScriptDocParser.js +294 -0
  364. package/dist/parser/BrightScriptDocParser.js.map +1 -0
  365. package/dist/parser/BrightScriptDocParser.spec.d.ts +1 -0
  366. package/dist/parser/BrightScriptDocParser.spec.js +310 -0
  367. package/dist/parser/BrightScriptDocParser.spec.js.map +1 -0
  368. package/dist/parser/BrsTranspileState.d.ts +22 -3
  369. package/dist/parser/BrsTranspileState.js +19 -0
  370. package/dist/parser/BrsTranspileState.js.map +1 -1
  371. package/dist/parser/Expression.d.ts +553 -221
  372. package/dist/parser/Expression.js +1414 -505
  373. package/dist/parser/Expression.js.map +1 -1
  374. package/dist/parser/Expression.spec.d.ts +1 -0
  375. package/dist/parser/Expression.spec.js +40 -0
  376. package/dist/parser/Expression.spec.js.map +1 -0
  377. package/dist/parser/Parser.Class.spec.js +255 -125
  378. package/dist/parser/Parser.Class.spec.js.map +1 -1
  379. package/dist/parser/Parser.d.ts +117 -124
  380. package/dist/parser/Parser.js +1669 -982
  381. package/dist/parser/Parser.js.map +1 -1
  382. package/dist/parser/Parser.spec.d.ts +3 -1
  383. package/dist/parser/Parser.spec.js +2111 -525
  384. package/dist/parser/Parser.spec.js.map +1 -1
  385. package/dist/parser/SGParser.d.ts +29 -13
  386. package/dist/parser/SGParser.js +85 -56
  387. package/dist/parser/SGParser.js.map +1 -1
  388. package/dist/parser/SGParser.spec.js +30 -45
  389. package/dist/parser/SGParser.spec.js.map +1 -1
  390. package/dist/parser/SGTypes.d.ts +134 -46
  391. package/dist/parser/SGTypes.js +206 -115
  392. package/dist/parser/SGTypes.js.map +1 -1
  393. package/dist/parser/Statement.d.ts +849 -267
  394. package/dist/parser/Statement.js +2412 -625
  395. package/dist/parser/Statement.js.map +1 -1
  396. package/dist/parser/Statement.spec.js +133 -36
  397. package/dist/parser/Statement.spec.js.map +1 -1
  398. package/dist/parser/TranspileState.d.ts +26 -12
  399. package/dist/parser/TranspileState.js +115 -24
  400. package/dist/parser/TranspileState.js.map +1 -1
  401. package/dist/parser/tests/Parser.spec.d.ts +3 -9
  402. package/dist/parser/tests/Parser.spec.js +7 -13
  403. package/dist/parser/tests/Parser.spec.js.map +1 -1
  404. package/dist/parser/tests/controlFlow/For.spec.js +83 -75
  405. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  406. package/dist/parser/tests/controlFlow/ForEach.spec.js +85 -51
  407. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  408. package/dist/parser/tests/controlFlow/If.spec.js +382 -239
  409. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  410. package/dist/parser/tests/controlFlow/While.spec.js +52 -45
  411. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  412. package/dist/parser/tests/expression/Additive.spec.js +51 -43
  413. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  414. package/dist/parser/tests/expression/ArrayLiterals.spec.js +192 -142
  415. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  416. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +236 -160
  417. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  418. package/dist/parser/tests/expression/Boolean.spec.js +41 -34
  419. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  420. package/dist/parser/tests/expression/Call.spec.js +173 -55
  421. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  422. package/dist/parser/tests/expression/Exponential.spec.js +20 -20
  423. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  424. package/dist/parser/tests/expression/Function.spec.js +291 -282
  425. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  426. package/dist/parser/tests/expression/Indexing.spec.js +193 -110
  427. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  428. package/dist/parser/tests/expression/Multiplicative.spec.js +42 -42
  429. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  430. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +260 -115
  431. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  432. package/dist/parser/tests/expression/PrefixUnary.spec.js +58 -52
  433. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  434. package/dist/parser/tests/expression/Primary.spec.js +76 -60
  435. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  436. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
  437. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +171 -0
  438. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
  439. package/dist/parser/tests/expression/Relational.spec.js +50 -50
  440. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  441. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +31 -31
  442. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  443. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +281 -94
  444. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  445. package/dist/parser/tests/expression/TernaryExpression.spec.js +747 -192
  446. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  447. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
  448. package/dist/parser/tests/expression/TypeExpression.spec.js +126 -0
  449. package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
  450. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  451. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  452. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  453. package/dist/parser/tests/statement/AssignmentOperators.spec.js +44 -44
  454. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  455. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +1 -0
  456. package/dist/parser/tests/statement/ConstStatement.spec.js +500 -0
  457. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
  458. package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
  459. package/dist/parser/tests/statement/Continue.spec.js +119 -0
  460. package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
  461. package/dist/parser/tests/statement/Declaration.spec.js +61 -55
  462. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  463. package/dist/parser/tests/statement/Dim.spec.js +29 -22
  464. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  465. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  466. package/dist/parser/tests/statement/Enum.spec.js +744 -0
  467. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  468. package/dist/parser/tests/statement/For.spec.d.ts +1 -0
  469. package/dist/parser/tests/statement/For.spec.js +45 -0
  470. package/dist/parser/tests/statement/For.spec.js.map +1 -0
  471. package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
  472. package/dist/parser/tests/statement/ForEach.spec.js +36 -0
  473. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
  474. package/dist/parser/tests/statement/Function.spec.js +226 -215
  475. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  476. package/dist/parser/tests/statement/Goto.spec.js +16 -15
  477. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  478. package/dist/parser/tests/statement/Increment.spec.js +64 -61
  479. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  480. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
  481. package/dist/parser/tests/statement/InterfaceStatement.spec.js +110 -0
  482. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
  483. package/dist/parser/tests/statement/LibraryStatement.spec.js +22 -22
  484. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  485. package/dist/parser/tests/statement/Misc.spec.js +127 -168
  486. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  487. package/dist/parser/tests/statement/PrintStatement.spec.js +133 -114
  488. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  489. package/dist/parser/tests/statement/ReturnStatement.spec.js +57 -54
  490. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  491. package/dist/parser/tests/statement/Set.spec.js +131 -117
  492. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  493. package/dist/parser/tests/statement/Stop.spec.js +14 -13
  494. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  495. package/dist/parser/tests/statement/Throw.spec.js +11 -8
  496. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  497. package/dist/parser/tests/statement/TryCatch.spec.js +26 -15
  498. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  499. package/dist/preprocessor/Manifest.d.ts +6 -6
  500. package/dist/preprocessor/Manifest.js +17 -38
  501. package/dist/preprocessor/Manifest.js.map +1 -1
  502. package/dist/preprocessor/Manifest.spec.d.ts +1 -0
  503. package/dist/preprocessor/Manifest.spec.js +78 -103
  504. package/dist/preprocessor/Manifest.spec.js.map +1 -1
  505. package/dist/roku-types/data.json +20347 -0
  506. package/dist/roku-types/index.d.ts +5726 -0
  507. package/dist/roku-types/index.js +11 -0
  508. package/dist/roku-types/index.js.map +1 -0
  509. package/dist/types/ArrayType.d.ts +12 -5
  510. package/dist/types/ArrayType.js +89 -24
  511. package/dist/types/ArrayType.js.map +1 -1
  512. package/dist/types/ArrayType.spec.js +39 -11
  513. package/dist/types/ArrayType.spec.js.map +1 -1
  514. package/dist/types/AssociativeArrayType.d.ts +15 -0
  515. package/dist/types/AssociativeArrayType.js +64 -0
  516. package/dist/types/AssociativeArrayType.js.map +1 -0
  517. package/dist/types/BaseFunctionType.d.ts +10 -0
  518. package/dist/types/BaseFunctionType.js +26 -0
  519. package/dist/types/BaseFunctionType.js.map +1 -0
  520. package/dist/types/BooleanType.d.ts +9 -5
  521. package/dist/types/BooleanType.js +19 -8
  522. package/dist/types/BooleanType.js.map +1 -1
  523. package/dist/types/BooleanType.spec.js +10 -4
  524. package/dist/types/BooleanType.spec.js.map +1 -1
  525. package/dist/types/BscType.d.ts +41 -3
  526. package/dist/types/BscType.js +152 -0
  527. package/dist/types/BscType.js.map +1 -1
  528. package/dist/types/BscTypeKind.d.ts +28 -0
  529. package/dist/types/BscTypeKind.js +33 -0
  530. package/dist/types/BscTypeKind.js.map +1 -0
  531. package/dist/types/BuiltInInterfaceAdder.d.ts +28 -0
  532. package/dist/types/BuiltInInterfaceAdder.js +212 -0
  533. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  534. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  535. package/dist/types/BuiltInInterfaceAdder.spec.js +115 -0
  536. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  537. package/dist/types/CallFuncableType.d.ts +24 -0
  538. package/dist/types/CallFuncableType.js +91 -0
  539. package/dist/types/CallFuncableType.js.map +1 -0
  540. package/dist/types/ClassType.d.ts +17 -0
  541. package/dist/types/ClassType.js +60 -0
  542. package/dist/types/ClassType.js.map +1 -0
  543. package/dist/types/ClassType.spec.d.ts +1 -0
  544. package/dist/types/ClassType.spec.js +76 -0
  545. package/dist/types/ClassType.spec.js.map +1 -0
  546. package/dist/types/ComponentType.d.ts +22 -0
  547. package/dist/types/ComponentType.js +107 -0
  548. package/dist/types/ComponentType.js.map +1 -0
  549. package/dist/types/DoubleType.d.ts +10 -5
  550. package/dist/types/DoubleType.js +21 -17
  551. package/dist/types/DoubleType.js.map +1 -1
  552. package/dist/types/DoubleType.spec.js +12 -4
  553. package/dist/types/DoubleType.spec.js.map +1 -1
  554. package/dist/types/DynamicType.d.ts +13 -5
  555. package/dist/types/DynamicType.js +26 -5
  556. package/dist/types/DynamicType.js.map +1 -1
  557. package/dist/types/DynamicType.spec.js +16 -5
  558. package/dist/types/DynamicType.spec.js.map +1 -1
  559. package/dist/types/EnumType.d.ts +42 -0
  560. package/dist/types/EnumType.js +98 -0
  561. package/dist/types/EnumType.js.map +1 -0
  562. package/dist/types/EnumType.spec.d.ts +1 -0
  563. package/dist/types/EnumType.spec.js +33 -0
  564. package/dist/types/EnumType.spec.js.map +1 -0
  565. package/dist/types/FloatType.d.ts +10 -5
  566. package/dist/types/FloatType.js +21 -17
  567. package/dist/types/FloatType.js.map +1 -1
  568. package/dist/types/FloatType.spec.js +4 -4
  569. package/dist/types/FloatType.spec.js.map +1 -1
  570. package/dist/types/FunctionType.d.ts +8 -22
  571. package/dist/types/FunctionType.js +25 -63
  572. package/dist/types/FunctionType.js.map +1 -1
  573. package/dist/types/InheritableType.d.ts +29 -0
  574. package/dist/types/InheritableType.js +173 -0
  575. package/dist/types/InheritableType.js.map +1 -0
  576. package/dist/types/InlineInterfaceType.d.ts +5 -0
  577. package/dist/types/InlineInterfaceType.js +17 -0
  578. package/dist/types/InlineInterfaceType.js.map +1 -0
  579. package/dist/types/IntegerType.d.ts +10 -5
  580. package/dist/types/IntegerType.js +21 -17
  581. package/dist/types/IntegerType.js.map +1 -1
  582. package/dist/types/IntegerType.spec.js +8 -4
  583. package/dist/types/IntegerType.spec.js.map +1 -1
  584. package/dist/types/InterfaceType.d.ts +14 -6
  585. package/dist/types/InterfaceType.js +30 -15
  586. package/dist/types/InterfaceType.js.map +1 -1
  587. package/dist/types/InterfaceType.spec.d.ts +1 -0
  588. package/dist/types/InterfaceType.spec.js +227 -0
  589. package/dist/types/InterfaceType.spec.js.map +1 -0
  590. package/dist/types/IntersectionType.d.ts +29 -0
  591. package/dist/types/IntersectionType.js +253 -0
  592. package/dist/types/IntersectionType.js.map +1 -0
  593. package/dist/types/IntersectionType.spec.d.ts +1 -0
  594. package/dist/types/IntersectionType.spec.js +150 -0
  595. package/dist/types/IntersectionType.spec.js.map +1 -0
  596. package/dist/types/InvalidType.d.ts +10 -5
  597. package/dist/types/InvalidType.js +21 -9
  598. package/dist/types/InvalidType.js.map +1 -1
  599. package/dist/types/InvalidType.spec.js +8 -4
  600. package/dist/types/InvalidType.spec.js.map +1 -1
  601. package/dist/types/LongIntegerType.d.ts +10 -5
  602. package/dist/types/LongIntegerType.js +21 -17
  603. package/dist/types/LongIntegerType.js.map +1 -1
  604. package/dist/types/LongIntegerType.spec.js +10 -4
  605. package/dist/types/LongIntegerType.spec.js.map +1 -1
  606. package/dist/types/NamespaceType.d.ts +12 -0
  607. package/dist/types/NamespaceType.js +28 -0
  608. package/dist/types/NamespaceType.js.map +1 -0
  609. package/dist/types/ObjectType.d.ts +12 -5
  610. package/dist/types/ObjectType.js +25 -8
  611. package/dist/types/ObjectType.js.map +1 -1
  612. package/dist/types/ObjectType.spec.js +3 -3
  613. package/dist/types/ObjectType.spec.js.map +1 -1
  614. package/dist/types/ReferenceType.d.ts +123 -0
  615. package/dist/types/ReferenceType.js +720 -0
  616. package/dist/types/ReferenceType.js.map +1 -0
  617. package/dist/types/ReferenceType.spec.d.ts +1 -0
  618. package/dist/types/ReferenceType.spec.js +151 -0
  619. package/dist/types/ReferenceType.spec.js.map +1 -0
  620. package/dist/types/StringType.d.ts +12 -5
  621. package/dist/types/StringType.js +23 -8
  622. package/dist/types/StringType.js.map +1 -1
  623. package/dist/types/StringType.spec.js +3 -3
  624. package/dist/types/StringType.spec.js.map +1 -1
  625. package/dist/types/TypeStatementType.d.ts +18 -0
  626. package/dist/types/TypeStatementType.js +45 -0
  627. package/dist/types/TypeStatementType.js.map +1 -0
  628. package/dist/types/TypedFunctionType.d.ts +34 -0
  629. package/dist/types/TypedFunctionType.js +147 -0
  630. package/dist/types/TypedFunctionType.js.map +1 -0
  631. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  632. package/dist/types/TypedFunctionType.spec.js +122 -0
  633. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  634. package/dist/types/UninitializedType.d.ts +11 -6
  635. package/dist/types/UninitializedType.js +20 -11
  636. package/dist/types/UninitializedType.js.map +1 -1
  637. package/dist/types/UnionType.d.ts +27 -0
  638. package/dist/types/UnionType.js +193 -0
  639. package/dist/types/UnionType.js.map +1 -0
  640. package/dist/types/UnionType.spec.d.ts +1 -0
  641. package/dist/types/UnionType.spec.js +205 -0
  642. package/dist/types/UnionType.spec.js.map +1 -0
  643. package/dist/types/VoidType.d.ts +11 -5
  644. package/dist/types/VoidType.js +22 -8
  645. package/dist/types/VoidType.js.map +1 -1
  646. package/dist/types/VoidType.spec.js +3 -3
  647. package/dist/types/VoidType.spec.js.map +1 -1
  648. package/dist/types/helper.spec.d.ts +1 -0
  649. package/dist/types/helper.spec.js +174 -0
  650. package/dist/types/helper.spec.js.map +1 -0
  651. package/dist/types/helpers.d.ts +51 -0
  652. package/dist/types/helpers.js +323 -0
  653. package/dist/types/helpers.js.map +1 -0
  654. package/dist/types/index.d.ts +22 -0
  655. package/dist/types/index.js +39 -0
  656. package/dist/types/index.js.map +1 -0
  657. package/dist/types/roFunctionType.d.ts +11 -0
  658. package/dist/types/roFunctionType.js +37 -0
  659. package/dist/types/roFunctionType.js.map +1 -0
  660. package/dist/types/roFunctionType.spec.d.ts +1 -0
  661. package/dist/types/roFunctionType.spec.js +20 -0
  662. package/dist/types/roFunctionType.spec.js.map +1 -0
  663. package/dist/util.d.ts +288 -187
  664. package/dist/util.js +2018 -575
  665. package/dist/util.js.map +1 -1
  666. package/dist/validators/ClassValidator.d.ts +9 -15
  667. package/dist/validators/ClassValidator.js +93 -138
  668. package/dist/validators/ClassValidator.js.map +1 -1
  669. package/package.json +185 -138
  670. package/CHANGELOG.md +0 -1188
  671. package/dist/astUtils/index.d.ts +0 -7
  672. package/dist/astUtils/index.js +0 -26
  673. package/dist/astUtils/index.js.map +0 -1
  674. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
  675. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js +0 -63
  676. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
  677. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +0 -45
  678. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
  679. package/dist/lexer/index.d.ts +0 -3
  680. package/dist/lexer/index.js +0 -17
  681. package/dist/lexer/index.js.map +0 -1
  682. package/dist/parser/SGTypes.spec.js +0 -351
  683. package/dist/parser/SGTypes.spec.js.map +0 -1
  684. package/dist/parser/index.d.ts +0 -3
  685. package/dist/parser/index.js +0 -16
  686. package/dist/parser/index.js.map +0 -1
  687. package/dist/preprocessor/Chunk.d.ts +0 -82
  688. package/dist/preprocessor/Chunk.js +0 -77
  689. package/dist/preprocessor/Chunk.js.map +0 -1
  690. package/dist/preprocessor/Preprocessor.d.ts +0 -60
  691. package/dist/preprocessor/Preprocessor.js +0 -156
  692. package/dist/preprocessor/Preprocessor.js.map +0 -1
  693. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  694. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  695. package/dist/preprocessor/PreprocessorParser.d.ts +0 -61
  696. package/dist/preprocessor/PreprocessorParser.js +0 -194
  697. package/dist/preprocessor/PreprocessorParser.js.map +0 -1
  698. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  699. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  700. package/dist/preprocessor/index.d.ts +0 -3
  701. package/dist/preprocessor/index.js +0 -16
  702. package/dist/preprocessor/index.js.map +0 -1
  703. package/dist/types/CustomType.d.ts +0 -10
  704. package/dist/types/CustomType.js +0 -35
  705. package/dist/types/CustomType.js.map +0 -1
  706. package/dist/types/FunctionType.spec.js +0 -29
  707. package/dist/types/FunctionType.spec.js.map +0 -1
  708. package/dist/types/LazyType.d.ts +0 -15
  709. package/dist/types/LazyType.js +0 -32
  710. package/dist/types/LazyType.js.map +0 -1
  711. /package/dist/{bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts → astUtils/CachedLookups.spec.d.ts} +0 -0
  712. /package/dist/{parser/SGTypes.spec.d.ts → astUtils/Editor.spec.d.ts} +0 -0
  713. /package/dist/{preprocessor/Preprocessor.spec.d.ts → bscPlugin/completions/CompletionsProcessor.spec.d.ts} +0 -0
  714. /package/dist/{preprocessor/PreprocessorParser.spec.d.ts → bscPlugin/definition/DefinitionProvider.spec.d.ts} +0 -0
  715. /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/hover/HoverProcessor.spec.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/parser/Statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/parser/Statement.ts"],"names":[],"mappings":";;;AAEA,kDAA+C;AAE/C,6CAAkD;AAClD,6CAAkE;AAClE,kCAA+B;AAG/B,qCAAqC;AAErC,mDAAkG;AAClG,uDAAuhB;AAEvhB,8CAA2F;AAC3F,mDAAkH;AAClH,sDAAmD;AAEnD,gDAA6C;AAE7C,uCAAmD;AACnD,kDAA+C;AAC/C,gDAA6D;AAC7D,0DAAuD;AACvD,0DAAuD;AACvD,gDAA6C;AAC7C,kEAA+D;AAC/D,kDAA+C;AAE/C,mEAAmD;AACnD,0DAAuE;AACvE,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAA8B;QAEtC,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAP9C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAQD,SAAS,CAAC,KAAwB;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AA3BD,wCA2BC;AAED;;GAEG;AACH,MAAa,IAAK,SAAQ,mBAAS;IAC/B,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QAII,eAAU,GAAgB,EAAE,CAAC;QAC7B,SAAI,GAAG,qBAAW,CAAC,IAAI,CAAC;QAExB,gBAAW,GAAG,IAAI,yBAAW,CAAC,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,CAAA,EAAA,CAAC,CAAC;QANvF,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE,CAAC;IAChD,CAAC;IAOD,IAAW,QAAQ;;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,oGAAoG;YACpG,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,sBAAsB,CACxC,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAC,CAC7B,CAAC;SACL;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAW,QAAQ,CAAC,KAAK;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAoB,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,iBAAiB,EAAE;gBACpB,yEAAyE;gBAEzE,6CAA6C;aAChD;iBAAM,IAAI,WAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,iBAAiB,IAAI,CAAA,MAAA,MAAA,MAAA,MAAA,WAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,0CAAG,CAAC,CAAC,0CAAE,QAAQ,0CAAE,KAAK,0CAAE,KAAK,CAAC,IAAI,OAAK,MAAA,MAAA,iBAAiB,CAAC,QAAQ,0CAAE,KAAK,0CAAE,GAAG,CAAC,IAAI,CAAA,EAAE;gBACxL,MAAM,CAAC,IAAI,CACP,GAAG,CACN,CAAC;gBACF,iEAAiE;aACpE;iBAAM,IAAI,WAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,aAAa,IAAI,IAAA,gCAAmB,EAAC,aAAa,CAAC,EAAE;gBAClG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE1C,8DAA8D;aACjE;iBAAM,IAAI,IAAA,gCAAmB,EAAC,SAAS,CAAC,IAAI,iBAAiB,IAAI,CAAC,WAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;gBACnG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aAC7C;iBAAM;gBACH,yCAAyC;gBACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC9B;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,KAAwB;QAC/B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACrC,+DAA+D;YAC/D,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;gBAC9B,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAC9B,KAAK,CAAC,OAAO,CAChB,CAAC;aACL;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACtD;IACL,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,IAAI,CAAC;YACL,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;SACpD,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AAxFD,oBAwFC;AAED,MAAa,mBAAoB,SAAQ,mBAAS;IAC9C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAqBI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QApBnD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CAAC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IAgBD,SAAS,CAAC,KAAwB;;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;YAC7E,GAAG;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SACjC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC;QAChG,MAAM,IAAI,GAAG,+BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,oBAAoB,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAA,WAAI,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,CAAC,mCAAI,IAAI,CAAC,KAAK,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC;QAE1K,qGAAqG;QACrG,iGAAiG;QACjG,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1K,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,mBAAmB,CAAC;YACpB,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;YAC1B,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;SAC/C,CAAC,EACF,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAC9B,CAAC;IACN,CAAC;CACJ;AA9ED,kDA8EC;AAED,MAAa,4BAA6B,SAAQ,mBAAS;IACvD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAkBI,SAAI,GAAG,qBAAW,CAAC,4BAA4B,CAAC;QAjB5D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3H,CAAC;IAcD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1B,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SAC9B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,YAAY,GAAG,WAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAElI,sJAAsJ;QAEtJ,qGAAqG;QACrG,iGAAiG;QACjG,sKAAsK;QACtK,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACnC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,4BAA4B,CAAC;YAC7B,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;YACxB,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,MAAM,EAAE,OAAO,CAAC,CACpB,CAAC;IACN,CAAC;CACJ;AAtED,oEAsEC;AAED,MAAa,KAAM,SAAQ,mBAAS;IAChC,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAOI,SAAI,GAAG,qBAAW,CAAC,KAAK,CAAC;QANrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACpF,CAAC;IAMO,aAAa;;QACjB,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,IAAG,CAAC,EAAE;YAC7B,OAAO,WAAI,CAAC,sBAAsB,CAAC,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;SAChE;QACD,IAAI,aAAuB,CAAC;QAC5B,IAAI,aAAuB,CAAC;QAE5B,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAC5B,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAI,EAAE,CAAC,EACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EACrB,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACnC,CAAC;YACF,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,0CAAE,QAAQ,CAAC;SAChE;aAAM,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;gBACjC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;gBACF,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EACvB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC3B,CAAC;aACL;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;gBACxC,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAC;gBAClD,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,0CAAE,QAAQ,CAAC;aACtD;SACJ;aAAM,IAAI,IAAA,0CAA6B,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;gBACjC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAC5B,CAAC;gBACF,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/B,CAAC;aACL;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE;gBACxC,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;gBACtD,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,0CAAE,QAAQ,CAAC;aAC1D;SACJ;aAAM,IAAI,IAAA,2BAAc,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EACvB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EACrB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACzB,CAAC;YACF,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,CAAC;SACvD;aAAM,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC7B,CAAC;YACF,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,CAAC;SACvD;aAAM,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACtC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC3B,CAAC;YACF,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;SACzD;aAAM,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACzB,CAAC;YACF,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EACzB,IAAI,CAAC,MAAM,CAAC,cAAc,CAC7B,CAAC;SACL;aAAM,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,gCAAmB,EAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAC,EAAE;YAClF,aAAa,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EACxB,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAC1C,CAAC;YACF,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,QAAQ,CAAC;SAC9D;QACD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,MAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAA,EAAE;YAC9C,OAAO,WAAI,CAAC,cAAc,CACtB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAC5B,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EACjC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAC9B,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EACnC,MAAA,aAAa,CAAC,GAAG,mCAAI,aAAa,CAAC,GAAG,CACzC,CAAC;SACL;IACL,CAAC;IAED,IAAW,QAAQ;QACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,oGAAoG;YACpG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACD,IAAW,QAAQ,CAAC,KAAK;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGD,SAAS,CAAC,KAAwB;;QAC9B,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,EAAqB,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,kBAAkB;YAClB,sCAAsC;YACtC,IAAI,WAAI,CAAC,0BAA0B,CAAC,MAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAE,SAAS,CAAC;gBACtE,WAAI,CAAC,0BAA0B,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAE,SAAS,CAAC,EACzE;gBACE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAElB,kBAAkB;aACrB;iBAAM;gBACH,0BAA0B;gBAC1B,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;aACL;YAED,6BAA6B;YAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CACR,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAChC,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACzB;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACtD;IACL,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,KAAK,CAAC;YACN,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;SACpD,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AA9KD,sBA8KC;AAED,MAAa,mBAAoB,SAAQ,mBAAS;IAC9C,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QAKI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAJnD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC;IAC9C,CAAC;IAMD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;SACnC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IACzC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,mBAAmB,CAAC;YACpB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;SACvC,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AAtCD,kDAsCC;AAED,MAAa,aAAc,SAAQ,mBAAS;IACxC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAf7C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;YACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;IAWD,SAAS,CAAC,KAAwB;;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9C,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,iBAAiB,mCAAI,GAAG;YAC9C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,CAAC;IAC3C,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,aAAa,CAAC;YACd,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAC1C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAjDD,sCAiDC;AAED,MAAa,iBAAkB,SAAQ,mBAAS;IAC5C,YAAY,OAGX;;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,iBAAgC,CAAC;QAhBhE,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,GAAG,CAAC;SACjE;QAED,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC;IACxC,CAAC;IAWD;;OAEG;IACI,OAAO,CAAC,SAAoB;;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE;YACX,IAAI,SAAS,GAAG,SAAS,KAAK,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnE,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,aAAa,GAAG,SAAS,IAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAA,CAAC;SAC7D;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SAChC;IACL,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,oDAAoD;QACpD,IAAI,SAAS,mCACN,IAAI,CAAC,MAAM,CAAC,IAAI,KACnB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,GAC7C,CAAC;QAEF,OAAO;YACH,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;YACnC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;SAC3C,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QAED,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7D,OAAO,YAAY,CAAC;IACxB,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,iBAAiB,CAAC;YAClB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;YACxB,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAC1C,CAAC,EACF,CAAC,MAAM,CAAC,CACX,CAAC;IACN,CAAC;CACJ;AArGD,8CAqGC;AAED,MAAa,WAAY,SAAQ,mBAAS;IACtC,YAAY,OASX;QACG,KAAK,EAAE,CAAC;QA8BI,SAAI,GAAG,qBAAW,CAAC,WAAW,CAAC;QA7B3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAErC,IAAI,CAAC,MAAM,GAAG;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAClD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,CAClB,CAAC;IACN,CAAC;IAgBD,IAAI,QAAQ;;QACR,MAAM,gBAAgB,GAAG;YACrB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;YAChC,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;YAC9D,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,mCAAI,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;SAC9C,CAAC;QAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,CAAC,UAAU,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,KAAwB;;QAC9B,IAAI,OAAO,GAAG,EAAqB,CAAC;QACpC,kCAAkC;QAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,YAAY;QACZ,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CACjD,CAAC;SACL;QACD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5B,mBAAmB;QACnB,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,aAAa;QACb,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzF,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAChC,gBAAgB;gBAChB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjB,qDAAqD;oBACrD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAkB,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBAEtB,uDAAuD;oBACvD,OAAO,OAAO,CAAC;iBAClB;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtB;aAEJ;iBAAM;gBACH,WAAW;gBACX,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC;gBACzC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;iBACzB;aACJ;SACJ;QAED,QAAQ;QACR,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE/G,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACvE,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS;;QACT,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,WAAW,CAAC;YACZ,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE;YAClC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;YACpC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;SACvC,CAAC,EACF,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAC5C,CAAC;IACN,CAAC;CACJ;AAzJD,kCAyJC;AAED,MAAa,kBAAmB,SAAQ,mBAAS;IAC7C,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAflD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;IAWD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC7C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAC3C,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,kBAAkB,CAAC;YACnB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;YAC1B,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClD,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AAnDD,gDAmDC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,mBAAS;IACzC;;;;;OAKG;IACH,YAAY,OAGX;;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAhB9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,GAAG,CAAC,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAC9B,CAAC;IACN,CAAC;IAYD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAG;YACT,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;SAChC,CAAC;QAErB,8GAA8G;QAC9G,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,qBAAS,CAAC,UAAU,CAAC,EAAE;YAC/G,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpB;QAED,4DAA4D;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,iBAAiB,GAAG,MAAA,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,qBAAS,CAAC,UAAU,CAAC,0CAAE,IAAI,CAAC;YACnG,IAAI,iBAAiB,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,oGAAoG;aACvG;iBAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,uCAA0B,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,uCAA0B,EAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACvI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;YAED,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvD;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;SACtD,CAAC,EACF,CAAC,aAAoB,CAAC,CACzB,CAAC;IACN,CAAC;CACJ;AA/ED,wCA+EC;AAED,MAAa,YAAa,SAAQ,mBAAS;IACvC,YAAY,OAMX;;QACG,KAAK,EAAE,CAAC;QAyBI,SAAI,GAAG,qBAAW,CAAC,YAAY,CAAC;QAxB5C,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;SACvC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,aAAa,EACrB,GAAG,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAC,EAC1B,OAAO,CAAC,aAAa,CACxB,CAAC;IACN,CAAC;IAcM,SAAS,CAAC,KAAwB;QACrC,IAAI,MAAM,GAAoB;YAC1B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;YAC5C,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC;SACvD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAC1C,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;;QAClD,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,MAAK,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,IAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YAC7H,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAEtD;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;;QAClC,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,mCAAI,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,YAAY,CAAC;YACb,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,aAAa,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACzD,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;YACjD,aAAa,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;SAC5D,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AAxFD,oCAwFC;AAED,MAAa,aAAc,SAAQ,mBAAS;IACxC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAf7C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB,CAAC;IACN,CAAC;IAWD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;YAC9C,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACjD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,aAAa,CAAC;YACd,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAC5C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAjDD,sCAiDC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAcI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAb9C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB,CAAC;IACN,CAAC;IASD,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;SAE/C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAC5C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AA/CD,wCA+CC;AAED,MAAa,eAAgB,SAAQ,mBAAS;IAC1C,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,eAAe,CAAC;QAd/C,IAAI,CAAC,MAAM,GAAG;YACV,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;SAC1B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAUD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrD,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,eAAe,CAAC;YAChB,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AAvDD,0CAuDC;AAED,MAAa,YAAa,SAAQ,mBAAS;IACvC,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QASI,SAAI,GAAG,qBAAW,CAAC,YAAY,CAAC;QAR5C,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;SACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,QAAQ,CAAC;IAC9C,CAAC;IAQD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,YAAY,CAAC;YACb,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;SACxC,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAtCD,oCAsCC;AAED,MAAa,aAAc,SAAQ,mBAAS;IACxC,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAP7C,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,0CAAE,QAAQ,CAAC;IAChD,CAAC;IASD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;SACjD,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACjD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,aAAa,CAAC;YACd,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAC1C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AArCD,sCAqCC;AAED,MAAa,YAAa,SAAQ,mBAAS;IACvC,YAAY,OASX;QACG,KAAK,EAAE,CAAC;QAoCI,SAAI,GAAG,qBAAW,CAAC,YAAY,CAAC;QAnC5C,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;IACN,CAAC;IAkBD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,KAAK;QACL,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAC5C,GAAG,CACN,CAAC;QACF,KAAK;QACL,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,EAC3C,GAAG,CACN,CAAC;QACF,IAAI;QACJ,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAC1C,GAAG,CACN,CAAC;QACF,aAAa;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,MAAM;QACN,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,CAAC,IAAI,CACP,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAC9C,GAAG,EACH,IAAI,CAAC,SAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACnC,CAAC;SACL;QACD,WAAW;QACX,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,SAAS;QACT,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,eAAI,EAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,YAAY,CAAC;YACb,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACrC,kBAAkB,EAAE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,KAAK,EAAE;YACpD,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;YACpC,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;YACxB,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE;SACrC,CAAC,EACF,CAAC,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAC5D,CAAC;IACN,CAAC;CACJ;AA9HD,oCA8HC;AAED,MAAa,gBAAiB,SAAQ,mBAAS;IAC3C,YAAY,OASX;QACG,KAAK,EAAE,CAAC;QAmCI,SAAI,GAAG,qBAAW,CAAC,gBAAgB,CAAC;QAlChD,IAAI,CAAC,MAAM,GAAG;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;IACN,CAAC;IAiBD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,UAAU;QACV,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EACrD,GAAG,CACN,CAAC;QACF,MAAM;QACN,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACtC,GAAG,CACN,CAAC;QACF,IAAI;QACJ,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAC1C,GAAG,CACN,CAAC;QACF,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,MAAM;QACN,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,SAAS;QACT,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAEvF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,gDAAgD;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB,CAAC,OAAuB;QACvC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC/C;QACD,gCAAgC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,gCAAwB,EAAE,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,6CAA6B,CAAC,cAAc,CAAC,CAAC;QAEtE,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACpD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,gBAAgB,CAAC;YACjB,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7C,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;YAC5C,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE;YAC5B,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;SAC3B,CAAC,EACF,CAAC,QAAQ,EAAE,MAAM,CAAC,CACrB,CAAC;IACN,CAAC;CACJ;AAhID,4CAgIC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAsBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QArB9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,OAAO;QACP,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAChD,GAAG,CACN,CAAC;QACF,WAAW;QACX,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CACrC,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM;QACN,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,WAAW;QACX,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAE3F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;QACD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE;YAClC,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;SAC3B,CAAC,EACF,CAAC,WAAW,EAAE,MAAM,CAAC,CACxB,CAAC;IACN,CAAC;CACJ;AAnFD,wCAmFC;AAED,MAAa,kBAAmB,SAAQ,mBAAS;IAC7C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAyBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAxBlD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAcD,SAAS,CAAC,KAAwB;QAC9B,oHAAoH;QACpH,OAAO;YACH,QAAQ;YACR,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAChE,MAAM;YACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAC7C,GAAG;YACH,+BAA+B;YAC/B,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SACjC,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;YACvC,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI;YAC5B,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;YAChC,QAAQ,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ;YACpC,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,CAAC;QACJ,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;IAClC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,kBAAkB,CAAC;YACnB,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,EAAE;YACtB,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,KAAK,EAAE,OAAO,CAAC,CACnB,CAAC;IACN,CAAC;CACJ;AAzFD,gDAyFC;AAED,MAAa,mBAAoB,SAAQ,mBAAS;IAC9C,YAAY,OAOX;;QACG,KAAK,EAAE,CAAC;QA2BI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QA1BnD,IAAI,CAAC,MAAM,GAAG;YACV,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,GAAG,IAAI,CAAC,OAAO,EACf,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAeD,SAAS,CAAC,KAAwB;;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI;QACP,KAAK;QACL,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;QAC5B,MAAM;QACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CACvD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CACP,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CACrC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EACpD,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7C,GAAG,EACH,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC;IAElB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAChD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;IAClC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,mBAAmB,CAAC;YACpB,GAAG,EAAE,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,EAAE;YACtB,aAAa,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACzD,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;YAC3C,aAAa,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACzD,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAC9B,CAAC;IACN,CAAC;CACJ;AA9FD,kDA8FC;AAED,MAAa,gBAAiB,SAAQ,mBAAS;IAC3C,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,gBAAgB,CAAC;QAdhD,IAAI,CAAC,MAAM,GAAG;YACV,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;YACzB,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;SAC9B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;IAUD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAC5C,CAAC;QACF,qGAAqG;QACrG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtB,MAAM,CAAC,IAAI,CACP,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC7C,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,KAAwB;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACpD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,gBAAgB,CAAC;YACjB,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC;YAC9C,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,CAAC;SACnD,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AA3DD,4CA2DC;AAED,MAAa,kBAAmB,SAAQ,mBAAS;IAC7C,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAkBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAjBlD,IAAI,CAAC,MAAM,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,wBAAwB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,EAAE,0CAAE,cAAc,EAAE,CAAA,EAAA,CAAC,CAAC;IACrH,CAAC;IAYD;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAGM,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,WAAI,CAAC,sBAAsB,CACxC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;SACL;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,SAAoB;;QAC/B,MAAM,GAAG,GAAG,SAAS,KAAK,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,IAAI,IAAI,GAAG,WAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAA,MAAA,MAAC,IAAI,CAAC,MAAe,0CAAE,MAAM,0CAAE,IAAI,MAAK,qBAAW,CAAC,kBAAkB,EAAE;YACxE,IAAI,GAAI,IAAI,CAAC,MAAM,CAAC,MAA6B,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;SACrF;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,aAAa,CAAC;IAChD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,aAAa,CAAC;IACnD,CAAC;IAEM,YAAY;;QACf,IAAI,KAAK,GAAG,WAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3D,IAAI,CAAA,MAAA,MAAC,IAAI,CAAC,MAAe,0CAAE,MAAM,0CAAE,IAAI,MAAK,qBAAW,CAAC,kBAAkB,EAAE;YACxE,KAAK,GAAI,IAAI,CAAC,MAAM,CAAC,MAA6B,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACnF;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,iFAAiF;QACjF,OAAO;YACH,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAChC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1B,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SAC3D,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,EACpB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,EACzC,KAAK,CAAC,OAAO,CAChB,CAAC;QACF,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,eAAe,CAClB,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACvF,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK;;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAC5B,IAAI,kBAAkB,CAAC;YACnB,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;YAC5C,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;YACxB,YAAY,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SAC1D,CAAC,EACF,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAC7B,CAAC;QACF,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9ID,gDA8IC;AAED,MAAa,eAAgB,SAAQ,mBAAS;IAC1C,YAAY,OAGX;;QACG,KAAK,EAAE,CAAC;QA8BI,SAAI,GAAG,qBAAW,CAAC,eAAe,CAAC;QA7B/C,IAAI,CAAC,MAAM,GAAG;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,eAAe;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,0CAAE,KAAK,EAAE;gBACnC,wCAAwC;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,cAAc,CAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAChC,CAAC;aACL;SACJ;IACL,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,6EAA6E;QAC7E,mEAAmE;QACnE,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;YACxD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACzC,CAAC;IACN,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,KAAwB;;QACtC,OAAO;YACH,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,mCAAI,QAAQ;YACpC,GAAG;YACH,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;SACrD,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,eAAe,CAAC;YAChB,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAC1C,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AA/ED,0CA+EC;AAED,MAAa,kBAAmB,SAAQ,mBAAS;IAC7C,YAAY,OAOX;;QACG,KAAK,EAAE,CAAC;QAqBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAEtC,WAAM,GAAG,EAKxB,CAAC;QA3BE,IAAI,CAAC,MAAM,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,mBAAmB,EACxB,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,EAClB,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAeD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,sCAAyB,EAAC,CAAC,CAAC,CAA8B,CAAC;IAC5F,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,uCAA0B,EAAC,CAAC,CAAC,CAA+B,CAAC;IAC9F,CAAC;IAGM,kBAAkB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACtC,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,aAAa,CAAC;IAChD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,aAAa,CAAC;IACnD,CAAC;IAGD;;OAEG;IACH,IAAW,QAAQ;;QACf,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;QACpC,IAAI,IAAI,EAAE;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAC9E,IAAI,SAAS,EAAE;gBACX,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;gBAChE,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;aACrC;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,mGAAmG;YACnG,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;;QACX,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,SAAoB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE;YACX,IAAI,SAAS,GAAG,SAAS,KAAK,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnE,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;SAChD;aAAM;YACH,OAAO,IAAI,CAAC,IAAI,CAAC;SACpB;IACL,CAAC;IAEM,SAAS,CAAC,KAAwB;QACrC,mDAAmD;QACnD,OAAO;YACH,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;SACxD,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAC1B,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC;QACF,MAAM,mBAAmB,GAAG,MAAA,IAAI,CAAC,mBAAmB,0CAAE,OAAO,EAAE,CAAC;QAChE,IAAI,mBAAmB,EAAE;YACrB,MAAM,CAAC,IAAI,CACP,WAAW,EACX,mBAAmB,CACtB,CAAC;SACL;QACD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;YAC1B,IAAI,IAAA,uCAA0B,EAAC,SAAS,CAAC,IAAI,IAAA,sCAAyB,EAAC,SAAS,CAAC,EAAE;gBAC/E,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CACjC,CAAC;aACL;iBAAM;gBACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAChC,CAAC;aACL;SACJ;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,EACd,eAAe,EACf,KAAK,CAAC,OAAO,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iDAAiD;QACjD,IAAA,eAAI,EAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,mBAAmB,0CAAE,OAAO,CAAC,OAAO,CAAkB,CAAC;QAE/E,MAAM,UAAU,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;QACzF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC,CAAC,2BAA2B;YACxG,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,gEAAgD,CAAC,CAAC,+BAAuB,CAAC;YAC9G,UAAU,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;SACrG;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC,CAAC,2BAA2B;YACxG,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,gEAAgD,CAAC,CAAC,+BAAuB,CAAC;YAC9G,UAAU,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;SACvH;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;YAC5C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,CAAC;QACJ,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,kBAAkB,CAAC;YACnB,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7C,mBAAmB,EAAE,MAAA,IAAI,CAAC,mBAAmB,0CAAE,KAAK,EAAE;YACtD,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;YACrC,YAAY,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SAC1D,CAAC,EACF,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAClC,CAAC;IACN,CAAC;CACJ;AAtND,gDAsNC;AAED,MAAa,uBAAwB,SAAQ,mBAAS;IAIlD,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,uBAAuB,CAAC;QAdvD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAtBM,SAAS,CAAC,KAAwB;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAkCD,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IACjF,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,IAAI,EAC1B,GAAG,CACN,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,MAAM,CAAC,IAAI,CACP,MAAM,EACN,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAC3C,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,OAAuB;;QAClC,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,OAAO,CAAC,mCAAI,yBAAW,CAAC,QAAQ,CAAC;IACzE,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,uBAAuB,CAAC;YACxB,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;YAC5C,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClD,CAAC,CACL,CAAC;IACN,CAAC;CAEJ;AAzGD,0DAyGC;AAED,uEAAuE;AACvE,oEAAoE;AACpE,MAAa,wBAAyB,SAAQ,mBAAS;IAInD,YAAY,OASX;;QACG,KAAK,EAAE,CAAC;QAaI,SAAI,GAAG,qBAAW,CAAC,wBAAwB,CAAC;QAZxD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC7D,CAAC;IAxBM,SAAS,CAAC,KAAwB;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IA0BD,IAAW,QAAQ;;QACf,OAAO,WAAI,CAAC,sBAAsB,CAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC,EACtB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,oBAAoB,CAC5B,CAAC;IACN,CAAC;IACD;;OAEG;IACI,OAAO,CAAC,SAAoB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAcD,IAAW,UAAU;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxD;IACL,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,IAAI,EAC1B,GAAG,CACN,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,mCAAI,UAAU,EAC5C,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;QACF,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,cAAc,EAAE;gBACtB,MAAM,CAAC,IAAI,CACP,MAAM,EACN,GAAG,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C,CAAC;aACL;SACJ;QACD,MAAM,CAAC,IAAI,CACP,GAAG,CACN,CAAC;QACF,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,MAAM,CAAC,IAAI,CACP,MAAM,EACN,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CACjD,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,OAAuB;;QAClC,4CAA4C;QAC5C,IAAI,UAAU,GAAG,MAAA,IAAI,CAAC,oBAAoB,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,MAAK,qBAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9E,qGAAqG;QACrG,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAW,CAAC,QAAQ,CAAC;SACjE;QACD,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,UAAU,CAAC,CAAC;QACrD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACjG;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,qCAAqC;YACrC,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;QACtD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5H,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,wBAAwB,CAAC;YACzB,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,YAAY,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACvD,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;YACzC,UAAU,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACnD,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,oBAAoB,EAAE,MAAA,IAAI,CAAC,oBAAoB,0CAAE,KAAK,EAAE;SAC3D,CAAC,EACF,CAAC,QAAQ,CAAC,CACb,CAAC;IACN,CAAC;CACJ;AAtKD,4DAsKC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAUX;;QACG,KAAK,EAAE,CAAC;QA4BI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAyClC,cAAS,GAAG,EAAqC,CAAC;QAClD,YAAO,GAAG,EAAuB,CAAC;QAClC,WAAM,GAAG,EAAsB,CAAC;QAtE5C,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,oBAAoB,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,GAAG,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,CAAA,EAAA,CAAC,CAAC;QAEvH,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC7B,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;gBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;aAC1E;iBAAM,IAAI,IAAA,6BAAgB,EAAC,SAAS,CAAC,EAAE;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;aAC1E;SACJ;QAED,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,eAAe,EACpB,GAAG,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,EACpB,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CACrD,CAAC;IACN,CAAC;IAkBM,OAAO,CAAC,SAAoB;;QAC/B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;QACpC,IAAI,IAAI,EAAE;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAC9E,IAAI,SAAS,EAAE;gBACX,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,SAAS,GAAG,SAAS,KAAK,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnE,OAAO,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;aAC3C;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,+FAA+F;YAC/F,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,CAAC;IAC5C,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAQD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAEpD,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAClE,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,wEAAwE;QACxE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAElE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,WAAI,CAAC,0BAA0B,CAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAC9B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAC/C,CAAC;YACF,MAAM,CAAC,IAAI,CACP,YAAY,MAAM,EAAE,CACvB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,KAAK,EAAE,qBAAS,CAAC,GAAG,CAAC,CAAC;YAChE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;YAC1B,6CAA6C;YAC7C,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG;gBACH,WAAW;gBACX,GAAG,IAAI,CAAC,IAAI;aACf,CAAC;SACL;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,IAAA,8BAAiB,EAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAC3B,KAAK,CAAC,OAAO,CAChB,CAAC;aACL;SACJ;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,WAAW,CACd,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,KAAwB;;QAC/C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,GAAG,IAAsB,CAAC;QAClC,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;gBAC9E,uBAAuB;gBACvB,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAC9B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAC/C,0CAAE,IAAI,CAAC;gBACR,OAAO,EAAE,CAAC;aACb;iBAAM;gBACH,MAAM;aACT;SACJ;QACD,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,EAAE;YACb,OAAO,MAAM,CAAC;SACjB;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAEM,cAAc;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,KAAwB;;QACxC,IAAI,SAAS,GAAG,EAAsB,CAAC;QACvC,IAAI,IAAI,GAAG,IAAsB,CAAC;QAClC,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;gBAC9E,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAC9B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAC/C,0CAAE,IAAI,CAAC;gBACR,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;gBACH,MAAM;aACT;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,cAAc,CAAC,mBAA2B;QAC9C,OAAO,KAAK,mBAAmB,UAAU,CAAC;IAC9C,CAAC;IAEO,mBAAmB,CAAC,mBAA2B,EAAE,SAA0B;QAC/E,uCAAY,SAAS,CAAC,MAAM,CAAC,IAAI,KAAE,IAAI,EAAE,KAAK,mBAAmB,WAAW,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAG;IAC/G,CAAC;IAEM,kBAAkB;;QACrB,MAAM,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,sBAAsB,EAAE,0CAAE,OAAO,CAAC,EAAE,KAAK,gCAAwB,EAAE,CAAC,mCAAI,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC;QACjI,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,gCAAwB,EAAE,CAAC,CAAC;QAC7E,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;YAC3B,OAAO,CAAA,MAAA,MAAC,IAAwB,aAAxB,IAAI,uBAAJ,IAAI,CAAsB,MAAM,CAAC,IAAI,0CAAE,IAAI,0CAAE,WAAW,EAAE,MAAK,KAAK,CAAC;QACjF,CAAC,CAAoB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,SAA2B;QACpD,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC5B,MAAM,IAAI,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,sBAAsB,EAAE,CAAC;YAChD,IAAI,IAAI,EAAE;gBACN,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;aAC/B;SACJ;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACI,yBAAyB,CAAC,SAAiB,EAAE,SAA2B;QAC3E,IAAI,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC5B,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBACpC,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,KAAwB,EAAE,mBAA2B,EAAE,SAA2B,EAAE,IAAiB;QAC9H,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACxE,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5B,wCAAwC;QACxC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;YACd,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAC9F,IAAI,uBAAuB,GAAG,WAAI,CAAC,0BAA0B,CACzD,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAE,EAC/C,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;SACnG;aAAM;YACH,sBAAsB;YACtB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAChC;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;QACF,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEvD,KAAK,IAAI,SAAS,IAAI,IAAI,EAAE;YACxB,oBAAoB;YACpB,IAAI,IAAA,6BAAgB,EAAC,SAAS,CAAC,EAAE;gBAC7B,4EAA4E;gBAC5E,SAAS;gBAET,SAAS;aACZ;iBAAM,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;gBAErC,oEAAoE;gBACpE;gBACI,oBAAoB;gBACpB,SAAS,CAAC,MAAM,CAAC,QAAQ;oBACzB,wCAAwC;oBACxC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EACtE;oBACE,MAAM,CAAC,IAAI,CACP,iBAAiB,gBAAgB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,eAAe,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAC1G,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;iBACL;gBAED,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBACjC,sBAAsB;gBACtB,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtF,MAAM,CAAC,IAAI,CACP,GAAG,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,EACnD,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;iBACL;gBACD,MAAM,CAAC,IAAI,CACP,WAAW,EACX,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3C,KAAK,EACL,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,EAC9E,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;gBACF,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBAClC,OAAO,KAAK,CAAC,cAAc,CAAC;aAC/B;iBAAM;gBACH,kDAAkD;gBAClD,MAAM,CAAC,IAAI,CACP,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;aACL;SACJ;QACD,qBAAqB;QACrB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,SAA2B;QACtD,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,OAAO,CAAC,IAAA,gCAAqB,EAAC,KAAK,EAAE,qBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7D;iBAAM;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC;oBACjC,UAAU,EAAE,IAAI,2BAAc,CAAC;wBAC3B,MAAM,EAAE,IAAI,+BAAkB,CAAC;4BAC3B,IAAI,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,UAAU,EAAE,OAAO,CAAC;yBACnD,CAAC;wBACF,YAAY,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,SAAS,CAAC;wBAC9C,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,+BAAkB,CAAC;4BACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;yBACtB,CAAC,CAAC;wBACH,YAAY,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,UAAU,CAAC;qBAClD,CAAC;iBACL,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CACR,IAAI,eAAe,CAAC;oBAChB,SAAS,EAAE,EAAE;oBACb,IAAI,EAAE,IAAA,2BAAgB,EAAC,KAAK,CAAC;oBAC7B,IAAI,EAAE,IAAI,+BAAkB,CAAC;wBACzB,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBACtC,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,YAAY,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,GAAG,CAAC;wBACxC,eAAe,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,MAAM,CAAC;wBAC9C,SAAS,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,SAAS,CAAC;wBAC3C,UAAU,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,UAAU,CAAC;qBAChD,CAAC;oBACF,QAAQ,EAAE,IAAI;iBACjB,CAAC,CACL,CAAC;aACL;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,KAAwB,EAAE,mBAA2B,EAAE,IAAiB;QACjG,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,KAAK,IAAI,SAAS,IAAI,IAAI,EAAE;YACxB,IAAI,IAAA,8BAAiB,EAAC,SAAS,CAAC,EAAE;gBAC9B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5B,MAAM,CAAC,IAAI,CACP,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,EACvF,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;gBACF,OAAO,KAAK,CAAC,cAAc,CAAC;aAC/B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,KAAwB,EAAE,mBAA2B;QACpF,IAAI,MAAM,GAAoB,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1D,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,mBAAmB,EAAE;YACrB,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3D;aAAM;YACH,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3E;QAED,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC,EACxE,GAAG,CACN,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,KAAK,IAAI,iBAAiB,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CACzB,CAAC;YACF,CAAC,EAAE,CAAC;SACP;QACD,MAAM,CAAC,IAAI,CACP,GAAG,EACH,IAAI,CACP,CAAC;QAEF,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7B,8BAA8B;QAC9B,CAAC,GAAG,CAAC,CAAC;QACN,KAAK,IAAI,KAAK,IAAI,iBAAiB,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAC1C,CAAC;YACF,CAAC,EAAE,CAAC;SACP;QACD,MAAM,CAAC,IAAI,CACP,GAAG,EACH,IAAI,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjC,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iDAAiD;QACjD,IAAA,eAAI,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,CAAC,OAAO,CAAc,CAAC;QAEvE,MAAM,UAAU,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;QAErF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,QAAQ,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC,CAAC,qBAAqB;YACrG,IAAI,IAAI,iCAAyB,CAAC;YAClC,IAAI,CAAA,MAAA,SAAS,CAAC,cAAc,0CAAE,IAAI,MAAK,qBAAS,CAAC,OAAO,EAAE;gBACtD,IAAI,kCAA0B,CAAC;aAClC;YACD,IAAI,CAAA,MAAA,SAAS,CAAC,cAAc,0CAAE,IAAI,MAAK,qBAAS,CAAC,SAAS,EAAE;gBACxD,IAAI,qCAA4B,CAAC;aACpC;YACD,UAAU,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnG;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC,CAAC,qBAAqB;YAChG,IAAI,IAAI,iCAAyB,CAAC;YAClC,IAAI,SAAS,CAAC,UAAU,EAAE;gBACtB,IAAI,mCAA2B,CAAC;aACnC;YACD,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,cAAc,0CAAE,IAAI,MAAK,qBAAS,CAAC,OAAO,EAAE;gBAC7D,IAAI,kCAA0B,CAAC;aAClC;YACD,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,CAAC,cAAc,0CAAE,IAAI,MAAK,qBAAS,CAAC,SAAS,EAAE;gBAC/D,IAAI,qCAA4B,CAAC;aACpC;YACD,UAAU,CAAC,SAAS,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SACtH;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5H,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;YACrC,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7C,eAAe,EAAE,MAAA,IAAI,CAAC,eAAe,0CAAE,KAAK,EAAE;SACjD,CAAC,EACF,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAC9B,CAAC;IACN,CAAC;CACJ;AA3iBD,wCA2iBC;AAED,MAAM,eAAe,GAAG;IACpB,qBAAS,CAAC,MAAM;IAChB,qBAAS,CAAC,SAAS;IACnB,qBAAS,CAAC,OAAO;CACpB,CAAC;AACF,MAAa,eAAgB,SAAQ,iBAAiB;IAClD,YACI,OAKC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QAmBH,SAAI,GAAG,qBAAW,CAAC,eAA8B,CAAC;QAElD,cAAS,GAAY,EAAE,CAAC;QApBpC,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;aAC7C;iBAAM;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAC1C;SACJ;QACD,IAAI,CAAC,MAAM,mCACJ,IAAI,CAAC,MAAM,KACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAC7B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EACnB,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAClD,IAAI,CAAC,IAAI,CACZ,CAAC;IACN,CAAC;IAWD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAID;;OAEG;IACI,OAAO,CAAC,SAAoB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,KAAwB,EAAE,IAAiB;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;YAC/C,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACvC,wDAAwD;YACxD,IAAI,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC;SACrD;QACD,6EAA6E;QAC7E,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC;YAC1B,kBAAkB,EAAE,CAAC,CAAC,EAAE;gBACpB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,OAAO,EAAE;oBACpD,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,gBAAgB,MAAM,CAAC,CAAC;iBACrF;YACL,CAAC;YACD,mBAAmB,EAAE,CAAC,CAAC,EAAE;gBACrB,MAAM,iBAAiB,GAAG,WAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;gBACrF,IAAI,SAAS,KAAK,OAAO,EAAE;oBACvB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBACrE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,gBAAgB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;iBACrG;YACL,CAAC;SACJ,CAAC,CAAC;QACH,MAAM,WAAW,GAAgB,EAAE,QAAQ,EAAE,mBAAQ,CAAC,gBAAgB,EAAE,CAAC;QACzE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC/C,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,cAAc,CAAC,IAAI,EACxB,GAAG,CACN,CAAC;SACL;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5B;QACD,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAAC,KAAwB;QACvD,uDAAuD;QACvD,IAAI,KAAK,CAAC,cAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxD,OAAO;SACV;QAED,wCAAwC;QACxC,IAAI,iBAAiB,GACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;;YACtC,qBAAqB;YACrB,OAAO,IAAA,kCAAqB,EAAC,CAAC,CAAC,IAAI,IAAA,6BAAgB,EAAC,CAAC,CAAC,UAAU,CAAC;gBAC7D,oBAAoB;gBACpB,CAAA,MAAA,WAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,UAAU,CAAC,MAAa,CAAC,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC,WAAW,EAAE,MAAK,OAAO,CAAC;QACrH,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAEd,sCAAsC;QACtC,IAAI,iBAAiB,EAAE;YACnB,OAAO;SACV;QAED,wFAAwF;QACxF,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC;YACtC,UAAU,EAAE,IAAI,2BAAc,CAAC;gBAC3B,MAAM,EAAE,IAAI,+BAAkB,CAAC;oBAC3B,IAAI,EAAE;wBACF,IAAI,EAAE,qBAAS,CAAC,UAAU;wBAC1B,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,KAAK;wBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;wBACnD,iBAAiB,EAAE,EAAE;wBACrB,aAAa,EAAE,EAAE;qBACpB;iBACJ,CAAC;gBACF,YAAY,EAAE;oBACV,IAAI,EAAE,qBAAS,CAAC,SAAS;oBACzB,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;oBACnD,iBAAiB,EAAE,EAAE;oBACrB,aAAa,EAAE,EAAE;iBACpB;gBACD,YAAY,EAAE;oBACV,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;oBACnD,iBAAiB,EAAE,EAAE;oBACrB,aAAa,EAAE,EAAE;iBACpB;gBACD,IAAI,EAAE,EAAE;aACX,CAAC;SACL,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACK,qCAAqC,CAAC,KAAwB;;QAClE,IAAI,aAAa,GAAG,KAAK,CAAC,cAAe,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,IAAI,aAAa,GAAG,EAAiB,CAAC;QACtC,wCAAwC;QACxC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,cAAe,CAAC,MAAM,EAAE;YAC5C,IAAI,iBAAiB,qBAAQ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;YACjD,iBAAiB,CAAC,IAAI,GAAG,IAAI,IAAG,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAA,CAAC;YACxD,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY;gBACtC,CAAC,CAAC,IAAI,mBAAmB,CAAC;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;oBAC3B,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,KAAK,CAAC,YAAY;iBAC5B,CAAC;gBACF,CAAC,CAAC,IAAI,mBAAmB,CAAC;oBACtB,MAAM,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACrE,IAAI,EAAE,iBAAiB;oBACvB,kEAAkE;oBAClE,KAAK,EAAE,IAAA,+BAAoB,EAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACrE,CAAC,CAAC;YACP,uCAAuC;YACvC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;YAC9C,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvC;QACD,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,eAAe,CAAC;YAChB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE;YACxB,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClD,CAAC,EACF,CAAC,MAAM,CAAC,CACX,CAAC;IACN,CAAC;CACJ;AA/ND,0CA+NC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAQX;QACG,KAAK,EAAE,CAAC;QA6BI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QA5B9C,IAAI,CAAC,MAAM,GAAG;YACV,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAEzC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAClD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAeD;;;OAGG;IACH,OAAO,CAAC,OAAuB;;QAC3B,IAAI,gBAAgB,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,oCAA2B,CAAC;QAEjG,IAAI,IAAA,0BAAa,EAAC,gBAAgB,CAAC,IAAI,IAAA,uBAAU,EAAC,gBAAgB,CAAC,IAAI,IAAA,gCAAmB,EAAC,gBAAgB,CAAC,EAAE;YAC1G,gBAAgB,GAAG,SAAS,CAAC;SAChC;QAED,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,qCAA4B,mCAC/E,WAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,mCAClD,yBAAW,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAID,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,0CAAE,aAAa,mCAAI,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC9H,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAClB,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;gBACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;aACL;YACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;aACL;YAED,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC;YAC5D,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,IAAI,IAAA,uBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,EAAE;gBACtE,IAAI,GAAG,yBAAW,CAAC,QAAQ,CAAC;aAC/B;YAED,MAAM,CAAC,IAAI,CACP,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,0CAAE,IAAI,mCAAI,QAAQ,EAC5C,GAAG,CACN,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC/C;YACD,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,EAC9B,MAAM,EACN,IAAI,CAAC,YAAY,EAAE,CACtB,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAA,eAAI,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAChD;IACL,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,cAAc,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAC3D,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,EAAE,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;YAC5C,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,EAAE;YACxC,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClD,CAAC,EACF,CAAC,cAAc,CAAC,CACnB,CAAC;IACN,CAAC;CACJ;AAlID,wCAkIC;AAID,MAAa,iBAAkB,SAAQ,mBAAS;IAC5C,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAuBI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QAtBjD,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,GAAG,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;IACN,CAAC;IAcM,SAAS,CAAC,KAAwB;;QACrC,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;YAC5C,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;YAClC,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,MAAM,EAAE;YACd,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,OAAO,CAAC,CAAC;YACvD,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,MAAM,EAAE;YACd,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAO,EAAE,SAAS,CAAC;SACvD,CAAC;IACN,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACtE,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,iBAAiB,CAAC;YAClB,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACrC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE;YAClC,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,EAAE;SAC/C,CAAC,EACF,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAClC,CAAC;IACN,CAAC;CACJ;AAzED,8CAyEC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAqBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QApB9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;SACxB,CAAC;QACF,IAAI,CAAC,2BAA2B,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,2BAA2B,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,2BAA2B,EAChC,IAAI,CAAC,WAAW,CACnB,CAAC;IACN,CAAC;IAcM,SAAS,CAAC,KAAwB;;QACrC,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;YAChD,GAAG;YACH,MAAA,MAAA,IAAI,CAAC,2BAA2B,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI;gBAClD,0IAA0I;gBAC1I,CAAA,MAAA,IAAI,CAAC,cAAc,EAAE,0CAAE,SAAS,CAAC,GAAG,iCAAyB;oBACzD,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,GAAG;aACZ;YACD,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;SAChD,CAAC;IACN,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACxE,IAAA,eAAI,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC/C;IACL,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,2BAA2B,EAAE,MAAA,IAAI,CAAC,2BAA2B,0CAAE,KAAK,EAAE;YACtE,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,EAAE;SACzC,CAAC,EACF,CAAC,aAAa,CAAC,CAClB,CAAC;IACN,CAAC;CACJ;AAjED,wCAiEC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAf9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,UAAU,CAClB,CAAC;IACN,CAAC;IAWM,SAAS,CAAC,KAAwB;QACrC,MAAM,MAAM,GAAG;YACX,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;YAChD,GAAG;SACa,CAAC;QAErB,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACtC,CAAC;YAEF,sFAAsF;SACzF;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SAC7C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACxE,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;SACvC,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AA/DD,wCA+DC;AAGD,MAAa,aAAc,SAAQ,mBAAS;IACxC,YAAY,OAKX;;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAhB7C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;IACnC,CAAC;IAWD,IAAW,QAAQ;QACf,OAAO,WAAI,CAAC,sBAAsB,CAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,GAAG,IAAI,CAAC,IAAI,EACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CACtB,CAAC;IACN,CAAC;IAEM,UAAU;QACb,MAAM,MAAM,GAAG,EAA2B,CAAC;QAC3C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC/B,IAAI,IAAA,kCAAqB,EAAC,SAAS,CAAC,EAAE;gBAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,CAAC;IAC3C,CAAC;IAED,IAAW,SAAS;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACI,iBAAiB;;QACpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,uEAAuE;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACf,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,EAAE,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnE,eAAe,EAAE,CAAC;gBAElB,iEAAiE;aACpE;iBAAM,IAAI,IAAA,gCAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,cAAc,EAAE;gBACzG,8DAA8D;gBAC9D,IAAI,aAAa,GAAG,MAAA,WAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,WAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxI,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC7B,eAAe,GAAG,aAAa,CAAC;oBAChC,eAAe,EAAE,CAAC;iBACrB;gBACD,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvE,sCAAsC;aACzC;iBAAM,IAAI,IAAA,8BAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAA,gCAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnF,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEjH,kBAAkB;aACrB;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,EAAE,EAAE,MAAA,MAAA,MAAA,MAAC,MAAM,CAAC,KAA2B,0CAAE,MAAM,0CAAE,KAAK,0CAAE,IAAI,mCAAI,SAAS,CAAC,CAAC;aACjH;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;;QACX,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;;QACf,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;QACpC,IAAI,IAAI,EAAE;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAE9E,IAAI,SAAS,EAAE;gBACX,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;gBAChE,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;aACrC;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,yFAAyF;YACzF,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,iFAAiF;QACjF,OAAO;YACH,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAChC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACnD,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAG,EAAqB,CAAC;QACrC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,KAAK,IAAI,UAAU,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,mCAAI,MAAM,EAChC,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,IAAI,IAAA,8BAAiB,EAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAC3B,KAAK,CAAC,OAAO,CAChB,CAAC;aACL;SACJ;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,0CAAE,IAAI,mCAAI,UAAU,CAC1C,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAEhD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,IAAI,mBAAQ,CAC3B,IAAI,CAAC,QAAQ,EACb,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,EAAE,cAAc,CAC9C,CAAC;QACF,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3D,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE;YAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC;YAC3E,UAAU,CAAC,cAAc,GAAG,UAAU,CAAC;YACvC,UAAU,CAAC,SAAS,CAAC,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,0CAAE,IAAI,0CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,UAAU,iCAAyB,CAAC;SACxH;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,aAAa,CAAC;YACd,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7C,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;SACxC,CAAC,EACF,CAAC,MAAM,CAAC,CACX,CAAC;IACN,CAAC;CACJ;AA1MD,sCA0MC;AAED,MAAa,mBAAoB,SAAQ,mBAAS;IAC9C,YAAmB,OAIlB;QACG,KAAK,EAAE,CAAC;QAcI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAbnD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAUD,IAAW,QAAQ;QACf,OAAO,WAAI,CAAC,sBAAsB,CAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEM,SAAS,CAAC,KAAwB;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;aACL;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACnE,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,OAAO,IAAI,yBAAc,CACrB,MAAC,IAAI,CAAC,MAAwB,0CAAE,QAAQ,EACxC,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,0CAAE,IAAI,EACvB,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,OAAO,CAAC,CAC/B,CAAC;IACN,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,mBAAmB,CAAC;YACpB,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AA1FD,kDA0FC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAmB,OAKlB;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAhB9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrH,CAAC;IAaD,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;;QACf,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;QACpC,IAAI,IAAI,EAAE;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;YAC9E,IAAI,SAAS,EAAE;gBACX,IAAI,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;gBAChE,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;aACrC;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;aAAM;YACH,yFAAyF;YACzF,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAEM,SAAS,CAAC,KAAwB;QACrC,kFAAkF;QAClF,OAAO;YACH,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAChC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SACpD,CAAC;IACN,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,IAAI,OAAO,IAAI,MAAA,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE;YACrD,MAAM,CAAC,IAAI,CACP,OAAO,CAAC,IAAI,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EACxE,GAAG,EACH,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACzC,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EACtE,GAAG,EACH,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACnE,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AAzGD,wCAyGC;AAED,MAAa,iBAAkB,SAAQ,mBAAS;IAC5C,YAAY,OAGX;QAEG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QAfjD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;IAWD,SAAS,CAAC,KAAwB;;QAC9B,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,IAAI,mCAAI,UAAU,CAAC;YAChF,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,iBAAiB,mCAAI,GAAG;YAC9C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,IAAI,CAAC;SACrE,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,IAAW,aAAa;;QACpB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,iBAAiB,CAAC;YAClB,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClD,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAlDD,8CAkDC;AAED,MAAa,iBAAkB,SAAQ,mBAAS;IAC5C,YAAY,OAGX;QAEG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QAhBjD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;IACN,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,iEAAiE;QACjE,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;YAC5D,GAAG;YACH,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;YAC7D,GAAG;YACH,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;SAC3E,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACtD;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,iBAAiB,CAAC;YAClB,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,kBAAkB,EAAE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,KAAK,EAAE;SACvD,CAAC,EACF,CAAC,oBAAoB,CAAC,CACzB,CAAC;IACN,CAAC;CACJ;AA/DD,8CA+DC;AAED,MAAa,gCAAiC,SAAQ,mBAAS;IAC3D,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAcI,SAAI,GAAG,qBAAW,CAAC,gCAAgC,CAAC;QAbhE,IAAI,CAAC,MAAM,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CAAC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;YACrD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAE5C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,kBAAkB;IACtB,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,gCAAgC,CAAC;YACjC,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,OAAO,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAChD,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAhDD,4EAgDC;AAED,MAAa,cAAe,SAAQ,mBAAS;IACzC,YAAY,OAKX;QAEG,KAAK,EAAE,CAAC;QAuBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAtB9C,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAcD,SAAS,CAAC,KAAwB;QAC9B,oDAAoD;QACpD,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;YACtD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAC7C,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SAC9B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,cAAc,CAAC;YACf,KAAK,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACzC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AAzED,wCAyEC;AAED,MAAa,2BAA4B,SAAQ,mBAAS;IACtD,YAAY,OAQX;QACG,KAAK,EAAE,CAAC;QA6BI,SAAI,GAAG,qBAAW,CAAC,2BAA2B,CAAC;QA5B3D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAErC,IAAI,CAAC,MAAM,GAAG;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAClD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,CAClB,CAAC;IACN,CAAC;IAgBD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,OAAO,GAAG,EAAqB,CAAC;QACpC,kCAAkC;QAClC,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACpC,6FAA6F;YAC7F,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3F;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,YAAY;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE5B,mBAAmB;QACnB,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,aAAa;QACb,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,MAAM,QAAQ,GAAG,IAAA,0CAA6B,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAC,IAAI,CAAC,UAA0C,CAAC,MAAM,CAAC,MAAM,mCAAI,IAAA,sBAAW,EAAC,qBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5J,MAAM;YAEN,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAEpH,IAAI,QAAQ,EAAE;gBACV,iBAAiB;gBACjB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEvC,oDAAoD;gBACpD,MAAM,cAAc,GAAG,KAAK,CAAC,2BAA2B,CAAC;gBACzD,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACzC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,2BAA2B,GAAG,cAAc,CAAC;gBAEnD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjB,qDAAqD;oBACrD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;oBAEtB,uDAAuD;oBACvD,OAAO,OAAO,CAAC;iBAClB;qBAAM;oBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtB;aAEJ;iBAAM;gBACH,WAAW;gBACX,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;gBAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAEtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;iBACzB;aACJ;SACJ;QAED,QAAQ;QACR,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAEpH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,cAAc,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,0BAA0B;gBAC1B,aAAa,GAAG,CAAC,aAAa,CAAC;aAClC;YACD,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,sCAAsC,CAAC;YACnG,IAAI,aAAa,IAAI,eAAe,EAAE;gBAClC,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aAC9C;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,eAAe,CAAC,EAAE;gBACxD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACnD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,2BAA2B,CAAC;YAC5B,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,GAAG,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACrC,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,QAAQ,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC/C,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;YACpC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;SACvC,CAAC,EACF,CAAC,YAAY,EAAE,YAAY,CAAC,CAC/B,CAAC;IACN,CAAC;IAEM,uBAAuB,CAAC,IAAe;QAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAC1B,OAAO,CAAC,CAAC;SACZ;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YACjC,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;CACJ;AA/JD,kEA+JC;AAGD,MAAa,gCAAiC,SAAQ,mBAAS;IAC3D,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAcI,SAAI,GAAG,qBAAW,CAAC,gCAAgC,CAAC;QAbhE,IAAI,CAAC,MAAM,GAAG;YACV,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CAAC,WAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrH,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;YACrD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACjD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YACxD,GAAG;YACH,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5C,CAAC;IAEN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,kBAAkB;IACtB,CAAC;IAGD,IAAI,aAAa;;QACb,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,mCAAI,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,gCAAgC,CAAC;YACjC,SAAS,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACjD,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,EAAE;SACvC,CAAC,EACF,CAAC,YAAY,CAAC,CACjB,CAAC;IACN,CAAC;CACJ;AAtDD,4EAsDC;AAGD,MAAa,aAAc,SAAQ,mBAAS;IACxC,YAAY,OAKX;QAEG,KAAK,EAAE,CAAC;QAuBI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAtB7C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,WAAI,CAAC,sBAAsB,CACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;IAcD,SAAS,CAAC,KAAwB;QAC9B,oDAAoD;QACpD,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;YACpD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAC7C,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SAC9B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAI,aAAa;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK;;QACR,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,aAAa,CAAC;YACd,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvC,MAAM,EAAE,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE;SAC7B,CAAC,EACF,CAAC,OAAO,CAAC,CACZ,CAAC;IACN,CAAC;CACJ;AAzED,sCAyEC"}
@@ -1,38 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
3
+ const chai_config_spec_1 = require("../chai-config.spec");
4
4
  const Statement_1 = require("./Statement");
5
+ const Statement_2 = require("./Statement");
5
6
  const Parser_1 = require("./Parser");
6
7
  const visitors_1 = require("../astUtils/visitors");
7
- const vscode_languageserver_1 = require("vscode-languageserver");
8
- const Expression_1 = require("./Expression");
8
+ const reflection_1 = require("../astUtils/reflection");
9
9
  const Program_1 = require("../Program");
10
- const path = require("path");
11
10
  const testHelpers_spec_1 = require("../testHelpers.spec");
12
- const tempDir = path.join(process.cwd(), '.tmp');
11
+ const testHelpers_spec_2 = require("../testHelpers.spec");
12
+ const creators_1 = require("../astUtils/creators");
13
+ const TokenKind_1 = require("../lexer/TokenKind");
14
+ const Expression_1 = require("./Expression");
13
15
  describe('Statement', () => {
14
16
  let program;
15
17
  beforeEach(() => {
16
18
  program = new Program_1.Program({
17
- cwd: tempDir
19
+ cwd: testHelpers_spec_2.tempDir
18
20
  });
19
21
  });
20
22
  describe('EmptyStatement', () => {
21
23
  it('returns empty array for transpile', () => {
22
- const statement = new Statement_1.EmptyStatement();
23
- chai_1.expect(statement.transpile({})).to.eql([]);
24
+ const statement = new Statement_2.EmptyStatement();
25
+ (0, chai_config_spec_1.expect)(statement.transpile({})).to.eql([]);
24
26
  });
25
27
  it('does nothing for walkAll', () => {
26
- const statement = new Statement_1.EmptyStatement();
28
+ const statement = new Statement_2.EmptyStatement();
27
29
  statement.walk(() => {
28
- chai_1.expect(true).to.be.false;
30
+ (0, chai_config_spec_1.expect)(true).to.be.false;
29
31
  }, { walkMode: visitors_1.WalkMode.visitAllRecursive });
30
32
  });
31
33
  });
32
34
  describe('Body', () => {
33
35
  it('initializes statements array if none provided', () => {
34
- const body = new Statement_1.Body();
35
- chai_1.expect(body.statements).to.eql([]);
36
+ const body = new Statement_2.Body({});
37
+ (0, chai_config_spec_1.expect)(body.statements).to.eql([]);
36
38
  });
37
39
  });
38
40
  describe('NamespaceStatement', () => {
@@ -42,37 +44,50 @@ describe('Statement', () => {
42
44
  end namespace
43
45
  `);
44
46
  const statement = parser.ast.statements[0];
45
- chai_1.expect(statement.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.NameB');
46
- chai_1.expect(statement.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_NameB');
47
+ (0, chai_config_spec_1.expect)(statement.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.NameB');
48
+ (0, chai_config_spec_1.expect)(statement.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_NameB');
47
49
  });
48
- });
49
- describe('CommentStatement', () => {
50
- describe('walk', () => {
51
- it('skips visitor if canceled', () => {
52
- const comment = new Statement_1.CommentStatement([]);
53
- const cancel = new vscode_languageserver_1.CancellationTokenSource();
54
- cancel.cancel();
55
- comment.walk(() => {
56
- throw new Error('Should not have been called');
57
- }, { walkMode: visitors_1.WalkMode.visitAllRecursive, cancel: cancel.token });
58
- });
50
+ it('getName() works', () => {
51
+ program.setFile('source/main.brs', `
52
+ namespace NameA
53
+ namespace NameB
54
+ sub main()
55
+ end sub
56
+ end namespace
57
+ end namespace
58
+ `);
59
+ program.validate();
60
+ let node = program.getFile('source/main.brs').ast.findChild(reflection_1.isNamespaceStatement);
61
+ while (node.findChild(reflection_1.isNamespaceStatement)) {
62
+ node = node.findChild(reflection_1.isNamespaceStatement);
63
+ }
64
+ (0, chai_config_spec_1.expect)(node.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.NameB');
65
+ (0, chai_config_spec_1.expect)(node.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_NameB');
59
66
  });
60
67
  });
61
68
  describe('ClassStatement', () => {
62
- function create(name, namespaceName) {
63
- let stmt = new Statement_1.ClassStatement({ range: vscode_languageserver_1.Range.create(0, 0, 0, 0) }, { text: name }, null, { range: vscode_languageserver_1.Range.create(0, 0, 0, 0) }, null, null, namespaceName ? new Expression_1.NamespacedVariableNameExpression(new Expression_1.VariableExpression({ text: namespaceName }, null)) : null);
64
- return stmt;
65
- }
66
69
  describe('getName', () => {
67
70
  it('handles null namespace name', () => {
68
- let stmt = create('Animal');
69
- chai_1.expect(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('Animal');
70
- chai_1.expect(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('Animal');
71
+ const file = program.setFile('source/lib.bs', `
72
+ class Animal
73
+ end class
74
+ `);
75
+ program.validate();
76
+ const stmt = file.ast.findChildren(reflection_1.isClassStatement)[0];
77
+ (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('Animal');
78
+ (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('Animal');
71
79
  });
72
80
  it('handles namespaces', () => {
73
- let stmt = create('Animal', 'NameA');
74
- chai_1.expect(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_Animal');
75
- chai_1.expect(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.Animal');
81
+ const file = program.setFile('source/lib.bs', `
82
+ namespace NameA
83
+ class Animal
84
+ end class
85
+ end namespace
86
+ `);
87
+ program.validate();
88
+ const stmt = file.ast.findChildren(reflection_1.isClassStatement)[0];
89
+ (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_Animal');
90
+ (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.Animal');
76
91
  });
77
92
  });
78
93
  });
@@ -83,12 +98,94 @@ describe('Statement', () => {
83
98
  import "lib1.bs"
84
99
  import "pkg:/source/lib2.bs"
85
100
  `);
86
- chai_1.expect(testHelpers_spec_1.trim `${file.getTypedef()}`).to.eql(testHelpers_spec_1.trim `
101
+ (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.trim) `${file.getTypedef()}`).to.eql((0, testHelpers_spec_1.trim) `
87
102
  import "lib1.brs"
88
103
  import "pkg:/source/lib2.brs"
89
104
  `);
90
105
  });
91
106
  });
92
107
  });
108
+ describe('all Statements', () => {
109
+ let allStatements = [];
110
+ beforeEach(() => {
111
+ const ident = (0, creators_1.createToken)(TokenKind_1.TokenKind.Identifier, 'a');
112
+ const expr = (0, creators_1.createStringLiteral)('');
113
+ const token = (0, creators_1.createToken)(TokenKind_1.TokenKind.StringLiteral, '');
114
+ const body = new Statement_2.Body({ statements: [] });
115
+ const assignment = new Statement_2.AssignmentStatement({ equals: undefined, name: ident, value: expr });
116
+ const block = new Statement_2.Block({ statements: [] });
117
+ const expression = new Statement_2.ExpressionStatement({ expression: expr });
118
+ const exitFor = new Statement_2.ExitStatement({ exit: token, loopType: token });
119
+ const exitWhile = new Statement_2.ExitStatement({ exit: token, loopType: token });
120
+ const funs = new Statement_2.FunctionStatement({
121
+ name: ident,
122
+ func: new Expression_1.FunctionExpression({
123
+ parameters: [],
124
+ body: block,
125
+ functionType: token,
126
+ leftParen: token,
127
+ rightParen: token,
128
+ endFunctionType: token
129
+ })
130
+ });
131
+ const ifs = new Statement_2.IfStatement({ if: token, condition: expr, thenBranch: block });
132
+ const increment = new Statement_2.IncrementStatement({ value: expr, operator: token });
133
+ const print = new Statement_2.PrintStatement({ print: token, expressions: [] });
134
+ const gotos = new Statement_2.GotoStatement({ goto: token, label: token });
135
+ const labels = new Statement_2.LabelStatement({ name: ident, colon: token });
136
+ const returns = new Statement_2.ReturnStatement({ return: token });
137
+ const ends = new Statement_2.EndStatement({ end: token });
138
+ const stop = new Statement_2.StopStatement({ stop: token });
139
+ const fors = new Statement_2.ForStatement({ for: token, counterDeclaration: assignment, to: token, finalValue: expr, body: block, endFor: token, step: token, increment: expr });
140
+ const foreach = new Statement_2.ForEachStatement({ forEach: token, in: token, endFor: token, item: token, target: expr, body: block });
141
+ const whiles = new Statement_2.WhileStatement({ while: token, endWhile: token, condition: expr, body: block });
142
+ const dottedSet = new Statement_2.DottedSetStatement({ obj: expr, name: ident, value: expr });
143
+ const indexedSet = new Statement_2.IndexedSetStatement({ obj: expr, indexes: [expr], value: expr, openingSquare: token, closingSquare: token });
144
+ const library = new Statement_2.LibraryStatement({ library: token, filePath: token });
145
+ const namespace = new Statement_1.NamespaceStatement({ namespace: token, nameExpression: (0, creators_1.createVariableExpression)('a'), body: body, endNamespace: token });
146
+ const cls = new Statement_1.ClassStatement({ class: token, name: ident, body: [], endClass: token });
147
+ const imports = new Statement_2.ImportStatement({ import: token, path: token });
148
+ const catchStmt = new Statement_2.CatchStatement({ catch: token, exceptionVariableExpression: (0, creators_1.createVariableExpression)('e'), catchBranch: block });
149
+ const tryCatch = new Statement_2.TryCatchStatement({ try: token, tryBranch: block, catchStatement: catchStmt });
150
+ const throwSt = new Statement_2.ThrowStatement({ throw: (0, creators_1.createToken)(TokenKind_1.TokenKind.Throw) });
151
+ allStatements = [
152
+ expression,
153
+ exitFor,
154
+ exitWhile,
155
+ funs,
156
+ ifs,
157
+ increment,
158
+ print,
159
+ gotos,
160
+ labels,
161
+ returns,
162
+ ends,
163
+ stop,
164
+ fors,
165
+ foreach,
166
+ whiles,
167
+ dottedSet,
168
+ indexedSet,
169
+ library,
170
+ namespace,
171
+ cls,
172
+ imports,
173
+ catchStmt,
174
+ tryCatch,
175
+ throwSt
176
+ ];
177
+ });
178
+ it('has editable leading trivia', () => {
179
+ for (const stmt of allStatements) {
180
+ const beforeTrivia = stmt.leadingTrivia;
181
+ (0, chai_config_spec_1.expect)(beforeTrivia.length, `${stmt.kind} already has leading trivia`).to.eq(0);
182
+ stmt.leadingTrivia.push((0, creators_1.createToken)(TokenKind_1.TokenKind.Comment, 'This is an added comment'));
183
+ const afterComments = stmt.leadingTrivia.filter(t => t.kind === TokenKind_1.TokenKind.Comment);
184
+ (0, chai_config_spec_1.expect)(afterComments.length, `${stmt.kind} leading trivia was not edited`).to.eq(1);
185
+ (0, chai_config_spec_1.expect)(afterComments[0].text, `${stmt.kind} leading trivia was not edited`).to.eq('This is an added comment');
186
+ stmt.leadingTrivia.pop();
187
+ }
188
+ });
189
+ });
93
190
  });
94
191
  //# sourceMappingURL=Statement.spec.js.map