@camunda8/cli 3.2.0-alpha.1 → 3.2.0-alpha.10

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 (311) hide show
  1. package/CONTEXT.md +7 -15
  2. package/EXAMPLES.md +253 -1
  3. package/PLUGIN-HELP.md +1 -1
  4. package/README.md +46 -179
  5. package/dist/command-dispatch.d.ts +1 -1
  6. package/dist/command-dispatch.d.ts.map +1 -1
  7. package/dist/command-dispatch.js +1 -1
  8. package/dist/command-dispatch.js.map +1 -1
  9. package/dist/commands/completion.d.ts +1 -1
  10. package/dist/commands/completion.d.ts.map +1 -1
  11. package/dist/commands/completion.js +2 -3
  12. package/dist/commands/completion.js.map +1 -1
  13. package/dist/commands/deploy.d.ts +13 -0
  14. package/dist/commands/deploy.d.ts.map +1 -0
  15. package/dist/commands/deploy.js +328 -0
  16. package/dist/commands/deploy.js.map +1 -0
  17. package/dist/commands/forms.d.ts +1 -1
  18. package/dist/commands/forms.d.ts.map +1 -1
  19. package/dist/commands/forms.js +8 -8
  20. package/dist/commands/forms.js.map +1 -1
  21. package/dist/commands/helpers/deploy-helpers.d.ts +120 -0
  22. package/dist/commands/helpers/deploy-helpers.d.ts.map +1 -0
  23. package/dist/{deployments.js → commands/helpers/deploy-helpers.js} +187 -136
  24. package/dist/commands/helpers/deploy-helpers.js.map +1 -0
  25. package/dist/commands/identity-authorizations.d.ts +5 -18
  26. package/dist/commands/identity-authorizations.d.ts.map +1 -1
  27. package/dist/commands/identity-authorizations.js +8 -10
  28. package/dist/commands/identity-authorizations.js.map +1 -1
  29. package/dist/commands/identity-groups.d.ts +5 -5
  30. package/dist/commands/identity-groups.d.ts.map +1 -1
  31. package/dist/commands/identity-groups.js +7 -8
  32. package/dist/commands/identity-groups.js.map +1 -1
  33. package/dist/commands/identity-mapping-rules.d.ts +5 -5
  34. package/dist/commands/identity-mapping-rules.d.ts.map +1 -1
  35. package/dist/commands/identity-mapping-rules.js +7 -8
  36. package/dist/commands/identity-mapping-rules.js.map +1 -1
  37. package/dist/commands/identity-roles.d.ts +5 -5
  38. package/dist/commands/identity-roles.d.ts.map +1 -1
  39. package/dist/commands/identity-roles.js +7 -8
  40. package/dist/commands/identity-roles.js.map +1 -1
  41. package/dist/commands/identity-tenants.d.ts +5 -5
  42. package/dist/commands/identity-tenants.d.ts.map +1 -1
  43. package/dist/commands/identity-tenants.js +7 -8
  44. package/dist/commands/identity-tenants.js.map +1 -1
  45. package/dist/commands/identity-users.d.ts +5 -5
  46. package/dist/commands/identity-users.d.ts.map +1 -1
  47. package/dist/commands/identity-users.js +7 -8
  48. package/dist/commands/identity-users.js.map +1 -1
  49. package/dist/commands/identity.d.ts +11 -31
  50. package/dist/commands/identity.d.ts.map +1 -1
  51. package/dist/commands/identity.js +15 -15
  52. package/dist/commands/identity.js.map +1 -1
  53. package/dist/commands/incidents.d.ts +3 -3
  54. package/dist/commands/incidents.d.ts.map +1 -1
  55. package/dist/commands/incidents.js +6 -6
  56. package/dist/commands/incidents.js.map +1 -1
  57. package/dist/commands/jobs.d.ts +4 -4
  58. package/dist/commands/jobs.d.ts.map +1 -1
  59. package/dist/commands/jobs.js +7 -7
  60. package/dist/commands/jobs.js.map +1 -1
  61. package/dist/commands/mcp-proxy.d.ts +1 -1
  62. package/dist/commands/mcp-proxy.d.ts.map +1 -1
  63. package/dist/commands/mcp-proxy.js +5 -9
  64. package/dist/commands/mcp-proxy.js.map +1 -1
  65. package/dist/commands/messages.d.ts +2 -2
  66. package/dist/commands/messages.d.ts.map +1 -1
  67. package/dist/commands/messages.js +4 -4
  68. package/dist/commands/messages.js.map +1 -1
  69. package/dist/commands/open.d.ts +4 -4
  70. package/dist/commands/open.d.ts.map +1 -1
  71. package/dist/commands/open.js +6 -6
  72. package/dist/commands/open.js.map +1 -1
  73. package/dist/commands/plugins.d.ts +9 -9
  74. package/dist/commands/plugins.d.ts.map +1 -1
  75. package/dist/commands/plugins.js +2 -7
  76. package/dist/commands/plugins.js.map +1 -1
  77. package/dist/commands/process-definitions.d.ts +2 -2
  78. package/dist/commands/process-definitions.d.ts.map +1 -1
  79. package/dist/commands/process-definitions.js +5 -5
  80. package/dist/commands/process-definitions.js.map +1 -1
  81. package/dist/commands/process-instances.d.ts +5 -5
  82. package/dist/commands/process-instances.d.ts.map +1 -1
  83. package/dist/commands/process-instances.js +8 -9
  84. package/dist/commands/process-instances.js.map +1 -1
  85. package/dist/commands/profiles.d.ts +4 -36
  86. package/dist/commands/profiles.d.ts.map +1 -1
  87. package/dist/commands/profiles.js +43 -41
  88. package/dist/commands/profiles.js.map +1 -1
  89. package/dist/commands/run.d.ts +2 -2
  90. package/dist/commands/run.d.ts.map +1 -1
  91. package/dist/commands/run.js +4 -4
  92. package/dist/commands/run.js.map +1 -1
  93. package/dist/commands/search.d.ts +7 -7
  94. package/dist/commands/search.d.ts.map +1 -1
  95. package/dist/commands/search.js +9 -11
  96. package/dist/commands/search.js.map +1 -1
  97. package/dist/commands/session.d.ts +4 -4
  98. package/dist/commands/session.d.ts.map +1 -1
  99. package/dist/commands/session.js +26 -5
  100. package/dist/commands/session.js.map +1 -1
  101. package/dist/commands/topology.d.ts +1 -1
  102. package/dist/commands/topology.d.ts.map +1 -1
  103. package/dist/commands/topology.js +2 -2
  104. package/dist/commands/topology.js.map +1 -1
  105. package/dist/commands/user-tasks.d.ts +2 -2
  106. package/dist/commands/user-tasks.d.ts.map +1 -1
  107. package/dist/commands/user-tasks.js +5 -5
  108. package/dist/commands/user-tasks.js.map +1 -1
  109. package/dist/commands/variables.d.ts +1 -1
  110. package/dist/commands/variables.d.ts.map +1 -1
  111. package/dist/commands/variables.js +3 -3
  112. package/dist/commands/variables.js.map +1 -1
  113. package/dist/commands/watch.d.ts +2 -2
  114. package/dist/commands/watch.d.ts.map +1 -1
  115. package/dist/commands/watch.js +25 -8
  116. package/dist/commands/watch.js.map +1 -1
  117. package/dist/core/client.d.ts.map +1 -0
  118. package/dist/core/client.js.map +1 -0
  119. package/dist/{config.d.ts → core/config.d.ts} +28 -2
  120. package/dist/core/config.d.ts.map +1 -0
  121. package/dist/{config.js → core/config.js} +61 -5
  122. package/dist/core/config.js.map +1 -0
  123. package/dist/core/errors.d.ts.map +1 -0
  124. package/dist/core/errors.js.map +1 -0
  125. package/dist/core/index.d.ts +7 -0
  126. package/dist/core/index.d.ts.map +1 -0
  127. package/dist/core/index.js +13 -0
  128. package/dist/core/index.js.map +1 -0
  129. package/dist/core/logger.d.ts.map +1 -0
  130. package/dist/core/logger.js.map +1 -0
  131. package/dist/core/runtime.d.ts.map +1 -0
  132. package/dist/{runtime.js → core/runtime.js} +2 -2
  133. package/dist/core/runtime.js.map +1 -0
  134. package/dist/core/update-check.d.ts.map +1 -0
  135. package/dist/core/update-check.js.map +1 -0
  136. package/dist/default-plugins/bpmn/README.md +12 -3
  137. package/dist/default-plugins/bpmn/c8ctl-plugin.js +7376 -108
  138. package/dist/default-plugins/bpmn/package.json +8 -1
  139. package/dist/default-plugins/cluster/c8ctl-plugin.js +66 -9
  140. package/dist/default-plugins/element-template/README.md +6 -3
  141. package/dist/default-plugins/element-template/c8ctl-plugin.js +10195 -229
  142. package/dist/default-plugins/element-template/docs/design.md +1 -1
  143. package/dist/default-plugins/element-template/package.json +11 -1
  144. package/dist/default-plugins/feel/c8ctl-plugin.js +14030 -584
  145. package/dist/default-plugins/feel/package.json +4 -1
  146. package/dist/{command-framework.d.ts → framework/command-framework.d.ts} +23 -9
  147. package/dist/framework/command-framework.d.ts.map +1 -0
  148. package/dist/{command-framework.js → framework/command-framework.js} +16 -29
  149. package/dist/framework/command-framework.js.map +1 -0
  150. package/dist/{command-registry.d.ts → framework/command-registry.d.ts} +27 -8
  151. package/dist/framework/command-registry.d.ts.map +1 -0
  152. package/dist/{command-registry.js → framework/command-registry.js} +58 -8
  153. package/dist/framework/command-registry.js.map +1 -0
  154. package/dist/{command-validation.d.ts → framework/command-validation.d.ts} +0 -14
  155. package/dist/framework/command-validation.d.ts.map +1 -0
  156. package/dist/{command-validation.js → framework/command-validation.js} +1 -34
  157. package/dist/framework/command-validation.js.map +1 -0
  158. package/dist/framework/index.d.ts +10 -0
  159. package/dist/framework/index.d.ts.map +1 -0
  160. package/dist/framework/index.js +16 -0
  161. package/dist/framework/index.js.map +1 -0
  162. package/dist/{plugin-loader.d.ts → framework/plugins/plugin-loader.d.ts} +30 -5
  163. package/dist/framework/plugins/plugin-loader.d.ts.map +1 -0
  164. package/dist/{plugin-loader.js → framework/plugins/plugin-loader.js} +26 -10
  165. package/dist/framework/plugins/plugin-loader.js.map +1 -0
  166. package/dist/framework/plugins/plugin-registry.d.ts.map +1 -0
  167. package/dist/{plugin-registry.js → framework/plugins/plugin-registry.js} +1 -1
  168. package/dist/framework/plugins/plugin-registry.js.map +1 -0
  169. package/dist/framework/plugins/plugin-version.d.ts.map +1 -0
  170. package/dist/framework/plugins/plugin-version.js.map +1 -0
  171. package/dist/{completion.d.ts → framework/ui/completion.d.ts} +2 -2
  172. package/dist/framework/ui/completion.d.ts.map +1 -0
  173. package/dist/{completion.js → framework/ui/completion.js} +7 -9
  174. package/dist/framework/ui/completion.js.map +1 -0
  175. package/dist/framework/ui/help.d.ts.map +1 -0
  176. package/dist/{help.js → framework/ui/help.js} +4 -4
  177. package/dist/framework/ui/help.js.map +1 -0
  178. package/dist/framework/ui/prompt.d.ts +132 -0
  179. package/dist/framework/ui/prompt.d.ts.map +1 -0
  180. package/dist/framework/ui/prompt.js +298 -0
  181. package/dist/framework/ui/prompt.js.map +1 -0
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +24 -20
  184. package/dist/index.js.map +1 -1
  185. package/dist/utils/command-local/deploy-version.d.ts +21 -0
  186. package/dist/utils/command-local/deploy-version.d.ts.map +1 -0
  187. package/dist/utils/command-local/deploy-version.js +31 -0
  188. package/dist/utils/command-local/deploy-version.js.map +1 -0
  189. package/dist/{mcp-proxy-helpers.d.ts → utils/command-local/mcp-proxy-helpers.d.ts} +1 -1
  190. package/dist/utils/command-local/mcp-proxy-helpers.d.ts.map +1 -0
  191. package/dist/{mcp-proxy-helpers.js → utils/command-local/mcp-proxy-helpers.js} +1 -1
  192. package/dist/utils/command-local/mcp-proxy-helpers.js.map +1 -0
  193. package/dist/utils/command-local/open-helpers.d.ts.map +1 -0
  194. package/dist/{open-helpers.js → utils/command-local/open-helpers.js} +2 -2
  195. package/dist/utils/command-local/open-helpers.js.map +1 -0
  196. package/dist/{search-helpers.d.ts → utils/command-local/search-helpers.d.ts} +1 -1
  197. package/dist/utils/command-local/search-helpers.d.ts.map +1 -0
  198. package/dist/utils/command-local/search-helpers.js.map +1 -0
  199. package/dist/utils/command-local/watch-constants.d.ts.map +1 -0
  200. package/dist/utils/command-local/watch-constants.js.map +1 -0
  201. package/dist/utils/index.d.ts +10 -0
  202. package/dist/utils/index.d.ts.map +1 -0
  203. package/dist/utils/index.js +16 -0
  204. package/dist/utils/index.js.map +1 -0
  205. package/dist/utils/shared/date-filter.d.ts.map +1 -0
  206. package/dist/utils/shared/date-filter.js.map +1 -0
  207. package/dist/{ignore.d.ts → utils/shared/ignore.d.ts} +19 -1
  208. package/dist/utils/shared/ignore.d.ts.map +1 -0
  209. package/dist/utils/shared/ignore.js +234 -0
  210. package/dist/utils/shared/ignore.js.map +1 -0
  211. package/dist/utils/shared/resource-extensions.d.ts.map +1 -0
  212. package/dist/utils/shared/resource-extensions.js.map +1 -0
  213. package/dist/utils/shared/validation.d.ts +23 -0
  214. package/dist/utils/shared/validation.d.ts.map +1 -0
  215. package/dist/utils/shared/validation.js +43 -0
  216. package/dist/utils/shared/validation.js.map +1 -0
  217. package/dist/vendor/bpmnlint.cjs +25907 -0
  218. package/package.json +12 -14
  219. package/dist/client.d.ts.map +0 -1
  220. package/dist/client.js.map +0 -1
  221. package/dist/command-framework.d.ts.map +0 -1
  222. package/dist/command-framework.js.map +0 -1
  223. package/dist/command-registry.d.ts.map +0 -1
  224. package/dist/command-registry.js.map +0 -1
  225. package/dist/command-validation.d.ts.map +0 -1
  226. package/dist/command-validation.js.map +0 -1
  227. package/dist/commands/resource-extensions.d.ts.map +0 -1
  228. package/dist/commands/resource-extensions.js.map +0 -1
  229. package/dist/completion.d.ts.map +0 -1
  230. package/dist/completion.js.map +0 -1
  231. package/dist/config.d.ts.map +0 -1
  232. package/dist/config.js.map +0 -1
  233. package/dist/date-filter.d.ts.map +0 -1
  234. package/dist/date-filter.js.map +0 -1
  235. package/dist/default-plugins/bpmn/c8ctl-plugin.js.map +0 -1
  236. package/dist/default-plugins/bpmn/lint.js +0 -320
  237. package/dist/default-plugins/bpmn/lint.js.map +0 -1
  238. package/dist/default-plugins/element-template/c8ctl-plugin.js.map +0 -1
  239. package/dist/default-plugins/element-template/commands/apply.js +0 -336
  240. package/dist/default-plugins/element-template/commands/apply.js.map +0 -1
  241. package/dist/default-plugins/element-template/commands/get-properties.js +0 -344
  242. package/dist/default-plugins/element-template/commands/get-properties.js.map +0 -1
  243. package/dist/default-plugins/element-template/commands/get.js +0 -107
  244. package/dist/default-plugins/element-template/commands/get.js.map +0 -1
  245. package/dist/default-plugins/element-template/commands/info.js +0 -189
  246. package/dist/default-plugins/element-template/commands/info.js.map +0 -1
  247. package/dist/default-plugins/element-template/commands/search.js +0 -102
  248. package/dist/default-plugins/element-template/commands/search.js.map +0 -1
  249. package/dist/default-plugins/element-template/commands/sync.js +0 -36
  250. package/dist/default-plugins/element-template/commands/sync.js.map +0 -1
  251. package/dist/default-plugins/element-template/helpers.js +0 -429
  252. package/dist/default-plugins/element-template/helpers.js.map +0 -1
  253. package/dist/default-plugins/element-template/marketplace.js +0 -586
  254. package/dist/default-plugins/element-template/marketplace.js.map +0 -1
  255. package/dist/default-plugins/element-template/template-ref.js +0 -232
  256. package/dist/default-plugins/element-template/template-ref.js.map +0 -1
  257. package/dist/default-plugins/feel/c8ctl-plugin.js.map +0 -1
  258. package/dist/default-plugins/hello-world/README.md +0 -161
  259. package/dist/default-plugins/hello-world/c8ctl-plugin.js +0 -69
  260. package/dist/default-plugins/hello-world/package.json +0 -8
  261. package/dist/deployments.d.ts +0 -57
  262. package/dist/deployments.d.ts.map +0 -1
  263. package/dist/deployments.js.map +0 -1
  264. package/dist/errors.d.ts.map +0 -1
  265. package/dist/errors.js.map +0 -1
  266. package/dist/help.d.ts.map +0 -1
  267. package/dist/help.js.map +0 -1
  268. package/dist/ignore.d.ts.map +0 -1
  269. package/dist/ignore.js +0 -101
  270. package/dist/ignore.js.map +0 -1
  271. package/dist/logger.d.ts.map +0 -1
  272. package/dist/logger.js.map +0 -1
  273. package/dist/mcp-proxy-helpers.d.ts.map +0 -1
  274. package/dist/mcp-proxy-helpers.js.map +0 -1
  275. package/dist/open-helpers.d.ts.map +0 -1
  276. package/dist/open-helpers.js.map +0 -1
  277. package/dist/plugin-loader.d.ts.map +0 -1
  278. package/dist/plugin-loader.js.map +0 -1
  279. package/dist/plugin-registry.d.ts.map +0 -1
  280. package/dist/plugin-registry.js.map +0 -1
  281. package/dist/plugin-version.d.ts.map +0 -1
  282. package/dist/plugin-version.js.map +0 -1
  283. package/dist/runtime.d.ts.map +0 -1
  284. package/dist/runtime.js.map +0 -1
  285. package/dist/search-helpers.d.ts.map +0 -1
  286. package/dist/search-helpers.js.map +0 -1
  287. package/dist/update-check.d.ts.map +0 -1
  288. package/dist/update-check.js.map +0 -1
  289. package/dist/watch-constants.d.ts.map +0 -1
  290. package/dist/watch-constants.js.map +0 -1
  291. /package/dist/{client.d.ts → core/client.d.ts} +0 -0
  292. /package/dist/{client.js → core/client.js} +0 -0
  293. /package/dist/{errors.d.ts → core/errors.d.ts} +0 -0
  294. /package/dist/{errors.js → core/errors.js} +0 -0
  295. /package/dist/{logger.d.ts → core/logger.d.ts} +0 -0
  296. /package/dist/{logger.js → core/logger.js} +0 -0
  297. /package/dist/{runtime.d.ts → core/runtime.d.ts} +0 -0
  298. /package/dist/{update-check.d.ts → core/update-check.d.ts} +0 -0
  299. /package/dist/{update-check.js → core/update-check.js} +0 -0
  300. /package/dist/{plugin-registry.d.ts → framework/plugins/plugin-registry.d.ts} +0 -0
  301. /package/dist/{plugin-version.d.ts → framework/plugins/plugin-version.d.ts} +0 -0
  302. /package/dist/{plugin-version.js → framework/plugins/plugin-version.js} +0 -0
  303. /package/dist/{help.d.ts → framework/ui/help.d.ts} +0 -0
  304. /package/dist/{open-helpers.d.ts → utils/command-local/open-helpers.d.ts} +0 -0
  305. /package/dist/{search-helpers.js → utils/command-local/search-helpers.js} +0 -0
  306. /package/dist/{watch-constants.d.ts → utils/command-local/watch-constants.d.ts} +0 -0
  307. /package/dist/{watch-constants.js → utils/command-local/watch-constants.js} +0 -0
  308. /package/dist/{date-filter.d.ts → utils/shared/date-filter.d.ts} +0 -0
  309. /package/dist/{date-filter.js → utils/shared/date-filter.js} +0 -0
  310. /package/dist/{commands → utils/shared}/resource-extensions.d.ts +0 -0
  311. /package/dist/{commands → utils/shared}/resource-extensions.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/helpers/deploy-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAsBzE;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAOzE;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AA2BD,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1E;AA+LD;;;GAGG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;2EAGuE;IACvE,cAAc,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,OAAO,EACf,aAAa,GAAE,SAAS,MAAM,EAA0B;AACxD;qFACqF;AACrF,gBAAgB,UAAO,GACrB,aAAa,CAyHf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;yFACqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;0FACsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,GACC,OAAO,CAAC,IAAI,CAAC,CAwVf"}
@@ -1,23 +1,22 @@
1
1
  /**
2
- * Deployment commands with building-block folder prioritization
2
+ * Shared deployment helpers resource collection, deployment execution,
3
+ * and process-application detection.
4
+ *
5
+ * Consumed by:
6
+ * - `src/commands/deploy.ts` (the `deployCommand` handler)
7
+ * - `src/commands/watch.ts` (change-triggered re-deploys)
3
8
  */
4
9
  import { existsSync, readdirSync, readFileSync, realpathSync, statSync, } from "node:fs";
5
10
  import { basename, dirname, extname, join, relative, resolve } from "node:path";
6
11
  import { TenantId } from "@camunda8/orchestration-cluster-api";
7
- import { createClient } from "./client.js";
8
- import { defineCommand, dryRun } from "./command-framework.js";
9
- import { ALL_DEPLOYABLE_EXTENSIONS, DEPLOYABLE_EXTENSIONS, } from "./commands/resource-extensions.js";
10
- import { resolveTenantId } from "./config.js";
11
- import { normalizeToError, SilentError } from "./errors.js";
12
- import { isIgnored, loadIgnoreRules, resolveIgnoreBaseDir } from "./ignore.js";
13
- import { getLogger, isRecord } from "./logger.js";
14
- import { c8ctl } from "./runtime.js";
12
+ import { createClient, getLogger, isRecord, normalizeToError, resolveTenantId, SilentError, } from "../../core/index.js";
13
+ import { DEPLOYABLE_EXTENSIONS, isIgnored, loadDeployAlwaysRules, loadIgnoreRules, meetsMinExtensionVersion, resolveIgnoreBaseDir, } from "../../utils/index.js";
15
14
  const PROCESS_APPLICATION_FILE = ".process-application";
16
15
  /**
17
16
  * Helper to output messages that respect JSON mode for Unix pipe compatibility
18
17
  */
19
- function logMessage(message) {
20
- if (c8ctl.outputMode === "json") {
18
+ export function logMessage(message) {
19
+ if (getLogger().mode === "json") {
21
20
  console.error(JSON.stringify({ type: "message", message }));
22
21
  }
23
22
  else {
@@ -29,13 +28,38 @@ function logMessage(message) {
29
28
  * Shared between the dry-run preview and the execute path so the
30
29
  * message stays consistent. See https://github.com/camunda/c8ctl/issues/350
31
30
  */
32
- function logSkippedExtensions(skippedExtensions) {
31
+ export function logSkippedExtensions(skippedExtensions) {
33
32
  if (skippedExtensions.size === 0)
34
33
  return;
35
34
  const exts = [...skippedExtensions].sort().join(", ");
36
35
  logMessage(`Skipped files with extensions not in the allow-list (${exts}). ` +
37
36
  `Use --extensions=<ext> to add specific types, or --all-extensions to include all server-supported types.`);
38
37
  }
38
+ /**
39
+ * Check whether the connected Camunda server supports extended file extensions.
40
+ * Returns `true` for 8.10+, `false` for older versions.
41
+ * Falls back to `false` on any error (network, auth, unparseable version)
42
+ * so unsupported resource types are not deployed to older clusters.
43
+ */
44
+ export async function checkServerSupportsExtensions(client) {
45
+ const logger = getLogger();
46
+ try {
47
+ const topology = await client.getTopology();
48
+ const version = String(topology.gatewayVersion ?? "");
49
+ const result = meetsMinExtensionVersion(version);
50
+ if (result === null) {
51
+ logger.warn(`Could not parse server version "${version}" — assuming extended extensions are NOT supported.`);
52
+ return false;
53
+ }
54
+ return result;
55
+ }
56
+ catch {
57
+ logger.warn("Could not reach the server to check its version (topology call failed).");
58
+ logger.warn("This can happen with OAuth/SaaS clusters before the first token is fetched, " +
59
+ "or if the server is not yet ready. Assuming extended extensions are NOT supported.");
60
+ return false;
61
+ }
62
+ }
39
63
  /**
40
64
  * Extract process/decision IDs from BPMN/DMN files to detect duplicates
41
65
  */
@@ -141,7 +165,7 @@ export function findProcessApplicationRoot(startDir) {
141
165
  * @param skippedExtensions - Mutable set that accumulates extensions
142
166
  * skipped during directory walks, so the caller can log them.
143
167
  */
144
- function collectResourceFiles(dirPath, collected = [], basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions) {
168
+ function collectResourceFiles(dirPath, collected = [], basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions, skippedFiles, deployAlways) {
145
169
  if (!existsSync(dirPath)) {
146
170
  return collected;
147
171
  }
@@ -209,10 +233,21 @@ function collectResourceFiles(dirPath, collected = [], basePath, ig, ignoreBaseD
209
233
  if (!force &&
210
234
  extensionList &&
211
235
  !extensionList.includes(extname(fullPath))) {
236
+ // Check deploy-always negation rules from .c8ignore
237
+ if (deployAlways &&
238
+ ignoreBaseDir &&
239
+ isIgnored(deployAlways, fullPath, ignoreBaseDir)) {
240
+ // File matches a !path negation — include it
241
+ files.push(fullPath);
242
+ return;
243
+ }
212
244
  if (skippedExtensions) {
213
245
  const ext = extname(fullPath);
214
246
  skippedExtensions.add(ext || "<no extension>");
215
247
  }
248
+ if (skippedFiles) {
249
+ skippedFiles.push(fullPath);
250
+ }
216
251
  return;
217
252
  }
218
253
  files.push(fullPath);
@@ -232,11 +267,11 @@ function collectResourceFiles(dirPath, collected = [], basePath, ig, ignoreBaseD
232
267
  });
233
268
  // Process building block folders first (prioritized)
234
269
  bbFolders.forEach((bbFolder) => {
235
- collectResourceFiles(bbFolder, collected, basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions);
270
+ collectResourceFiles(bbFolder, collected, basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions, skippedFiles, deployAlways);
236
271
  });
237
272
  // Then process regular folders
238
273
  regularFolders.forEach((regularFolder) => {
239
- collectResourceFiles(regularFolder, collected, basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions);
274
+ collectResourceFiles(regularFolder, collected, basePath, ig, ignoreBaseDir, force, extensionList, skippedExtensions, skippedFiles, deployAlways);
240
275
  });
241
276
  }
242
277
  return collected;
@@ -268,7 +303,10 @@ function findDuplicateDefinitionIds(resources) {
268
303
  * @param extensionList - Active allow-list for directory discovery.
269
304
  * Defaults to `DEPLOYABLE_EXTENSIONS` (.bpmn, .dmn, .form).
270
305
  */
271
- function collectResourcesForPaths(paths, force, extensionList = DEPLOYABLE_EXTENSIONS) {
306
+ export function collectResourcesForPaths(paths, force, extensionList = DEPLOYABLE_EXTENSIONS,
307
+ /** When false, skip loading deploy-always negation rules from .c8ignore.
308
+ * Used to suppress them on servers <8.10 that don't support extended extensions. */
309
+ loadDeployAlways = true) {
272
310
  if (paths.length === 0) {
273
311
  throw new Error("No paths provided. Use: c8 deploy <path> or c8 deploy (for current directory)");
274
312
  }
@@ -324,10 +362,17 @@ function collectResourcesForPaths(paths, force, extensionList = DEPLOYABLE_EXTEN
324
362
  // inside the target. (#258)
325
363
  const ignoreBaseDir = resolveIgnoreBaseDir(effectivePaths);
326
364
  const ig = loadIgnoreRules(ignoreBaseDir);
365
+ // Load !path negation patterns from .c8ignore. Files matching a
366
+ // negation bypass extension filtering ("deploy them always").
367
+ // Skipped on servers <8.10 where extended extensions aren't supported.
368
+ const deployAlways = loadDeployAlways
369
+ ? loadDeployAlwaysRules(ignoreBaseDir)
370
+ : null;
327
371
  const resources = [];
328
372
  const skippedExtensions = new Set();
373
+ const skippedFiles = [];
329
374
  effectivePaths.forEach((path) => {
330
- collectResourceFiles(path, resources, undefined, ig, ignoreBaseDir, force, extensionList, skippedExtensions);
375
+ collectResourceFiles(path, resources, undefined, ig, ignoreBaseDir, force, extensionList, skippedExtensions, skippedFiles, deployAlways ?? undefined);
331
376
  });
332
377
  // Deduplicate resources by canonical path — can happen when an explicit
333
378
  // file path is also covered by a PA-root or scoped-directory walk, or
@@ -352,17 +397,24 @@ function collectResourcesForPaths(paths, force, extensionList = DEPLOYABLE_EXTEN
352
397
  }
353
398
  if (deduped.length === 0) {
354
399
  logSkippedExtensions(skippedExtensions);
355
- throw new Error("No deployable files found in the specified paths");
356
- }
357
- return { resources: deduped, skippedExtensions, effectivePaths };
400
+ throw new Error(skippedFiles.length > 0
401
+ ? `No files with allowed extensions found. ${skippedFiles.length} file(s) were skipped (${[...skippedExtensions].sort().join(", ")}). Use --force to include all files, or --extensions to expand the allow-list.`
402
+ : "No deployable files found in the specified paths");
403
+ }
404
+ return {
405
+ resources: deduped,
406
+ skippedExtensions,
407
+ skippedFiles,
408
+ effectivePaths,
409
+ };
358
410
  }
359
411
  /**
360
412
  * Internal helper: deploy the given paths to the cluster and render the
361
413
  * result table. Used by `deployCommand` (the standard CLI entry point)
362
414
  * and by `watchCommand` (for change-triggered re-deploys).
363
415
  *
364
- * Does NOT consult `c8ctl.dryRun` — dry-run handling lives in the
365
- * `deployCommand` handler so the framework's `dryRun()` helper owns
416
+ * Does NOT consult dry-run state — dry-run handling lives in the
417
+ * `deployCommand` handler so the context's `ctx.dryRun()` helper owns
366
418
  * preview emission. Watch never triggers a dry-run, so this split also
367
419
  * removes a footgun where a stale dry-run flag could suppress a watch
368
420
  * deploy.
@@ -375,14 +427,16 @@ export async function deployResources(paths, options) {
375
427
  // straight to the framework's `handleCommandError`. Only the actual
376
428
  // HTTP deploy call (further down) is wrapped in a catch that routes
377
429
  // through `handleDeploymentError` for rich Problem-Detail rendering.
378
- const { resources, skippedExtensions, effectivePaths } = collectResourcesForPaths(paths, options.force, options.extensionList ?? DEPLOYABLE_EXTENSIONS);
379
- logSkippedExtensions(skippedExtensions);
430
+ const { resources, skippedExtensions, effectivePaths } = collectResourcesForPaths(paths, options.force, options.extensionList ?? DEPLOYABLE_EXTENSIONS, options.loadDeployAlways ?? true);
431
+ if (!options.suppressSkippedLog) {
432
+ logSkippedExtensions(skippedExtensions);
433
+ }
380
434
  // Use the effective paths (which may have been expanded to a PA root)
381
435
  // for relative path calculation so display paths make sense.
382
436
  const basePaths = effectivePaths;
383
437
  const client = createClient(options.profile);
384
438
  // Calculate relative paths for display
385
- const basePath = basePaths.length === 1 ? basePaths[0] : process.cwd();
439
+ const basePath = options.basePath ?? (basePaths.length === 1 ? basePaths[0] : process.cwd());
386
440
  resources.forEach((r) => {
387
441
  r.relativePath = relative(basePath, r.path) || r.name;
388
442
  });
@@ -442,7 +496,19 @@ export async function deployResources(paths, options) {
442
496
  // Create a mapping from definition ID to resource file for later reference
443
497
  const definitionIdToResource = new Map();
444
498
  const formNameToResource = new Map();
499
+ // Map basename → ResourceFile[]: multiple files can share a basename
500
+ // across directories (e.g. sub-a/model.dmn, sub-b/model.dmn). When
501
+ // the API returns a resourceName, we pop the first matching entry so
502
+ // each response record resolves to a distinct local file.
503
+ const resourcesByName = new Map();
445
504
  resources.forEach((r) => {
505
+ const existing = resourcesByName.get(r.name);
506
+ if (existing) {
507
+ existing.push(r);
508
+ }
509
+ else {
510
+ resourcesByName.set(r.name, [r]);
511
+ }
446
512
  const ext = extname(r.path);
447
513
  if (ext === ".bpmn" || ext === ".dmn") {
448
514
  const defId = extractDefinitionId(r.content, ext);
@@ -451,11 +517,28 @@ export async function deployResources(paths, options) {
451
517
  }
452
518
  }
453
519
  else if (ext === ".form") {
454
- // Forms are matched by filename (without extension)
455
- const formId = basename(r.name, ".form");
520
+ // Forms are matched by their internal ID from the JSON content.
521
+ // Fall back to filename (without extension) if the ID can't be parsed.
522
+ let formId = basename(r.name, ".form");
523
+ try {
524
+ const parsed = JSON.parse(r.content.toString("utf-8"));
525
+ if (isRecord(parsed) && typeof parsed.id === "string") {
526
+ formId = parsed.id;
527
+ }
528
+ }
529
+ catch {
530
+ // Not valid JSON — use filename
531
+ }
456
532
  formNameToResource.set(formId, r);
457
533
  }
458
534
  });
535
+ /** Pop the first resource with a matching basename, or return undefined. */
536
+ function popResourceByName(name) {
537
+ const bucket = resourcesByName.get(name);
538
+ if (!bucket || bucket.length === 0)
539
+ return undefined;
540
+ return bucket.shift();
541
+ }
459
542
  // ─── API call ────────────────────────────────────────────────────────
460
543
  // Only this section is wrapped in a catch that routes through
461
544
  // `handleDeploymentError`. Pre-API errors above bubble to the
@@ -509,7 +592,7 @@ export async function deployResources(paths, options) {
509
592
  if (options.signal?.aborted) {
510
593
  return;
511
594
  }
512
- handleDeploymentError(error, resources, logger, options.continueOnError, options.continueOnUserError);
595
+ handleDeploymentError(error, resources, logger, options.continueOnError, options.continueOnUserError, options.verbose === true);
513
596
  // `handleDeploymentError` either throws (terminal) or returns
514
597
  // (continue-on-error). On the continue path, skip the success
515
598
  // render below — there's no result to render.
@@ -518,27 +601,80 @@ export async function deployResources(paths, options) {
518
601
  options.signal?.removeEventListener("abort", onAbort);
519
602
  logger.success("Deployment successful", result.deploymentKey.toString());
520
603
  // Normalize all deployed resources into a common structure
604
+ const knownResources = new Set();
521
605
  const allResources = [
522
- ...result.processes.map((proc) => ({
523
- type: "Process",
524
- id: proc.processDefinitionId,
525
- version: proc.processDefinitionVersion,
526
- key: proc.processDefinitionKey.toString(),
527
- resource: definitionIdToResource.get(proc.processDefinitionId),
528
- })),
529
- ...result.decisions.map((dec) => ({
530
- type: "Decision",
531
- id: dec.decisionDefinitionId || "-",
532
- version: dec.version ?? "-",
533
- key: dec.decisionDefinitionKey?.toString() || "-",
534
- resource: definitionIdToResource.get(dec.decisionDefinitionId || ""),
535
- })),
536
- ...result.forms.map((form) => ({
537
- type: "Form",
538
- id: form.formId || "-",
539
- version: form.version ?? "-",
540
- key: form.formKey?.toString() || "-",
541
- resource: formNameToResource.get(form.formId || ""),
606
+ ...result.processes.map((proc) => {
607
+ const resource = definitionIdToResource.get(proc.processDefinitionId);
608
+ if (resource)
609
+ knownResources.add(resource);
610
+ return {
611
+ type: "Process",
612
+ id: proc.processDefinitionId,
613
+ version: proc.processDefinitionVersion,
614
+ key: proc.processDefinitionKey.toString(),
615
+ resource,
616
+ };
617
+ }),
618
+ ...result.decisions.map((dec) => {
619
+ const resource = definitionIdToResource.get(dec.decisionDefinitionId || "");
620
+ if (resource)
621
+ knownResources.add(resource);
622
+ return {
623
+ type: "Decision",
624
+ id: dec.decisionDefinitionId || "-",
625
+ version: dec.version ?? "-",
626
+ key: dec.decisionDefinitionKey?.toString() || "-",
627
+ resource,
628
+ };
629
+ }),
630
+ ...result.decisionRequirements.map((dr) => {
631
+ const resource = popResourceByName(dr.resourceName || "");
632
+ if (resource)
633
+ knownResources.add(resource);
634
+ return {
635
+ type: "Decision Requirements",
636
+ id: dr.decisionRequirementsId || "-",
637
+ version: dr.version ?? "-",
638
+ key: dr.decisionRequirementsKey?.toString() || "-",
639
+ resource,
640
+ };
641
+ }),
642
+ ...result.forms.map((form) => {
643
+ const resource = formNameToResource.get(form.formId || "");
644
+ if (resource)
645
+ knownResources.add(resource);
646
+ return {
647
+ type: "Form",
648
+ id: form.formId || "-",
649
+ version: form.version ?? "-",
650
+ key: form.formKey?.toString() || "-",
651
+ resource,
652
+ };
653
+ }),
654
+ // Generic resources (not processes, decisions, or forms)
655
+ // are returned in the `resources` array by 8.10+.
656
+ ...result.resources.map((res) => {
657
+ const resource = popResourceByName(res.resourceName || "");
658
+ if (resource)
659
+ knownResources.add(resource);
660
+ return {
661
+ type: "Resource",
662
+ id: res.resourceId || "-",
663
+ version: res.version ?? "-",
664
+ key: res.resourceKey?.toString() || "-",
665
+ resource,
666
+ };
667
+ }),
668
+ // Supplementary resources not returned in any response array.
669
+ // Show them in the table so the user knows they were deployed.
670
+ ...resources
671
+ .filter((r) => !knownResources.has(r))
672
+ .map((r) => ({
673
+ type: "Resource",
674
+ id: "-",
675
+ version: "-",
676
+ key: "-",
677
+ resource: r,
542
678
  })),
543
679
  ];
544
680
  const tableData = allResources.map(({ type, id, version, key, resource }) => {
@@ -580,13 +716,13 @@ export async function deployResources(paths, options) {
580
716
  /**
581
717
  * Format and display deployment errors with actionable guidance
582
718
  */
583
- function handleDeploymentError(error, resources, logger, continueOnError, continueOnUserError) {
719
+ function handleDeploymentError(error, resources, logger, continueOnError, continueOnUserError, verbose) {
584
720
  // Extract problem title early to determine whether this is a user-fixable error
585
721
  const raw = isRecord(error) ? error : {};
586
722
  const problemTitle = typeof raw.title === "string" ? raw.title : undefined;
587
723
  const isUserFixable = problemTitle === "INVALID_ARGUMENT";
588
724
  const shouldContinue = continueOnError || (continueOnUserError && isUserFixable);
589
- if (c8ctl.verbose) {
725
+ if (verbose) {
590
726
  if (shouldContinue) {
591
727
  throw error;
592
728
  }
@@ -746,89 +882,4 @@ function printDeploymentHints(title, detail, status, resources) {
746
882
  logMessage(h);
747
883
  });
748
884
  }
749
- // ─── defineCommand ───────────────────────────────────────────────────────────
750
- /**
751
- * Resolve the effective extension allow-list from the deploy flags.
752
- *
753
- * Priority: --force (no filtering) > --all-extensions > --extensions > default
754
- *
755
- * When `--extensions` is provided, the custom list is *merged* with the
756
- * default (.bpmn, .dmn, .form) so users add to the baseline rather than
757
- * replacing it.
758
- */
759
- function resolveExtensionList(flags) {
760
- // When --force is set the allow-list is irrelevant — downstream code
761
- // skips filtering entirely. Return the default so callers always get a
762
- // valid list, but the value is never consulted.
763
- if (flags.force)
764
- return DEPLOYABLE_EXTENSIONS;
765
- // --all-extensions: use the full server-supported list
766
- if (flags["all-extensions"])
767
- return ALL_DEPLOYABLE_EXTENSIONS;
768
- // --extensions: merge custom extensions with the default set
769
- if (flags.extensions && String(flags.extensions).trim()) {
770
- const custom = String(flags.extensions)
771
- .split(",")
772
- .map((e) => e.trim())
773
- .filter(Boolean)
774
- .map((e) => (e.startsWith(".") ? e : `.${e}`));
775
- const merged = [...new Set([...DEPLOYABLE_EXTENSIONS, ...custom])];
776
- return merged;
777
- }
778
- return DEPLOYABLE_EXTENSIONS;
779
- }
780
- /**
781
- * Side-effectful: collects files, validates, deploys, and renders its own
782
- * table output.
783
- *
784
- * The body lives directly in the handler (per #288): argument-shape
785
- * resolution, dry-run preview via the framework's `dryRun()` helper,
786
- * and the call into the shared `deployResources` helper that watch also
787
- * uses for change-triggered re-deploys.
788
- */
789
- export const deployCommand = defineCommand("deploy", "", async (ctx, flags) => {
790
- // Argument shape: `c8 deploy [path...]`. With no positional, default
791
- // to cwd. Pinned by tests/unit/deploy-behaviour.test.ts.
792
- const paths = ctx.resource
793
- ? [ctx.resource, ...ctx.positionals]
794
- : ctx.positionals.length > 0
795
- ? ctx.positionals
796
- : ["."];
797
- // Resolve the active extension allow-list from flags.
798
- // Priority: --force (no filtering) > --all-extensions > --extensions > default
799
- const extensionList = resolveExtensionList(flags);
800
- // Dry-run preview. Collect resources first so the preview body
801
- // reflects what would actually be sent — and so the empty-paths /
802
- // no-files guards still surface as thrown errors before we emit.
803
- // Uses `ctx.dryRun` and `ctx.tenantId` from the framework rather
804
- // than reaching into the global runtime/config layer.
805
- if (ctx.dryRun) {
806
- const { resources: previewResources, skippedExtensions } = collectResourcesForPaths(paths, flags.force, extensionList);
807
- logSkippedExtensions(skippedExtensions);
808
- const dr = dryRun({
809
- command: "deploy",
810
- method: "POST",
811
- endpoint: "/deployments",
812
- profile: ctx.profile,
813
- body: {
814
- tenantId: ctx.tenantId,
815
- resources: previewResources.map((r) => ({ name: r.name })),
816
- },
817
- });
818
- if (dr)
819
- return dr;
820
- }
821
- // Execute path: only reached when not in dry-run mode (the branch
822
- // above returns early). `deployResources` runs its own
823
- // `collectResourcesForPaths` internally and renders the success
824
- // table. Keeping the helper self-contained avoids threading
825
- // pre-collected state between the handler and the shared helper
826
- // used by `watch`.
827
- await deployResources(paths, {
828
- profile: ctx.profile,
829
- force: flags.force,
830
- extensionList,
831
- });
832
- return { kind: "none" };
833
- });
834
- //# sourceMappingURL=deployments.js.map
885
+ //# sourceMappingURL=deploy-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-helpers.js","sourceRoot":"","sources":["../../../src/commands/helpers/deploy-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,GACR,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EACN,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,qBAAqB,EAErB,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,IAAI,SAAS,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,iBAA8B;IAClE,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IACzC,MAAM,IAAI,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,CACT,wDAAwD,IAAI,KAAK;QAChE,0GAA0G,CAC3G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,MAAqB;IAErB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CACV,mCAAmC,OAAO,qDAAqD,CAC/F,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,CAAC,IAAI,CACV,yEAAyE,CACzE,CAAC;QACF,MAAM,CAAC,IAAI,CACV,8EAA8E;YAC7E,oFAAoF,CACrF,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC3B,OAAe,EACf,SAAiB;IAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC3B,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACjC,gCAAgC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,oDAAoD;QACpD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAYD;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC3D,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACrB,QAAgB,EAChB,QAAgB;IAKhB,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,uEAAuE;IACvE,OAAO,IAAI,EAAE,CAAC;QACb,8CAA8C;QAC9C,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACzC,CAAC;QAED,0DAA0D;QAC1D,IAAI,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACzC,CAAC;QAED,sDAAsD;QACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM;QACP,CAAC;QAED,oBAAoB;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU;YAAE,MAAM,CAAC,0BAA0B;QAC/D,UAAU,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IAC1D,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,IAAI,EAAE,CAAC;QACb,IAAI,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,UAAU,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU;YAAE,MAAM,CAAC,0BAA0B;QAC/D,UAAU,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAC5B,OAAe,EACf,YAA4B,EAAE,EAC9B,QAAiB,EACjB,EAAW,EACX,aAAsB,EACtB,KAAe,EACf,aAAiC,EACjC,iBAA+B,EAC/B,YAAuB,EACvB,YAAqB;IAErB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/B,qEAAqE;IACrE,oEAAoE;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,IAAI,EAAE,IAAI,aAAa,IAAI,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;YAClE,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,+DAA+D;QAC/D,2DAA2D;QAC3D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnD,SAAS,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;YAC9B,eAAe,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI;YACxC,oBAAoB,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI;YAC7C,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS;SACtC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,qDAAqD;QACrD,IAAI,EAAE,IAAI,aAAa,IAAI,SAAS,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAErC,oDAAoD;QACpD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAErC,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7B,+DAA+D;gBAC/D,IACC,EAAE;oBACF,aAAa;oBACb,SAAS,CAAC,EAAE,EAAE,GAAG,QAAQ,GAAG,EAAE,aAAa,CAAC,EAC3C,CAAC;oBACF,OAAO;gBACR,CAAC;gBACD,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACP,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/B,2DAA2D;gBAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO;gBACR,CAAC;gBACD,qBAAqB;gBACrB,IAAI,EAAE,IAAI,aAAa,IAAI,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;oBACnE,OAAO;gBACR,CAAC;gBACD,sEAAsE;gBACtE,IACC,CAAC,KAAK;oBACN,aAAa;oBACb,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EACzC,CAAC;oBACF,oDAAoD;oBACpD,IACC,YAAY;wBACZ,aAAa;wBACb,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,EAC/C,CAAC;wBACF,6CAA6C;wBAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACrB,OAAO;oBACR,CAAC;oBACD,IAAI,iBAAiB,EAAE,CAAC;wBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC9B,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;oBAChD,CAAC;oBACD,IAAI,YAAY,EAAE,CAAC;wBAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,CAAC;oBACD,OAAO;gBACR,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;gBAC3B,eAAe,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI;gBACxC,oBAAoB,EAAE,SAAS,CAAC,IAAI,KAAK,IAAI;gBAC7C,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS;aACtC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,qDAAqD;QACrD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,oBAAoB,CACnB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,EAAE,EACF,aAAa,EACb,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,CACZ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YACxC,oBAAoB,CACnB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,EAAE,EACF,aAAa,EACb,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,CACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAClC,SAAyB;IAEzB,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,IAAI,GAAG,EAAoB,CAAC,CAAC;IAEhC,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAiBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACvC,KAAe,EACf,KAAe,EACf,gBAAmC,qBAAqB;AACxD;qFACqF;AACrF,gBAAgB,GAAG,IAAI;IAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACd,+EAA+E,CAC/E,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,oEAAoE;IACpE,oDAAoD;IACpD,qEAAqE;IACrE,qCAAqC;IACrC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACJ,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACR,uDAAuD;YACvD,wDAAwD;YACxD,2DAA2D;YAC3D,sBAAsB;YACtB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACV,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,SAAS;QACV,CAAC;QAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACZ,6DAA6D;YAC7D,uDAAuD;YACvD,0DAA0D;YAC1D,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC;gBACJ,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACR,wBAAwB;YACzB,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,4BAA4B;IAC5B,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAE1C,gEAAgE;IAChE,8DAA8D;IAC9D,uEAAuE;IACvE,MAAM,YAAY,GAAG,gBAAgB;QACpC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC;IAER,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,oBAAoB,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,EAAE,EACF,aAAa,EACb,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,IAAI,SAAS,CACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC;YACJ,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACR,0DAA0D;YAC1D,+BAA+B;QAChC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CACd,YAAY,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,2CAA2C,YAAY,CAAC,MAAM,0BAA0B,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gFAAgF;YAClN,CAAC,CAAC,kDAAkD,CACrD,CAAC;IACH,CAAC;IAED,OAAO;QACN,SAAS,EAAE,OAAO;QAClB,iBAAiB;QACjB,YAAY;QACZ,cAAc;KACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,KAAe,EACf,OA0BC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,uEAAuE;IACvE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,qEAAqE;IAErE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,GACrD,wBAAwB,CACvB,KAAK,EACL,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,aAAa,IAAI,qBAAqB,EAC9C,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAChC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACjC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED,sEAAsE;IACtE,6DAA6D;IAC7D,MAAM,SAAS,GAAG,cAAc,CAAC;IAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,uCAAuC;IACvC,MAAM,QAAQ,GACb,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7E,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,+GAA+G;IAC/G,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,wCAAwC;QACxC,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,eAAe;YAAE,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe;YAAE,OAAO,CAAC,CAAC;QAEtD,6CAA6C;QAC7C,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,YAAY,KAAK,CAAC;oBAAE,OAAO,YAAY,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,oBAAoB;YAAE,OAAO,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,oBAAoB;YAAE,OAAO,CAAC,CAAC;QAEhE,kDAAkD;QAClD,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,YAAY,KAAK,CAAC;oBAAE,OAAO,YAAY,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,+CAA+C;QAC/C,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,oEAAoE;QACpE,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,mBAAmB,GACxB,mFAAmF,CAAC;QACrF,kEAAkE;QAClE,gEAAgE;QAChE,iEAAiE;QACjE,gBAAgB;QAChB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;YACnC,UAAU,CACT,0BAA0B,EAAE,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,UAAU,CACT,2GAA2G,CAC3G,CAAC;QACF,UAAU,CACT,uFAAuF,CACvF,CAAC;QACF,MAAM,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;IAE5D,2EAA2E;IAC3E,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3D,qEAAqE;IACrE,mEAAmE;IACnE,qEAAqE;IACrE,0DAA0D;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACP,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACX,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC5B,gEAAgE;YAChE,uEAAuE;YACvE,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;gBACpB,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,gCAAgC;YACjC,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,SAAS,iBAAiB,CAAC,IAAY;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,wEAAwE;IACxE,8DAA8D;IAC9D,8DAA8D;IAC9D,sBAAsB;IAEtB,qFAAqF;IACrF,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;QACzC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,yCAAyC;YACzC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;YACnD,MAAM,QAAQ,GACb,GAAG,KAAK,MAAM;gBACb,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,GAAG,KAAK,KAAK;oBACd,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,GAAG,KAAK,MAAM;wBACf,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,0BAA0B,CAAC;YACjC,oDAAoD;YACpD,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;gBACpD,IAAI,EAAE,QAAQ;aACd,CAAC,CAAC;QACJ,CAAC,CAAC;KACF,CAAC,CAAC;IAEH,mEAAmE;IACnE,gEAAgE;IAChE,oEAAoE;IACpE,iEAAiE;IACjE,0BAA0B;IAC1B,MAAM,OAAO,GAAG,GAAS,EAAE;QAC1B,aAAa,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,IAAI,MAAqC,CAAC;IAC1C,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,aAAa,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,8DAA8D;QAC9D,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,wDAAwD;QACxD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QACD,qBAAqB,CACpB,KAAK,EACL,SAAS,EACT,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,OAAO,KAAK,IAAI,CACxB,CAAC;QACF,8DAA8D;QAC9D,8DAA8D;QAC9D,8CAA8C;QAC9C,OAAO;IACR,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAYzE,2DAA2D;IAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC/C,MAAM,YAAY,GAAG;QACpB,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,IAAI,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,SAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,mBAAmB;gBAC5B,OAAO,EAAE,IAAI,CAAC,wBAAwB;gBACtC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBACzC,QAAQ;aACR,CAAC;QACH,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAC1C,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAC9B,CAAC;YACF,IAAI,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,UAAmB;gBACzB,EAAE,EAAE,GAAG,CAAC,oBAAoB,IAAI,GAAG;gBACnC,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;gBAC3B,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,QAAQ,EAAE,IAAI,GAAG;gBACjD,QAAQ;aACR,CAAC;QACH,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,uBAAgC;gBACtC,EAAE,EAAE,EAAE,CAAC,sBAAsB,IAAI,GAAG;gBACpC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,GAAG;gBAC1B,GAAG,EAAE,EAAE,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,GAAG;gBAClD,QAAQ;aACR,CAAC;QACH,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,MAAe;gBACrB,EAAE,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;gBAC5B,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,GAAG;gBACpC,QAAQ;aACR,CAAC;QACH,CAAC,CAAC;QACF,yDAAyD;QACzD,kDAAkD;QAClD,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,OAAO;gBACN,IAAI,EAAE,UAAmB;gBACzB,EAAE,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG;gBACzB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;gBAC3B,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,GAAG;gBACvC,QAAQ;aACR,CAAC;QACH,CAAC,CAAC;QACF,8DAA8D;QAC9D,+DAA+D;QAC/D,GAAG,SAAS;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,UAAmB;YACzB,EAAE,EAAE,GAAG;YACP,OAAO,EAAE,GAAY;YACrB,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;KACJ,CAAC;IAEF,MAAM,SAAS,GAAkB,YAAY,CAAC,GAAG,CAChD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,QAAQ;YAC3B,CAAC,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClI,CAAC,CAAC,GAAG,CAAC;QAEP,+EAA+E;QAC/E,MAAM,OAAO,GAAG,QAAQ,EAAE,YAAY;YACrC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAC/B,CAAC,EACD,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAC1C,IAAI,QAAQ,CAAC,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,kCAAkC;QAE5C,OAAO;YACN,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,GAAG;YACR,OAAO;SACP,CAAC;IACH,CAAC,CACD,CAAC;IAEF,uDAAuD;IACvD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,OAAO;QACP,GAAG;KACH,CAAC,CAAC,CAAC;IAEJ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC7B,KAAc,EACd,SAAyB,EACzB,MAAoC,EACpC,eAAyB,EACzB,mBAA6B,EAC7B,OAAiB;IAEjB,gFAAgF;IAChF,MAAM,GAAG,GAA4B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,aAAa,GAAG,YAAY,KAAK,kBAAkB,CAAC;IAC1D,MAAM,cAAc,GACnB,eAAe,IAAI,CAAC,mBAAmB,IAAI,aAAa,CAAC,CAAC;IAE3D,IAAI,OAAO,EAAE,CAAC;QACb,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC;QACb,CAAC;QACD,+DAA+D;QAC/D,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,kEAAkE;QAClE,qCAAqC;QACrC,MAAM,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAC5D,CAAC;IAED,iFAAiF;IACjF,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAsB,EAAE;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GACT,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAChE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;gBACnB,CAAC,CAAC,SAAS,CAAC;QAEf,IAAI,CAAC,IAAI,IAAI,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/C,kCAAkC;YAClC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClC,OAAO,0GAA0G,CAAC;YACnH,CAAC;QACF,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,cAAc;gBAClB,OAAO,oHAAoH,CAAC;YAC7H,KAAK,WAAW;gBACf,OAAO,gGAAgG,CAAC;YACzG,KAAK,cAAc;gBAClB,OAAO,8FAA8F,CAAC;YACvG,KAAK,YAAY;gBAChB,OAAO,yGAAyG,CAAC;YAClH,KAAK,WAAW;gBACf,OAAO,4FAA4F,CAAC;YACrG;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC,CAAC;IAEF,kEAAkE;IAClE,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,kBAAkB,GACvB,KAAK,YAAY,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO;QAC3E,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,iBAAiB,GACtB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,KAAK,GACV,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,iBAAiB;QACjB,wGAAwG,CAAC;IAE1G,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,yBAAyB;IACzB,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpD,kDAAkD;IAClD,IAAI,MAAM,EAAE,CAAC;QACZ,UAAU,CAAC,KAAK,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,UAAU,CAAC,4DAA4D,CAAC,CAAC;IAEzE,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO;IACR,CAAC;IACD,oEAAoE;IACpE,6DAA6D;IAC7D,wDAAwD;IACxD,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,MAAc;IAClD,kEAAkE;IAClE,MAAM,KAAK,GAAG,MAAM;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,qDAAqD;IACrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,kEAAkE;YAClE,WAAW,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC5B,KAAa,EACb,MAA0B,EAC1B,MAA0B,EAC1B,SAAyB;IAEzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;QAClC,IAAI,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CACT,sFAAsF,CACtF,CAAC;YACF,KAAK,CAAC,IAAI,CACT,0EAA0E,CAC1E,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CACT,0EAA0E,CAC1E,CAAC;QACH,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,KAAK,KAAK,WAAW,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CACT,2EAA2E,CAC3E,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACxE,CAAC;SAAM,IACN,KAAK,KAAK,iBAAiB;QAC3B,KAAK,KAAK,mBAAmB;QAC7B,MAAM,KAAK,GAAG;QACd,MAAM,KAAK,GAAG,EACb,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CACT,oEAAoE,CACpE,CAAC;IACH,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC3E,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5D,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,UAAU,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -5,15 +5,15 @@ import { type OwnerTypeEnum, type PermissionTypeEnum, type ResourceTypeEnum } fr
5
5
  /**
6
6
  * List all authorizations
7
7
  */
8
- export declare const listAuthorizationsCommand: import("../command-framework.ts").CommandHandler<"list", "authorization">;
8
+ export declare const listAuthorizationsCommand: import("../framework/command-framework.ts").CommandHandler<"list", "authorization">;
9
9
  /**
10
10
  * Search authorizations with filters
11
11
  */
12
- export declare const searchIdentityAuthorizationsCommand: import("../command-framework.ts").CommandHandler<"search", "authorization">;
12
+ export declare const searchIdentityAuthorizationsCommand: import("../framework/command-framework.ts").CommandHandler<"search", "authorization">;
13
13
  /**
14
14
  * Get a single authorization by key
15
15
  */
16
- export declare const getIdentityAuthorizationCommand: import("../command-framework.ts").CommandHandler<"get", "authorization">;
16
+ export declare const getIdentityAuthorizationCommand: import("../framework/command-framework.ts").CommandHandler<"get", "authorization">;
17
17
  /**
18
18
  * Validated inputs for creating an authorization.
19
19
  * All fields are guaranteed present and type-narrowed by
@@ -27,25 +27,12 @@ export interface CreateAuthorizationInput {
27
27
  resourceId: string;
28
28
  permissionTypes: PermissionTypeEnum[];
29
29
  }
30
- /**
31
- * Validate raw CLI options for the create authorization command.
32
- * Returns a fully validated and type-narrowed input object.
33
- * Exits with code 1 on invalid input.
34
- */
35
- export declare function validateCreateAuthorizationOptions(options: {
36
- profile?: string;
37
- ownerId?: string;
38
- ownerType?: string;
39
- resourceType?: string;
40
- resourceId?: string;
41
- permissions?: string;
42
- }): CreateAuthorizationInput;
43
30
  /**
44
31
  * Create a new authorization
45
32
  */
46
- export declare const createIdentityAuthorizationCommand: import("../command-framework.ts").CommandHandler<"create", "authorization">;
33
+ export declare const createIdentityAuthorizationCommand: import("../framework/command-framework.ts").CommandHandler<"create", "authorization">;
47
34
  /**
48
35
  * Delete an authorization by key
49
36
  */
50
- export declare const deleteIdentityAuthorizationCommand: import("../command-framework.ts").CommandHandler<"delete", "authorization">;
37
+ export declare const deleteIdentityAuthorizationCommand: import("../framework/command-framework.ts").CommandHandler<"delete", "authorization">;
51
38
  //# sourceMappingURL=identity-authorizations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-authorizations.d.ts","sourceRoot":"","sources":["../../src/commands/identity-authorizations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,KAAK,aAAa,EAElB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAErB,MAAM,qCAAqC,CAAC;AAU7C;;GAEG;AACH,eAAO,MAAM,yBAAyB,2EAqCrC,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,mCAAmC,6EAgD/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,0EAqB3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,wBAAwB,CAqB3B;AAED;;GAEG;AACH,eAAO,MAAM,kCAAkC,6EAmC9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,6EAsB9C,CAAC"}
1
+ {"version":3,"file":"identity-authorizations.d.ts","sourceRoot":"","sources":["../../src/commands/identity-authorizations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,KAAK,aAAa,EAElB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAErB,MAAM,qCAAqC,CAAC;AAS7C;;GAEG;AACH,eAAO,MAAM,yBAAyB,qFAqCrC,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,mCAAmC,uFAgD/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,oFAqB3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAqCD;;GAEG;AACH,eAAO,MAAM,kCAAkC,uFAmC9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,uFAsB9C,CAAC"}
@@ -2,16 +2,14 @@
2
2
  * Identity authorization commands
3
3
  */
4
4
  import { OwnerTypeEnum as OwnerTypeValues, PermissionTypeEnum as PermissionTypeValues, ResourceTypeEnum as ResourceTypeValues, } from "@camunda8/orchestration-cluster-api";
5
- import { fetchAllPages } from "../client.js";
6
- import { defineCommand, dryRun } from "../command-framework.js";
7
- import { requireCsvEnum, requireEnum, requireOption, } from "../command-validation.js";
8
- import { sortTableData } from "../logger.js";
5
+ import { fetchAllPages, sortTableData } from "../core/index.js";
6
+ import { defineCommand, requireCsvEnum, requireEnum, requireOption, } from "../framework/index.js";
9
7
  /**
10
8
  * List all authorizations
11
9
  */
12
10
  export const listAuthorizationsCommand = defineCommand("list", "authorization", async (ctx) => {
13
11
  const { client, profile, limit } = ctx;
14
- const dr = dryRun({
12
+ const dr = ctx.dryRun({
15
13
  command: "list authorizations",
16
14
  method: "POST",
17
15
  endpoint: "/authorizations/search",
@@ -51,7 +49,7 @@ export const searchIdentityAuthorizationsCommand = defineCommand("search", "auth
51
49
  if (flags.resourceId)
52
50
  filter.resourceIds = [flags.resourceId];
53
51
  const searchFilter = Object.keys(filter).length > 0 ? { filter } : {};
54
- const dr = dryRun({
52
+ const dr = ctx.dryRun({
55
53
  command: "search authorizations",
56
54
  method: "POST",
57
55
  endpoint: "/authorizations/search",
@@ -84,7 +82,7 @@ export const searchIdentityAuthorizationsCommand = defineCommand("search", "auth
84
82
  export const getIdentityAuthorizationCommand = defineCommand("get", "authorization", async (ctx, _flags, args) => {
85
83
  const { client, profile } = ctx;
86
84
  const authorizationKey = args.authorizationKey;
87
- const dr = dryRun({
85
+ const dr = ctx.dryRun({
88
86
  command: "get authorization",
89
87
  method: "GET",
90
88
  endpoint: `/authorizations/${authorizationKey}`,
@@ -100,7 +98,7 @@ export const getIdentityAuthorizationCommand = defineCommand("get", "authorizati
100
98
  * Returns a fully validated and type-narrowed input object.
101
99
  * Exits with code 1 on invalid input.
102
100
  */
103
- export function validateCreateAuthorizationOptions(options) {
101
+ function validateCreateAuthorizationOptions(options) {
104
102
  return {
105
103
  profile: options.profile,
106
104
  ownerId: requireOption(options.ownerId, "ownerId"),
@@ -130,7 +128,7 @@ export const createIdentityAuthorizationCommand = defineCommand("create", "autho
130
128
  resourceId: validated.resourceId,
131
129
  permissionTypes: validated.permissionTypes,
132
130
  };
133
- const dr = dryRun({
131
+ const dr = ctx.dryRun({
134
132
  command: "create authorization",
135
133
  method: "POST",
136
134
  endpoint: "/authorizations",
@@ -148,7 +146,7 @@ export const createIdentityAuthorizationCommand = defineCommand("create", "autho
148
146
  export const deleteIdentityAuthorizationCommand = defineCommand("delete", "authorization", async (ctx, _flags, args) => {
149
147
  const { client, profile } = ctx;
150
148
  const authorizationKey = args.authorizationKey;
151
- const dr = dryRun({
149
+ const dr = ctx.dryRun({
152
150
  command: "delete authorization",
153
151
  method: "DELETE",
154
152
  endpoint: `/authorizations/${encodeURIComponent(String(authorizationKey))}`,