@deckflow/deckuse 1.2.1 → 1.3.1

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 (282) hide show
  1. package/README.es.md +342 -0
  2. package/README.fr.md +342 -0
  3. package/README.ja.md +342 -0
  4. package/README.ko.md +342 -0
  5. package/README.md +60 -8
  6. package/README.pt-BR.md +342 -0
  7. package/README.ru.md +342 -0
  8. package/README.zh-CN.md +367 -0
  9. package/assets/default.docx +0 -0
  10. package/assets/default.pptx +0 -0
  11. package/dist/bin.js +188 -21
  12. package/dist/bin.js.map +1 -1
  13. package/dist/core/adapter.d.ts +24 -0
  14. package/dist/core/adapter.d.ts.map +1 -0
  15. package/dist/core/adapter.js +20 -0
  16. package/dist/core/adapter.js.map +1 -0
  17. package/dist/core/executor.d.ts +24 -0
  18. package/dist/core/executor.d.ts.map +1 -0
  19. package/dist/core/executor.js +65 -0
  20. package/dist/core/executor.js.map +1 -0
  21. package/dist/core/index.d.ts +7 -0
  22. package/dist/core/index.d.ts.map +1 -0
  23. package/dist/core/index.js +7 -0
  24. package/dist/core/index.js.map +1 -0
  25. package/dist/core/length.d.ts +27 -0
  26. package/dist/core/length.d.ts.map +1 -0
  27. package/dist/core/length.js +63 -0
  28. package/dist/core/length.js.map +1 -0
  29. package/dist/core/measure.d.ts +24 -0
  30. package/dist/core/measure.d.ts.map +1 -0
  31. package/dist/core/measure.js +79 -0
  32. package/dist/core/measure.js.map +1 -0
  33. package/dist/core/not-implemented.d.ts +3 -0
  34. package/dist/core/not-implemented.d.ts.map +1 -0
  35. package/dist/core/not-implemented.js +12 -0
  36. package/dist/core/not-implemented.js.map +1 -0
  37. package/dist/core/schema.d.ts +3065 -0
  38. package/dist/core/schema.d.ts.map +1 -0
  39. package/dist/core/schema.js +799 -0
  40. package/dist/core/schema.js.map +1 -0
  41. package/dist/default-template.d.ts +8 -0
  42. package/dist/default-template.d.ts.map +1 -0
  43. package/dist/default-template.js +29 -0
  44. package/dist/default-template.js.map +1 -0
  45. package/dist/docx/adapter.d.ts +29 -0
  46. package/dist/docx/adapter.d.ts.map +1 -0
  47. package/dist/docx/adapter.js +442 -0
  48. package/dist/docx/adapter.js.map +1 -0
  49. package/dist/docx/addressing.d.ts +18 -0
  50. package/dist/docx/addressing.d.ts.map +1 -0
  51. package/dist/docx/addressing.js +111 -0
  52. package/dist/docx/addressing.js.map +1 -0
  53. package/dist/docx/blank.d.ts +4 -0
  54. package/dist/docx/blank.d.ts.map +1 -0
  55. package/dist/docx/blank.js +75 -0
  56. package/dist/docx/blank.js.map +1 -0
  57. package/dist/docx/index-sync.d.ts +7 -0
  58. package/dist/docx/index-sync.d.ts.map +1 -0
  59. package/dist/docx/index-sync.js +24 -0
  60. package/dist/docx/index-sync.js.map +1 -0
  61. package/dist/docx/index.d.ts +5 -0
  62. package/dist/docx/index.d.ts.map +1 -0
  63. package/dist/docx/index.js +4 -0
  64. package/dist/docx/index.js.map +1 -0
  65. package/dist/docx/indexer.d.ts +41 -0
  66. package/dist/docx/indexer.d.ts.map +1 -0
  67. package/dist/docx/indexer.js +353 -0
  68. package/dist/docx/indexer.js.map +1 -0
  69. package/dist/docx/mutations.d.ts +5 -0
  70. package/dist/docx/mutations.d.ts.map +1 -0
  71. package/dist/docx/mutations.js +311 -0
  72. package/dist/docx/mutations.js.map +1 -0
  73. package/dist/docx/paragraphs.d.ts +26 -0
  74. package/dist/docx/paragraphs.d.ts.map +1 -0
  75. package/dist/docx/paragraphs.js +314 -0
  76. package/dist/docx/paragraphs.js.map +1 -0
  77. package/dist/docx/properties.d.ts +23 -0
  78. package/dist/docx/properties.d.ts.map +1 -0
  79. package/dist/docx/properties.js +414 -0
  80. package/dist/docx/properties.js.map +1 -0
  81. package/dist/docx/tables.d.ts +4 -0
  82. package/dist/docx/tables.d.ts.map +1 -0
  83. package/dist/docx/tables.js +64 -0
  84. package/dist/docx/tables.js.map +1 -0
  85. package/dist/docx/text-spans.d.ts +25 -0
  86. package/dist/docx/text-spans.d.ts.map +1 -0
  87. package/dist/docx/text-spans.js +142 -0
  88. package/dist/docx/text-spans.js.map +1 -0
  89. package/dist/docx/types.d.ts +27 -0
  90. package/dist/docx/types.d.ts.map +1 -0
  91. package/dist/docx/types.js +2 -0
  92. package/dist/docx/types.js.map +1 -0
  93. package/dist/docx/workspace.d.ts +20 -0
  94. package/dist/docx/workspace.d.ts.map +1 -0
  95. package/dist/docx/workspace.js +145 -0
  96. package/dist/docx/workspace.js.map +1 -0
  97. package/dist/docx/xml.d.ts +18 -0
  98. package/dist/docx/xml.d.ts.map +1 -0
  99. package/dist/docx/xml.js +87 -0
  100. package/dist/docx/xml.js.map +1 -0
  101. package/dist/edition-config/index.d.ts +25 -0
  102. package/dist/edition-config/index.d.ts.map +1 -0
  103. package/dist/edition-config/index.js +22 -0
  104. package/dist/edition-config/index.js.map +1 -0
  105. package/dist/edition.d.ts +2 -2
  106. package/dist/edition.d.ts.map +1 -1
  107. package/dist/edition.js +1 -1
  108. package/dist/edition.js.map +1 -1
  109. package/dist/help.d.ts.map +1 -1
  110. package/dist/help.js +124 -32
  111. package/dist/help.js.map +1 -1
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +6 -6
  115. package/dist/index.js.map +1 -1
  116. package/dist/key/index.d.ts +2 -0
  117. package/dist/key/index.d.ts.map +1 -0
  118. package/dist/key/index.js +3 -0
  119. package/dist/key/index.js.map +1 -0
  120. package/dist/monitor-daemon.d.ts +21 -8
  121. package/dist/monitor-daemon.d.ts.map +1 -1
  122. package/dist/monitor-daemon.js +189 -51
  123. package/dist/monitor-daemon.js.map +1 -1
  124. package/dist/monitor-registry.d.ts +34 -0
  125. package/dist/monitor-registry.d.ts.map +1 -0
  126. package/dist/monitor-registry.js +191 -0
  127. package/dist/monitor-registry.js.map +1 -0
  128. package/dist/monitor.d.ts.map +1 -1
  129. package/dist/monitor.js +2 -12
  130. package/dist/monitor.js.map +1 -1
  131. package/dist/numbers/index.d.ts +2 -0
  132. package/dist/numbers/index.d.ts.map +1 -0
  133. package/dist/numbers/index.js +3 -0
  134. package/dist/numbers/index.js.map +1 -0
  135. package/dist/opc/index.d.ts +96 -0
  136. package/dist/opc/index.d.ts.map +1 -0
  137. package/dist/opc/index.js +596 -0
  138. package/dist/opc/index.js.map +1 -0
  139. package/dist/pptx/adapter.d.ts +167 -0
  140. package/dist/pptx/adapter.d.ts.map +1 -0
  141. package/dist/pptx/adapter.js +841 -0
  142. package/dist/pptx/adapter.js.map +1 -0
  143. package/dist/pptx/addressing.d.ts +47 -0
  144. package/dist/pptx/addressing.d.ts.map +1 -0
  145. package/dist/pptx/addressing.js +481 -0
  146. package/dist/pptx/addressing.js.map +1 -0
  147. package/dist/pptx/align.d.ts +24 -0
  148. package/dist/pptx/align.d.ts.map +1 -0
  149. package/dist/pptx/align.js +112 -0
  150. package/dist/pptx/align.js.map +1 -0
  151. package/dist/pptx/chart-classify.d.ts +10 -0
  152. package/dist/pptx/chart-classify.d.ts.map +1 -0
  153. package/dist/pptx/chart-classify.js +58 -0
  154. package/dist/pptx/chart-classify.js.map +1 -0
  155. package/dist/pptx/chart.d.ts +42 -0
  156. package/dist/pptx/chart.d.ts.map +1 -0
  157. package/dist/pptx/chart.js +614 -0
  158. package/dist/pptx/chart.js.map +1 -0
  159. package/dist/pptx/edition-extension.d.ts +25 -0
  160. package/dist/pptx/edition-extension.d.ts.map +1 -0
  161. package/dist/pptx/edition-extension.js +10 -0
  162. package/dist/pptx/edition-extension.js.map +1 -0
  163. package/dist/pptx/edition.d.ts +20 -0
  164. package/dist/pptx/edition.d.ts.map +1 -0
  165. package/dist/pptx/edition.js +69 -0
  166. package/dist/pptx/edition.js.map +1 -0
  167. package/dist/pptx/elements.d.ts +12 -0
  168. package/dist/pptx/elements.d.ts.map +1 -0
  169. package/dist/pptx/elements.js +224 -0
  170. package/dist/pptx/elements.js.map +1 -0
  171. package/dist/pptx/hyperlink.d.ts +7 -0
  172. package/dist/pptx/hyperlink.d.ts.map +1 -0
  173. package/dist/pptx/hyperlink.js +81 -0
  174. package/dist/pptx/hyperlink.js.map +1 -0
  175. package/dist/pptx/index-sync.d.ts +7 -0
  176. package/dist/pptx/index-sync.d.ts.map +1 -0
  177. package/dist/pptx/index-sync.js +24 -0
  178. package/dist/pptx/index-sync.js.map +1 -0
  179. package/dist/pptx/index.d.ts +10 -0
  180. package/dist/pptx/index.d.ts.map +1 -0
  181. package/dist/pptx/index.js +7 -0
  182. package/dist/pptx/index.js.map +1 -0
  183. package/dist/pptx/indexer.d.ts +19 -0
  184. package/dist/pptx/indexer.d.ts.map +1 -0
  185. package/dist/pptx/indexer.js +320 -0
  186. package/dist/pptx/indexer.js.map +1 -0
  187. package/dist/pptx/layout-ref.d.ts +41 -0
  188. package/dist/pptx/layout-ref.d.ts.map +1 -0
  189. package/dist/pptx/layout-ref.js +145 -0
  190. package/dist/pptx/layout-ref.js.map +1 -0
  191. package/dist/pptx/media.d.ts +15 -0
  192. package/dist/pptx/media.d.ts.map +1 -0
  193. package/dist/pptx/media.js +145 -0
  194. package/dist/pptx/media.js.map +1 -0
  195. package/dist/pptx/mutations.d.ts +11 -0
  196. package/dist/pptx/mutations.d.ts.map +1 -0
  197. package/dist/pptx/mutations.js +1114 -0
  198. package/dist/pptx/mutations.js.map +1 -0
  199. package/dist/pptx/picture.d.ts +25 -0
  200. package/dist/pptx/picture.d.ts.map +1 -0
  201. package/dist/pptx/picture.js +118 -0
  202. package/dist/pptx/picture.js.map +1 -0
  203. package/dist/pptx/placeholder-role.d.ts +19 -0
  204. package/dist/pptx/placeholder-role.d.ts.map +1 -0
  205. package/dist/pptx/placeholder-role.js +71 -0
  206. package/dist/pptx/placeholder-role.js.map +1 -0
  207. package/dist/pptx/properties.d.ts +13 -0
  208. package/dist/pptx/properties.d.ts.map +1 -0
  209. package/dist/pptx/properties.js +587 -0
  210. package/dist/pptx/properties.js.map +1 -0
  211. package/dist/pptx/resolve-properties.d.ts +17 -0
  212. package/dist/pptx/resolve-properties.d.ts.map +1 -0
  213. package/dist/pptx/resolve-properties.js +623 -0
  214. package/dist/pptx/resolve-properties.js.map +1 -0
  215. package/dist/pptx/slide-size.d.ts +9 -0
  216. package/dist/pptx/slide-size.d.ts.map +1 -0
  217. package/dist/pptx/slide-size.js +29 -0
  218. package/dist/pptx/slide-size.js.map +1 -0
  219. package/dist/pptx/slides.d.ts +15 -0
  220. package/dist/pptx/slides.d.ts.map +1 -0
  221. package/dist/pptx/slides.js +247 -0
  222. package/dist/pptx/slides.js.map +1 -0
  223. package/dist/pptx/table-measure.d.ts +43 -0
  224. package/dist/pptx/table-measure.d.ts.map +1 -0
  225. package/dist/pptx/table-measure.js +70 -0
  226. package/dist/pptx/table-measure.js.map +1 -0
  227. package/dist/pptx/table.d.ts +26 -0
  228. package/dist/pptx/table.d.ts.map +1 -0
  229. package/dist/pptx/table.js +638 -0
  230. package/dist/pptx/table.js.map +1 -0
  231. package/dist/pptx/types.d.ts +27 -0
  232. package/dist/pptx/types.d.ts.map +1 -0
  233. package/dist/pptx/types.js +2 -0
  234. package/dist/pptx/types.js.map +1 -0
  235. package/dist/pptx/workspace.d.ts +23 -0
  236. package/dist/pptx/workspace.d.ts.map +1 -0
  237. package/dist/pptx/workspace.js +148 -0
  238. package/dist/pptx/workspace.js.map +1 -0
  239. package/dist/pptx/xml.d.ts +75 -0
  240. package/dist/pptx/xml.d.ts.map +1 -0
  241. package/dist/pptx/xml.js +390 -0
  242. package/dist/pptx/xml.js.map +1 -0
  243. package/dist/render.d.ts.map +1 -1
  244. package/dist/render.js +14 -2
  245. package/dist/render.js.map +1 -1
  246. package/dist/version.d.ts +1 -1
  247. package/dist/version.js +1 -1
  248. package/dist/workspace/git.d.ts +7 -0
  249. package/dist/workspace/git.d.ts.map +1 -0
  250. package/dist/workspace/git.js +119 -0
  251. package/dist/workspace/git.js.map +1 -0
  252. package/dist/workspace/index.d.ts +7 -0
  253. package/dist/workspace/index.d.ts.map +1 -0
  254. package/dist/workspace/index.js +7 -0
  255. package/dist/workspace/index.js.map +1 -0
  256. package/dist/workspace/lock.d.ts +5 -0
  257. package/dist/workspace/lock.d.ts.map +1 -0
  258. package/dist/workspace/lock.js +104 -0
  259. package/dist/workspace/lock.js.map +1 -0
  260. package/dist/workspace/metadata.d.ts +4 -0
  261. package/dist/workspace/metadata.d.ts.map +1 -0
  262. package/dist/workspace/metadata.js +21 -0
  263. package/dist/workspace/metadata.js.map +1 -0
  264. package/dist/workspace/operations.d.ts +14 -0
  265. package/dist/workspace/operations.d.ts.map +1 -0
  266. package/dist/workspace/operations.js +35 -0
  267. package/dist/workspace/operations.js.map +1 -0
  268. package/dist/workspace/paths.d.ts +11 -0
  269. package/dist/workspace/paths.d.ts.map +1 -0
  270. package/dist/workspace/paths.js +12 -0
  271. package/dist/workspace/paths.js.map +1 -0
  272. package/dist/workspace/revision.d.ts +6 -0
  273. package/dist/workspace/revision.d.ts.map +1 -0
  274. package/dist/workspace/revision.js +15 -0
  275. package/dist/workspace/revision.js.map +1 -0
  276. package/dist/xlsx/index.d.ts +2 -0
  277. package/dist/xlsx/index.d.ts.map +1 -0
  278. package/dist/xlsx/index.js +3 -0
  279. package/dist/xlsx/index.js.map +1 -0
  280. package/package.json +51 -27
  281. package/schema/command.schema.json +2405 -0
  282. package/dist/.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/pptx/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,EAAE,EACF,WAAW,GAMZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EACL,GAAG,EACH,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,KAAK,EACL,cAAc,EACd,IAAI,EACJ,WAAW,EACX,iBAAiB,GAGlB,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,GAAG,CAAC,GAQnB,EAAgB,EAAE;IACjB,MAAM,MAAM,GAAiB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAG,MAAgC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1F,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAG,MAAkC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClG,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAAG,MAAiC,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAC9F,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAG,MAA6B,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAG,MAA+B,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACnF,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAAG,MAAkC,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAC/F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAA8B,EAAkB,EAAE;IACtE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAoC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5D,UAAU,CAAC,GAAuC,CAAC,CACpD,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAA4B,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,QAAQ;QACtC,MAAgC,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ;QACxC,MAAkC,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACvE,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ;QACvC,MAAiC,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS;QAAG,MAA6B,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5F,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;QACrC,MAA+B,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,SAAS;QACxC,MAAkC,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAG,MAA6B,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,SAAiB,EAAuB,EAAE,CAC5E,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AAEhE,MAAM,kBAAkB,GAAG,CACzB,OAAmB,EACnB,KAA8B,EAC9B,IAAe,EACK,EAAE;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,OAAmB,EACnB,MAA+B,EACN,EAAE;IAC3B,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAU,EAAE,CAAC;QAC1C,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YACxB,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAgB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;YAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAgB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAa,EAAE,EAAU,EAAuB,EAAE,CAC/E,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,SAAS,IAAI,IAAI;IACtB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CACjC,CAAC;AACJ,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,IAAoB,EAAuB,EAAE;IAClF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACnE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAC3C,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,+FAA+F;QAC/F,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7F,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;QAC7D,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,CAAC;IACD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAa,EAA8C,EAAE;IAClF,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,GAAa,EACb,IAAY,EACZ,GAAuB,EACF,EAAE;IACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,SAAS;QAC1E,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IAAI,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,uEAAuE;AACvE,MAAM,aAAa,GAAG,CACpB,OAAmB,EACnB,SAAiB,EACjB,IAAa,EACQ,EAAE;IACvB,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,MAAM,UAAU,GAAG,OAAO;SACvB,gBAAgB,CAAC,SAAS,CAAC;SAC3B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAC1D,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO;SACvB,gBAAgB,CAAC,UAAU,CAAC;SAC5B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IAC/D,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAa,EAAE,IAAa,EAAE,EAAU,EAAE,KAAa,EAAW,EAAE;IACxF,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,IAAI,IAAI;YAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI;QACvB,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,OAAO,EAAE,SAAS,CAAC;QACpB,CAAC,OAAO,EAAE,SAAS,CAAC;KACZ,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,IAAI,IAAI;gBAAE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAa,EAAW,EAAE;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,IAAI,KAAK,EAAE,WAAW;QAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SAC9D,IAAI,KAAK;QAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClC,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE;IAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,IAAI,KAAK,EAAE,WAAW;QAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SACjE,IAAI,KAAK;QAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACrC,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;QACjE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,OAAoB,EAAE,OAAgB,EAAW,EAAE;IACpF,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,IAAI,CAAC,SAAS,KAAK,cAAc;YAAE,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,KAAK,cAAc,CAAC;IAC9D,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAErF,IAAI,IAAI,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,EAAE,WAAW;YAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;aAC3D,IAAI,KAAK;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;YAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAClG,IAAI,SAAS,CAAC,UAAU;QAAE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;;QACrE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,MAAe,EACf,SAAiB,EACjB,KAAa,EACb,gBAAmC,EAC1B,EAAE;IACX,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9E,CAAC;IACF,IAAI,MAAM;QAAE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;QAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,IAAa,EACb,CAA0B,EAC1B,IAAiD,EAC3C,EAAE;IACR,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC;IAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;IACnF,MAAM,GAAG,GAAG,QAAQ;QAClB,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,QAAQ;QAClB,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7E,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7E,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACtF,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;aACxF,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ;QACnC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,IAAI,IAAI;YAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;YAClC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,IAAI,IAAI;YAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;YAClC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,OAAmB,EAAE,IAAoB,EAAsB,EAAE;IAC/F,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;YAAE,SAAS;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO;YAAE,SAAS;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,cAAc,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,IAAoB,EAA0B,EAAE;IAC7F,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ;QAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5B,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS;QACZ,OAAO,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC;QACR,GAAG,IAAI;QACP,OAAO;QACP,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;QACnC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE;KAC3E,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,OAAmB,EACnB,IAAoB,EACpB,IAAY,EACZ,WAAyB,EACX,EAAE;IAChB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,QAAQ;YACjB,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE,yDAAyD;aACnE,CAAC,CAAC;QACL,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EACzC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QACP,OAAO,GAAG,CACR,mBAAmB,EACnB,mCAAmC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CACnF,CAAC;IACJ,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAoB,EAAE,UAAkB,EAAW,EAAE;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IACrC,OAAO,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,2FAA2F;AAC3F,MAAM,2BAA2B,GAAG,CAAC,UAA4B,EAAoB,EAAE;IACrF,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,OAAwD,EACxD,OAAmB,EACnB,KAAgB,EACS,EAAE;IAC3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CACR,iBAAiB,EACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAW,EAAE,CACxC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CACxC,OAAO,CAAC,KAAK;QACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CACpC,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QAC1B,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAC3B,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,UAAU,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,CACP;QACE,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC;QAC/B,WAAW;KACZ,EACD,WAAW,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,OAAsB,EACtB,KAAgB,EAC2E,EAAE;IAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAChC,OAAO,GAAG,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC5D,OAAO,GAAG,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;YACd,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;gBACzD,CAAC,CAAC,SAAS,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,KAAK,EAAE;gBACjD,CAAC,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACzB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;aAC9B;YACD,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC5F,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;gBAC5B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACzB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAC7B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;aAC9B;YACD,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE;YAC9B,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC;QAC9E,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI;gBACJ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3F;YACD,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE;QAC9B,GAAG,CAAC,KAAK,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,yFAAyF;IACzF,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC;IAC9E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI;YACJ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,MAAgC,EAAmB,EAAE;IAC9F,IAAI,CAAC,MAAM,EAAE,KAAK;QAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YACJ,OAAO,GAAG,CACR,kBAAkB,EAClB,aAAa,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,GAAG,EAAE,EAC1D,EAAE,EACF,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CACvB,CAAC;QACJ,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG;YACN,OAAO,GAAG,CAAC,kBAAkB,EAAE,OAAO,MAAM,CAAC,GAAG,iBAAiB,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACjF,MAAM,EAAE,MAAM,CAAC,GAAG;aACnB,CAAC,CAAC;QACL,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,SAAoE,EACpE,MAA+B,EACN,EAAE;IAC3B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;aAC/D,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACnE,KAAK,cAAc;YACjB,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,WAAW;gBACnB,GAAG,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,QAAQ;oBAC5C,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE;oBAC1C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACtE,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3E,KAAK,OAAO,CAAC;QACb,KAAK,iBAAiB;YACpB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACrF,KAAK,kBAAkB;YACrB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACvF,KAAK,OAAO,CAAC;QACb,KAAK,aAAa;YAChB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACvF,KAAK,YAAY;YACf,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtF,KAAK,UAAU;YACb,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpF,KAAK,YAAY;YACf,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtF,KAAK,SAAS;YACZ,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpF,KAAK,UAAU;YACb,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtF,KAAK,WAAW;YACd,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACtF,KAAK,UAAU;YACb,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACrF,KAAK,aAAa;YAChB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACvF,KAAK,gBAAgB;YACnB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1F,KAAK,oBAAoB;YACvB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7F,KAAK,mBAAmB;YACtB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC5F,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAC9D,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,GAAa,EACb,IAAa,EACb,OAAkD,EAClD,KAAgB,EACF,EAAE;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC,UAA4B,CAAC;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7E,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1B,OAAO,GAAG,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;IAEjF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAmB,EAAE;QACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,GAAG,CAAC,kBAAkB,EAAE,yCAAyC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACpF,MAAM;aACP,CAAC,CAAC;QACL,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAC7E,CAAC;QACF,IAAI,UAAU;YAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;;YACjD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW;YAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;;YAC3E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC,iBAAiB,EAAE,2DAA2D,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAAsB,EACtB,OAAmB,EACnB,KAAgB;IAEhB,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAErF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtE,IAAI,MAA0B,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBAChE,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,QAAQ,CAAC;YAClC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,8EAA8E;QAC9E,mEAAmE;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GACV,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1D,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC;YACrC,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;YACR,OAAO,EAAE,IAAI;YACb,OAAO;YACP,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YACR,OAAO,GAAG,CAAC,kBAAkB,EAAE,SAAS,OAAO,CAAC,KAAK,iBAAiB,EAAE,EAAE,EAAE;gBAC1E,MAAM,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;gBAChC,IAAI,EAAE,iCAAiC;aACxC,CAAC,CAAC;QACL,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,UAAU;YACb,OAAO,GAAG,CAAC,kBAAkB,EAAE,qBAAqB,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACxE,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;YACR,OAAO;YACP,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,cAAc,EAAE,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1C,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YACR,OAAO,GAAG,CAAC,kBAAkB,EAAE,SAAS,OAAO,CAAC,KAAK,iBAAiB,EAAE,EAAE,EAAE;gBAC1E,MAAM,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;aACjC,CAAC,CAAC;QACL,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,EAAE;YAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,IAAI;YACP,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ;gBAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACf,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE;oBAClD,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC;oBACjC,IAAI,EAAE,GAAG;iBACV,CAAC,CAAC;YACT,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAClE,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC5B,OAAO,CAAC,MAAM,KAAK,MAAM;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,cAAc,EACtC,CAAC;gBACD,WAAW,CAAC,IAAI,CACd,4BAA4B,CAAC;oBAC3B,YAAY,EAAE,MAAM,CAAC,cAAc;oBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;oBACxB,MAAM,EAAE,SAAS,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE;iBAC5E,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EACL,6IAA6I;aAChJ,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACxE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvD,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,oBAAoB,CAC/B,OAAO,EACP;gBACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,EACD,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CACpC,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,iBAAiB,CACf,OAAO,EACP,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAgC,CAAC,CAAC,CAC9E,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;QAC7C,OAAO,EAAE,CACP;YACE,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,cAAc,EAAE,CAAC,SAAS,OAAO,CAAC,KAAK,UAAU,EAAE,EAAE,CAAC;YACtD,YAAY,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YAC7B,WAAW;SACZ,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YACR,OAAO,GAAG,CAAC,kBAAkB,EAAE,SAAS,OAAO,CAAC,KAAK,iBAAiB,EAAE,EAAE,EAAE;gBAC1E,MAAM,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;aACjC,CAAC,CAAC;QACL,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,QAAQ,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI;gBACP,OAAO,GAAG,CAAC,mBAAmB,EAAE,mCAAmC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC/E,MAAM;iBACP,CAAC,CAAC;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG;gBACN,OAAO,GAAG,CAAC,iBAAiB,EAAE,kCAAkC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,mBAAmB,CACjC,KAAK,EACL,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,GAAG,EACX,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAClE,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC;YACR,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YACpC,YAAY,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;IAChD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QAC3D,OAAO,GAAG,CACR,sBAAsB,EACtB,qBAAqB,IAAI,CAAC,GAAG,CAAC,QAAQ,aAAa,KAAK,CAAC,QAAQ,EAAE,CACpE,CAAC;IAEJ,sEAAsE;IACtE,uDAAuD;IACvD,0EAA0E;IAC1E,6BAA6B;IAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;gBACR,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;gBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,YAAY,EAAE,CAAC,uBAAuB,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;gBACR,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;gBAC9C,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,QAAQ,GACV,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,QAAQ;oBACjD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;oBACjC,CAAC,CAAC,SAAS,EACf,MAAM,GACJ,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ;oBAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC/B,CAAC,CAAC,SAAS,CAAC;gBAClB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC/D,kGAAkG;YAClG,OAAO,GAAG,CACR,wBAAwB,EACxB,iEAAiE,EACjE,EAAE,EACF,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC3C,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS;QACZ,OAAO,GAAG,CACR,mBAAmB,EACnB,mCAAmC,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CACvF,CAAC;IACJ,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAE3B,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ;QAC9E,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,SAAS;gBAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;YAC7F,iBAAiB,CACf,IAAI,EACJ,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAgC,CAAC,CAAC,CAC9E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,KAAK,SAAS;gBACpB,OAAO,GAAG,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAC;YAC3E,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,YAAY,GAAG,IAAI,CAAC;gBACpB,IAAI,MAAM,CAAC,QAAQ;oBACjB,WAAW,CAAC,IAAI,CAAC;wBACf,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,oCAAoC;wBAC1C,OAAO,EAAE,yDAAyD;qBACnE,CAAC,CAAC;YACP,CAAC;;gBAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3C,SAAS,CACP,SAAS,EACT,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAoC,CAAC,EAC/E;YACE,OAAO;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,EAAE;YAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,SAAS,CACP,SAAS,EACT;YACE,GAAG,IAAI;YACP,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,EACD,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CACvC,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAC3B,OAAO,GAAG,CAAC,iBAAiB,EAAE,wCAAwC,EAAE,EAAE,EAAE;gBAC1E,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;gBACzB,CAAC,CAAE,MAAgB;gBACnB,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAqB,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,EAAE;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,IACE,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YACrC,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EACnC,CAAC;YACD,WAAW,CAAC,IAAI,CACd,4BAA4B,CAAC;gBAC3B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;gBACrC,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;YACtE,OAAO,GAAG,CACR,wBAAwB,EACxB,gBAAgB,OAAO,CAAC,KAAK,iDAAiD,EAC9E,EAAE,EACF,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;QACJ,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC;YAChC,MAAM,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;YACrC,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,SAAS;gBAC7E,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3D,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,CAAC,QAAQ;gBACjB,WAAW,CAAC,IAAI,CAAC;oBACf,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,oCAAoC;oBAC1C,OAAO,EAAE,yDAAyD;iBACnE,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE;gBAC1D,OAAO;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpC,OAAO,GAAG,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;YAChF,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpC,OAAO,GAAG,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE;gBACrD,OAAO;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpC,OAAO,GAAG,CAAC,iBAAiB,EAAE,8CAA8C,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAC7B,OAAO,GAAG,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAClC,OAAO,EACP,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,IAAI,EACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CACjB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAC7B,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;aAChE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAC7D,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;;YAC9D,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;SACrE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,YAAY,IAAI,SAAS;QAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ;QACnF,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,CACP;QACE,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;QACtC,WAAW;QACX,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,YAAY;KACb,EACD,WAAW,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type Result } from '../core/index.js';
2
+ import { OpcArchive } from '../opc/index.js';
3
+ import type { Document, Element } from '@xmldom/xmldom';
4
+ export declare const isPartReferenced: (archive: OpcArchive, target: string) => boolean;
5
+ export declare const cleanupUnreferencedPart: (archive: OpcArchive, target: string) => boolean;
6
+ export declare const pictureEmbedId: (node: Element) => string | undefined;
7
+ export declare function loadPictureBytes(input: {
8
+ path?: string;
9
+ base64?: string;
10
+ }): Promise<Result<{
11
+ data: Uint8Array;
12
+ ext: string;
13
+ }>>;
14
+ export declare function addPicturePart(archive: OpcArchive, slidePart: string, input: {
15
+ path?: string;
16
+ base64?: string;
17
+ }): Promise<Result<{
18
+ target: string;
19
+ rid: string;
20
+ }>>;
21
+ export declare function replacePictureMedia(archive: OpcArchive, slidePart: string, pictureNode: Element, data: Uint8Array, ext: string): Result<{
22
+ mediaPart: string;
23
+ }>;
24
+ export declare function detachPictureAndCleanup(archive: OpcArchive, slidePart: string, doc: Document, pictureNode: Element): void;
25
+ //# sourceMappingURL=picture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picture.d.ts","sourceRoot":"","sources":["../../src/pptx/picture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAA8C,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA8BxD,eAAO,MAAM,gBAAgB,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,KAAG,OAGpE,CAAC;AAEJ,eAAO,MAAM,uBAAuB,GAAI,SAAS,UAAU,EAAE,QAAQ,MAAM,KAAG,OAG7E,CAAC;AAQF,eAAO,MAAM,cAAc,GAAI,MAAM,OAAO,KAAG,MAAM,GAAG,SAGvD,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmBrD;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBlD;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB/B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,QAAQ,EACb,WAAW,EAAE,OAAO,GACnB,IAAI,CAYN"}
@@ -0,0 +1,118 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { extname, posix } from 'node:path';
3
+ import { err, ok } from '../core/index.js';
4
+ import { OpcArchive, partExistsIgnoreCase } from '../opc/index.js';
5
+ import { NS, REL, attr, descendants, first } from './xml.js';
6
+ const mediaType = (extension) => extension === '.png'
7
+ ? 'image/png'
8
+ : extension === '.gif'
9
+ ? 'image/gif'
10
+ : extension === '.jpg' || extension === '.jpeg'
11
+ ? 'image/jpeg'
12
+ : 'application/octet-stream';
13
+ const nextMedia = (archive, ext) => {
14
+ let n = 1;
15
+ // Case-insensitive via free function (not archive.hasPartIgnoreCase): stays
16
+ // compatible when an older opc instance lacks that method.
17
+ while (partExistsIgnoreCase(archive.parts, `/ppt/media/image${String(n)}${ext}`))
18
+ n++;
19
+ return `/ppt/media/image${String(n)}${ext}`;
20
+ };
21
+ const nextRid = (rels) => {
22
+ let n = 1;
23
+ const ids = new Set(rels.map((r) => r.id));
24
+ while (ids.has(`rId${String(n)}`))
25
+ n++;
26
+ return `rId${String(n)}`;
27
+ };
28
+ const relativeTarget = (source, target) => posix.relative(posix.dirname(source), target).replace(/^\//, '');
29
+ export const isPartReferenced = (archive, target) => [...archive.relationships.values()].some((items) => items.some((rel) => rel.resolvedTarget === target));
30
+ export const cleanupUnreferencedPart = (archive, target) => {
31
+ if (isPartReferenced(archive, target))
32
+ return false;
33
+ return archive.deletePart(target);
34
+ };
35
+ const embedIdUsed = (doc, rid) => descendants(doc, 'blip').some((blip) => {
36
+ const embed = blip.getAttributeNS(NS.r, 'embed') ?? attr(blip, 'r:embed');
37
+ return embed === rid;
38
+ });
39
+ export const pictureEmbedId = (node) => {
40
+ const blip = first(node, 'blip');
41
+ return blip?.getAttributeNS(NS.r, 'embed') ?? attr(blip, 'r:embed') ?? undefined;
42
+ };
43
+ export async function loadPictureBytes(input) {
44
+ if (typeof input.path === 'string') {
45
+ try {
46
+ const data = await readFile(input.path);
47
+ return ok({ data, ext: extname(input.path).toLowerCase() || '.png' });
48
+ }
49
+ catch (cause) {
50
+ return err('IO_ERROR', cause instanceof Error ? cause.message : 'Failed to read picture path');
51
+ }
52
+ }
53
+ if (typeof input.base64 === 'string') {
54
+ const data = Buffer.from(input.base64.replace(/^data:[^,]+,/, ''), 'base64');
55
+ const match = /^data:image\/(png|jpeg|gif)/.exec(input.base64);
56
+ const ext = match?.[1] ? (match[1] === 'jpeg' ? '.jpg' : `.${match[1]}`) : '.png';
57
+ return ok({ data, ext });
58
+ }
59
+ return err('INVALID_COMMAND', 'Picture requires path or base64');
60
+ }
61
+ export async function addPicturePart(archive, slidePart, input) {
62
+ const loaded = await loadPictureBytes(input);
63
+ if (!loaded.ok)
64
+ return loaded;
65
+ const target = nextMedia(archive, loaded.value.ext);
66
+ archive.setPart(target, loaded.value.data, mediaType(loaded.value.ext));
67
+ const rels = [...archive.getRelationships(slidePart)];
68
+ const rid = nextRid(rels);
69
+ rels.push({
70
+ id: rid,
71
+ type: REL.image,
72
+ target: relativeTarget(slidePart, target),
73
+ external: false,
74
+ resolvedTarget: target,
75
+ });
76
+ archive.setRelationships(slidePart, rels);
77
+ return ok({ target, rid });
78
+ }
79
+ export function replacePictureMedia(archive, slidePart, pictureNode, data, ext) {
80
+ const rid = pictureEmbedId(pictureNode);
81
+ if (!rid)
82
+ return err('INVALID_COMMAND', 'Picture has no embedded image relationship (r:embed)');
83
+ const rels = [...archive.getRelationships(slidePart)];
84
+ const index = rels.findIndex((rel) => rel.id === rid);
85
+ const current = index >= 0 ? rels[index] : undefined;
86
+ if (!current)
87
+ return err('INVALID_COMMAND', `Missing image relationship ${rid}`);
88
+ if (current.external || !current.resolvedTarget)
89
+ return err('INVALID_COMMAND', 'Cannot replace externally linked pictures');
90
+ const previous = current.resolvedTarget;
91
+ const previousExt = extname(previous).toLowerCase();
92
+ if (previousExt === ext) {
93
+ archive.setPart(previous, data, mediaType(ext));
94
+ return ok({ mediaPart: previous });
95
+ }
96
+ const target = nextMedia(archive, ext);
97
+ archive.setPart(target, data, mediaType(ext));
98
+ rels[index] = {
99
+ ...current,
100
+ target: relativeTarget(slidePart, target),
101
+ resolvedTarget: target,
102
+ };
103
+ archive.setRelationships(slidePart, rels);
104
+ cleanupUnreferencedPart(archive, previous);
105
+ return ok({ mediaPart: target });
106
+ }
107
+ export function detachPictureAndCleanup(archive, slidePart, doc, pictureNode) {
108
+ const rid = pictureEmbedId(pictureNode);
109
+ const rel = rid ? archive.getRelationships(slidePart).find((item) => item.id === rid) : undefined;
110
+ const mediaPart = rel?.resolvedTarget;
111
+ pictureNode.parentNode?.removeChild(pictureNode);
112
+ if (rid && !embedIdUsed(doc, rid)) {
113
+ archive.setRelationships(slidePart, archive.getRelationships(slidePart).filter((item) => item.id !== rid));
114
+ }
115
+ if (mediaPart)
116
+ cleanupUnreferencedPart(archive, mediaPart);
117
+ }
118
+ //# sourceMappingURL=picture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picture.js","sourceRoot":"","sources":["../../src/pptx/picture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAE,CACtC,SAAS,KAAK,MAAM;IAClB,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,SAAS,KAAK,MAAM;QACpB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;YAC7C,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,0BAA0B,CAAC;AAErC,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAE,GAAW,EAAE,EAAE;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,4EAA4E;IAC5E,2DAA2D;IAC3D,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;QAAE,CAAC,EAAE,CAAC;IACtF,OAAO,mBAAmB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,IAAgC,EAAE,EAAE;IACnD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAAE,CAAC,EAAE,CAAC;IACvC,OAAO,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE,CAChE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,MAAc,EAAW,EAAE,CAC/E,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,CACnD,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAmB,EAAE,MAAc,EAAW,EAAE;IACtF,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAa,EAAE,GAAW,EAAW,EAAE,CAC1D,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1E,OAAO,KAAK,KAAK,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAsB,EAAE;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAGtC;IACC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CACR,UAAU,EACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAmB,EACnB,SAAiB,EACjB,KAAyC;IAEzC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC;QACR,EAAE,EAAE,GAAG;QACP,IAAI,EAAE,GAAG,CAAC,KAAK;QACf,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC;QACzC,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAmB,EACnB,SAAiB,EACjB,WAAoB,EACpB,IAAgB,EAChB,GAAW;IAEX,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,sDAAsD,CAAC,CAAC;IAChG,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,iBAAiB,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc;QAC7C,OAAO,GAAG,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,GAAG;QACZ,GAAG,OAAO;QACV,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC;QACzC,cAAc,EAAE,MAAM;KACvB,CAAC;IACF,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1C,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAmB,EACnB,SAAiB,EACjB,GAAa,EACb,WAAoB;IAEpB,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,MAAM,SAAS,GAAG,GAAG,EAAE,cAAc,CAAC;IACtC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,gBAAgB,CACtB,SAAS,EACT,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,SAAS;QAAE,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * OOXML ST_PlaceholderType values (ECMA-376).
3
+ * Invalid `p:ph/@type` values make PowerPoint prompt to repair the package.
4
+ */
5
+ export declare const PLACEHOLDER_TYPES: readonly ["title", "body", "ctrTitle", "subTitle", "dt", "ftr", "sldNum", "hdr", "obj", "chart", "tbl", "clipArt", "dgm", "media", "sldImg", "pic"];
6
+ export type PlaceholderType = (typeof PLACEHOLDER_TYPES)[number];
7
+ export type NormalizePlaceholderRoleResult = {
8
+ ok: true;
9
+ type: PlaceholderType;
10
+ } | {
11
+ ok: false;
12
+ message: string;
13
+ };
14
+ /**
15
+ * Normalize a user/agent `role` into a valid `p:ph/@type`.
16
+ * Accepts canonical types case-sensitively and common lowercase aliases.
17
+ */
18
+ export declare function normalizePlaceholderRole(role: string): NormalizePlaceholderRoleResult;
19
+ //# sourceMappingURL=placeholder-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-role.d.ts","sourceRoot":"","sources":["../../src/pptx/placeholder-role.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,qJAiBpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AA4BjE,MAAM,MAAM,8BAA8B,GACxC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,8BAA8B,CAmBrF"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * OOXML ST_PlaceholderType values (ECMA-376).
3
+ * Invalid `p:ph/@type` values make PowerPoint prompt to repair the package.
4
+ */
5
+ export const PLACEHOLDER_TYPES = [
6
+ 'title',
7
+ 'body',
8
+ 'ctrTitle',
9
+ 'subTitle',
10
+ 'dt',
11
+ 'ftr',
12
+ 'sldNum',
13
+ 'hdr',
14
+ 'obj',
15
+ 'chart',
16
+ 'tbl',
17
+ 'clipArt',
18
+ 'dgm',
19
+ 'media',
20
+ 'sldImg',
21
+ 'pic',
22
+ ];
23
+ const PLACEHOLDER_TYPE_SET = new Set(PLACEHOLDER_TYPES);
24
+ /** Common agent/CLI aliases → canonical ST_PlaceholderType. */
25
+ const ROLE_ALIASES = {
26
+ subtitle: 'subTitle',
27
+ sub_title: 'subTitle',
28
+ centertitle: 'ctrTitle',
29
+ center_title: 'ctrTitle',
30
+ ctrtitle: 'ctrTitle',
31
+ slidenum: 'sldNum',
32
+ slide_num: 'sldNum',
33
+ slidenumber: 'sldNum',
34
+ datetime: 'dt',
35
+ date: 'dt',
36
+ footer: 'ftr',
37
+ header: 'hdr',
38
+ table: 'tbl',
39
+ diagram: 'dgm',
40
+ slideimage: 'sldImg',
41
+ slide_image: 'sldImg',
42
+ picture: 'pic',
43
+ object: 'obj',
44
+ clipart: 'clipArt',
45
+ clip_art: 'clipArt',
46
+ };
47
+ /**
48
+ * Normalize a user/agent `role` into a valid `p:ph/@type`.
49
+ * Accepts canonical types case-sensitively and common lowercase aliases.
50
+ */
51
+ export function normalizePlaceholderRole(role) {
52
+ const trimmed = role.trim();
53
+ if (!trimmed)
54
+ return { ok: false, message: 'Placeholder role must be a non-empty string' };
55
+ if (PLACEHOLDER_TYPE_SET.has(trimmed))
56
+ return { ok: true, type: trimmed };
57
+ const alias = ROLE_ALIASES[trimmed.toLowerCase()];
58
+ if (alias)
59
+ return { ok: true, type: alias };
60
+ // Case-insensitive match for canonical names (e.g. SubTitle → subTitle).
61
+ const lower = trimmed.toLowerCase();
62
+ for (const type of PLACEHOLDER_TYPES) {
63
+ if (type.toLowerCase() === lower)
64
+ return { ok: true, type };
65
+ }
66
+ return {
67
+ ok: false,
68
+ message: `Invalid placeholder role "${role}". Use an OOXML ST_PlaceholderType (${PLACEHOLDER_TYPES.join(', ')}) or a known alias (subtitle→subTitle, centertitle→ctrTitle, …). Avoid non-OOXML labels like "card" or "image" — they make PowerPoint repair the file.`,
69
+ };
70
+ }
71
+ //# sourceMappingURL=placeholder-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-role.js","sourceRoot":"","sources":["../../src/pptx/placeholder-role.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,MAAM;IACN,UAAU;IACV,UAAU;IACV,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;CACG,CAAC;AAIX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,iBAAiB,CAAC,CAAC;AAEhE,+DAA+D;AAC/D,MAAM,YAAY,GAAoC;IACpD,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;CACpB,CAAC;AAKF;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;IAE3F,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAA0B,EAAE,CAAC;IAE7F,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,IAAI,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAE5C,yEAAyE;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,6BAA6B,IAAI,uCAAuC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,wJAAwJ;KACtQ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type Result } from '../core/index.js';
2
+ import type { OpcArchive } from '../opc/index.js';
3
+ import type { Element } from '@xmldom/xmldom';
4
+ export type ShapePropertyContext = {
5
+ archive: OpcArchive;
6
+ partUri: string;
7
+ };
8
+ export declare function applyShapeProperties(node: Element, properties: Record<string, unknown>, context?: ShapePropertyContext): Result<{
9
+ applied: string[];
10
+ }>;
11
+ export declare function assertChartProperties(properties: Record<string, unknown>): Result<void>;
12
+ export declare const shapePropertyKeys: string[];
13
+ //# sourceMappingURL=properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/pptx/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAoZ9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiK/B;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAKvF;AAED,eAAO,MAAM,iBAAiB,UAAyB,CAAC"}