@nice2dev/game-engine 1.0.2 → 1.0.3

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 (188) hide show
  1. package/dist/cjs/ai/BehaviorTree.js +1215 -0
  2. package/dist/cjs/ai/BehaviorTree.js.map +1 -0
  3. package/dist/cjs/ai/StateMachine.js +783 -0
  4. package/dist/cjs/ai/StateMachine.js.map +1 -0
  5. package/dist/cjs/editor/ShaderGraph.js +1616 -0
  6. package/dist/cjs/editor/ShaderGraph.js.map +1 -0
  7. package/dist/cjs/editor/TimelineEditor.js +819 -0
  8. package/dist/cjs/editor/TimelineEditor.js.map +1 -0
  9. package/dist/cjs/export/GodotExporter.js +1102 -0
  10. package/dist/cjs/export/GodotExporter.js.map +1 -0
  11. package/dist/cjs/export/PlatformExporter.js +236 -0
  12. package/dist/cjs/export/PlatformExporter.js.map +1 -0
  13. package/dist/cjs/export/ThreeJSExporter.js +1116 -0
  14. package/dist/cjs/export/ThreeJSExporter.js.map +1 -0
  15. package/dist/cjs/export/UnityExporter.js +1193 -0
  16. package/dist/cjs/export/UnityExporter.js.map +1 -0
  17. package/dist/cjs/export/WebExporter.js +1036 -0
  18. package/dist/cjs/export/WebExporter.js.map +1 -0
  19. package/dist/cjs/export/index.js +58 -0
  20. package/dist/cjs/export/index.js.map +1 -0
  21. package/dist/cjs/import/AsepriteImporter.js +761 -0
  22. package/dist/cjs/import/AsepriteImporter.js.map +1 -0
  23. package/dist/cjs/import/DragonBonesImporter.js +499 -0
  24. package/dist/cjs/import/DragonBonesImporter.js.map +1 -0
  25. package/dist/cjs/import/GameMakerImporter.js +559 -0
  26. package/dist/cjs/import/GameMakerImporter.js.map +1 -0
  27. package/dist/cjs/import/GodotSceneImporter.js +824 -0
  28. package/dist/cjs/import/GodotSceneImporter.js.map +1 -0
  29. package/dist/cjs/import/LDtkImporter.js +481 -0
  30. package/dist/cjs/import/LDtkImporter.js.map +1 -0
  31. package/dist/cjs/import/Live2DImporter.js +553 -0
  32. package/dist/cjs/import/Live2DImporter.js.map +1 -0
  33. package/dist/cjs/import/NdgFormat.js +499 -0
  34. package/dist/cjs/import/NdgFormat.js.map +1 -0
  35. package/dist/cjs/import/OgmoImporter.js +529 -0
  36. package/dist/cjs/import/OgmoImporter.js.map +1 -0
  37. package/dist/cjs/import/RPGMakerImporter.js +520 -0
  38. package/dist/cjs/import/RPGMakerImporter.js.map +1 -0
  39. package/dist/cjs/import/SceneImporter.js +449 -0
  40. package/dist/cjs/import/SceneImporter.js.map +1 -0
  41. package/dist/cjs/import/SpineImporter.js +583 -0
  42. package/dist/cjs/import/SpineImporter.js.map +1 -0
  43. package/dist/cjs/import/SpriterImporter.js +652 -0
  44. package/dist/cjs/import/SpriterImporter.js.map +1 -0
  45. package/dist/cjs/import/TiledMapImporter.js +859 -0
  46. package/dist/cjs/import/TiledMapImporter.js.map +1 -0
  47. package/dist/cjs/import/UnitySceneImporter.js +732 -0
  48. package/dist/cjs/import/UnitySceneImporter.js.map +1 -0
  49. package/dist/cjs/import/index.js +305 -0
  50. package/dist/cjs/import/index.js.map +1 -0
  51. package/dist/cjs/index.js +201 -0
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/cjs/scripting/GraphToAST.js +567 -0
  54. package/dist/cjs/scripting/GraphToAST.js.map +1 -0
  55. package/dist/cjs/scripting/LanguageExporter.js +321 -0
  56. package/dist/cjs/scripting/LanguageExporter.js.map +1 -0
  57. package/dist/cjs/scripting/ScriptAST.js +67 -0
  58. package/dist/cjs/scripting/ScriptAST.js.map +1 -0
  59. package/dist/cjs/scripting/VisualScripting2.js +1140 -0
  60. package/dist/cjs/scripting/VisualScripting2.js.map +1 -0
  61. package/dist/cjs/scripting/exporters/CSharpExporter.js +503 -0
  62. package/dist/cjs/scripting/exporters/CSharpExporter.js.map +1 -0
  63. package/dist/cjs/scripting/exporters/GDScriptExporter.js +452 -0
  64. package/dist/cjs/scripting/exporters/GDScriptExporter.js.map +1 -0
  65. package/dist/cjs/scripting/exporters/LuaExporter.js +457 -0
  66. package/dist/cjs/scripting/exporters/LuaExporter.js.map +1 -0
  67. package/dist/cjs/scripting/exporters/PythonExporter.js +565 -0
  68. package/dist/cjs/scripting/exporters/PythonExporter.js.map +1 -0
  69. package/dist/cjs/scripting/exporters/RustExporter.js +525 -0
  70. package/dist/cjs/scripting/exporters/RustExporter.js.map +1 -0
  71. package/dist/cjs/scripting/exporters/TypeScriptExporter.js +570 -0
  72. package/dist/cjs/scripting/exporters/TypeScriptExporter.js.map +1 -0
  73. package/dist/cjs/systems/ParticleSystem2.js +1478 -0
  74. package/dist/cjs/systems/ParticleSystem2.js.map +1 -0
  75. package/dist/esm/ai/BehaviorTree.js +1186 -0
  76. package/dist/esm/ai/BehaviorTree.js.map +1 -0
  77. package/dist/esm/ai/StateMachine.js +767 -0
  78. package/dist/esm/ai/StateMachine.js.map +1 -0
  79. package/dist/esm/editor/ShaderGraph.js +1606 -0
  80. package/dist/esm/editor/ShaderGraph.js.map +1 -0
  81. package/dist/esm/editor/TimelineEditor.js +800 -0
  82. package/dist/esm/editor/TimelineEditor.js.map +1 -0
  83. package/dist/esm/export/GodotExporter.js +1100 -0
  84. package/dist/esm/export/GodotExporter.js.map +1 -0
  85. package/dist/esm/export/PlatformExporter.js +230 -0
  86. package/dist/esm/export/PlatformExporter.js.map +1 -0
  87. package/dist/esm/export/ThreeJSExporter.js +1114 -0
  88. package/dist/esm/export/ThreeJSExporter.js.map +1 -0
  89. package/dist/esm/export/UnityExporter.js +1191 -0
  90. package/dist/esm/export/UnityExporter.js.map +1 -0
  91. package/dist/esm/export/WebExporter.js +1033 -0
  92. package/dist/esm/export/WebExporter.js.map +1 -0
  93. package/dist/esm/export/index.js +44 -0
  94. package/dist/esm/export/index.js.map +1 -0
  95. package/dist/esm/import/AsepriteImporter.js +759 -0
  96. package/dist/esm/import/AsepriteImporter.js.map +1 -0
  97. package/dist/esm/import/DragonBonesImporter.js +496 -0
  98. package/dist/esm/import/DragonBonesImporter.js.map +1 -0
  99. package/dist/esm/import/GameMakerImporter.js +556 -0
  100. package/dist/esm/import/GameMakerImporter.js.map +1 -0
  101. package/dist/esm/import/GodotSceneImporter.js +822 -0
  102. package/dist/esm/import/GodotSceneImporter.js.map +1 -0
  103. package/dist/esm/import/LDtkImporter.js +479 -0
  104. package/dist/esm/import/LDtkImporter.js.map +1 -0
  105. package/dist/esm/import/Live2DImporter.js +550 -0
  106. package/dist/esm/import/Live2DImporter.js.map +1 -0
  107. package/dist/esm/import/NdgFormat.js +490 -0
  108. package/dist/esm/import/NdgFormat.js.map +1 -0
  109. package/dist/esm/import/OgmoImporter.js +526 -0
  110. package/dist/esm/import/OgmoImporter.js.map +1 -0
  111. package/dist/esm/import/RPGMakerImporter.js +517 -0
  112. package/dist/esm/import/RPGMakerImporter.js.map +1 -0
  113. package/dist/esm/import/SceneImporter.js +441 -0
  114. package/dist/esm/import/SceneImporter.js.map +1 -0
  115. package/dist/esm/import/SpineImporter.js +580 -0
  116. package/dist/esm/import/SpineImporter.js.map +1 -0
  117. package/dist/esm/import/SpriterImporter.js +649 -0
  118. package/dist/esm/import/SpriterImporter.js.map +1 -0
  119. package/dist/esm/import/TiledMapImporter.js +857 -0
  120. package/dist/esm/import/TiledMapImporter.js.map +1 -0
  121. package/dist/esm/import/UnitySceneImporter.js +730 -0
  122. package/dist/esm/import/UnitySceneImporter.js.map +1 -0
  123. package/dist/esm/import/index.js +279 -0
  124. package/dist/esm/import/index.js.map +1 -0
  125. package/dist/esm/index.js +36 -0
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/scripting/GraphToAST.js +564 -0
  128. package/dist/esm/scripting/GraphToAST.js.map +1 -0
  129. package/dist/esm/scripting/LanguageExporter.js +311 -0
  130. package/dist/esm/scripting/LanguageExporter.js.map +1 -0
  131. package/dist/esm/scripting/ScriptAST.js +52 -0
  132. package/dist/esm/scripting/ScriptAST.js.map +1 -0
  133. package/dist/esm/scripting/VisualScripting2.js +1130 -0
  134. package/dist/esm/scripting/VisualScripting2.js.map +1 -0
  135. package/dist/esm/scripting/exporters/CSharpExporter.js +501 -0
  136. package/dist/esm/scripting/exporters/CSharpExporter.js.map +1 -0
  137. package/dist/esm/scripting/exporters/GDScriptExporter.js +450 -0
  138. package/dist/esm/scripting/exporters/GDScriptExporter.js.map +1 -0
  139. package/dist/esm/scripting/exporters/LuaExporter.js +455 -0
  140. package/dist/esm/scripting/exporters/LuaExporter.js.map +1 -0
  141. package/dist/esm/scripting/exporters/PythonExporter.js +563 -0
  142. package/dist/esm/scripting/exporters/PythonExporter.js.map +1 -0
  143. package/dist/esm/scripting/exporters/RustExporter.js +523 -0
  144. package/dist/esm/scripting/exporters/RustExporter.js.map +1 -0
  145. package/dist/esm/scripting/exporters/TypeScriptExporter.js +568 -0
  146. package/dist/esm/scripting/exporters/TypeScriptExporter.js.map +1 -0
  147. package/dist/esm/systems/ParticleSystem2.js +1471 -0
  148. package/dist/esm/systems/ParticleSystem2.js.map +1 -0
  149. package/dist/types/ai/BehaviorTree.d.ts +375 -0
  150. package/dist/types/ai/StateMachine.d.ts +296 -0
  151. package/dist/types/editor/ShaderGraph.d.ts +207 -0
  152. package/dist/types/editor/TimelineEditor.d.ts +393 -0
  153. package/dist/types/export/GodotExporter.d.ts +56 -0
  154. package/dist/types/export/PlatformExporter.d.ts +201 -0
  155. package/dist/types/export/ThreeJSExporter.d.ts +40 -0
  156. package/dist/types/export/UnityExporter.d.ts +69 -0
  157. package/dist/types/export/WebExporter.d.ts +58 -0
  158. package/dist/types/export/index.d.ts +19 -0
  159. package/dist/types/import/AsepriteImporter.d.ts +46 -0
  160. package/dist/types/import/DragonBonesImporter.d.ts +331 -0
  161. package/dist/types/import/GameMakerImporter.d.ts +375 -0
  162. package/dist/types/import/GodotSceneImporter.d.ts +34 -0
  163. package/dist/types/import/LDtkImporter.d.ts +177 -0
  164. package/dist/types/import/Live2DImporter.d.ts +237 -0
  165. package/dist/types/import/NdgFormat.d.ts +387 -0
  166. package/dist/types/import/OgmoImporter.d.ts +237 -0
  167. package/dist/types/import/RPGMakerImporter.d.ts +186 -0
  168. package/dist/types/import/SceneImporter.d.ts +276 -0
  169. package/dist/types/import/SpineImporter.d.ts +372 -0
  170. package/dist/types/import/SpriterImporter.d.ts +230 -0
  171. package/dist/types/import/TiledMapImporter.d.ts +57 -0
  172. package/dist/types/import/UnitySceneImporter.d.ts +87 -0
  173. package/dist/types/import/index.d.ts +59 -0
  174. package/dist/types/index.d.ts +29 -17
  175. package/dist/types/scripting/GraphToAST.d.ts +55 -0
  176. package/dist/types/scripting/LanguageExporter.d.ts +136 -0
  177. package/dist/types/scripting/ScriptAST.d.ts +312 -0
  178. package/dist/types/scripting/VisualScripting2.d.ts +353 -0
  179. package/dist/types/scripting/exporters/CSharpExporter.d.ts +44 -0
  180. package/dist/types/scripting/exporters/GDScriptExporter.d.ts +46 -0
  181. package/dist/types/scripting/exporters/LuaExporter.d.ts +46 -0
  182. package/dist/types/scripting/exporters/PythonExporter.d.ts +49 -0
  183. package/dist/types/scripting/exporters/RustExporter.d.ts +46 -0
  184. package/dist/types/scripting/exporters/TypeScriptExporter.d.ts +48 -0
  185. package/dist/types/scripting/exporters/index.d.ts +8 -0
  186. package/dist/types/scripting/index.d.ts +11 -0
  187. package/dist/types/systems/ParticleSystem2.d.ts +646 -0
  188. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParticleSystem2.js","sources":["../../../src/systems/ParticleSystem2.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;AAaG;AAwsBH;AACA;AACA;MAEa,eAAe,CAAA;AAM1B,IAAA,WAAA,CAAY,GAAsB,EAAA;QAF1B,IAAA,CAAA,MAAM,GAAY,KAAK;AAG7B,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACxC;IAEQ,kBAAkB,GAAA;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY;QACtD,MAAM,SAAS,GAAe,EAAE;AAEhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3C;QAEA,OAAO;YACL,SAAS;AACT,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC;AAC5C,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,YAAA,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;AAC1D,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,CAAC,IAAI;AACjB,aAAA,CAAC,CAAC;SACJ;IACH;IAEQ,kBAAkB,GAAA;QACxB,OAAO;YACL,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,YAAA,UAAU,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,YAAA,KAAK,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,SAAS,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,eAAe,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,YAAA,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,EAAE;AACrB,YAAA,kBAAkB,EAAE,CAAC;YACrB,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC;AAC5C,YAAA,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,WAAW,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,YAAA,WAAW,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5C;IACH;;IAIA,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK;QAC7B;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;QAE5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI;IAC5B;IAEA,IAAI,CAAC,QAAiB,IAAI,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK;QAE7B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,EAAE;QACd;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AAC3C,YAAA,QAAQ,CAAC,iBAAiB,GAAG,EAAE;QACjC;QAEA,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEQ,gBAAgB,GAAA;QACtB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM;AACtE,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC,CAAC,IAAI;AACjB,SAAA,CAAC,CAAC;IACL;IAEQ,OAAO,GAAA;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ;AAC9C,QAAA,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAEtC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnB;IACF;;IAIA,IAAI,CAAC,KAAa,EAAE,QAAmC,EAAA;AACrD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACnC;IACF;AAEQ,IAAA,kBAAkB,CAAC,gBAA2C,EAAA;;AAEpE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE;QAC9C,IAAI,SAAS,KAAK,EAAE;AAAE,YAAA,OAAO,KAAK;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;AAChD,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;AACnD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AAExB,QAAA,OAAO,IAAI;IACb;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,EAAE;AACjD,gBAAA,OAAO,CAAC;YACV;QACF;QACA,OAAO,EAAE;IACX;IAEQ,kBAAkB,CACxB,QAAkB,EAClB,gBAA2C,EAAA;AAE3C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI;;AAGjC,QAAA,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC;;QAGtD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE;QAExD,IAAI,gBAAgB,EAAE;AACpB,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACzC;aAAO;AACL,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjC;;AAGA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;AACpF,QAAA,QAAQ,CAAC,UAAU,GAAG,UAAU;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU;AAC/C,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU;AAC/C,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU;;AAG/C,QAAA,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;AAC7F,QAAA,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa;AACnD,QAAA,QAAQ,CAAC,kBAAkB,GAAG,CAAC;;AAG/B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC1F,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC1F,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC5F;aAAO;AACL,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;AAC7E,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C;QACA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;;AAGrC,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAe,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC7F,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAe,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAC7F,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAe,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC/F;aAAO;YACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC7F;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;YAC9D,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;QACjC;;AAGA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;AAClF,QAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9B,QAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGzB,QAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC;IAEQ,kBAAkB,GAAA;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;AAEnC,QAAA,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACjC,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACrC,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/B,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACjC,YAAA;gBACE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;;IAEzD;AAEQ,IAAA,YAAY,CAAC,KAAkB,EAAA;;AAErC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5B,QAAA,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;AAG/E,QAAA,MAAM,YAAY,GAChB,KAAK,CAAC,eAAe,KAAK;cACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cACvB,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe;AAE/C,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,YAAY;AACrC,QAAA,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/B;AAED,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpC;AAEQ,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5B,QAAA,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/E,QAAA,MAAM,YAAY,GAChB,KAAK,CAAC,eAAe,KAAK;cACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cACvB,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe;AAE/C,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,YAAY;AACrC,QAAA,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/B;AAED,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpC;AAEQ,IAAA,UAAU,CAAC,KAAgB,EAAA;AACjC,QAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG;AAC9C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;;QAGzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAEpC,MAAM,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;AAG9E,QAAA,IAAI,QAAkB;AAEtB,QAAA,QAAQ,KAAK,CAAC,QAAQ;AACpB,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACjD,gBAAA,QAAQ,GAAG;AACT,oBAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,oBAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,oBAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxC;gBACD;AACF,YAAA,KAAK,QAAQ;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM;AAC3C,gBAAA,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AACjE,gBAAA,MAAM,EAAE,GAAG,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACpD,gBAAA,QAAQ,GAAG;AACT,oBAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,oBAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1B,oBAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACzC;gBACD;AACF,YAAA;AACE,gBAAA,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;;AAGlC,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpC;AAEQ,IAAA,SAAS,CAAC,KAAe,EAAA;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAE7B,QAAA,IAAI,QAAkB;AAEtB,QAAA,QAAQ,KAAK,CAAC,QAAQ;AACpB,YAAA,KAAK,QAAQ;AACX,gBAAA,QAAQ,GAAG;AACT,oBAAA,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,oBAAA,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,oBAAA,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACjD;gBACD;AACF,YAAA,KAAK,OAAO;;AAEV,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;gBAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;gBAE/B,QAAQ,IAAI;AACV,oBAAA,KAAK,CAAC;AACJ,wBAAA,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC/B;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,QAAQ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;wBAChC;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC/B;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;wBAChC;AACF,oBAAA,KAAK,CAAC;AACJ,wBAAA,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;wBAC/B;AACF,oBAAA;AACE,wBAAA,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;wBAChC;;gBAEJ,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC;AACF,YAAA;AACE,gBAAA,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;;AAGlC,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAC1C;AAEQ,IAAA,YAAY,CAAC,KAAkB,EAAA;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;AACzC,QAAA,MAAM,YAAY,GAChB,KAAK,CAAC,eAAe,KAAK;cACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cACvB,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,eAAe;AAE/C,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,YAAY;AACrC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,YAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,YAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxC;AAED,QAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IAC1C;;AAIA,IAAA,QAAQ,CAAC,SAAiB,EAAA;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;QAElD,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe;;AAG3D,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;;QAGrB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;AACpF,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ;YACjE,IAAI,CAAC,gBAAgB,EAAE;QACzB;;AAGA,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1B;;AAGA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC,YAAA,IAAI,QAAQ,CAAC,iBAAiB,IAAI,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnC;QACF;IACF;AAEQ,IAAA,eAAe,CAAC,EAAU,EAAA;AAChC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE;;AAGvB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,YAAY,GAAG,EAAE;QAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;QAC7B;;QAGA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;AAEpD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE;;gBAErF,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE;AACrC,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC,CAC3E;AACD,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAClB;gBAEA,UAAU,CAAC,UAAU,EAAE;AACvB,gBAAA,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;YACvC;QACF;IACF;IAEQ,cAAc,CAAC,QAAkB,EAAE,EAAU,EAAA;;AAEnD,QAAA,QAAQ,CAAC,iBAAiB,IAAI,EAAE;AAEhC,QAAA,IAAI,QAAQ,CAAC,iBAAiB,GAAG,CAAC,EAAE;;AAElC,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;;AAExB,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC1C;QACF;AAEA,QAAA,QAAQ,CAAC,kBAAkB,GAAG,CAAC,GAAG,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa;;AAGrF,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAG9B,QAAA,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAGjD,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;AACjD,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;AACjD,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;;AAGjD,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAG7B,QAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;AACrC,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;AACpC,QAAA,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,CAAC;;AAG5C,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC;;QAGvC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChC;IACF;IAEQ,WAAW,CAAC,QAAkB,EAAE,EAAU,EAAA;AAChD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI;;AAGjC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CACtC,IAAI,CAAC,eAAe,EACpB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;QACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,OAAO,GAAG,EAAE;;QAG3C,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE;gBAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C;QACF;IACF;AAEQ,IAAA,eAAe,CAAC,QAAkB,EAAE,KAAiB,EAAE,EAAU,EAAA;AACvE,QAAA,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,SAAS;AACZ,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,EAAE;AAC1D,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,EAAE;AAC1D,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,EAAE;gBAC1D;AAEF,YAAA,KAAK,aAAa;AAChB,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAC1C,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,EAAE;AAC7D,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,EAAE;AAC7D,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,EAAE;gBAC7D;AAEF,YAAA,KAAK,QAAQ;AACX,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAC7C,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,gBAAA,MAAM,QAAQ,GAAG;oBACf,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACvC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAE9E,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;;AAEvC,oBAAA,MAAM,OAAO,GAAG;wBACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;wBACzD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;wBACzD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;qBAC1D;oBACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEjF,oBAAA,IAAI,UAAU,GAAG,KAAK,EAAE;AACtB,wBAAA,MAAM,MAAM,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU;AACxE,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE;AAChD,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE;AAChD,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE;oBAClD;;AAGA,oBAAA,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE;AAChC,wBAAA,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI;AACnF,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,EAAE;AACxD,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,EAAE;AACxD,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,EAAE;oBAC1D;gBACF;gBACA;AAEF,YAAA,KAAK,MAAM;AACT,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CACxC,KAAK,CAAC,WAAW,EACjB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;gBACD,IAAI,IAAI,GAAG,SAAS;AAEpB,gBAAA,IAAI,KAAK,CAAC,cAAc,EAAE;AACxB,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CACtE;oBACD,IAAI,IAAI,OAAO;gBACjB;AACA,gBAAA,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAC5B,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;oBACD,IAAI,IAAI,MAAM;gBAChB;AAEA,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACzC,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM;AAC9B,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM;AAC9B,gBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM;gBAC9B;AAEF,YAAA,KAAK,WAAW;AACd,gBAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAChD,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,gBAAA,MAAM,WAAW,GAAG;oBAClB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACzC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAChE;gBAED,IAAI,aAAa,GAAG,KAAK,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE;oBACzD,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM;oBAChD,MAAM,KAAK,GAAG,CAAC,iBAAiB,GAAG,OAAO,IAAI,aAAa;AAC3D,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;AACnD,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;AACnD,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;oBAEnD,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,GAAG,GAAG,EAAE;AAC7C,wBAAA,QAAQ,CAAC,iBAAiB,GAAG,EAAE;oBACjC;gBACF;gBACA;;IAEN;IAEQ,yBAAyB,CAAC,QAAkB,EAAE,EAAU,EAAA;AAC9D,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;;AAGlB,QAAA,IACE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;YAC9B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EACzB;AACA,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CACvC,GAAG,CAAC,MAAM,EACV,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;AACtC,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;AACtC,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;QACxC;;AAGA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CACrC,GAAG,CAAC,MAAM,EACV,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,QAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACnB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AACD,YAAA,IAAI,GAAG,GAAG,KAAK,EAAE;gBACf,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE;gBAClE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE;gBAClE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE;YACpE;QACF;;AAGA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CACvC,GAAG,CAAC,aAAa,EACjB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ;IAClC;IAEQ,sBAAsB,CAAC,QAAkB,EAAE,EAAU,EAAA;AAC3D,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB;QAC7C,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;QAElB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU;QACnF,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC/F,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;QAC/F,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;IACjG;IAEQ,8BAA8B,CAAC,QAAkB,EAAE,EAAU,EAAA;AACnE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;AAEnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AAED,QAAA,IAAI,QAAgB;AAEpB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;;AAErB,YAAA,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,KAAK,EACV,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;QACH;aAAO;AACL,YAAA,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,KAAK,EACV,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;QACH;AAEA,QAAA,IAAI,MAAM,GAAG,QAAQ,EAAE;AACrB,YAAA,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YACpC,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,YAAY;AACjE,YAAA,MAAM,KAAK,GAAG,WAAW,GAAG,MAAM;AAClC,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;AAC7B,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;AAC7B,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;QAC/B;;AAGA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CACnC,IAAI,CAAC,IAAI,EACT,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7C,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU;AAClC,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU;AAClC,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU;QACpC;IACF;IAEQ,UAAU,CAAC,QAAkB,EAAE,EAAU,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE;AAEpB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CACvC,KAAK,CAAC,QAAQ,EACd,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;;AAGlD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM;AAC/C,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM;AAC/C,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM;;QAG/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC;QACtE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC;QACtE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,UAAU,IAAI,CAAC;AAEtE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CACxC,KAAK,CAAC,cAAc,EACpB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,SAAS,GAAG,EAAE;AACpE,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,SAAS,GAAG,EAAE;AACpE,QAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,GAAG,SAAS,GAAG,EAAE;IACtE;AAEQ,IAAA,sBAAsB,CAAC,QAAkB,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB;QAC7C,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CACvC,GAAG,CAAC,KAAK,EACT,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;;AAGD,QAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrD,QAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrD,QAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrD,QAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACvD;AAEQ,IAAA,qBAAqB,CAAC,QAAkB,EAAA;AAC9C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB;QAC5C,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACrB,oBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC;AACxF,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACrB,oBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC;AACxF,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACrB,oBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC1F;aAAO;AACL,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CACpC,GAAG,CAAC,IAAI,EACR,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK;AAChD,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK;AAChD,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK;QAClD;IACF;IAEQ,yBAAyB,CAAC,QAAkB,EAAE,EAAU,EAAA;AAC9D,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB;QAChD,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CACtB,GAAG,CAAC,gBAAiB,EACrB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB,GAAG,EAAE;AACR,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CACtB,GAAG,CAAC,gBAAiB,EACrB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB,GAAG,EAAE;AACR,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CACtB,GAAG,CAAC,gBAAiB,EACrB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB,GAAG,EAAE;QACV;aAAO;AACL,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CACtB,GAAG,CAAC,eAAe,EACnB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB,GAAG,EAAE;QACV;IACF;AAEQ,IAAA,iBAAiB,CAAC,QAAkB,EAAA;AAC1C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;QACxC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AAED,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACnF;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC5E,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IAC/B;AAEQ,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACzC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AAED,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACnF;AAED,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAChF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;YAChF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;QAClF;aAAO;AACL,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;AACxE,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK;AACzB,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK;AACzB,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK;QAC3B;IACF;IAEQ,oBAAoB,CAAC,QAAkB,EAAE,EAAU,EAAA;AACzD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe;QAC3C,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE;AAElB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AAED,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CACnF;AAED,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAiB,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;AAC9E,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAiB,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;AAC9E,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAiB,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;QAChF;aAAO;AACL,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;QAC9E;IACF;AAEQ,IAAA,eAAe,CAAC,QAAkB,EAAA;AACxC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS;AAE3C,QAAA,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/B,YAAA,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE;AACpC,gBAAA,MAAM,GAAG,GACP,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAExC,gBAAA,MAAM,SAAS,GACb,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,oBAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAErC,gBAAA,IAAI,GAAG,GAAG,SAAS,EAAE;;AAEnB,oBAAA,MAAM,OAAO,GACX,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBACtC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,wBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAExC,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CACrC,SAAS,CAAC,MAAM,EAChB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;AACD,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CACrC,SAAS,CAAC,MAAM,EAChB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;;oBAGD,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;oBAGhE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM;oBAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM;oBAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM;;AAGlC,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,oBAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;AAG3D,oBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAC3C,SAAS,CAAC,YAAY,EACtB,QAAQ,CAAC,kBAAkB,EAC3B,QAAQ,CAAC,UAAU,CACpB;oBACD,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,aAAa,GAAG,YAAY;;AAGnE,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAClF;AACD,oBAAA,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE;AAClC,wBAAA,QAAQ,CAAC,iBAAiB,GAAG,EAAE;oBACjC;;AAGA,oBAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAChD;YACF;QACF;IACF;IAEQ,kBAAkB,CAAC,OAA0B,EAAE,QAAkB,EAAA;QACvE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;AACpD,YAAA,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE;QAIhF;IACF;;AAIQ,IAAA,mBAAmB,CAAC,KAAkB,EAAE,CAAS,EAAE,IAAY,EAAA;AACrE,QAAA,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,UAAU;gBACb,OAAO,KAAK,CAAC,KAAK;AAEpB,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU;AAEvE,YAAA,KAAK,2BAA2B;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACpC,gBAAA,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI;AAEnD,YAAA,KAAK,wBAAwB;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACzC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7D,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7D,gBAAA,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU;;IAExE;IAEQ,sBAAsB,CAAC,KAA6B,EAAE,CAAS,EAAA;AACrE,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC;AACpC,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;;QAGrD,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;;AAGzD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7C,YAAA,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;AAE3B,YAAA,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;AAChC,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;;AAGlD,gBAAA,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM;AAC1B,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;gBAEtB,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC/B,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM;gBAChC,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;AAC5B,gBAAA,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE;gBAEnB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI;gBAC5B,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YAC7F;QACF;QAEA,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;IAC9C;IAEQ,cAAc,CAAC,CAAS,EAAE,IAAmC,EAAA;QACnE,QAAQ,IAAI;AACV,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,YAAA,KAAK,MAAM;gBACT,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1B,YAAA,KAAK,UAAU;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3B,gBAAA,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK;AACtB,gBAAA,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI;;IAE9C;AAEQ,IAAA,sBAAsB,CAC5B,QAAwB,EACxB,CAAS,EACT,IAAY,EAAA;AAEZ,QAAA,QAAQ,QAAQ,CAAC,IAAI;AACnB,YAAA,KAAK,OAAO;gBACV,OAAO,QAAQ,CAAC,KAAK;AAEvB,YAAA,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEpD,YAAA,KAAK,wBAAwB;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACpC,OAAO;oBACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;oBAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;oBAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;oBAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI;iBAC5E;AAEH,YAAA,KAAK,2BAA2B;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrC,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/D,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/D,OAAO;AACL,oBAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;AACjD,oBAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;AACjD,oBAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;AACjD,oBAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK;iBAClD;;IAEP;IAEQ,gBAAgB,CAAC,QAAkB,EAAE,CAAS,EAAA;;QAEpD,IAAI,KAAK,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS;AAEpC,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC1B,gBAAA,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5B;AAAO,iBAAA,IAAI,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpD,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;YAC/C;iBAAO;AACL,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7C,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;AACxD,wBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,wBAAA,KAAK,GAAG;AACN,4BAAA,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM;AACpF,4BAAA,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM;AACpF,4BAAA,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM;yBACrF;wBACD;oBACF;gBACF;YACF;QACF;;QAGA,IAAI,KAAK,GAAG,CAAC;AACb,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS;AAEpC,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC1B,gBAAA,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5B;AAAO,iBAAA,IAAI,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpD,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;YAC/C;iBAAO;AACL,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7C,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;AACxD,wBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACpF,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM;wBACnF;oBACF;gBACF;YACF;QACF;AAEA,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC9C;AAEQ,IAAA,qBAAqB,CAC3B,GAAkB,EAClB,CAAS,EACT,IAAY,EAAA;AAEZ,QAAA,QAAQ,GAAG,CAAC,IAAI;AACd,YAAA,KAAK,UAAU;gBACb,OAAO,GAAG,CAAC,KAAK;AAClB,YAAA,KAAK,2BAA2B;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACpC,OAAO;oBACL,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;oBAC7C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;oBAC7C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;iBAC9C;;IAEP;AAEQ,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,GAAG,UAAU;QACxD,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1B;IAEQ,cAAc,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ;IACxD;;AAIA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;IAC/B;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;IAC7B;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;IAC5B;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;IAC7B;AAEA,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI;IACxB;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ;IACtC;IAEA,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACrE;IAEA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA,IAAA,aAAa,CAAC,GAAsB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACxC;AACD;AAED;AACA;AACA;AAEM,SAAU,2BAA2B,CAAC,IAAY,EAAA;IACtD,OAAO;AACL,QAAA,EAAE,EAAE,CAAA,GAAA,EAAM,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE;QACtB,IAAI;AACJ,QAAA,IAAI,EAAE;AACJ,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1C,YAAA,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACzC,YAAA,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7C,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YAClD,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC/C,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,mBAAmB,EAAE,WAAW;AAChC,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAChD,YAAA,MAAM,EAAE,EAAE;AACX,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,YAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,YAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjB,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9C,YAAA,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC/C,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YAC9C,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YACtC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9C,SAAA;AACD,QAAA,yBAAyB,EAAE;AACzB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACrC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACpC,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,sBAAsB,EAAE,KAAK;AAC9B,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACtC,SAAA;AACD,QAAA,sBAAsB,EAAE;AACtB,YAAA,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACrC,YAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,iBAAiB,EAAE;AACjB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,OAAO;YACd,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YACjC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YACjC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACjC,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA,iBAAiB,EAAE;AACjB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC9C,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7C,YAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACrC,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACpC,YAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAChD,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC/C,YAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1C,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,WAAW,EAAE,EAAE;AAChB,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACxC,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,gBAAgB,EAAE,GAAG;AACrB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC1E,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3C,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5C,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACtC,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,qBAAqB,EAAE,KAAK;AAC7B,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,iBAAiB,EAAE,UAAU;AAC7B,YAAA,WAAW,EAAE,CAAC;AACf,SAAA;AACD,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,qBAAqB,EAAE;AACrB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7C,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1C,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;gBACzC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACtC,aAAA;AACD,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,SAAS,EAAE,EAAE;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AACxC,YAAA,iBAAiB,EAAE,GAAG;AACtB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACzD,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC9C,YAAA,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACtD,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE;YAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE;AAC7C,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,UAAU,EAAE,WAAW;AACvB,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,mBAAmB,EAAE,CAAC;AACtB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,aAAa,EAAE,kBAAkB;AACjC,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChB,YAAA,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,0BAA0B,EAAE,IAAI;AAChC,YAAA,mBAAmB,EAAE,KAAK;AAC3B,SAAA;KACF;AACH;AAEM,SAAU,oBAAoB,CAAC,GAAsB,EAAA;AACzD,IAAA,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC;AACjC;AAEA;AACA;AACA;SAEgB,wBAAwB,GAAA;AACtC,IAAA,MAAM,GAAG,GAAG,2BAA2B,CAAC,MAAM,CAAC;AAE/C,IAAA,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClF,IAAA,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC9E,IAAA,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG;AACpB,QAAA,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KACzB;AACD,IAAA,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;AAE5D,IAAA,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;IAE3D,GAAG,CAAC,KAAK,GAAG;AACV,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,GAAG,EAAE,GAAG;AACR,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,GAAG,CAAC,iBAAiB,GAAG;AACtB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;AAC/B,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;AACjC,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAChC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrB,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACzB,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtB,iBAAA;AACD,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA;AACF,SAAA;KACF;IAED,GAAG,CAAC,gBAAgB,GAAG;AACrB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAClE,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAClE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAClE,iBAAA;AACD,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,YAAY,EAAE,OAAO;AACtB,aAAA;AACD,YAAA,UAAU,EAAE,CAAC;AACd,SAAA;KACF;IAED,GAAG,CAAC,KAAK,GAAG;AACV,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1C,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;QAC1E,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3C;AAED,IAAA,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,WAAW;AAErC,IAAA,OAAO,GAAG;AACZ;SAEgB,yBAAyB,GAAA;AACvC,IAAA,MAAM,GAAG,GAAG,2BAA2B,CAAC,OAAO,CAAC;AAEhD,IAAA,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAC9E,IAAA,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;AAC5E,IAAA,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG;AACpB,QAAA,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC/B;AACD,IAAA,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;AAE5D,IAAA,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;IAE3D,GAAG,CAAC,KAAK,GAAG;AACV,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,GAAG,EAAE,GAAG;AACR,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,GAAG,CAAC,gBAAgB,GAAG;AACrB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAClE,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACnE,iBAAA;AACD,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,YAAY,EAAE,OAAO;AACtB,aAAA;AACD,YAAA,UAAU,EAAE,CAAC;AACd,SAAA;KACF;IAED,GAAG,CAAC,iBAAiB,GAAG;AACtB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACnC,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACpC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrB,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACzB,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;AACzB,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtB,iBAAA;AACD,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA;AACF,SAAA;KACF;IAED,GAAG,CAAC,oBAAoB,GAAG;AACzB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;KAC5E;IAED,GAAG,CAAC,KAAK,GAAG;AACV,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1C,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;QAC1E,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9C,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3C;AAED,IAAA,OAAO,GAAG;AACZ;SAEgB,yBAAyB,GAAA;AACvC,IAAA,MAAM,GAAG,GAAG,2BAA2B,CAAC,QAAQ,CAAC;AAEjD,IAAA,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAClF,IAAA,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;AAChF,IAAA,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAC3E,IAAA,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG;AACpB,QAAA,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;KACzB;AACD,IAAA,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAEzD,IAAA,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1D,IAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG;AACpB,QAAA;AACE,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;AAC9D,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,WAAW,EAAE,CAAC;AACf,SAAA;KACF;IAED,GAAG,CAAC,KAAK,GAAG;AACV,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,GAAG,EAAE,GAAG;AACR,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,GAAG,CAAC,iBAAiB,GAAG;AACtB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACjC,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;AACjC,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAChC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrB,oBAAA,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;AACvB,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtB,iBAAA;AACD,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA;AACF,SAAA;KACF;IAED,GAAG,CAAC,MAAM,GAAG;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;AAC1C,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACzD,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;oBAChE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAClE,iBAAA;AACD,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,YAAY,EAAE,OAAO;AACtB,aAAA;AACD,YAAA,UAAU,EAAE,CAAC;AACd,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;AAC/B,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;AAChC,iBAAA;AACD,gBAAA,SAAS,EAAE;AACT,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrB,oBAAA,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtB,iBAAA;AACD,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA;AACF,SAAA;AACD,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,UAAU,EAAE,GAAG;KAChB;IAED,GAAG,CAAC,SAAS,GAAG;AACd,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACpD,QAAA,MAAM,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACjE,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;AAC9C,QAAA,YAAY,EAAE,GAAG;AACjB,QAAA,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;AACxC,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,qBAAqB,EAAE,KAAK;KAC7B;AAED,IAAA,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,oBAAoB;AAC9C,IAAA,GAAG,CAAC,QAAQ,CAAC,aAAa,GAAG,GAAG;AAChC,IAAA,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC;AAE5B,IAAA,OAAO,GAAG;AACZ;;;;"}
@@ -0,0 +1,375 @@
1
+ /**
2
+ * @file BehaviorTree.ts
3
+ * @description Behavior Tree System with Graphical Editor Support
4
+ * PRO-1.4: Professional Editor Features
5
+ *
6
+ * Features:
7
+ * - Full behavior tree implementation
8
+ * - Composite nodes (Selector, Sequence, Parallel)
9
+ * - Decorator nodes (Inverter, Repeater, Succeeder, etc.)
10
+ * - Leaf nodes (Actions, Conditions)
11
+ * - Real-time preview and debugging
12
+ * - Blackboard system for shared data
13
+ * - Subtree support
14
+ * - Serialization support
15
+ */
16
+ import type { EntityId, Vec2 } from '../core/types';
17
+ /** Status returned by behavior tree nodes */
18
+ export type BTStatus = 'success' | 'failure' | 'running';
19
+ /** Visual status for editor display */
20
+ export type BTVisualStatus = BTStatus | 'inactive' | 'aborted';
21
+ /** Type-safe blackboard key */
22
+ export interface BTBlackboardKey<T = unknown> {
23
+ name: string;
24
+ type: string;
25
+ defaultValue?: T;
26
+ }
27
+ /** Blackboard for sharing data between nodes */
28
+ export declare class BTBlackboard {
29
+ private data;
30
+ private types;
31
+ private listeners;
32
+ /** Set a value in the blackboard */
33
+ set<T>(key: BTBlackboardKey<T> | string, value: T): void;
34
+ /** Get a value from the blackboard */
35
+ get<T>(key: BTBlackboardKey<T> | string): T | undefined;
36
+ /** Check if key exists */
37
+ has(key: BTBlackboardKey | string): boolean;
38
+ /** Remove a key */
39
+ delete(key: BTBlackboardKey | string): void;
40
+ /** Clear all data */
41
+ clear(): void;
42
+ /** Subscribe to key changes */
43
+ subscribe<T>(key: BTBlackboardKey<T> | string, callback: (value: T) => void): () => void;
44
+ /** Get all keys */
45
+ keys(): string[];
46
+ /** Clone the blackboard */
47
+ clone(): BTBlackboard;
48
+ /** Export to JSON */
49
+ toJSON(): Record<string, unknown>;
50
+ /** Import from JSON */
51
+ fromJSON(data: Record<string, unknown>): void;
52
+ }
53
+ export interface BTContext {
54
+ /** The entity this tree is controlling */
55
+ entityId: EntityId;
56
+ /** Shared blackboard */
57
+ blackboard: BTBlackboard;
58
+ /** Delta time since last tick */
59
+ dt: number;
60
+ /** Total time elapsed */
61
+ time: number;
62
+ /** World reference */
63
+ world: unknown;
64
+ /** Event emitter for external communication */
65
+ emit: (event: string, data?: unknown) => void;
66
+ /** Cancel current execution */
67
+ abort: () => void;
68
+ /** Is execution aborted? */
69
+ isAborted: boolean;
70
+ }
71
+ export type BTNodeType = 'root' | 'composite' | 'decorator' | 'action' | 'condition' | 'subtree';
72
+ export interface BTNodeDefinition {
73
+ type: string;
74
+ category: BTNodeType;
75
+ name: string;
76
+ description: string;
77
+ icon?: string;
78
+ color?: string;
79
+ /** Properties that can be configured in editor */
80
+ properties?: BTPropertyDef[];
81
+ /** Create a node instance */
82
+ create: (properties?: Record<string, unknown>) => BTNode;
83
+ }
84
+ export interface BTPropertyDef {
85
+ name: string;
86
+ type: 'boolean' | 'number' | 'string' | 'enum' | 'blackboardKey' | 'entity';
87
+ default?: unknown;
88
+ enumValues?: string[];
89
+ description?: string;
90
+ min?: number;
91
+ max?: number;
92
+ }
93
+ /** Base class for all behavior tree nodes */
94
+ export declare abstract class BTNode {
95
+ id: string;
96
+ name: string;
97
+ type: string;
98
+ category: BTNodeType;
99
+ /** Position in editor */
100
+ position: Vec2;
101
+ /** Custom properties */
102
+ properties: Record<string, unknown>;
103
+ /** Comment for documentation */
104
+ comment?: string;
105
+ /** Current execution status (for debugging) */
106
+ lastStatus: BTVisualStatus;
107
+ /** Last execution time (for profiling) */
108
+ lastExecutionTime: number;
109
+ constructor(type: string, category: BTNodeType, name: string);
110
+ /** Initialize the node */
111
+ initialize(context: BTContext): void;
112
+ /** Tick the node */
113
+ abstract tick(context: BTContext): BTStatus;
114
+ /** Reset the node state */
115
+ reset(): void;
116
+ /** Called when execution is aborted */
117
+ abort(): void;
118
+ /** Clone the node */
119
+ abstract clone(): BTNode;
120
+ /** Serialize to JSON */
121
+ toJSON(): BTNodeJSON;
122
+ }
123
+ export interface BTNodeJSON {
124
+ id: string;
125
+ type: string;
126
+ category: BTNodeType;
127
+ name: string;
128
+ position: Vec2;
129
+ properties: Record<string, unknown>;
130
+ comment?: string;
131
+ children?: BTNodeJSON[];
132
+ }
133
+ /** Base class for composite nodes (have children) */
134
+ export declare abstract class BTComposite extends BTNode {
135
+ children: BTNode[];
136
+ protected currentChild: number;
137
+ constructor(type: string, name: string);
138
+ addChild(child: BTNode): void;
139
+ removeChild(child: BTNode): void;
140
+ reset(): void;
141
+ abort(): void;
142
+ toJSON(): BTNodeJSON;
143
+ }
144
+ /** Sequence: Runs children in order until one fails */
145
+ export declare class BTSequence extends BTComposite {
146
+ constructor(name?: string);
147
+ tick(context: BTContext): BTStatus;
148
+ clone(): BTSequence;
149
+ }
150
+ /** Selector: Runs children until one succeeds */
151
+ export declare class BTSelector extends BTComposite {
152
+ constructor(name?: string);
153
+ tick(context: BTContext): BTStatus;
154
+ clone(): BTSelector;
155
+ }
156
+ /** Parallel: Runs all children simultaneously */
157
+ export declare class BTParallel extends BTComposite {
158
+ /** Policy for determining success */
159
+ successPolicy: 'all' | 'one';
160
+ /** Policy for determining failure */
161
+ failurePolicy: 'all' | 'one';
162
+ private childStatuses;
163
+ constructor(name?: string);
164
+ initialize(context: BTContext): void;
165
+ tick(context: BTContext): BTStatus;
166
+ reset(): void;
167
+ clone(): BTParallel;
168
+ }
169
+ /** Random Selector: Selects children in random order */
170
+ export declare class BTRandomSelector extends BTComposite {
171
+ private shuffledOrder;
172
+ constructor(name?: string);
173
+ initialize(context: BTContext): void;
174
+ private shuffle;
175
+ tick(context: BTContext): BTStatus;
176
+ clone(): BTRandomSelector;
177
+ }
178
+ /** Random Sequence: Runs children in random order */
179
+ export declare class BTRandomSequence extends BTComposite {
180
+ private shuffledOrder;
181
+ constructor(name?: string);
182
+ initialize(context: BTContext): void;
183
+ private shuffle;
184
+ tick(context: BTContext): BTStatus;
185
+ clone(): BTRandomSequence;
186
+ }
187
+ /** Base class for decorator nodes (single child) */
188
+ export declare abstract class BTDecorator extends BTNode {
189
+ child: BTNode | null;
190
+ constructor(type: string, name: string);
191
+ setChild(child: BTNode): void;
192
+ reset(): void;
193
+ abort(): void;
194
+ toJSON(): BTNodeJSON;
195
+ }
196
+ /** Inverter: Inverts child's result */
197
+ export declare class BTInverter extends BTDecorator {
198
+ constructor(name?: string);
199
+ tick(context: BTContext): BTStatus;
200
+ clone(): BTInverter;
201
+ }
202
+ /** Succeeder: Always returns success */
203
+ export declare class BTSucceeder extends BTDecorator {
204
+ constructor(name?: string);
205
+ tick(context: BTContext): BTStatus;
206
+ clone(): BTSucceeder;
207
+ }
208
+ /** Failer: Always returns failure */
209
+ export declare class BTFailer extends BTDecorator {
210
+ constructor(name?: string);
211
+ tick(context: BTContext): BTStatus;
212
+ clone(): BTFailer;
213
+ }
214
+ /** Repeater: Repeats child N times */
215
+ export declare class BTRepeater extends BTDecorator {
216
+ times: number;
217
+ private currentCount;
218
+ constructor(name?: string, times?: number);
219
+ tick(context: BTContext): BTStatus;
220
+ reset(): void;
221
+ clone(): BTRepeater;
222
+ }
223
+ /** RepeatUntilFail: Repeats until child fails */
224
+ export declare class BTRepeatUntilFail extends BTDecorator {
225
+ constructor(name?: string);
226
+ tick(context: BTContext): BTStatus;
227
+ clone(): BTRepeatUntilFail;
228
+ }
229
+ /** RepeatUntilSuccess: Repeats until child succeeds */
230
+ export declare class BTRepeatUntilSuccess extends BTDecorator {
231
+ constructor(name?: string);
232
+ tick(context: BTContext): BTStatus;
233
+ clone(): BTRepeatUntilSuccess;
234
+ }
235
+ /** Timeout: Fails if child takes too long */
236
+ export declare class BTTimeout extends BTDecorator {
237
+ timeoutSeconds: number;
238
+ private elapsed;
239
+ private started;
240
+ constructor(name?: string, seconds?: number);
241
+ tick(context: BTContext): BTStatus;
242
+ reset(): void;
243
+ clone(): BTTimeout;
244
+ }
245
+ /** Cooldown: Rate limits child execution */
246
+ export declare class BTCooldown extends BTDecorator {
247
+ cooldownSeconds: number;
248
+ private lastExecution;
249
+ constructor(name?: string, seconds?: number);
250
+ tick(context: BTContext): BTStatus;
251
+ reset(): void;
252
+ clone(): BTCooldown;
253
+ }
254
+ /** Condition Guard: Only runs child if condition is true */
255
+ export declare class BTConditionGuard extends BTDecorator {
256
+ condition: (context: BTContext) => boolean;
257
+ constructor(name?: string, condition?: (context: BTContext) => boolean);
258
+ tick(context: BTContext): BTStatus;
259
+ clone(): BTConditionGuard;
260
+ }
261
+ /** Action Node: Performs an action */
262
+ export declare class BTAction extends BTNode {
263
+ action: (context: BTContext) => BTStatus;
264
+ constructor(name: string, action: (context: BTContext) => BTStatus);
265
+ tick(context: BTContext): BTStatus;
266
+ clone(): BTAction;
267
+ }
268
+ /** Condition Node: Tests a condition */
269
+ export declare class BTCondition extends BTNode {
270
+ condition: (context: BTContext) => boolean;
271
+ constructor(name: string, condition: (context: BTContext) => boolean);
272
+ tick(context: BTContext): BTStatus;
273
+ clone(): BTCondition;
274
+ }
275
+ /** Wait Action: Waits for a duration */
276
+ export declare class BTWait extends BTNode {
277
+ seconds: number;
278
+ private elapsed;
279
+ private started;
280
+ constructor(name?: string, seconds?: number);
281
+ tick(context: BTContext): BTStatus;
282
+ reset(): void;
283
+ clone(): BTWait;
284
+ }
285
+ /** Log Action: Logs a message */
286
+ export declare class BTLog extends BTNode {
287
+ message: string;
288
+ level: 'info' | 'warn' | 'error';
289
+ constructor(name?: string, message?: string, level?: 'info' | 'warn' | 'error');
290
+ tick(context: BTContext): BTStatus;
291
+ clone(): BTLog;
292
+ }
293
+ export declare class BTSubtree extends BTNode {
294
+ subtreeId: string;
295
+ private subtree;
296
+ constructor(name: string, subtreeId: string);
297
+ setSubtree(tree: BehaviorTree): void;
298
+ tick(context: BTContext): BTStatus;
299
+ reset(): void;
300
+ clone(): BTSubtree;
301
+ }
302
+ export declare class BTRoot extends BTNode {
303
+ child: BTNode | null;
304
+ constructor(name?: string);
305
+ setChild(child: BTNode): void;
306
+ tick(context: BTContext): BTStatus;
307
+ reset(): void;
308
+ toJSON(): BTNodeJSON;
309
+ clone(): BTRoot;
310
+ }
311
+ export declare class BehaviorTree {
312
+ id: string;
313
+ name: string;
314
+ root: BTRoot;
315
+ blackboard: BTBlackboard;
316
+ /** Execution statistics */
317
+ stats: {
318
+ tickCount: number;
319
+ lastTickTime: number;
320
+ averageTickTime: number;
321
+ };
322
+ /** Debugging */
323
+ debugMode: boolean;
324
+ breakpoints: Set<string>;
325
+ private isPaused;
326
+ constructor(name?: string);
327
+ /** Tick the tree */
328
+ tick(context: BTContext): BTStatus;
329
+ /** Reset the tree */
330
+ reset(): void;
331
+ /** Pause execution */
332
+ pause(): void;
333
+ /** Resume execution */
334
+ resume(): void;
335
+ /** Add breakpoint */
336
+ addBreakpoint(nodeId: string): void;
337
+ /** Remove breakpoint */
338
+ removeBreakpoint(nodeId: string): void;
339
+ /** Toggle breakpoint */
340
+ toggleBreakpoint(nodeId: string): void;
341
+ /** Find node by ID */
342
+ findNode(nodeId: string): BTNode | null;
343
+ private findNodeRecursive;
344
+ /** Get all nodes */
345
+ getAllNodes(): BTNode[];
346
+ private collectNodes;
347
+ /** Clone the tree */
348
+ clone(): BehaviorTree;
349
+ /** Serialize to JSON */
350
+ toJSON(): {
351
+ id: string;
352
+ name: string;
353
+ root: BTNodeJSON;
354
+ blackboard: Record<string, unknown>;
355
+ };
356
+ }
357
+ export declare class BTNodeRegistry {
358
+ private definitions;
359
+ register(definition: BTNodeDefinition): void;
360
+ get(type: string): BTNodeDefinition | undefined;
361
+ getAll(): BTNodeDefinition[];
362
+ getByCategory(category: BTNodeType): BTNodeDefinition[];
363
+ createNode(type: string, properties?: Record<string, unknown>): BTNode | null;
364
+ }
365
+ export declare function createBehaviorTree(name?: string): BehaviorTree;
366
+ export declare function createBlackboard(): BTBlackboard;
367
+ export declare function createNodeRegistry(): BTNodeRegistry;
368
+ /** Create execution context */
369
+ export declare function createBTContext(params: {
370
+ entityId: EntityId;
371
+ dt: number;
372
+ time: number;
373
+ world: unknown;
374
+ blackboard?: BTBlackboard;
375
+ }): BTContext;