@graphty/webgpu-graph-algorithms 0.5.0 → 0.6.0

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 (264) hide show
  1. package/README.md +104 -52
  2. package/dist/browser.js +1 -1
  3. package/dist/chunks/{context-CRbw2Wyo.js → context-BXqgCifx.js} +225 -33
  4. package/dist/chunks/context-BXqgCifx.js.map +1 -0
  5. package/dist/node.js +1 -1
  6. package/dist/src/accelerator.d.ts +12 -10
  7. package/dist/src/accelerator.d.ts.map +1 -1
  8. package/dist/src/accelerator.js +32 -10
  9. package/dist/src/accelerator.js.map +1 -1
  10. package/dist/src/algorithms/components.d.ts.map +1 -1
  11. package/dist/src/algorithms/components.js +12 -13
  12. package/dist/src/algorithms/components.js.map +1 -1
  13. package/dist/src/algorithms/degree.d.ts +6 -8
  14. package/dist/src/algorithms/degree.d.ts.map +1 -1
  15. package/dist/src/algorithms/degree.js +58 -35
  16. package/dist/src/algorithms/degree.js.map +1 -1
  17. package/dist/src/algorithms/pagerank.d.ts.map +1 -1
  18. package/dist/src/algorithms/pagerank.js +16 -14
  19. package/dist/src/algorithms/pagerank.js.map +1 -1
  20. package/dist/src/algorithms/power-iteration.d.ts +2 -2
  21. package/dist/src/algorithms/power-iteration.d.ts.map +1 -1
  22. package/dist/src/algorithms/power-iteration.js +17 -14
  23. package/dist/src/algorithms/power-iteration.js.map +1 -1
  24. package/dist/src/constants.d.ts +85 -8
  25. package/dist/src/constants.d.ts.map +1 -1
  26. package/dist/src/constants.js +85 -8
  27. package/dist/src/constants.js.map +1 -1
  28. package/dist/src/errors.d.ts +3 -2
  29. package/dist/src/errors.d.ts.map +1 -1
  30. package/dist/src/errors.js +2 -1
  31. package/dist/src/errors.js.map +1 -1
  32. package/dist/src/index.d.ts +10 -5
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +14 -5
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/kernel/dispatch.d.ts +8 -3
  37. package/dist/src/kernel/dispatch.d.ts.map +1 -1
  38. package/dist/src/kernel/dispatch.js +18 -7
  39. package/dist/src/kernel/dispatch.js.map +1 -1
  40. package/dist/src/kernel/kernel.d.ts +30 -1
  41. package/dist/src/kernel/kernel.d.ts.map +1 -1
  42. package/dist/src/kernel/kernel.js +49 -5
  43. package/dist/src/kernel/kernel.js.map +1 -1
  44. package/dist/src/kernel/prelude.d.ts.map +1 -1
  45. package/dist/src/kernel/prelude.js +9 -1
  46. package/dist/src/kernel/prelude.js.map +1 -1
  47. package/dist/src/kernel/profiler.d.ts +15 -3
  48. package/dist/src/kernel/profiler.d.ts.map +1 -1
  49. package/dist/src/kernel/profiler.js +27 -4
  50. package/dist/src/kernel/profiler.js.map +1 -1
  51. package/dist/src/kernels.d.ts +18 -8
  52. package/dist/src/kernels.d.ts.map +1 -1
  53. package/dist/src/kernels.js +345 -22
  54. package/dist/src/kernels.js.map +1 -1
  55. package/dist/src/layouts/calibrate.d.ts +51 -0
  56. package/dist/src/layouts/calibrate.d.ts.map +1 -0
  57. package/dist/src/layouts/calibrate.js +172 -0
  58. package/dist/src/layouts/calibrate.js.map +1 -0
  59. package/dist/src/layouts/force-simulation.d.ts +42 -5
  60. package/dist/src/layouts/force-simulation.d.ts.map +1 -1
  61. package/dist/src/layouts/force-simulation.js +84 -22
  62. package/dist/src/layouts/force-simulation.js.map +1 -1
  63. package/dist/src/layouts/forceatlas2.d.ts +107 -38
  64. package/dist/src/layouts/forceatlas2.d.ts.map +1 -1
  65. package/dist/src/layouts/forceatlas2.js +297 -290
  66. package/dist/src/layouts/forceatlas2.js.map +1 -1
  67. package/dist/src/layouts/fruchterman-reingold.d.ts +241 -0
  68. package/dist/src/layouts/fruchterman-reingold.d.ts.map +1 -0
  69. package/dist/src/layouts/fruchterman-reingold.js +739 -0
  70. package/dist/src/layouts/fruchterman-reingold.js.map +1 -0
  71. package/dist/src/layouts/model-common.d.ts +140 -0
  72. package/dist/src/layouts/model-common.d.ts.map +1 -0
  73. package/dist/src/layouts/model-common.js +269 -0
  74. package/dist/src/layouts/model-common.js.map +1 -0
  75. package/dist/src/layouts/repulsion-grid.d.ts +152 -0
  76. package/dist/src/layouts/repulsion-grid.d.ts.map +1 -0
  77. package/dist/src/layouts/repulsion-grid.js +318 -0
  78. package/dist/src/layouts/repulsion-grid.js.map +1 -0
  79. package/dist/src/layouts/spring-electrical.d.ts +224 -0
  80. package/dist/src/layouts/spring-electrical.d.ts.map +1 -0
  81. package/dist/src/layouts/spring-electrical.js +665 -0
  82. package/dist/src/layouts/spring-electrical.js.map +1 -0
  83. package/dist/src/memory/residency.d.ts +6 -2
  84. package/dist/src/memory/residency.d.ts.map +1 -1
  85. package/dist/src/memory/residency.js +84 -14
  86. package/dist/src/memory/residency.js.map +1 -1
  87. package/dist/src/primitives/core-shape.d.ts +38 -2
  88. package/dist/src/primitives/core-shape.d.ts.map +1 -1
  89. package/dist/src/primitives/core-shape.js +71 -3
  90. package/dist/src/primitives/core-shape.js.map +1 -1
  91. package/dist/src/primitives/grid-pyramid.d.ts +71 -0
  92. package/dist/src/primitives/grid-pyramid.d.ts.map +1 -0
  93. package/dist/src/primitives/grid-pyramid.js +143 -0
  94. package/dist/src/primitives/grid-pyramid.js.map +1 -0
  95. package/dist/src/primitives/grid.d.ts +118 -0
  96. package/dist/src/primitives/grid.d.ts.map +1 -0
  97. package/dist/src/primitives/grid.js +225 -0
  98. package/dist/src/primitives/grid.js.map +1 -0
  99. package/dist/src/primitives/histogram.d.ts +67 -0
  100. package/dist/src/primitives/histogram.d.ts.map +1 -0
  101. package/dist/src/primitives/histogram.js +190 -0
  102. package/dist/src/primitives/histogram.js.map +1 -0
  103. package/dist/src/primitives/radix-sort.d.ts +75 -0
  104. package/dist/src/primitives/radix-sort.d.ts.map +1 -0
  105. package/dist/src/primitives/radix-sort.js +168 -0
  106. package/dist/src/primitives/radix-sort.js.map +1 -0
  107. package/dist/src/primitives/scan.d.ts +44 -0
  108. package/dist/src/primitives/scan.d.ts.map +1 -0
  109. package/dist/src/primitives/scan.js +151 -0
  110. package/dist/src/primitives/scan.js.map +1 -0
  111. package/dist/src/primitives/segmented-reduce.d.ts +25 -17
  112. package/dist/src/primitives/segmented-reduce.d.ts.map +1 -1
  113. package/dist/src/primitives/segmented-reduce.js +166 -47
  114. package/dist/src/primitives/segmented-reduce.js.map +1 -1
  115. package/dist/src/primitives/spmv.d.ts +18 -14
  116. package/dist/src/primitives/spmv.d.ts.map +1 -1
  117. package/dist/src/primitives/spmv.js +94 -58
  118. package/dist/src/primitives/spmv.js.map +1 -1
  119. package/dist/src/primitives/verify.d.ts +49 -0
  120. package/dist/src/primitives/verify.d.ts.map +1 -0
  121. package/dist/src/primitives/verify.js +229 -0
  122. package/dist/src/primitives/verify.js.map +1 -0
  123. package/dist/src/types/accelerator.d.ts +7 -3
  124. package/dist/src/types/accelerator.d.ts.map +1 -1
  125. package/dist/src/types/context.d.ts +53 -0
  126. package/dist/src/types/context.d.ts.map +1 -1
  127. package/dist/src/types/layout.d.ts +52 -0
  128. package/dist/src/types/layout.d.ts.map +1 -1
  129. package/dist/src/types/options.d.ts +43 -1
  130. package/dist/src/types/options.d.ts.map +1 -1
  131. package/dist/src/wgsl/counting-scatter.wgsl.d.ts +8 -0
  132. package/dist/src/wgsl/counting-scatter.wgsl.d.ts.map +1 -0
  133. package/dist/src/wgsl/counting-scatter.wgsl.js +17 -0
  134. package/dist/src/wgsl/counting-scatter.wgsl.js.map +1 -0
  135. package/dist/src/wgsl/fa2-attraction.wgsl.d.ts +23 -8
  136. package/dist/src/wgsl/fa2-attraction.wgsl.d.ts.map +1 -1
  137. package/dist/src/wgsl/fa2-attraction.wgsl.js +100 -17
  138. package/dist/src/wgsl/fa2-attraction.wgsl.js.map +1 -1
  139. package/dist/src/wgsl/fa2-integrate.wgsl.d.ts +7 -2
  140. package/dist/src/wgsl/fa2-integrate.wgsl.d.ts.map +1 -1
  141. package/dist/src/wgsl/fa2-integrate.wgsl.js +28 -2
  142. package/dist/src/wgsl/fa2-integrate.wgsl.js.map +1 -1
  143. package/dist/src/wgsl/fa2-repulsion-exact.wgsl.d.ts +4 -2
  144. package/dist/src/wgsl/fa2-repulsion-exact.wgsl.d.ts.map +1 -1
  145. package/dist/src/wgsl/fa2-repulsion-exact.wgsl.js +14 -5
  146. package/dist/src/wgsl/fa2-repulsion-exact.wgsl.js.map +1 -1
  147. package/dist/src/wgsl/fa2-stats-finalize.wgsl.d.ts +12 -1
  148. package/dist/src/wgsl/fa2-stats-finalize.wgsl.d.ts.map +1 -1
  149. package/dist/src/wgsl/fa2-stats-finalize.wgsl.js +54 -0
  150. package/dist/src/wgsl/fa2-stats-finalize.wgsl.js.map +1 -1
  151. package/dist/src/wgsl/grid-cell-key.wgsl.d.ts +8 -0
  152. package/dist/src/wgsl/grid-cell-key.wgsl.d.ts.map +1 -0
  153. package/dist/src/wgsl/grid-cell-key.wgsl.js +30 -0
  154. package/dist/src/wgsl/grid-cell-key.wgsl.js.map +1 -0
  155. package/dist/src/wgsl/grid-centroid-hub.wgsl.d.ts +8 -0
  156. package/dist/src/wgsl/grid-centroid-hub.wgsl.d.ts.map +1 -0
  157. package/dist/src/wgsl/grid-centroid-hub.wgsl.js +29 -0
  158. package/dist/src/wgsl/grid-centroid-hub.wgsl.js.map +1 -0
  159. package/dist/src/wgsl/grid-centroid.wgsl.d.ts +8 -0
  160. package/dist/src/wgsl/grid-centroid.wgsl.d.ts.map +1 -0
  161. package/dist/src/wgsl/grid-centroid.wgsl.js +29 -0
  162. package/dist/src/wgsl/grid-centroid.wgsl.js.map +1 -0
  163. package/dist/src/wgsl/grid-downsample.wgsl.d.ts +7 -0
  164. package/dist/src/wgsl/grid-downsample.wgsl.d.ts.map +1 -0
  165. package/dist/src/wgsl/grid-downsample.wgsl.js +28 -0
  166. package/dist/src/wgsl/grid-downsample.wgsl.js.map +1 -0
  167. package/dist/src/wgsl/grid-far-field.wgsl.d.ts +13 -0
  168. package/dist/src/wgsl/grid-far-field.wgsl.d.ts.map +1 -0
  169. package/dist/src/wgsl/grid-far-field.wgsl.js +98 -0
  170. package/dist/src/wgsl/grid-far-field.wgsl.js.map +1 -0
  171. package/dist/src/wgsl/grid-near-field.wgsl.d.ts +19 -0
  172. package/dist/src/wgsl/grid-near-field.wgsl.d.ts.map +1 -0
  173. package/dist/src/wgsl/grid-near-field.wgsl.js +129 -0
  174. package/dist/src/wgsl/grid-near-field.wgsl.js.map +1 -0
  175. package/dist/src/wgsl/histogram.wgsl.d.ts +7 -0
  176. package/dist/src/wgsl/histogram.wgsl.d.ts.map +1 -0
  177. package/dist/src/wgsl/histogram.wgsl.js +15 -0
  178. package/dist/src/wgsl/histogram.wgsl.js.map +1 -0
  179. package/dist/src/wgsl/indirect-finalize.wgsl.d.ts +8 -0
  180. package/dist/src/wgsl/indirect-finalize.wgsl.d.ts.map +1 -0
  181. package/dist/src/wgsl/indirect-finalize.wgsl.js +26 -0
  182. package/dist/src/wgsl/indirect-finalize.wgsl.js.map +1 -0
  183. package/dist/src/wgsl/radix-hist.wgsl.d.ts +9 -0
  184. package/dist/src/wgsl/radix-hist.wgsl.d.ts.map +1 -0
  185. package/dist/src/wgsl/radix-hist.wgsl.js +31 -0
  186. package/dist/src/wgsl/radix-hist.wgsl.js.map +1 -0
  187. package/dist/src/wgsl/radix-scatter.wgsl.d.ts +9 -0
  188. package/dist/src/wgsl/radix-scatter.wgsl.d.ts.map +1 -0
  189. package/dist/src/wgsl/radix-scatter.wgsl.js +40 -0
  190. package/dist/src/wgsl/radix-scatter.wgsl.js.map +1 -0
  191. package/dist/src/wgsl/scan-add.wgsl.d.ts +6 -0
  192. package/dist/src/wgsl/scan-add.wgsl.d.ts.map +1 -0
  193. package/dist/src/wgsl/scan-add.wgsl.js +14 -0
  194. package/dist/src/wgsl/scan-add.wgsl.js.map +1 -0
  195. package/dist/src/wgsl/scan-block.wgsl.d.ts +8 -0
  196. package/dist/src/wgsl/scan-block.wgsl.d.ts.map +1 -0
  197. package/dist/src/wgsl/scan-block.wgsl.js +30 -0
  198. package/dist/src/wgsl/scan-block.wgsl.js.map +1 -0
  199. package/dist/src/wgsl/segmented-reduce.wgsl.d.ts +22 -8
  200. package/dist/src/wgsl/segmented-reduce.wgsl.d.ts.map +1 -1
  201. package/dist/src/wgsl/segmented-reduce.wgsl.js +84 -15
  202. package/dist/src/wgsl/segmented-reduce.wgsl.js.map +1 -1
  203. package/dist/src/wgsl/spmv-pull.wgsl.d.ts +22 -11
  204. package/dist/src/wgsl/spmv-pull.wgsl.d.ts.map +1 -1
  205. package/dist/src/wgsl/spmv-pull.wgsl.js +110 -36
  206. package/dist/src/wgsl/spmv-pull.wgsl.js.map +1 -1
  207. package/dist/tsconfig.build.tsbuildinfo +1 -1
  208. package/dist/webgpu-graph-algorithms.js +5016 -1130
  209. package/dist/webgpu-graph-algorithms.js.map +1 -1
  210. package/package.json +10 -7
  211. package/src/accelerator.ts +46 -12
  212. package/src/algorithms/components.ts +12 -16
  213. package/src/algorithms/degree.ts +58 -43
  214. package/src/algorithms/pagerank.ts +20 -18
  215. package/src/algorithms/power-iteration.ts +19 -18
  216. package/src/constants.ts +108 -8
  217. package/src/errors.ts +3 -1
  218. package/src/index.ts +25 -5
  219. package/src/kernel/dispatch.ts +18 -7
  220. package/src/kernel/kernel.ts +59 -5
  221. package/src/kernel/prelude.ts +15 -0
  222. package/src/kernel/profiler.ts +28 -4
  223. package/src/kernels.ts +378 -24
  224. package/src/layouts/calibrate.ts +187 -0
  225. package/src/layouts/force-simulation.ts +111 -26
  226. package/src/layouts/forceatlas2.ts +346 -324
  227. package/src/layouts/fruchterman-reingold.ts +918 -0
  228. package/src/layouts/model-common.ts +323 -0
  229. package/src/layouts/repulsion-grid.ts +451 -0
  230. package/src/layouts/spring-electrical.ts +845 -0
  231. package/src/memory/residency.ts +126 -20
  232. package/src/primitives/core-shape.ts +91 -4
  233. package/src/primitives/grid-pyramid.ts +221 -0
  234. package/src/primitives/grid.ts +349 -0
  235. package/src/primitives/histogram.ts +273 -0
  236. package/src/primitives/radix-sort.ts +246 -0
  237. package/src/primitives/scan.ts +197 -0
  238. package/src/primitives/segmented-reduce.ts +214 -56
  239. package/src/primitives/spmv.ts +125 -65
  240. package/src/primitives/verify.ts +249 -0
  241. package/src/types/accelerator.ts +15 -3
  242. package/src/types/context.ts +56 -0
  243. package/src/types/layout.ts +58 -0
  244. package/src/types/options.ts +45 -1
  245. package/src/wgsl/counting-scatter.wgsl.ts +16 -0
  246. package/src/wgsl/fa2-attraction.wgsl.ts +100 -17
  247. package/src/wgsl/fa2-integrate.wgsl.ts +28 -2
  248. package/src/wgsl/fa2-repulsion-exact.wgsl.ts +14 -5
  249. package/src/wgsl/fa2-stats-finalize.wgsl.ts +54 -0
  250. package/src/wgsl/grid-cell-key.wgsl.ts +29 -0
  251. package/src/wgsl/grid-centroid-hub.wgsl.ts +28 -0
  252. package/src/wgsl/grid-centroid.wgsl.ts +28 -0
  253. package/src/wgsl/grid-downsample.wgsl.ts +27 -0
  254. package/src/wgsl/grid-far-field.wgsl.ts +97 -0
  255. package/src/wgsl/grid-near-field.wgsl.ts +128 -0
  256. package/src/wgsl/histogram.wgsl.ts +14 -0
  257. package/src/wgsl/indirect-finalize.wgsl.ts +25 -0
  258. package/src/wgsl/radix-hist.wgsl.ts +30 -0
  259. package/src/wgsl/radix-scatter.wgsl.ts +39 -0
  260. package/src/wgsl/scan-add.wgsl.ts +13 -0
  261. package/src/wgsl/scan-block.wgsl.ts +29 -0
  262. package/src/wgsl/segmented-reduce.wgsl.ts +84 -15
  263. package/src/wgsl/spmv-pull.wgsl.ts +110 -36
  264. package/dist/chunks/context-CRbw2Wyo.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"forceatlas2.js","sourceRoot":"","sources":["../../../src/layouts/forceatlas2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forceatlas2.js","sourceRoot":"","sources":["../../../src/layouts/forceatlas2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EACH,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAqB,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAiB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUnE,OAAO,EAGH,eAAe,EAIf,OAAO,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAEH,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EAEjB,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAgC,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAkB,aAAa,EAA+B,MAAM,qBAAqB,CAAC;AAEjG,2FAA2F;AAE3F,+LAA+L;AAC/L,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAU,CAAC;AAEhH,iFAAiF;AACjF,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,wFAAwF;AACxF,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAE1C,mDAAmD;AACnD,MAAM,aAAa,GAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAEjF,2GAA2G;AAC3G,MAAM,WAAW,GAAc,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAEnH,mDAAmD;AACnD,MAAM,WAAW,GAAc,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AAEjD,2GAA2G;AAC3G,MAAM,gBAAgB,GAA+B,MAAM,CAAC,MAAM,CAA6B;IAC3F,GAAG,YAAY;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,IAAI;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAiB;IACzC,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,cAAc,EAAE,MAAM,CAAC,cAAc,KAAK,IAAI;QAC9C,cAAc,EAAE,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtD,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAAiB;IACpC,OAAO,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACrC,OAAuC,EACvC,QAAqC;IAErC,MAAM,CAAC,GAAuB,OAAO,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,IAAI,gBAAgB,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClG,MAAM,IAAI,gBAAgB,CACtB,oBAAoB,EACpB,mFAAmF,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,QAAQ,CAAC,WAAW,EAAE,EAClJ,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,CACpF,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,gBAAgB,CACtB,eAAe,EACf,+FAA+F,EAC/F,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,4EAA4E,EAAE,CAC7G,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAA+B;QACzC,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;QAC7F,eAAe,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QAC5G,YAAY,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QAChG,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC9E,aAAa,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;QAChF,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAChG,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC/D,QAAQ;QACR,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACvD,YAAY,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;QAC5E,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QAC7B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QACpE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACzC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QACjC,eAAe,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC9G,YAAY,EAAE,UAAU,CACpB,cAAc,EACd,CAAC,CAAC,YAAY,EACd,IAAI,CAAC,YAAY,EACjB,iBAAiB,EACjB,iBAAiB,CACpB;QACD,iBAAiB,EAAE,UAAU,CACzB,mBAAmB,EACnB,CAAC,CAAC,iBAAiB,EACnB,IAAI,CAAC,iBAAiB,EACtB,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAC3D,qBAAqB,uBAAuB,GAAG,CAClD;QACD,WAAW,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;KAChH,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmC;IACnE,MAAM,CAAC,GAAoB,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,SAAS,GAAY,CAAC,CAAC,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC;IAC3E,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxE,MAAM,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAY,CAAC,CAAC,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC;IAClE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,QAAQ,GAAyB;QACnC,SAAS;QACT,aAAa,EAAE,UAAU,CACrB,eAAe,EACf,CAAC,CAAC,aAAa,EACf,sBAAsB,CAAC,aAAa,EACpC,iBAAiB,EACjB,iBAAiB,CACpB;QACD,OAAO,EAAE,UAAU,CACf,SAAS,EACT,CAAC,CAAC,OAAO,EACT,sBAAsB,CAAC,OAAO,EAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,iBAAiB,CACpB;QACD,aAAa,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,EAAE,sBAAsB,CAAC,aAAa,CAAC;QAClG,SAAS,EAAE,UAAU,CACjB,WAAW,EACX,CAAC,CAAC,SAAS,EACX,sBAAsB,CAAC,SAAS,EAChC,iBAAiB,EACjB,iBAAiB,CACpB;QACD,SAAS,EAAE,UAAU,CACjB,WAAW,EACX,CAAC,CAAC,SAAS,EACX,sBAAsB,CAAC,SAAS,EAChC,iBAAiB,EACjB,iBAAiB,CACpB;QACD,YAAY,EAAE,UAAU,CACpB,cAAc,EACd,CAAC,CAAC,YAAY,EACd,sBAAsB,CAAC,YAAY,EACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EACZ,KAAK,CACR;QACD,MAAM;KACT,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AA8BD,sLAAsL;AACtL,MAAM,OAAO,gBAAgB;IAoCzB;;;;;OAKG;IACH,YAAY,MAA4B,EAAE,QAAoC;QAzC9E,mCAAmC;QAC1B,SAAI,GAAG,aAAa,CAAC;QAC9B,uGAAuG;QAC9F,WAAM,GAAsB,UAAU,CAAC;QAChD,oGAAoG;QAC3F,WAAM,GAAiB,UAAU,CAAC;QAC3C,0GAA0G;QACjG,UAAK,GAAiB,SAAS,CAAC;QACzC,qDAAqD;QAC5C,UAAK,GAAiB,SAAS,CAAC;QAWzC,kEAAkE;QAC1D,cAAS,GAA0B,IAAI,CAAC;QAChD,2FAA2F;QACnF,UAAK,GAAsB,IAAI,CAAC;QACxC,sFAAsF;QAC9E,kBAAa,GAAG,KAAK,CAAC;QAC9B,kIAAkI;QAC1H,aAAQ,GAAoB,IAAI,CAAC;QACzC;;;;WAIG;QACK,aAAQ,GAAyE,IAAI,CAAC;QAS1F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAY,SAAS;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAS,EAAE,GAAU;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QAChF,MAAM,IAAI,GACN,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,OAAO;YACH,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YACvD,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1D;gBACI,IAAI,EAAE,kBAAkB;gBACxB,UAAU,EAAE,kBAAkB;gBAC9B,KAAK,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ;gBACjD,IAAI,EAAE,KAAK;aACd;YACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YAChE,GAAG,IAAI;SACV,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,CAAgB,EAAE,OAA2B;QAChD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QACtB,4GAA4G;QAC5G,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5G,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtG,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,OAA2B;QACjC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ,CAAC,iBAAiB;YACvC,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,QAAQ,CAAC,aAAa;YACtC,cAAc,EAAE,IAAI;SACvB,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,SAAoB,EAAE,UAAmB;QAC3C,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,MAAM,IAAI,GACN,IAAI,CAAC,QAAQ,KAAK,IAAI;YAClB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1G,OAAO;YACH,UAAU,CAAC,oBAAoB,CAAC;YAChC,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC5D,aAAa;YACb,SAAS;YACT,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3D,UAAU,CAAC,cAAc,CAAC;YAC1B,UAAU,CAAC,MAAM,CAAC;YAClB,GAAG,IAAI;SACV,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,SAAyB,EAAE,SAAoB;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QACrC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAClD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YAC7E,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC5C,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,SAAS,GACX,SAAS,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,OAAO;YACtB,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACzF,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GACN,SAAS,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CACtB,SAAS,EACT,EAAE,CAAC,aAAa,EAChB,aAAa,CAAC,SAAS,CAAC,EACxB,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAC7C;YACH,CAAC,CAAC,IAAI,CAAC;QACf,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,6FAA6F;YAC7F,IAAI,EAAE,OAAO,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAY;YACxB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,IAAI,EAAE,WAAW,CAAC,UAAU;YAC5B,MAAM,EAAE,IAAI;SACf,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1D,WAAW,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,EAAE,IAAI,CAAC;YACP,GAAG,KAAK;YACR,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;YACtC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YACxC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,WAAW;YACX,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG;YACT,CAAC;YACD,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YACzB,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YACjC,EAAE;YACF,2GAA2G;YAC3G,qFAAqF;YACrF,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC;gBACb,QAAQ;gBACR,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,KAAK;gBACR,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBACjE,WAAW;gBACX,CAAC,EAAE,MAAM;aACZ,CAAC;YACF,UAAU;YACV,SAAS;YACT,IAAI;YACJ,EAAE;YACF,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3F,OAAO;YACP,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;YACrD,IAAI;YACJ,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;YACzE,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAC1F,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAiB,EAAE,OAA2B;QACpD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,sGAAsG;QACtG,MAAM,EAAE,GAAG,KAAK,EAAE,cAAc,CAAC;QACjC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO;YACH,CAAC;YACD,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,CAAC;YACV,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,OAAO;YACP,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,YAAY;YACZ,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;YACzB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;YACxB,UAAU,EAAE,CAAC;YACb,KAAK;YACL,MAAM;SACT,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,KAAmB,EAAE,IAAY,EAAE,IAAsB,EAAE,IAAa;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YACD,MAAM,IAAI,gBAAgB,CACtB,cAAc,EACd,+DAA+D,EAC/D;gBACI,KAAK,EAAE,QAAQ;aAClB,CACJ,CAAC;QACN,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO;QACX,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,kDAAkD,EAAE;gBAC3F,KAAK,EAAE,QAAQ;aAClB,CAAC,CAAC;QACP,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9G,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,GAAG,cAAc,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,KAAmB,EAAE,KAAiB,EAAE,MAAc,EAAE,IAAY;QAC5F,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,mDAAmD,EAAE;gBAC5F,KAAK,EAAE,QAAQ;aAClB,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,UAAU,CAAC,IAAI,CAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,GAAG,cAAc,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,IAA2B,EAAE,KAAiB,EAAE,MAAc;QAC3E,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;QACL,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,IAA2B,EAAE,KAAiB,EAAE,MAAc;QAC3E,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC5B,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAmB,EAAE,KAAiB,EAAE,MAAc;QACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAkB;QACrB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAkB;QACvB,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAkC,EAAE,KAAkB;QAC9D,MAAM,IAAI,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,UAAU,GACZ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;YACnC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa;YACjD,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,UAAU,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAe,EAAE,KAAe;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,OAAO,GAA6B,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;gBACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAClD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBACpD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;aAC/C,CAAC,CAAC;QACP,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC;QAC7C,OAAO;YACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;YACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACpD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;YACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;YACtC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACtC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI;YAClE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;YAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;YAClD,KAAK,EAAE,OAAO;SACjB,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,gBAAgB;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,yDAAyD,EAAE;gBAClG,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,IAAY;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,OAAO;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,SAAS;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,IAAc,EAAE,YAAoB;IACnF,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,IAAY,EAAqB,EAAE;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/G,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,2EAA2E;AAE3E;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAkC,EAAE,OAA2B;IACjF,OAAO,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC7B,GAAe,EACf,OAA8C;IAE9C,GAAG,CAAC,WAAW,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,IAAI,eAAe,CAAuC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACjH,CAAC"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Fruchterman-Reingold on the exact or the grid repulsion tier (spec 7.20, 7.8; contract 3.13): the ForceModel that
3
+ * ForceSimulation drives -- the K1 K2 K3 K5 sequence per iteration on the exact tier (K1 K2 G1..G7 K5 on the grid
4
+ * tier, P4-T13) and toScene per batch (no K4: no speed controller), the constant override set (`LAW` 1 on K2 / K3
5
+ * and on G6 / G7, `APPLY` 1 on K5, `STATS_MODE` 1 on K1, PD-1), the per-iteration Fa2Params values
6
+ * with the cooling schedule's temperature (PD-5), the controller resets and the stats decoder -- plus the option
7
+ * resolver and `createFruchtermanReingold`. The model shares FA2's four kernels, buffers and blocks: `oldForce` is
8
+ * allocated, bound and never read (K5 compiles `SWING_MODE = 1`, PD-2 / PD-20); the mass lane is 1 for every node
9
+ * and weights are ignored (PD-11); the `fixed` option resolves at load through ModelInputs.fixed (PD-6); a
10
+ * `setParams({ fixed })` patch is E_INVALID_ARGUMENT (PD-16).
11
+ *
12
+ * The temperature index (PD-5): the simulation hands paramsFor the GLOBAL iteration index, which load() restarts at 0
13
+ * and reheat() does not touch. The model keeps `tempOrigin` (the global index at which the temperature index is 0):
14
+ * onLoad sets it to 0; onReheat arms `pendingReheat`; the first paramsFor(global) after it sets
15
+ * `tempOrigin = global - floor(0.7 * iterations)`, so the temperature restarts at floor(0.7 * iterations) exactly as
16
+ * the CPU's reheat() does. The temperature is `max(0, 0.1 - dt * (global - tempOrigin))`, dt = 0.1 / (iterations + 1);
17
+ * at 0 nothing moves and the settle window closes the run (DEP-P5-C: the budget restarts at 0, the temperature does
18
+ * not).
19
+ *
20
+ * The grid tier (P4-T13, PD-22) is FA2's: `RepulsionGrid` with `LAW` 1 when `tierFor(tuning, n)` says so (PD-18),
21
+ * the grid buffers from `buffers()`, K1's grid block under `gridMax > 0` (PD-14) over the model's own `hubCounters`,
22
+ * the three passes `fr-k1` / `fr-attraction` / `fr-grid` before `fa2-to-scene` (PD-16), and the union stage list
23
+ * (PD-17: `upTo` stops after the last stage recorded at or before its position; K4 is never recorded).
24
+ */
25
+ import { type GraphSnapshot } from "@graphty/graph-format";
26
+ import { type GpuContext } from "../context.js";
27
+ import { type CommandBatch } from "../kernel/batch.js";
28
+ import { type UniformBlock, type UniformValues } from "../kernel/struct-block.js";
29
+ import { type WgslModuleSpec } from "../kernel/wgsl.js";
30
+ import { type FruchtermanReingoldStats, type GpuLayoutSimulation, type GpuLayoutTuning, type ResolvedLayoutTuning } from "../types/layout.js";
31
+ import { type FruchtermanReingoldOptions, type ResolvedFruchtermanReingoldOptions } from "../types/options.js";
32
+ import { type BufferSpec, type ForceModel, type ModelInputs, type ModelResources, type StateWriter } from "./force-simulation.js";
33
+ import { type Overrides } from "./model-common.js";
34
+ /** The stage names of both tiers in dispatch order plus the per-batch toScene (spec 7.20; P4 PD-17: the union list; the exact tier records K1 K2 K3 K5, the grid tier K1 K2 G1..G7 K5, K4 never). */
35
+ declare const FR_STAGES: readonly ["K1", "K2", "K3", "G1", "G2", "G3", "G4", "G5", "G6", "G7", "K4", "K5", "toScene"];
36
+ /**
37
+ * Applies FR_DEFAULTS to the option record and validates every range (spec 7.20, 9.3). `k`: null, 0 and NaN mean the
38
+ * auto default `1 / sqrt(n)` (the CPU's `if (!k)`, `layout/src/simulation/fruchterman-reingold.ts:140-152`); a
39
+ * negative or infinite k is E_INVALID_ARGUMENT. `iterations` is an integer >= 0 (0: settled at load); under
40
+ * `cooling: "adaptive"` it is only the run's cap and a fresh record without one gets FR_ADAPTIVE_MAX_ITERATIONS. `fixed` is a
41
+ * NodeMask, a bool node column name or null. With `previous` the record is a PATCH over it and `maxInFlight` may not
42
+ * change (the uniform ring is sized by it at construction).
43
+ * @param options - the caller's options (or a setParams patch)
44
+ * @param previous - the current resolved record when resolving a patch
45
+ * @returns the frozen resolved record
46
+ */
47
+ export declare function resolveFruchtermanReingoldOptions(options: FruchtermanReingoldOptions | undefined, previous?: ResolvedFruchtermanReingoldOptions): ResolvedFruchtermanReingoldOptions;
48
+ /** The Fruchterman-Reingold model (spec 7.20: K1 K2 K3 K5 per iteration on the exact tier, K1 K2 G1..G7 K5 on the grid tier; toScene once per batch). Stages: the union list of PD-17. */
49
+ export declare class FruchtermanReingoldModel implements ForceModel<FruchtermanReingoldOptions, FruchtermanReingoldStats> {
50
+ /** The model kind of spec 7.19. */
51
+ readonly kind = "fruchtermanReingold";
52
+ /** The stage names in dispatch order (the `upTo` vocabulary of recordIteration and debugRunStages). */
53
+ readonly stages: typeof FR_STAGES;
54
+ /** Fa2Params: the per-iteration uniform block (the simulation writes the shared fields into it). */
55
+ readonly params: UniformBlock;
56
+ /** Fa2State: the state header block. */
57
+ readonly state: UniformBlock;
58
+ /** Fa2Trace: one record per iteration of a batch. */
59
+ readonly trace: UniformBlock;
60
+ /** The resolved GPU-only tuning this model was created with. */
61
+ readonly tuning: ResolvedLayoutTuning;
62
+ /** The option record the model holds: the constructor's record, replaced by onSetParams() ONLY (as FA2's). */
63
+ private current;
64
+ /** The global iteration index at which the temperature index is 0 (PD-5). */
65
+ private tempOrigin;
66
+ /** Armed by onReheat(); consumed by the next paramsFor(), which re-anchors tempOrigin (PD-5). */
67
+ private pendingReheat;
68
+ private resources;
69
+ private bound;
70
+ /** The grid of the load inputs() last resolved (null on the exact tier): onLoad() writes its frame, specs() lists its kernels. */
71
+ private nextGrid;
72
+ /** The K1-K5 compute pass of the batch being recorded, keyed by CommandBatch.id (one pass per batch, contract 4.4). */
73
+ private openPass;
74
+ /**
75
+ * Creates the model for one simulation.
76
+ * @param tuning - the resolved GPU-only tuning (the tier rule; compat has no effect on this model)
77
+ * @param resolved - the resolved option record at creation
78
+ */
79
+ constructor(tuning: ResolvedLayoutTuning, resolved: ResolvedFruchtermanReingoldOptions);
80
+ /**
81
+ * force 12n and oldForce 12n (zeroed; bound and never read, PD-2), the 256-byte FillParams uniform buffer the
82
+ * fill dispatch reads, the 16-byte `hubCounters` K1 binds on every tier (P4 PD-14), and the grid buffers of
83
+ * `RepulsionGrid.buffers` exactly when `tierFor(tuning, n)` is the grid tier (PD-18). n = 0 reports one node's
84
+ * worth of bytes so no zero-length buffer is ever created.
85
+ * @param n - the node count
86
+ * @param dim - the layout dimension (the force arrays are stride 3 in both; the grid's geometry differs)
87
+ * @returns the model-owned buffer specs
88
+ */
89
+ buffers(n: number, dim: 2 | 3): readonly BufferSpec[];
90
+ /**
91
+ * Mass 1 for every node and no weights (PD-11: FR has no mass and ignores weights), the fixed mask of the
92
+ * `fixed` option applied at load (PD-6). Also remembers the grid of this load (`tierFor(tuning, n)`, spec 7.8)
93
+ * for onLoad() and specs(): the simulation calls inputs() first, then onLoad() before bind().
94
+ * @param s - the snapshot being loaded
95
+ * @param options - the simulation's current option record
96
+ * @returns the per-load inputs
97
+ */
98
+ inputs(s: GraphSnapshot, options: FruchtermanReingoldOptions): ModelInputs;
99
+ /**
100
+ * The constant FR override set (PD-1): no option changes a law, so setParams never recompiles.
101
+ * @param _options - an option record (unused: the set is constant)
102
+ * @returns the model's own override set
103
+ */
104
+ overrides(_options: FruchtermanReingoldOptions): Overrides;
105
+ /**
106
+ * The six module specs of an override set in dispatch order -- K1, K2, K3, K5, toScene, fill -- each with only the
107
+ * override names its entry declares (K2 also USE_PERM / HAS_WEIGHTS), for warm() and the compile matrix,
108
+ * followed by the grid tier's specs (`RepulsionGrid.specs` under FR_GRID_OVERRIDES) when the load inputs() last
109
+ * resolved is a grid load (the pipeline key carries no geometry).
110
+ * @param overrides - the merged override set (the model's plus USE_PERM / HAS_WEIGHTS)
111
+ * @param _subgroups - accepted for the ForceModel interface and unused (the composer picks the twin from caps)
112
+ * @returns the specs
113
+ */
114
+ specs(overrides: Overrides, _subgroups: boolean): readonly WgslModuleSpec[];
115
+ /**
116
+ * Compiles (through the cache) and binds every kernel against the buffers of this load(): K1, K2 over the degree
117
+ * tiers through bindAttraction (or the fill of force when arcCount === 0), K3 on the exact tier or G1-G7 through
118
+ * RepulsionGrid on the grid tier (PD-18), K5, toScene; writes the FillParams { count: 3n, value: 0, mode: 0 }
119
+ * into the model's uniform buffer. With n === 0 nothing is bound. The K2 TIER 1 / 2 pipelines compile on the
120
+ * first load whose degrees need them (P4 PD-7).
121
+ * @param resources - the graph, the shared and model buffers, the ring and the cache
122
+ * @param overrides - the merged override set
123
+ */
124
+ bind(resources: ModelResources, overrides: Overrides): Promise<void>;
125
+ /**
126
+ * The Fa2Params values of one iteration: the FA2 fields at their neutral values (scalingRatio, gravity and
127
+ * jitterTolerance 0), `frK` = k or 1 / sqrt(n), and this iteration's temperature (PD-5 anchors here). Under
128
+ * `cooling: "adaptive"` the flags carry FA2_FLAG_ADAPTIVE and the kernels take the temperature from the state
129
+ * block instead (K1 updates it, K5 reads it); the uniform's value is then the start temperature and unused. The
130
+ * simulation overwrites the shared fields with the same values and OR-s in its own flags.
131
+ * @param iteration - the GLOBAL iteration index
132
+ * @param options - the simulation's current option record
133
+ * @returns the uniform values
134
+ */
135
+ paramsFor(iteration: number, options: FruchtermanReingoldOptions): UniformValues;
136
+ /**
137
+ * Records one iteration into the batch, stopping after stage `upTo` when given (PD-17: `upTo` names a position
138
+ * in the union list and the recording stops after the last stage recorded at or before it, so "K3" on the grid
139
+ * tier stops after K2 and "G5" on the exact tier after K3). The exact tier: K1, K2 (or the fill of force when
140
+ * arcCount === 0), K3, K5 in the batch's ONE compute pass (opened by the first call of a batch and reused by
141
+ * every later call with the same batch.id), then toScene in a second pass that ends it. The grid tier (PD-16):
142
+ * the passes `fr-k1` (K1), `fr-attraction` (K2's tiers) and `fr-grid` (G1-G7, K5) per iteration, then
143
+ * `fa2-to-scene`. With n === 0 nothing is recorded; a call before bind() completed is E_NOT_LOADED (never a
144
+ * silent no-op).
145
+ * @param batch - the batch being recorded
146
+ * @param slot - the UniformRing slot holding this iteration's Fa2Params
147
+ * @param tier - the tier the simulation resolved at load() (the same rule bind() applied, PD-18)
148
+ * @param upTo - a stage name to stop after; undefined records every stage including toScene
149
+ */
150
+ recordIteration(batch: CommandBatch, slot: number, tier: "exact" | "grid", upTo?: string): void;
151
+ /**
152
+ * The grid tier's iteration (PD-16): three compute passes before toScene; no K4.
153
+ * @param batch - the batch being recorded
154
+ * @param bound - the bound model
155
+ * @param offset - the Fa2Params dynamic offset of the iteration
156
+ * @param stop - the FR_STAGES index to stop after
157
+ */
158
+ private recordGridIteration;
159
+ /**
160
+ * K2's tier dispatches, or the fill of force when the graph has no arcs (spec 7.5).
161
+ * @param pass - the open compute pass
162
+ * @param bound - the bound model
163
+ * @param offset - the Fa2Params dynamic offset
164
+ */
165
+ private recordK2;
166
+ /**
167
+ * The toScene pass that ends the iteration's pass; the batch is complete after it, so nothing reuses the pass.
168
+ * @param batch - the batch
169
+ * @param bound - the bound model
170
+ * @param offset - the Fa2Params dynamic offset
171
+ */
172
+ private recordToScene;
173
+ /**
174
+ * temperature = 0.1 (what stats reads before the first batch lands), kineticEnergy = 0; the temperature index
175
+ * restarts at 0 (PD-5). On a grid load the frame of the first build (K1 folds nothing on the first iteration).
176
+ * @param state - the state writer of the simulation
177
+ */
178
+ onLoad(state: StateWriter): void;
179
+ /**
180
+ * temperature = 0.1, the adaptive controller's energy = +infinity (the first fold always counts as a fall) and
181
+ * its progress counter = 0: the state K1 reads under `cooling: "adaptive"`, and what stats reads before the first
182
+ * batch lands under either schedule.
183
+ * @param state - the state writer of the simulation
184
+ */
185
+ private resetAdaptive;
186
+ /**
187
+ * Arms the re-anchoring of the temperature index at floor(0.7 * iterations), placed by the next paramsFor (PD-5);
188
+ * under `cooling: "adaptive"` restarts the controller at the start temperature instead.
189
+ * @param state - the state writer of the simulation
190
+ */
191
+ onReheat(state: StateWriter): void;
192
+ /**
193
+ * Replaces the record (a new k or budget takes effect at the next paramsFor: a new dt, a new frK; no recompile).
194
+ * The PD-16 `fixed` check already ran in the simulation's resolve callback.
195
+ * @param patch - the setParams patch
196
+ * @param _state - the state writer of the simulation (nothing to write)
197
+ */
198
+ onSetParams(patch: Partial<FruchtermanReingoldOptions>, _state: StateWriter): void;
199
+ /**
200
+ * Decodes the state header and the k trace records of a completed batch into FruchtermanReingoldStats:
201
+ * `repulsionTier` is the bound tier, the grid fields are the header's on the grid tier and null on the exact
202
+ * tier, msPerIteration null (the simulation owns the clock), the temperature K1 wrote.
203
+ * @param state - a DataView over the 256-byte state header
204
+ * @param trace - a DataView over the k Fa2Trace records of the batch
205
+ * @returns the stats
206
+ */
207
+ readStats(state: DataView, trace: DataView): FruchtermanReingoldStats;
208
+ /**
209
+ * The temperature of a global iteration (PD-5): a pending reheat re-anchors tempOrigin so this iteration's
210
+ * temperature index is floor(0.7 * iterations); then max(0, 0.1 - dt * index), dt = 0.1 / (iterations + 1).
211
+ * @param global - the global iteration index
212
+ * @param resolved - the current record
213
+ * @returns the temperature (f64; the uniform slot rounds it to f32)
214
+ */
215
+ private temperatureAt;
216
+ /**
217
+ * The resources of the last bind(), or E_NOT_LOADED before it.
218
+ * @returns the resources
219
+ */
220
+ private requireResources;
221
+ /**
222
+ * The index of a stage name in FR_STAGES, or E_INVALID_ARGUMENT.
223
+ * @param upTo - the stage name
224
+ * @returns its index
225
+ */
226
+ private stageIndex;
227
+ /** Releases the grid stage's lease and the bind groups (the simulation calls it from dispose() once every in-flight batch has settled). */
228
+ dispose(): void;
229
+ /** Drops the bind groups of the previous bind() (the buffers changed), releases the grid stage's lease and forgets the pass of a batch recorded before the rebind. */
230
+ private dropBound;
231
+ }
232
+ /**
233
+ * Spec 3.3 createFruchtermanReingold, verbatim: a GpuLayoutSimulation running Fruchterman-Reingold on the exact or
234
+ * the grid repulsion tier (spec 7.8) with the option defaults of spec 7.20 and the GPU-only tuning of GpuLayoutTuning.
235
+ * @param ctx - the context (E_DISPOSED / E_DEVICE_LOST through assertReady)
236
+ * @param options - the Fruchterman-Reingold options and the GPU-only tuning knobs in one record
237
+ * @returns the simulation in state "created"; load() next
238
+ */
239
+ export declare function createFruchtermanReingold(ctx: GpuContext, options?: FruchtermanReingoldOptions & GpuLayoutTuning): GpuLayoutSimulation<FruchtermanReingoldOptions, FruchtermanReingoldStats>;
240
+ export {};
241
+ //# sourceMappingURL=fruchterman-reingold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fruchterman-reingold.d.ts","sourceRoot":"","sources":["../../../src/layouts/fruchterman-reingold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAY1E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EACH,KAAK,wBAAwB,EAE7B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EACH,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAQH,KAAK,SAAS,EAUjB,MAAM,mBAAmB,CAAC;AAK3B,qMAAqM;AACrM,QAAA,MAAM,SAAS,8FAA+F,CAAC;AA0F/G;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAC/C,QAAQ,CAAC,EAAE,kCAAkC,GAC9C,kCAAkC,CAqDpC;AAmED,0LAA0L;AAC1L,qBAAa,wBAAyB,YAAW,UAAU,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;IAC7G,mCAAmC;IACnC,QAAQ,CAAC,IAAI,yBAAyB;IACtC,uGAAuG;IACvG,QAAQ,CAAC,MAAM,EAAE,OAAO,SAAS,CAAa;IAC9C,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAc;IAC3C,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAa;IACzC,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAa;IACzC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEtC,8GAA8G;IAC9G,OAAO,CAAC,OAAO,CAAqC;IACpD,6EAA6E;IAC7E,OAAO,CAAC,UAAU,CAAK;IACvB,iGAAiG;IACjG,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,KAAK,CAA2B;IACxC,kIAAkI;IAClI,OAAO,CAAC,QAAQ,CAAyB;IACzC,uHAAuH;IACvH,OAAO,CAAC,QAAQ,CAA8E;IAE9F;;;;OAIG;gBACS,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,kCAAkC;IAKtF;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,EAAE;IAmBrD;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,GAAG,WAAW;IAa1E;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS;IAI1D;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,SAAS,cAAc,EAAE;IAa3E;;;;;;;;OAQG;IACG,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAuG1E;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,aAAa;IAsChF;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IA8C/F;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAUhC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAOlC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlF;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,wBAAwB;IA6BrE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IASlB,2IAA2I;IAC3I,OAAO,IAAI,IAAI;IAIf,sKAAsK;IACtK,OAAO,CAAC,SAAS;CAgBpB;AA2BD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,GACvD,mBAAmB,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAY3E"}