@clr/angular 17.13.0 → 18.0.0-beta.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 (1195) hide show
  1. package/README.md +1 -5
  2. package/fesm2022/clr-angular-accordion.mjs +355 -0
  3. package/fesm2022/clr-angular-accordion.mjs.map +1 -0
  4. package/fesm2022/clr-angular-button.mjs +713 -0
  5. package/fesm2022/clr-angular-button.mjs.map +1 -0
  6. package/fesm2022/clr-angular-collapsible-panel.mjs +201 -0
  7. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -0
  8. package/fesm2022/clr-angular-data-datagrid.mjs +7593 -0
  9. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -0
  10. package/fesm2022/clr-angular-data-stack-view.mjs +442 -0
  11. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -0
  12. package/fesm2022/clr-angular-data-tree-view.mjs +1106 -0
  13. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -0
  14. package/fesm2022/clr-angular-data.mjs +40 -0
  15. package/fesm2022/clr-angular-data.mjs.map +1 -0
  16. package/fesm2022/clr-angular-emphasis-alert.mjs +624 -0
  17. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -0
  18. package/fesm2022/clr-angular-emphasis-badge.mjs +69 -0
  19. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -0
  20. package/fesm2022/clr-angular-emphasis-common.mjs +25 -0
  21. package/fesm2022/clr-angular-emphasis-common.mjs.map +1 -0
  22. package/fesm2022/clr-angular-emphasis-label.mjs +105 -0
  23. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -0
  24. package/fesm2022/clr-angular-emphasis.mjs +41 -0
  25. package/fesm2022/clr-angular-emphasis.mjs.map +1 -0
  26. package/fesm2022/clr-angular-forms-checkbox.mjs +270 -0
  27. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -0
  28. package/fesm2022/clr-angular-forms-combobox.mjs +1775 -0
  29. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
  30. package/fesm2022/clr-angular-forms-common.mjs +1240 -0
  31. package/fesm2022/clr-angular-forms-common.mjs.map +1 -0
  32. package/fesm2022/clr-angular-forms-datalist.mjs +263 -0
  33. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -0
  34. package/fesm2022/clr-angular-forms-datepicker.mjs +3222 -0
  35. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -0
  36. package/fesm2022/clr-angular-forms-file-input.mjs +826 -0
  37. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -0
  38. package/fesm2022/clr-angular-forms-input.mjs +153 -0
  39. package/fesm2022/clr-angular-forms-input.mjs.map +1 -0
  40. package/fesm2022/clr-angular-forms-number-input.mjs +237 -0
  41. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -0
  42. package/fesm2022/clr-angular-forms-password.mjs +233 -0
  43. package/fesm2022/clr-angular-forms-password.mjs.map +1 -0
  44. package/fesm2022/clr-angular-forms-radio.mjs +231 -0
  45. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -0
  46. package/fesm2022/clr-angular-forms-range.mjs +186 -0
  47. package/fesm2022/clr-angular-forms-range.mjs.map +1 -0
  48. package/fesm2022/clr-angular-forms-select.mjs +153 -0
  49. package/fesm2022/clr-angular-forms-select.mjs.map +1 -0
  50. package/fesm2022/clr-angular-forms-textarea.mjs +136 -0
  51. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -0
  52. package/fesm2022/clr-angular-forms.mjs +100 -0
  53. package/fesm2022/clr-angular-forms.mjs.map +1 -0
  54. package/fesm2022/clr-angular-icon.mjs +7397 -0
  55. package/fesm2022/clr-angular-icon.mjs.map +1 -0
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +120 -0
  57. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -0
  58. package/fesm2022/clr-angular-layout-main-container.mjs +100 -0
  59. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -0
  60. package/fesm2022/clr-angular-layout-nav.mjs +582 -0
  61. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -0
  62. package/fesm2022/clr-angular-layout-tabs.mjs +807 -0
  63. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -0
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs +507 -0
  65. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -0
  66. package/fesm2022/clr-angular-layout.mjs +44 -0
  67. package/fesm2022/clr-angular-layout.mjs.map +1 -0
  68. package/fesm2022/clr-angular-modal.mjs +617 -0
  69. package/fesm2022/clr-angular-modal.mjs.map +1 -0
  70. package/fesm2022/clr-angular-popover-common.mjs +1093 -0
  71. package/fesm2022/clr-angular-popover-common.mjs.map +1 -0
  72. package/fesm2022/clr-angular-popover-dropdown.mjs +492 -0
  73. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -0
  74. package/fesm2022/clr-angular-popover-signpost.mjs +493 -0
  75. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -0
  76. package/fesm2022/clr-angular-popover-tooltip.mjs +293 -0
  77. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -0
  78. package/fesm2022/clr-angular-popover.mjs +41 -0
  79. package/fesm2022/clr-angular-popover.mjs.map +1 -0
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs +217 -0
  81. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -0
  82. package/fesm2022/clr-angular-progress-spinner.mjs +132 -0
  83. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -0
  84. package/fesm2022/clr-angular-stepper.mjs +688 -0
  85. package/fesm2022/clr-angular-stepper.mjs.map +1 -0
  86. package/fesm2022/clr-angular-timeline.mjs +316 -0
  87. package/fesm2022/clr-angular-timeline.mjs.map +1 -0
  88. package/fesm2022/clr-angular-utils-conditional.mjs +351 -0
  89. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -0
  90. package/fesm2022/clr-angular-utils-loading.mjs +107 -0
  91. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -0
  92. package/fesm2022/clr-angular-utils.mjs +2079 -0
  93. package/fesm2022/clr-angular-utils.mjs.map +1 -0
  94. package/fesm2022/clr-angular-wizard.mjs +3074 -0
  95. package/fesm2022/clr-angular-wizard.mjs.map +1 -0
  96. package/fesm2022/clr-angular.mjs +125 -0
  97. package/fesm2022/clr-angular.mjs.map +1 -0
  98. package/package.json +202 -18
  99. package/popover/common/README.md +112 -0
  100. package/schematics/collection.json +14 -0
  101. package/schematics/ng-update/index.d.ts +2 -0
  102. package/schematics/ng-update/index.js +69 -0
  103. package/schematics/ng-update/index.js.map +1 -0
  104. package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
  105. package/schematics/ng-update/migrations/css-migration.js +177 -0
  106. package/schematics/ng-update/migrations/css-migration.js.map +1 -0
  107. package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
  108. package/schematics/ng-update/migrations/import-migration.js +187 -0
  109. package/schematics/ng-update/migrations/import-migration.js.map +1 -0
  110. package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
  111. package/schematics/ng-update/migrations/template-migration.js +261 -0
  112. package/schematics/ng-update/migrations/template-migration.js.map +1 -0
  113. package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
  114. package/schematics/ng-update/replacements/css-replacements.js +74 -0
  115. package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
  116. package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
  117. package/schematics/ng-update/replacements/import-replacements.js +108 -0
  118. package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
  119. package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
  120. package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
  121. package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
  122. package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
  123. package/schematics/ng-update/replacements/template-replacements.js +57 -0
  124. package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
  125. package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
  126. package/schematics/ng-update/tests/test-helpers.js +34 -0
  127. package/schematics/ng-update/tests/test-helpers.js.map +1 -0
  128. package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
  129. package/schematics/ng-update/utils/file-visitor.js +44 -0
  130. package/schematics/ng-update/utils/file-visitor.js.map +1 -0
  131. package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
  132. package/schematics/ng-update/utils/regexp-utils.js +34 -0
  133. package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
  134. package/schematics/vitest.config.d.ts +2 -0
  135. package/schematics/vitest.config.js +17 -0
  136. package/schematics/vitest.config.js.map +1 -0
  137. package/types/clr-angular-accordion.d.ts +100 -0
  138. package/types/clr-angular-button.d.ts +169 -0
  139. package/types/clr-angular-collapsible-panel.d.ts +73 -0
  140. package/types/clr-angular-data-datagrid.d.ts +1840 -0
  141. package/types/clr-angular-data-stack-view.d.ts +87 -0
  142. package/types/clr-angular-data-tree-view.d.ts +229 -0
  143. package/types/clr-angular-data.d.ts +15 -0
  144. package/types/clr-angular-emphasis-alert.d.ts +175 -0
  145. package/types/clr-angular-emphasis-badge.d.ts +25 -0
  146. package/types/clr-angular-emphasis-common.d.ts +6 -0
  147. package/types/clr-angular-emphasis-label.d.ts +29 -0
  148. package/types/clr-angular-emphasis.d.ts +15 -0
  149. package/types/clr-angular-forms-checkbox.d.ts +69 -0
  150. package/types/clr-angular-forms-combobox.d.ts +353 -0
  151. package/types/clr-angular-forms-common.d.ts +336 -0
  152. package/types/clr-angular-forms-datalist.d.ts +59 -0
  153. package/types/clr-angular-forms-datepicker.d.ts +958 -0
  154. package/types/clr-angular-forms-file-input.d.ts +193 -0
  155. package/types/clr-angular-forms-input.d.ts +29 -0
  156. package/types/clr-angular-forms-number-input.d.ts +43 -0
  157. package/types/clr-angular-forms-password.d.ts +52 -0
  158. package/types/clr-angular-forms-radio.d.ts +50 -0
  159. package/types/clr-angular-forms-range.d.ts +37 -0
  160. package/types/clr-angular-forms-select.d.ts +36 -0
  161. package/types/clr-angular-forms-textarea.d.ts +29 -0
  162. package/types/clr-angular-forms.d.ts +36 -0
  163. package/types/clr-angular-icon.d.ts +1498 -0
  164. package/types/clr-angular-layout-breadcrumbs.d.ts +45 -0
  165. package/types/clr-angular-layout-main-container.d.ts +28 -0
  166. package/types/clr-angular-layout-nav.d.ts +142 -0
  167. package/types/clr-angular-layout-tabs.d.ts +158 -0
  168. package/types/clr-angular-layout-vertical-nav.d.ts +128 -0
  169. package/types/clr-angular-layout.d.ts +19 -0
  170. package/types/clr-angular-modal.d.ts +160 -0
  171. package/types/clr-angular-popover-common.d.ts +255 -0
  172. package/types/clr-angular-popover-dropdown.d.ts +123 -0
  173. package/types/clr-angular-popover-signpost.d.ts +157 -0
  174. package/types/clr-angular-popover-tooltip.d.ts +83 -0
  175. package/types/clr-angular-popover.d.ts +16 -0
  176. package/types/clr-angular-progress-progress-bars.d.ts +57 -0
  177. package/types/clr-angular-progress-spinner.d.ts +44 -0
  178. package/types/clr-angular-stepper.d.ts +179 -0
  179. package/types/clr-angular-timeline.d.ts +86 -0
  180. package/types/clr-angular-utils-conditional.d.ts +132 -0
  181. package/types/clr-angular-utils-loading.d.ts +38 -0
  182. package/types/clr-angular-utils.d.ts +913 -0
  183. package/types/clr-angular-wizard.d.ts +1508 -0
  184. package/types/clr-angular.d.ts +41 -0
  185. package/accordion/accordion-content.d.ts +0 -5
  186. package/accordion/accordion-description.d.ts +0 -5
  187. package/accordion/accordion-panel.d.ts +0 -45
  188. package/accordion/accordion-title.d.ts +0 -5
  189. package/accordion/accordion.d.ts +0 -20
  190. package/accordion/accordion.module.d.ts +0 -16
  191. package/accordion/chocolate/accordion-oompa-loompa.d.ts +0 -12
  192. package/accordion/chocolate/accordion-willy-wonka.d.ts +0 -6
  193. package/accordion/enums/accordion-status.enum.d.ts +0 -5
  194. package/accordion/enums/accordion-strategy.enum.d.ts +0 -4
  195. package/accordion/index.d.ts +0 -10
  196. package/accordion/models/accordion.model.d.ts +0 -27
  197. package/accordion/providers/accordion.service.d.ts +0 -17
  198. package/accordion/stepper/chocolate/stepper-oompa-loompa.d.ts +0 -12
  199. package/accordion/stepper/chocolate/stepper-willy-wonka.d.ts +0 -6
  200. package/accordion/stepper/index.d.ts +0 -4
  201. package/accordion/stepper/models/stepper.model.d.ts +0 -29
  202. package/accordion/stepper/providers/stepper.service.d.ts +0 -23
  203. package/accordion/stepper/step-button.d.ts +0 -21
  204. package/accordion/stepper/stepper-panel.d.ts +0 -28
  205. package/accordion/stepper/stepper.d.ts +0 -26
  206. package/accordion/stepper/stepper.module.d.ts +0 -14
  207. package/accordion/utils/animation.d.ts +0 -2
  208. package/button/button-group/button-group.d.ts +0 -60
  209. package/button/button-group/button-group.module.d.ts +0 -13
  210. package/button/button-group/button.d.ts +0 -40
  211. package/button/button-group/index.d.ts +0 -3
  212. package/button/button-loading/index.d.ts +0 -2
  213. package/button/button-loading/loading-button.d.ts +0 -17
  214. package/button/button-loading/loading-button.module.d.ts +0 -10
  215. package/button/button.module.d.ts +0 -9
  216. package/button/index.d.ts +0 -3
  217. package/button/providers/button-group-focus-handler.service.d.ts +0 -32
  218. package/button/providers/button-group-focus.enum.d.ts +0 -4
  219. package/button/providers/button-in-group.service.d.ts +0 -10
  220. package/clr-angular.module.d.ts +0 -25
  221. package/data/data.module.d.ts +0 -9
  222. package/data/datagrid/built-in/comparators/datagrid-property-comparator.d.ts +0 -7
  223. package/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.d.ts +0 -37
  224. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +0 -58
  225. package/data/datagrid/built-in/filters/datagrid-property-numeric-filter.d.ts +0 -8
  226. package/data/datagrid/built-in/filters/datagrid-property-string-filter.d.ts +0 -8
  227. package/data/datagrid/built-in/filters/datagrid-string-filter-impl.d.ts +0 -39
  228. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +0 -60
  229. package/data/datagrid/built-in/nested-property.d.ts +0 -10
  230. package/data/datagrid/chocolate/actionable-oompa-loompa.d.ts +0 -12
  231. package/data/datagrid/chocolate/datagrid-willy-wonka.d.ts +0 -6
  232. package/data/datagrid/chocolate/expandable-oompa-loompa.d.ts +0 -12
  233. package/data/datagrid/datagrid-action-bar.d.ts +0 -5
  234. package/data/datagrid/datagrid-action-overflow.d.ts +0 -28
  235. package/data/datagrid/datagrid-cell.d.ts +0 -21
  236. package/data/datagrid/datagrid-column-separator.d.ts +0 -36
  237. package/data/datagrid/datagrid-column-toggle-button.d.ts +0 -16
  238. package/data/datagrid/datagrid-column-toggle-trackby.d.ts +0 -6
  239. package/data/datagrid/datagrid-column-toggle.d.ts +0 -30
  240. package/data/datagrid/datagrid-column.d.ts +0 -92
  241. package/data/datagrid/datagrid-detail-body.d.ts +0 -5
  242. package/data/datagrid/datagrid-detail-header.d.ts +0 -14
  243. package/data/datagrid/datagrid-detail-registerer.d.ts +0 -9
  244. package/data/datagrid/datagrid-detail.d.ts +0 -17
  245. package/data/datagrid/datagrid-filter.d.ts +0 -40
  246. package/data/datagrid/datagrid-footer.d.ts +0 -17
  247. package/data/datagrid/datagrid-hideable-column.d.ts +0 -41
  248. package/data/datagrid/datagrid-if-detail.d.ts +0 -28
  249. package/data/datagrid/datagrid-if-expanded.service.d.ts +0 -18
  250. package/data/datagrid/datagrid-items.d.ts +0 -28
  251. package/data/datagrid/datagrid-page-size.d.ts +0 -13
  252. package/data/datagrid/datagrid-pagination.d.ts +0 -73
  253. package/data/datagrid/datagrid-placeholder.d.ts +0 -12
  254. package/data/datagrid/datagrid-row-detail.d.ts +0 -34
  255. package/data/datagrid/datagrid-row.d.ts +0 -109
  256. package/data/datagrid/datagrid-selection-cell.directive.d.ts +0 -9
  257. package/data/datagrid/datagrid-single-selection.directive.d.ts +0 -21
  258. package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +0 -80
  259. package/data/datagrid/datagrid.d.ts +0 -149
  260. package/data/datagrid/datagrid.module.d.ts +0 -60
  261. package/data/datagrid/enums/column-changes.enum.d.ts +0 -6
  262. package/data/datagrid/enums/display-mode.enum.d.ts +0 -4
  263. package/data/datagrid/enums/render-step.enum.d.ts +0 -7
  264. package/data/datagrid/enums/selection-type.d.ts +0 -5
  265. package/data/datagrid/enums/sort-order.enum.d.ts +0 -12
  266. package/data/datagrid/index.d.ts +0 -50
  267. package/data/datagrid/interfaces/column-state.interface.d.ts +0 -14
  268. package/data/datagrid/interfaces/comparator.interface.d.ts +0 -3
  269. package/data/datagrid/interfaces/filter.interface.d.ts +0 -8
  270. package/data/datagrid/interfaces/key-nav-grid-strategy.interface.d.ts +0 -11
  271. package/data/datagrid/interfaces/numeric-filter.interface.d.ts +0 -3
  272. package/data/datagrid/interfaces/state.interface.d.ts +0 -14
  273. package/data/datagrid/interfaces/string-filter.interface.d.ts +0 -3
  274. package/data/datagrid/interfaces/virtual-scroll-data-range.interface.d.ts +0 -5
  275. package/data/datagrid/providers/column-resizer.service.d.ts +0 -22
  276. package/data/datagrid/providers/column-state.provider.d.ts +0 -9
  277. package/data/datagrid/providers/columns.service.d.ts +0 -18
  278. package/data/datagrid/providers/custom-filter.d.ts +0 -2
  279. package/data/datagrid/providers/detail.service.d.ts +0 -28
  280. package/data/datagrid/providers/display-mode.service.d.ts +0 -14
  281. package/data/datagrid/providers/filters.d.ts +0 -44
  282. package/data/datagrid/providers/global-expandable-rows.d.ts +0 -16
  283. package/data/datagrid/providers/items.d.ts +0 -84
  284. package/data/datagrid/providers/page.d.ts +0 -62
  285. package/data/datagrid/providers/row-action-service.d.ts +0 -12
  286. package/data/datagrid/providers/selection.d.ts +0 -105
  287. package/data/datagrid/providers/sort.d.ts +0 -44
  288. package/data/datagrid/providers/state-debouncer.provider.d.ts +0 -14
  289. package/data/datagrid/providers/state.provider.d.ts +0 -24
  290. package/data/datagrid/providers/table-size.service.d.ts +0 -17
  291. package/data/datagrid/render/cell-renderer.d.ts +0 -18
  292. package/data/datagrid/render/constants.d.ts +0 -4
  293. package/data/datagrid/render/header-renderer.d.ts +0 -34
  294. package/data/datagrid/render/main-renderer.d.ts +0 -71
  295. package/data/datagrid/render/noop-dom-adapter.d.ts +0 -13
  296. package/data/datagrid/render/render-organizer.d.ts +0 -12
  297. package/data/datagrid/render/row-detail-renderer.d.ts +0 -11
  298. package/data/datagrid/render/row-renderer.d.ts +0 -17
  299. package/data/datagrid/utils/datagrid-filter-registrar.d.ts +0 -18
  300. package/data/datagrid/utils/key-navigation-grid.controller.d.ts +0 -32
  301. package/data/datagrid/utils/key-navigation-strategies/default.d.ts +0 -15
  302. package/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.d.ts +0 -12
  303. package/data/datagrid/utils/key-navigation-strategies/expanded-row.d.ts +0 -12
  304. package/data/datagrid/utils/key-navigation-utils.d.ts +0 -24
  305. package/data/datagrid/wrapped-cell.d.ts +0 -10
  306. package/data/datagrid/wrapped-column.d.ts +0 -10
  307. package/data/datagrid/wrapped-row.d.ts +0 -10
  308. package/data/index.d.ts +0 -4
  309. package/data/stack-view/index.d.ts +0 -6
  310. package/data/stack-view/stack-block.d.ts +0 -37
  311. package/data/stack-view/stack-content-input.d.ts +0 -6
  312. package/data/stack-view/stack-header.d.ts +0 -8
  313. package/data/stack-view/stack-view-custom-tags.d.ts +0 -15
  314. package/data/stack-view/stack-view.d.ts +0 -5
  315. package/data/stack-view/stack-view.module.d.ts +0 -18
  316. package/data/tree-view/index.d.ts +0 -6
  317. package/data/tree-view/models/async-array.d.ts +0 -3
  318. package/data/tree-view/models/declarative-tree-node.model.d.ts +0 -9
  319. package/data/tree-view/models/recursive-tree-node.model.d.ts +0 -18
  320. package/data/tree-view/models/selected-state.enum.d.ts +0 -5
  321. package/data/tree-view/models/tree-node.model.d.ts +0 -23
  322. package/data/tree-view/recursive-children.d.ts +0 -22
  323. package/data/tree-view/recursive-for-of.d.ts +0 -22
  324. package/data/tree-view/tree-features.service.d.ts +0 -22
  325. package/data/tree-view/tree-focus-manager.service.d.ts +0 -32
  326. package/data/tree-view/tree-node-link.d.ts +0 -10
  327. package/data/tree-view/tree-node.d.ts +0 -59
  328. package/data/tree-view/tree-view.module.d.ts +0 -17
  329. package/data/tree-view/tree.d.ts +0 -22
  330. package/emphasis/alert/alert-item.d.ts +0 -8
  331. package/emphasis/alert/alert-text.d.ts +0 -9
  332. package/emphasis/alert/alert.d.ts +0 -40
  333. package/emphasis/alert/alert.module.d.ts +0 -18
  334. package/emphasis/alert/alerts-pager.d.ts +0 -31
  335. package/emphasis/alert/alerts.d.ts +0 -32
  336. package/emphasis/alert/index.d.ts +0 -6
  337. package/emphasis/alert/providers/icon-and-types.service.d.ts +0 -18
  338. package/emphasis/alert/providers/multi-alert.service.d.ts +0 -28
  339. package/emphasis/alert/utils/alert-info-object.d.ts +0 -5
  340. package/emphasis/alert/utils/alert-types.d.ts +0 -1
  341. package/emphasis/emphasis.module.d.ts +0 -7
  342. package/emphasis/index.d.ts +0 -2
  343. package/esm2020/accordion/accordion-content.mjs +0 -21
  344. package/esm2020/accordion/accordion-description.mjs +0 -22
  345. package/esm2020/accordion/accordion-panel.mjs +0 -141
  346. package/esm2020/accordion/accordion-title.mjs +0 -22
  347. package/esm2020/accordion/accordion.mjs +0 -62
  348. package/esm2020/accordion/accordion.module.mjs +0 -56
  349. package/esm2020/accordion/chocolate/accordion-oompa-loompa.mjs +0 -34
  350. package/esm2020/accordion/chocolate/accordion-willy-wonka.mjs +0 -20
  351. package/esm2020/accordion/enums/accordion-status.enum.mjs +0 -13
  352. package/esm2020/accordion/enums/accordion-strategy.enum.mjs +0 -12
  353. package/esm2020/accordion/index.mjs +0 -17
  354. package/esm2020/accordion/models/accordion.model.mjs +0 -61
  355. package/esm2020/accordion/providers/accordion.service.mjs +0 -48
  356. package/esm2020/accordion/stepper/chocolate/stepper-oompa-loompa.mjs +0 -34
  357. package/esm2020/accordion/stepper/chocolate/stepper-willy-wonka.mjs +0 -20
  358. package/esm2020/accordion/stepper/index.mjs +0 -11
  359. package/esm2020/accordion/stepper/models/stepper.model.mjs +0 -146
  360. package/esm2020/accordion/stepper/providers/stepper.service.mjs +0 -75
  361. package/esm2020/accordion/stepper/step-button.mjs +0 -62
  362. package/esm2020/accordion/stepper/stepper-panel.mjs +0 -96
  363. package/esm2020/accordion/stepper/stepper.mjs +0 -105
  364. package/esm2020/accordion/stepper/stepper.module.mjs +0 -31
  365. package/esm2020/accordion/utils/animation.mjs +0 -31
  366. package/esm2020/button/button-group/button-group.mjs +0 -164
  367. package/esm2020/button/button-group/button-group.module.mjs +0 -28
  368. package/esm2020/button/button-group/button.mjs +0 -175
  369. package/esm2020/button/button-group/index.mjs +0 -10
  370. package/esm2020/button/button-loading/index.mjs +0 -9
  371. package/esm2020/button/button-loading/loading-button.mjs +0 -164
  372. package/esm2020/button/button-loading/loading-button.module.mjs +0 -25
  373. package/esm2020/button/button.module.mjs +0 -26
  374. package/esm2020/button/index.mjs +0 -10
  375. package/esm2020/button/providers/button-group-focus-handler.service.mjs +0 -97
  376. package/esm2020/button/providers/button-group-focus.enum.mjs +0 -12
  377. package/esm2020/button/providers/button-in-group.service.mjs +0 -26
  378. package/esm2020/clr-angular.mjs +0 -5
  379. package/esm2020/clr-angular.module.mjs +0 -93
  380. package/esm2020/data/data.module.mjs +0 -23
  381. package/esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs +0 -46
  382. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +0 -93
  383. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +0 -259
  384. package/esm2020/data/datagrid/built-in/filters/datagrid-property-numeric-filter.mjs +0 -28
  385. package/esm2020/data/datagrid/built-in/filters/datagrid-property-string-filter.mjs +0 -27
  386. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +0 -82
  387. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +0 -185
  388. package/esm2020/data/datagrid/built-in/nested-property.mjs +0 -38
  389. package/esm2020/data/datagrid/chocolate/actionable-oompa-loompa.mjs +0 -34
  390. package/esm2020/data/datagrid/chocolate/datagrid-willy-wonka.mjs +0 -20
  391. package/esm2020/data/datagrid/chocolate/expandable-oompa-loompa.mjs +0 -34
  392. package/esm2020/data/datagrid/datagrid-action-bar.mjs +0 -21
  393. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +0 -166
  394. package/esm2020/data/datagrid/datagrid-cell.mjs +0 -40
  395. package/esm2020/data/datagrid/datagrid-column-separator.mjs +0 -171
  396. package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +0 -65
  397. package/esm2020/data/datagrid/datagrid-column-toggle-trackby.mjs +0 -8
  398. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +0 -204
  399. package/esm2020/data/datagrid/datagrid-column.mjs +0 -420
  400. package/esm2020/data/datagrid/datagrid-detail-body.mjs +0 -31
  401. package/esm2020/data/datagrid/datagrid-detail-header.mjs +0 -67
  402. package/esm2020/data/datagrid/datagrid-detail-registerer.mjs +0 -37
  403. package/esm2020/data/datagrid/datagrid-detail.mjs +0 -98
  404. package/esm2020/data/datagrid/datagrid-filter.mjs +0 -186
  405. package/esm2020/data/datagrid/datagrid-footer.mjs +0 -78
  406. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +0 -106
  407. package/esm2020/data/datagrid/datagrid-if-detail.mjs +0 -96
  408. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +0 -55
  409. package/esm2020/data/datagrid/datagrid-items.mjs +0 -72
  410. package/esm2020/data/datagrid/datagrid-page-size.mjs +0 -63
  411. package/esm2020/data/datagrid/datagrid-pagination.mjs +0 -388
  412. package/esm2020/data/datagrid/datagrid-placeholder.mjs +0 -42
  413. package/esm2020/data/datagrid/datagrid-row-detail.mjs +0 -116
  414. package/esm2020/data/datagrid/datagrid-row.mjs +0 -372
  415. package/esm2020/data/datagrid/datagrid-selection-cell.directive.mjs +0 -37
  416. package/esm2020/data/datagrid/datagrid-single-selection.directive.mjs +0 -74
  417. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +0 -340
  418. package/esm2020/data/datagrid/datagrid.mjs +0 -556
  419. package/esm2020/data/datagrid/datagrid.module.mjs +0 -238
  420. package/esm2020/data/datagrid/enums/column-changes.enum.mjs +0 -16
  421. package/esm2020/data/datagrid/enums/display-mode.enum.mjs +0 -12
  422. package/esm2020/data/datagrid/enums/render-step.enum.mjs +0 -15
  423. package/esm2020/data/datagrid/enums/selection-type.mjs +0 -13
  424. package/esm2020/data/datagrid/enums/sort-order.enum.mjs +0 -20
  425. package/esm2020/data/datagrid/index.mjs +0 -56
  426. package/esm2020/data/datagrid/interfaces/column-state.interface.mjs +0 -8
  427. package/esm2020/data/datagrid/interfaces/comparator.interface.mjs +0 -8
  428. package/esm2020/data/datagrid/interfaces/filter.interface.mjs +0 -8
  429. package/esm2020/data/datagrid/interfaces/key-nav-grid-strategy.interface.mjs +0 -8
  430. package/esm2020/data/datagrid/interfaces/numeric-filter.interface.mjs +0 -8
  431. package/esm2020/data/datagrid/interfaces/state.interface.mjs +0 -8
  432. package/esm2020/data/datagrid/interfaces/string-filter.interface.mjs +0 -8
  433. package/esm2020/data/datagrid/interfaces/virtual-scroll-data-range.interface.mjs +0 -8
  434. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +0 -58
  435. package/esm2020/data/datagrid/providers/column-state.provider.mjs +0 -19
  436. package/esm2020/data/datagrid/providers/columns.service.mjs +0 -63
  437. package/esm2020/data/datagrid/providers/custom-filter.mjs +0 -9
  438. package/esm2020/data/datagrid/providers/detail.service.mjs +0 -76
  439. package/esm2020/data/datagrid/providers/display-mode.service.mjs +0 -36
  440. package/esm2020/data/datagrid/providers/filters.mjs +0 -112
  441. package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +0 -34
  442. package/esm2020/data/datagrid/providers/items.mjs +0 -177
  443. package/esm2020/data/datagrid/providers/page.mjs +0 -156
  444. package/esm2020/data/datagrid/providers/row-action-service.mjs +0 -31
  445. package/esm2020/data/datagrid/providers/selection.mjs +0 -365
  446. package/esm2020/data/datagrid/providers/sort.mjs +0 -86
  447. package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +0 -43
  448. package/esm2020/data/datagrid/providers/state.provider.mjs +0 -75
  449. package/esm2020/data/datagrid/providers/table-size.service.mjs +0 -45
  450. package/esm2020/data/datagrid/render/cell-renderer.mjs +0 -59
  451. package/esm2020/data/datagrid/render/constants.mjs +0 -13
  452. package/esm2020/data/datagrid/render/header-renderer.mjs +0 -117
  453. package/esm2020/data/datagrid/render/main-renderer.mjs +0 -285
  454. package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +0 -48
  455. package/esm2020/data/datagrid/render/render-organizer.mjs +0 -39
  456. package/esm2020/data/datagrid/render/row-detail-renderer.mjs +0 -31
  457. package/esm2020/data/datagrid/render/row-renderer.mjs +0 -62
  458. package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +0 -43
  459. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +0 -155
  460. package/esm2020/data/datagrid/utils/key-navigation-strategies/default.mjs +0 -132
  461. package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-columns-row.mjs +0 -129
  462. package/esm2020/data/datagrid/utils/key-navigation-strategies/expanded-row.mjs +0 -165
  463. package/esm2020/data/datagrid/utils/key-navigation-utils.mjs +0 -121
  464. package/esm2020/data/datagrid/wrapped-cell.mjs +0 -37
  465. package/esm2020/data/datagrid/wrapped-column.mjs +0 -38
  466. package/esm2020/data/datagrid/wrapped-row.mjs +0 -38
  467. package/esm2020/data/index.mjs +0 -11
  468. package/esm2020/data/stack-view/index.mjs +0 -13
  469. package/esm2020/data/stack-view/stack-block.mjs +0 -236
  470. package/esm2020/data/stack-view/stack-content-input.mjs +0 -27
  471. package/esm2020/data/stack-view/stack-header.mjs +0 -37
  472. package/esm2020/data/stack-view/stack-view-custom-tags.mjs +0 -57
  473. package/esm2020/data/stack-view/stack-view.mjs +0 -23
  474. package/esm2020/data/stack-view/stack-view.module.mjs +0 -53
  475. package/esm2020/data/tree-view/index.mjs +0 -13
  476. package/esm2020/data/tree-view/models/async-array.mjs +0 -11
  477. package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +0 -37
  478. package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +0 -77
  479. package/esm2020/data/tree-view/models/selected-state.enum.mjs +0 -17
  480. package/esm2020/data/tree-view/models/tree-node.model.mjs +0 -116
  481. package/esm2020/data/tree-view/recursive-children.mjs +0 -88
  482. package/esm2020/data/tree-view/recursive-for-of.mjs +0 -57
  483. package/esm2020/data/tree-view/tree-features.service.mjs +0 -38
  484. package/esm2020/data/tree-view/tree-focus-manager.service.mjs +0 -190
  485. package/esm2020/data/tree-view/tree-node-link.mjs +0 -30
  486. package/esm2020/data/tree-view/tree-node.mjs +0 -348
  487. package/esm2020/data/tree-view/tree-view.module.mjs +0 -35
  488. package/esm2020/data/tree-view/tree.mjs +0 -102
  489. package/esm2020/emphasis/alert/alert-item.mjs +0 -52
  490. package/esm2020/emphasis/alert/alert-text.mjs +0 -23
  491. package/esm2020/emphasis/alert/alert.mjs +0 -142
  492. package/esm2020/emphasis/alert/alert.module.mjs +0 -36
  493. package/esm2020/emphasis/alert/alerts-pager.mjs +0 -87
  494. package/esm2020/emphasis/alert/alerts.mjs +0 -102
  495. package/esm2020/emphasis/alert/index.mjs +0 -13
  496. package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +0 -90
  497. package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +0 -97
  498. package/esm2020/emphasis/alert/utils/alert-info-object.mjs +0 -8
  499. package/esm2020/emphasis/alert/utils/alert-types.mjs +0 -9
  500. package/esm2020/emphasis/emphasis.module.mjs +0 -21
  501. package/esm2020/emphasis/index.mjs +0 -9
  502. package/esm2020/forms/checkbox/checkbox-container.mjs +0 -136
  503. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +0 -70
  504. package/esm2020/forms/checkbox/checkbox.mjs +0 -53
  505. package/esm2020/forms/checkbox/checkbox.module.mjs +0 -33
  506. package/esm2020/forms/checkbox/index.mjs +0 -11
  507. package/esm2020/forms/combobox/combobox-container.mjs +0 -106
  508. package/esm2020/forms/combobox/combobox.mjs +0 -360
  509. package/esm2020/forms/combobox/combobox.module.mjs +0 -97
  510. package/esm2020/forms/combobox/index.mjs +0 -15
  511. package/esm2020/forms/combobox/model/combobox.model.mjs +0 -9
  512. package/esm2020/forms/combobox/model/multi-select-combobox.model.mjs +0 -82
  513. package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +0 -24
  514. package/esm2020/forms/combobox/model/single-select-combobox.model.mjs +0 -39
  515. package/esm2020/forms/combobox/option-group.mjs +0 -42
  516. package/esm2020/forms/combobox/option-items.directive.mjs +0 -110
  517. package/esm2020/forms/combobox/option-selected.directive.mjs +0 -25
  518. package/esm2020/forms/combobox/option.mjs +0 -103
  519. package/esm2020/forms/combobox/options.mjs +0 -156
  520. package/esm2020/forms/combobox/providers/combobox-container.service.mjs +0 -19
  521. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +0 -222
  522. package/esm2020/forms/combobox/providers/option-selection.service.mjs +0 -85
  523. package/esm2020/forms/common/abstract-container.mjs +0 -135
  524. package/esm2020/forms/common/abstract-control.mjs +0 -51
  525. package/esm2020/forms/common/common.module.mjs +0 -78
  526. package/esm2020/forms/common/control-container.mjs +0 -84
  527. package/esm2020/forms/common/control.mjs +0 -31
  528. package/esm2020/forms/common/error.mjs +0 -38
  529. package/esm2020/forms/common/form.mjs +0 -54
  530. package/esm2020/forms/common/helper.mjs +0 -37
  531. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +0 -46
  532. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +0 -57
  533. package/esm2020/forms/common/if-control-state/if-error.mjs +0 -75
  534. package/esm2020/forms/common/if-control-state/if-success.mjs +0 -48
  535. package/esm2020/forms/common/index.mjs +0 -21
  536. package/esm2020/forms/common/label.mjs +0 -102
  537. package/esm2020/forms/common/layout.mjs +0 -32
  538. package/esm2020/forms/common/providers/container-id.service.mjs +0 -39
  539. package/esm2020/forms/common/providers/control-class.service.mjs +0 -53
  540. package/esm2020/forms/common/providers/control-id.service.mjs +0 -32
  541. package/esm2020/forms/common/providers/focus.service.mjs +0 -26
  542. package/esm2020/forms/common/providers/layout.service.mjs +0 -58
  543. package/esm2020/forms/common/providers/mark-control.service.mjs +0 -26
  544. package/esm2020/forms/common/providers/ng-control.service.mjs +0 -53
  545. package/esm2020/forms/common/success.mjs +0 -38
  546. package/esm2020/forms/common/wrapped-control.mjs +0 -191
  547. package/esm2020/forms/datalist/datalist-container.mjs +0 -121
  548. package/esm2020/forms/datalist/datalist-input.mjs +0 -63
  549. package/esm2020/forms/datalist/datalist.mjs +0 -49
  550. package/esm2020/forms/datalist/datalist.module.mjs +0 -32
  551. package/esm2020/forms/datalist/index.mjs +0 -11
  552. package/esm2020/forms/datalist/providers/datalist-id.service.mjs +0 -32
  553. package/esm2020/forms/datepicker/calendar.mjs +0 -175
  554. package/esm2020/forms/datepicker/date-container.mjs +0 -365
  555. package/esm2020/forms/datepicker/date-end-input.mjs +0 -60
  556. package/esm2020/forms/datepicker/date-input.mjs +0 -294
  557. package/esm2020/forms/datepicker/date-input.validator.mjs +0 -100
  558. package/esm2020/forms/datepicker/date-single-input.mjs +0 -63
  559. package/esm2020/forms/datepicker/date-start-input.mjs +0 -61
  560. package/esm2020/forms/datepicker/datepicker-action-buttons.mjs +0 -59
  561. package/esm2020/forms/datepicker/datepicker-view-manager.mjs +0 -74
  562. package/esm2020/forms/datepicker/datepicker.module.mjs +0 -111
  563. package/esm2020/forms/datepicker/day.mjs +0 -145
  564. package/esm2020/forms/datepicker/daypicker.mjs +0 -81
  565. package/esm2020/forms/datepicker/index.mjs +0 -21
  566. package/esm2020/forms/datepicker/interfaces/date-range.interface.mjs +0 -8
  567. package/esm2020/forms/datepicker/interfaces/day-of-week.interface.mjs +0 -8
  568. package/esm2020/forms/datepicker/model/calendar-view.model.mjs +0 -182
  569. package/esm2020/forms/datepicker/model/calendar.model.mjs +0 -79
  570. package/esm2020/forms/datepicker/model/day-view.model.mjs +0 -25
  571. package/esm2020/forms/datepicker/model/day.model.mjs +0 -72
  572. package/esm2020/forms/datepicker/model/year-range.model.mjs +0 -61
  573. package/esm2020/forms/datepicker/monthpicker.mjs +0 -325
  574. package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +0 -37
  575. package/esm2020/forms/datepicker/providers/date-io.service.mjs +0 -195
  576. package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +0 -195
  577. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +0 -47
  578. package/esm2020/forms/datepicker/providers/datepicker-focus.service.mjs +0 -48
  579. package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +0 -102
  580. package/esm2020/forms/datepicker/providers/view-manager.service.mjs +0 -42
  581. package/esm2020/forms/datepicker/utils/constants.mjs +0 -38
  582. package/esm2020/forms/datepicker/utils/date-utils.mjs +0 -50
  583. package/esm2020/forms/datepicker/yearpicker.mjs +0 -304
  584. package/esm2020/forms/file-input/file-input-container.mjs +0 -245
  585. package/esm2020/forms/file-input/file-input-validator-errors.mjs +0 -8
  586. package/esm2020/forms/file-input/file-input-validator.mjs +0 -101
  587. package/esm2020/forms/file-input/file-input-value-accessor.mjs +0 -56
  588. package/esm2020/forms/file-input/file-input.helpers.mjs +0 -22
  589. package/esm2020/forms/file-input/file-input.mjs +0 -71
  590. package/esm2020/forms/file-input/file-input.module.mjs +0 -74
  591. package/esm2020/forms/file-input/file-list.mjs +0 -160
  592. package/esm2020/forms/file-input/file-messages-template.mjs +0 -26
  593. package/esm2020/forms/file-input/file-messages.mjs +0 -61
  594. package/esm2020/forms/file-input/index.mjs +0 -16
  595. package/esm2020/forms/forms.module.mjs +0 -73
  596. package/esm2020/forms/index.mjs +0 -21
  597. package/esm2020/forms/input/index.mjs +0 -10
  598. package/esm2020/forms/input/input-container.mjs +0 -92
  599. package/esm2020/forms/input/input.mjs +0 -40
  600. package/esm2020/forms/input/input.module.mjs +0 -33
  601. package/esm2020/forms/number-input/index.mjs +0 -10
  602. package/esm2020/forms/number-input/number-input-container.mjs +0 -148
  603. package/esm2020/forms/number-input/number-input.mjs +0 -79
  604. package/esm2020/forms/number-input/number-input.module.mjs +0 -32
  605. package/esm2020/forms/password/index.mjs +0 -10
  606. package/esm2020/forms/password/password-container.mjs +0 -180
  607. package/esm2020/forms/password/password.mjs +0 -64
  608. package/esm2020/forms/password/password.module.mjs +0 -32
  609. package/esm2020/forms/radio/index.mjs +0 -11
  610. package/esm2020/forms/radio/radio-container.mjs +0 -150
  611. package/esm2020/forms/radio/radio-wrapper.mjs +0 -44
  612. package/esm2020/forms/radio/radio.mjs +0 -29
  613. package/esm2020/forms/radio/radio.module.mjs +0 -33
  614. package/esm2020/forms/range/index.mjs +0 -10
  615. package/esm2020/forms/range/range-container.mjs +0 -137
  616. package/esm2020/forms/range/range.mjs +0 -30
  617. package/esm2020/forms/range/range.module.mjs +0 -32
  618. package/esm2020/forms/select/index.mjs +0 -10
  619. package/esm2020/forms/select/select-container.mjs +0 -114
  620. package/esm2020/forms/select/select.mjs +0 -31
  621. package/esm2020/forms/select/select.module.mjs +0 -32
  622. package/esm2020/forms/textarea/index.mjs +0 -10
  623. package/esm2020/forms/textarea/textarea-container.mjs +0 -84
  624. package/esm2020/forms/textarea/textarea.mjs +0 -31
  625. package/esm2020/forms/textarea/textarea.module.mjs +0 -32
  626. package/esm2020/icon/icon.mjs +0 -29
  627. package/esm2020/icon/icon.module.mjs +0 -25
  628. package/esm2020/icon/index.mjs +0 -9
  629. package/esm2020/index.mjs +0 -23
  630. package/esm2020/layout/breadcrumbs/breadcrumb-item.mjs +0 -24
  631. package/esm2020/layout/breadcrumbs/breadcrumbs.constants.mjs +0 -8
  632. package/esm2020/layout/breadcrumbs/breadcrumbs.mjs +0 -46
  633. package/esm2020/layout/breadcrumbs/breadcrumbs.module.mjs +0 -28
  634. package/esm2020/layout/breadcrumbs/index.mjs +0 -11
  635. package/esm2020/layout/breadcrumbs/model/breadcrumbs.model.mjs +0 -8
  636. package/esm2020/layout/index.mjs +0 -13
  637. package/esm2020/layout/layout.module.mjs +0 -25
  638. package/esm2020/layout/main-container/index.mjs +0 -9
  639. package/esm2020/layout/main-container/main-container.mjs +0 -62
  640. package/esm2020/layout/main-container/main-container.module.mjs +0 -26
  641. package/esm2020/layout/nav/aria-current-link.mjs +0 -32
  642. package/esm2020/layout/nav/chocolate/index.mjs +0 -9
  643. package/esm2020/layout/nav/chocolate/main-container-willy-wonka.mjs +0 -20
  644. package/esm2020/layout/nav/chocolate/nav-detection-oompa-loompa.mjs +0 -36
  645. package/esm2020/layout/nav/header.mjs +0 -154
  646. package/esm2020/layout/nav/index.mjs +0 -12
  647. package/esm2020/layout/nav/nav-level.mjs +0 -197
  648. package/esm2020/layout/nav/navigation.module.mjs +0 -45
  649. package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +0 -61
  650. package/esm2020/layout/nav/responsive-nav-codes.mjs +0 -21
  651. package/esm2020/layout/nav/responsive-nav-control-message.mjs +0 -19
  652. package/esm2020/layout/tabs/chocolate/active-oompa-loompa.mjs +0 -39
  653. package/esm2020/layout/tabs/chocolate/tabs-willy-wonka.mjs +0 -20
  654. package/esm2020/layout/tabs/enums/tabs-layout.enum.mjs +0 -12
  655. package/esm2020/layout/tabs/index.mjs +0 -17
  656. package/esm2020/layout/tabs/providers/tabs.service.mjs +0 -46
  657. package/esm2020/layout/tabs/tab-action.directive.mjs +0 -22
  658. package/esm2020/layout/tabs/tab-content.mjs +0 -87
  659. package/esm2020/layout/tabs/tab-link.directive.mjs +0 -105
  660. package/esm2020/layout/tabs/tab-overflow-content.mjs +0 -23
  661. package/esm2020/layout/tabs/tab.mjs +0 -47
  662. package/esm2020/layout/tabs/tabs-actions.mjs +0 -39
  663. package/esm2020/layout/tabs/tabs-id.provider.mjs +0 -17
  664. package/esm2020/layout/tabs/tabs.mjs +0 -327
  665. package/esm2020/layout/tabs/tabs.module.mjs +0 -67
  666. package/esm2020/layout/vertical-nav/index.mjs +0 -13
  667. package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +0 -25
  668. package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +0 -26
  669. package/esm2020/layout/vertical-nav/providers/vertical-nav-icon.service.mjs +0 -28
  670. package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +0 -55
  671. package/esm2020/layout/vertical-nav/vertical-nav-group-children.mjs +0 -20
  672. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +0 -162
  673. package/esm2020/layout/vertical-nav/vertical-nav-icon.mjs +0 -28
  674. package/esm2020/layout/vertical-nav/vertical-nav-link.mjs +0 -57
  675. package/esm2020/layout/vertical-nav/vertical-nav.mjs +0 -85
  676. package/esm2020/layout/vertical-nav/vertical-nav.module.mjs +0 -50
  677. package/esm2020/modal/index.mjs +0 -14
  678. package/esm2020/modal/modal-body.mjs +0 -65
  679. package/esm2020/modal/modal-configuration.service.mjs +0 -21
  680. package/esm2020/modal/modal-host.component.mjs +0 -29
  681. package/esm2020/modal/modal-stack.service.mjs +0 -53
  682. package/esm2020/modal/modal.mjs +0 -185
  683. package/esm2020/modal/modal.module.mjs +0 -33
  684. package/esm2020/modal/side-panel.mjs +0 -227
  685. package/esm2020/modal/side-panel.module.mjs +0 -28
  686. package/esm2020/popover/common/abstract-popover.mjs +0 -138
  687. package/esm2020/popover/common/popover-host-anchor.token.mjs +0 -9
  688. package/esm2020/popover/common/popover-options.interface.mjs +0 -8
  689. package/esm2020/popover/common/popover.mjs +0 -267
  690. package/esm2020/popover/dropdown/dropdown-item.mjs +0 -105
  691. package/esm2020/popover/dropdown/dropdown-menu.mjs +0 -115
  692. package/esm2020/popover/dropdown/dropdown-trigger.mjs +0 -51
  693. package/esm2020/popover/dropdown/dropdown.mjs +0 -53
  694. package/esm2020/popover/dropdown/dropdown.module.mjs +0 -30
  695. package/esm2020/popover/dropdown/index.mjs +0 -13
  696. package/esm2020/popover/dropdown/menu-positions.mjs +0 -17
  697. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +0 -186
  698. package/esm2020/popover/dropdown/providers/dropdown.service.mjs +0 -34
  699. package/esm2020/popover/index.mjs +0 -11
  700. package/esm2020/popover/popover.module.mjs +0 -23
  701. package/esm2020/popover/signpost/index.mjs +0 -12
  702. package/esm2020/popover/signpost/providers/signpost-focus-manager.service.mjs +0 -24
  703. package/esm2020/popover/signpost/providers/signpost-id.service.mjs +0 -26
  704. package/esm2020/popover/signpost/signpost-content.mjs +0 -179
  705. package/esm2020/popover/signpost/signpost-positions.mjs +0 -23
  706. package/esm2020/popover/signpost/signpost-title.mjs +0 -21
  707. package/esm2020/popover/signpost/signpost-trigger.mjs +0 -90
  708. package/esm2020/popover/signpost/signpost.mjs +0 -94
  709. package/esm2020/popover/signpost/signpost.module.mjs +0 -46
  710. package/esm2020/popover/tooltip/index.mjs +0 -11
  711. package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +0 -26
  712. package/esm2020/popover/tooltip/providers/tooltip-mouse.service.mjs +0 -44
  713. package/esm2020/popover/tooltip/tooltip-content.mjs +0 -135
  714. package/esm2020/popover/tooltip/tooltip-trigger.mjs +0 -62
  715. package/esm2020/popover/tooltip/tooltip.mjs +0 -29
  716. package/esm2020/popover/tooltip/tooltip.module.mjs +0 -29
  717. package/esm2020/progress/progress-bars/index.mjs +0 -9
  718. package/esm2020/progress/progress-bars/progress-bar.mjs +0 -177
  719. package/esm2020/progress/progress-bars/progress-bar.module.mjs +0 -25
  720. package/esm2020/progress/spinner/index.mjs +0 -9
  721. package/esm2020/progress/spinner/spinner.mjs +0 -95
  722. package/esm2020/progress/spinner/spinner.module.mjs +0 -25
  723. package/esm2020/timeline/enums/timeline-layout.enum.mjs +0 -12
  724. package/esm2020/timeline/enums/timeline-step-state.enum.mjs +0 -15
  725. package/esm2020/timeline/index.mjs +0 -15
  726. package/esm2020/timeline/interface/icon-attribute.interface.mjs +0 -8
  727. package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +0 -55
  728. package/esm2020/timeline/timeline-step-description.mjs +0 -21
  729. package/esm2020/timeline/timeline-step-header.mjs +0 -21
  730. package/esm2020/timeline/timeline-step-title.mjs +0 -31
  731. package/esm2020/timeline/timeline-step.mjs +0 -97
  732. package/esm2020/timeline/timeline.mjs +0 -36
  733. package/esm2020/timeline/timeline.module.mjs +0 -49
  734. package/esm2020/utils/animations/collapse/collapse.mjs +0 -17
  735. package/esm2020/utils/animations/collapse/index.mjs +0 -8
  736. package/esm2020/utils/animations/constants.mjs +0 -14
  737. package/esm2020/utils/animations/expandable-animation/base-expandable-animation.mjs +0 -46
  738. package/esm2020/utils/animations/expandable-animation/expandable-animation.directive.mjs +0 -56
  739. package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +0 -49
  740. package/esm2020/utils/animations/expandable-animation/expandable-animation.module.mjs +0 -26
  741. package/esm2020/utils/animations/expandable-animation/index.mjs +0 -12
  742. package/esm2020/utils/animations/fade/fade.mjs +0 -15
  743. package/esm2020/utils/animations/fade/index.mjs +0 -8
  744. package/esm2020/utils/animations/fade-slide/fade-slide.mjs +0 -31
  745. package/esm2020/utils/animations/fade-slide/index.mjs +0 -8
  746. package/esm2020/utils/animations/index.mjs +0 -12
  747. package/esm2020/utils/animations/slide/index.mjs +0 -8
  748. package/esm2020/utils/animations/slide/slide.mjs +0 -31
  749. package/esm2020/utils/assert/assert.helpers.mjs +0 -10
  750. package/esm2020/utils/breakpoints/breakpoints.mjs +0 -24
  751. package/esm2020/utils/cdk/cdk-drag.module.mjs +0 -58
  752. package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +0 -53
  753. package/esm2020/utils/chocolate/oompa-loompa.mjs +0 -33
  754. package/esm2020/utils/chocolate/willy-wonka.mjs +0 -37
  755. package/esm2020/utils/component/is-boolean-attribute-set.mjs +0 -19
  756. package/esm2020/utils/conditional/conditional.module.mjs +0 -27
  757. package/esm2020/utils/conditional/if-active.directive.mjs +0 -98
  758. package/esm2020/utils/conditional/if-active.service.mjs +0 -71
  759. package/esm2020/utils/conditional/if-expanded.directive.mjs +0 -96
  760. package/esm2020/utils/conditional/if-expanded.service.mjs +0 -60
  761. package/esm2020/utils/conditional/if-open.directive.mjs +0 -81
  762. package/esm2020/utils/conditional/index.mjs +0 -11
  763. package/esm2020/utils/destroy/destroy.service.mjs +0 -45
  764. package/esm2020/utils/destroy/index.mjs +0 -8
  765. package/esm2020/utils/dom-adapter/dom-adapter.mjs +0 -62
  766. package/esm2020/utils/enums/keys.enum.mjs +0 -33
  767. package/esm2020/utils/focus/arrow-key-direction.enum.mjs +0 -14
  768. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +0 -90
  769. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.module.mjs +0 -27
  770. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.provider.mjs +0 -15
  771. package/esm2020/utils/focus/focus-on-view-init/index.mjs +0 -10
  772. package/esm2020/utils/focus/focus-trap/index.mjs +0 -8
  773. package/esm2020/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.mjs +0 -35
  774. package/esm2020/utils/focus/focus.service.mjs +0 -95
  775. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +0 -55
  776. package/esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs +0 -17
  777. package/esm2020/utils/focus/focusable-item/focusable-item.mjs +0 -9
  778. package/esm2020/utils/focus/focusable-item/linkers.mjs +0 -35
  779. package/esm2020/utils/focus/key-focus/enums/focus-direction.enum.mjs +0 -13
  780. package/esm2020/utils/focus/key-focus/index.mjs +0 -9
  781. package/esm2020/utils/focus/key-focus/interfaces.mjs +0 -8
  782. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +0 -35
  783. package/esm2020/utils/focus/key-focus/key-focus.mjs +0 -199
  784. package/esm2020/utils/focus/key-focus/key-focus.module.mjs +0 -27
  785. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +0 -103
  786. package/esm2020/utils/focus/key-focus/util.mjs +0 -45
  787. package/esm2020/utils/focus/wrap-observable.mjs +0 -20
  788. package/esm2020/utils/forms/validation.mjs +0 -21
  789. package/esm2020/utils/host-wrapping/empty-anchor.mjs +0 -19
  790. package/esm2020/utils/host-wrapping/host-wrapper.mjs +0 -42
  791. package/esm2020/utils/host-wrapping/host-wrapping.module.mjs +0 -25
  792. package/esm2020/utils/i18n/common-strings.default.mjs +0 -137
  793. package/esm2020/utils/i18n/common-strings.interface.mjs +0 -8
  794. package/esm2020/utils/i18n/common-strings.service.mjs +0 -48
  795. package/esm2020/utils/i18n/index.mjs +0 -10
  796. package/esm2020/utils/id-generator/id-generator.service.mjs +0 -11
  797. package/esm2020/utils/index.mjs +0 -15
  798. package/esm2020/utils/loading/index.mjs +0 -10
  799. package/esm2020/utils/loading/loading-listener.mjs +0 -13
  800. package/esm2020/utils/loading/loading.mjs +0 -58
  801. package/esm2020/utils/loading/loading.module.mjs +0 -25
  802. package/esm2020/utils/outside-click/index.mjs +0 -10
  803. package/esm2020/utils/outside-click/outside-click.mjs +0 -49
  804. package/esm2020/utils/outside-click/outside-click.module.mjs +0 -25
  805. package/esm2020/utils/popover/enums/alignment.enum.mjs +0 -13
  806. package/esm2020/utils/popover/enums/axis.enum.mjs +0 -12
  807. package/esm2020/utils/popover/enums/positions.enum.mjs +0 -60
  808. package/esm2020/utils/popover/enums/side.enum.mjs +0 -12
  809. package/esm2020/utils/popover/enums/viewport-violation.enum.mjs +0 -14
  810. package/esm2020/utils/popover/index.mjs +0 -21
  811. package/esm2020/utils/popover/interfaces/popover-content-offset.interface.mjs +0 -8
  812. package/esm2020/utils/popover/interfaces/popover-position.interface.mjs +0 -8
  813. package/esm2020/utils/popover/interfaces/visibility-coords.interface.mjs +0 -8
  814. package/esm2020/utils/popover/popover-anchor.mjs +0 -26
  815. package/esm2020/utils/popover/popover-close-button.mjs +0 -52
  816. package/esm2020/utils/popover/popover-content.mjs +0 -161
  817. package/esm2020/utils/popover/popover-host.directive.mjs +0 -37
  818. package/esm2020/utils/popover/popover-open-close-button.mjs +0 -43
  819. package/esm2020/utils/popover/popover.module.mjs +0 -26
  820. package/esm2020/utils/popover/position-operators.mjs +0 -180
  821. package/esm2020/utils/popover/providers/popover-events.service.mjs +0 -142
  822. package/esm2020/utils/popover/providers/popover-position.service.mjs +0 -230
  823. package/esm2020/utils/popover/providers/popover-toggle.service.mjs +0 -75
  824. package/esm2020/utils/popover/stop-escape-propagation.directive.mjs +0 -43
  825. package/esm2020/utils/scrolling/scrolling-service.mjs +0 -31
  826. package/esm2020/utils/template-ref/index.mjs +0 -10
  827. package/esm2020/utils/template-ref/template-ref-container.mjs +0 -30
  828. package/esm2020/utils/template-ref/template-ref.module.mjs +0 -25
  829. package/esm2020/wizard/heading-level.mjs +0 -8
  830. package/esm2020/wizard/index.mjs +0 -20
  831. package/esm2020/wizard/providers/button-hub.service.mjs +0 -64
  832. package/esm2020/wizard/providers/header-actions.service.mjs +0 -36
  833. package/esm2020/wizard/providers/page-collection.service.mjs +0 -360
  834. package/esm2020/wizard/providers/wizard-navigation.service.mjs +0 -575
  835. package/esm2020/wizard/wizard-button.mjs +0 -188
  836. package/esm2020/wizard/wizard-header-action.mjs +0 -77
  837. package/esm2020/wizard/wizard-page-buttons.mjs +0 -22
  838. package/esm2020/wizard/wizard-page-header-actions.mjs +0 -22
  839. package/esm2020/wizard/wizard-page-navtitle.mjs +0 -22
  840. package/esm2020/wizard/wizard-page-title.mjs +0 -25
  841. package/esm2020/wizard/wizard-page.mjs +0 -652
  842. package/esm2020/wizard/wizard-stepnav-item.mjs +0 -204
  843. package/esm2020/wizard/wizard-stepnav.mjs +0 -55
  844. package/esm2020/wizard/wizard-title.mjs +0 -22
  845. package/esm2020/wizard/wizard.mjs +0 -535
  846. package/esm2020/wizard/wizard.module.mjs +0 -73
  847. package/fesm2015/clr-angular.mjs +0 -31534
  848. package/fesm2015/clr-angular.mjs.map +0 -1
  849. package/fesm2020/clr-angular.mjs +0 -31350
  850. package/fesm2020/clr-angular.mjs.map +0 -1
  851. package/forms/checkbox/checkbox-container.d.ts +0 -25
  852. package/forms/checkbox/checkbox-wrapper.d.ts +0 -22
  853. package/forms/checkbox/checkbox.d.ts +0 -20
  854. package/forms/checkbox/checkbox.module.d.ts +0 -14
  855. package/forms/checkbox/index.d.ts +0 -4
  856. package/forms/combobox/combobox-container.d.ts +0 -18
  857. package/forms/combobox/combobox.d.ts +0 -87
  858. package/forms/combobox/combobox.module.d.ts +0 -22
  859. package/forms/combobox/index.d.ts +0 -8
  860. package/forms/combobox/model/combobox.model.d.ts +0 -9
  861. package/forms/combobox/model/multi-select-combobox.model.d.ts +0 -12
  862. package/forms/combobox/model/pseudo-focus.model.d.ts +0 -7
  863. package/forms/combobox/model/single-select-combobox.model.d.ts +0 -10
  864. package/forms/combobox/option-group.d.ts +0 -9
  865. package/forms/combobox/option-items.directive.d.ts +0 -28
  866. package/forms/combobox/option-selected.directive.d.ts +0 -13
  867. package/forms/combobox/option.d.ts +0 -25
  868. package/forms/combobox/options.d.ts +0 -36
  869. package/forms/combobox/providers/combobox-container.service.d.ts +0 -7
  870. package/forms/combobox/providers/combobox-focus-handler.service.d.ts +0 -48
  871. package/forms/combobox/providers/option-selection.service.d.ts +0 -24
  872. package/forms/common/abstract-container.d.ts +0 -47
  873. package/forms/common/abstract-control.d.ts +0 -18
  874. package/forms/common/common.module.d.ts +0 -19
  875. package/forms/common/control-container.d.ts +0 -6
  876. package/forms/common/control.d.ts +0 -11
  877. package/forms/common/error.d.ts +0 -12
  878. package/forms/common/form.d.ts +0 -16
  879. package/forms/common/helper.d.ts +0 -12
  880. package/forms/common/if-control-state/abstract-if-state.d.ts +0 -18
  881. package/forms/common/if-control-state/if-control-state.service.d.ts +0 -17
  882. package/forms/common/if-control-state/if-error.d.ts +0 -19
  883. package/forms/common/if-control-state/if-success.d.ts +0 -16
  884. package/forms/common/index.d.ts +0 -14
  885. package/forms/common/label.d.ts +0 -32
  886. package/forms/common/layout.d.ts +0 -11
  887. package/forms/common/providers/container-id.service.d.ts +0 -18
  888. package/forms/common/providers/control-class.service.d.ts +0 -13
  889. package/forms/common/providers/control-id.service.d.ts +0 -11
  890. package/forms/common/providers/focus.service.d.ts +0 -9
  891. package/forms/common/providers/layout.service.d.ts +0 -23
  892. package/forms/common/providers/mark-control.service.d.ts +0 -9
  893. package/forms/common/providers/ng-control.service.d.ts +0 -27
  894. package/forms/common/success.d.ts +0 -12
  895. package/forms/common/wrapped-control.d.ts +0 -46
  896. package/forms/datalist/datalist-container.d.ts +0 -14
  897. package/forms/datalist/datalist-input.d.ts +0 -18
  898. package/forms/datalist/datalist.d.ts +0 -14
  899. package/forms/datalist/datalist.module.d.ts +0 -13
  900. package/forms/datalist/index.d.ts +0 -4
  901. package/forms/datalist/providers/datalist-id.service.d.ts +0 -11
  902. package/forms/datepicker/calendar.d.ts +0 -65
  903. package/forms/datepicker/date-container.d.ts +0 -72
  904. package/forms/datepicker/date-end-input.d.ts +0 -15
  905. package/forms/datepicker/date-input.d.ts +0 -67
  906. package/forms/datepicker/date-input.validator.d.ts +0 -27
  907. package/forms/datepicker/date-single-input.d.ts +0 -15
  908. package/forms/datepicker/date-start-input.d.ts +0 -15
  909. package/forms/datepicker/datepicker-action-buttons.d.ts +0 -16
  910. package/forms/datepicker/datepicker-view-manager.d.ts +0 -30
  911. package/forms/datepicker/datepicker.module.d.ts +0 -29
  912. package/forms/datepicker/day.d.ts +0 -40
  913. package/forms/datepicker/daypicker.d.ts +0 -44
  914. package/forms/datepicker/index.d.ts +0 -14
  915. package/forms/datepicker/interfaces/date-range.interface.d.ts +0 -13
  916. package/forms/datepicker/interfaces/day-of-week.interface.d.ts +0 -4
  917. package/forms/datepicker/model/calendar-view.model.d.ts +0 -74
  918. package/forms/datepicker/model/calendar.model.d.ts +0 -35
  919. package/forms/datepicker/model/day-view.model.d.ts +0 -16
  920. package/forms/datepicker/model/day.model.d.ts +0 -30
  921. package/forms/datepicker/model/year-range.model.d.ts +0 -34
  922. package/forms/datepicker/monthpicker.d.ts +0 -87
  923. package/forms/datepicker/providers/date-form-control.service.d.ts +0 -14
  924. package/forms/datepicker/providers/date-io.service.d.ts +0 -39
  925. package/forms/datepicker/providers/date-navigation.service.d.ts +0 -94
  926. package/forms/datepicker/providers/datepicker-enabled.service.d.ts +0 -15
  927. package/forms/datepicker/providers/datepicker-focus.service.d.ts +0 -16
  928. package/forms/datepicker/providers/locale-helper.service.d.ts +0 -46
  929. package/forms/datepicker/providers/view-manager.service.d.ts +0 -17
  930. package/forms/datepicker/utils/constants.d.ts +0 -24
  931. package/forms/datepicker/utils/date-utils.d.ts +0 -16
  932. package/forms/datepicker/yearpicker.d.ts +0 -78
  933. package/forms/file-input/file-input-container.d.ts +0 -27
  934. package/forms/file-input/file-input-validator-errors.d.ts +0 -52
  935. package/forms/file-input/file-input-validator.d.ts +0 -14
  936. package/forms/file-input/file-input-value-accessor.d.ts +0 -16
  937. package/forms/file-input/file-input.d.ts +0 -22
  938. package/forms/file-input/file-input.helpers.d.ts +0 -3
  939. package/forms/file-input/file-input.module.d.ts +0 -17
  940. package/forms/file-input/file-list.d.ts +0 -18
  941. package/forms/file-input/file-messages-template.d.ts +0 -19
  942. package/forms/file-input/file-messages.d.ts +0 -17
  943. package/forms/file-input/index.d.ts +0 -9
  944. package/forms/forms.module.d.ts +0 -20
  945. package/forms/index.d.ts +0 -14
  946. package/forms/input/index.d.ts +0 -3
  947. package/forms/input/input-container.d.ts +0 -6
  948. package/forms/input/input.d.ts +0 -11
  949. package/forms/input/input.module.d.ts +0 -13
  950. package/forms/number-input/index.d.ts +0 -3
  951. package/forms/number-input/number-input-container.d.ts +0 -17
  952. package/forms/number-input/number-input.d.ts +0 -22
  953. package/forms/number-input/number-input.module.d.ts +0 -13
  954. package/forms/password/index.d.ts +0 -3
  955. package/forms/password/password-container.d.ts +0 -32
  956. package/forms/password/password.d.ts +0 -16
  957. package/forms/password/password.module.d.ts +0 -13
  958. package/forms/radio/index.d.ts +0 -4
  959. package/forms/radio/radio-container.d.ts +0 -28
  960. package/forms/radio/radio-wrapper.d.ts +0 -9
  961. package/forms/radio/radio.d.ts +0 -10
  962. package/forms/radio/radio.module.d.ts +0 -14
  963. package/forms/range/index.d.ts +0 -3
  964. package/forms/range/range-container.d.ts +0 -22
  965. package/forms/range/range.d.ts +0 -10
  966. package/forms/range/range.module.d.ts +0 -13
  967. package/forms/select/index.d.ts +0 -3
  968. package/forms/select/select-container.d.ts +0 -20
  969. package/forms/select/select.d.ts +0 -11
  970. package/forms/select/select.module.d.ts +0 -13
  971. package/forms/textarea/index.d.ts +0 -3
  972. package/forms/textarea/textarea-container.d.ts +0 -6
  973. package/forms/textarea/textarea.d.ts +0 -11
  974. package/forms/textarea/textarea.module.d.ts +0 -13
  975. package/icon/icon.d.ts +0 -9
  976. package/icon/icon.module.d.ts +0 -10
  977. package/icon/index.d.ts +0 -2
  978. package/index.d.ts +0 -16
  979. package/layout/breadcrumbs/breadcrumb-item.d.ts +0 -5
  980. package/layout/breadcrumbs/breadcrumbs.constants.d.ts +0 -1
  981. package/layout/breadcrumbs/breadcrumbs.d.ts +0 -17
  982. package/layout/breadcrumbs/breadcrumbs.module.d.ts +0 -12
  983. package/layout/breadcrumbs/index.d.ts +0 -4
  984. package/layout/breadcrumbs/model/breadcrumbs.model.d.ts +0 -9
  985. package/layout/index.d.ts +0 -6
  986. package/layout/layout.module.d.ts +0 -11
  987. package/layout/main-container/index.d.ts +0 -2
  988. package/layout/main-container/main-container.d.ts +0 -17
  989. package/layout/main-container/main-container.module.d.ts +0 -11
  990. package/layout/nav/aria-current-link.d.ts +0 -13
  991. package/layout/nav/chocolate/index.d.ts +0 -2
  992. package/layout/nav/chocolate/main-container-willy-wonka.d.ts +0 -6
  993. package/layout/nav/chocolate/nav-detection-oompa-loompa.d.ts +0 -12
  994. package/layout/nav/header.d.ts +0 -31
  995. package/layout/nav/index.d.ts +0 -5
  996. package/layout/nav/nav-level.d.ts +0 -35
  997. package/layout/nav/navigation.module.d.ts +0 -16
  998. package/layout/nav/providers/responsive-navigation.service.d.ts +0 -18
  999. package/layout/nav/responsive-nav-codes.d.ts +0 -14
  1000. package/layout/nav/responsive-nav-control-message.d.ts +0 -7
  1001. package/layout/tabs/chocolate/active-oompa-loompa.d.ts +0 -13
  1002. package/layout/tabs/chocolate/tabs-willy-wonka.d.ts +0 -6
  1003. package/layout/tabs/enums/tabs-layout.enum.d.ts +0 -4
  1004. package/layout/tabs/index.d.ts +0 -11
  1005. package/layout/tabs/providers/tabs.service.d.ts +0 -16
  1006. package/layout/tabs/tab-action.directive.d.ts +0 -5
  1007. package/layout/tabs/tab-content.d.ts +0 -18
  1008. package/layout/tabs/tab-link.directive.d.ts +0 -25
  1009. package/layout/tabs/tab-overflow-content.d.ts +0 -5
  1010. package/layout/tabs/tab.d.ts +0 -17
  1011. package/layout/tabs/tabs-actions.d.ts +0 -7
  1012. package/layout/tabs/tabs-id.provider.d.ts +0 -7
  1013. package/layout/tabs/tabs.d.ts +0 -50
  1014. package/layout/tabs/tabs.module.d.ts +0 -23
  1015. package/layout/vertical-nav/index.d.ts +0 -6
  1016. package/layout/vertical-nav/providers/vertical-nav-group-registration.service.d.ts +0 -8
  1017. package/layout/vertical-nav/providers/vertical-nav-group.service.d.ts +0 -9
  1018. package/layout/vertical-nav/providers/vertical-nav-icon.service.d.ts +0 -9
  1019. package/layout/vertical-nav/providers/vertical-nav.service.d.ts +0 -17
  1020. package/layout/vertical-nav/vertical-nav-group-children.d.ts +0 -5
  1021. package/layout/vertical-nav/vertical-nav-group.d.ts +0 -32
  1022. package/layout/vertical-nav/vertical-nav-icon.d.ts +0 -10
  1023. package/layout/vertical-nav/vertical-nav-link.d.ts +0 -10
  1024. package/layout/vertical-nav/vertical-nav.d.ts +0 -28
  1025. package/layout/vertical-nav/vertical-nav.module.d.ts +0 -18
  1026. package/modal/index.d.ts +0 -7
  1027. package/modal/modal-body.d.ts +0 -22
  1028. package/modal/modal-configuration.service.d.ts +0 -7
  1029. package/modal/modal-host.component.d.ts +0 -5
  1030. package/modal/modal-stack.service.d.ts +0 -15
  1031. package/modal/modal.d.ts +0 -43
  1032. package/modal/modal.module.d.ts +0 -15
  1033. package/modal/side-panel.d.ts +0 -53
  1034. package/modal/side-panel.module.d.ts +0 -13
  1035. package/popover/common/abstract-popover.d.ts +0 -35
  1036. package/popover/common/popover-host-anchor.token.d.ts +0 -2
  1037. package/popover/common/popover-options.interface.d.ts +0 -7
  1038. package/popover/common/popover.d.ts +0 -30
  1039. package/popover/dropdown/dropdown-item.d.ts +0 -27
  1040. package/popover/dropdown/dropdown-menu.d.ts +0 -15
  1041. package/popover/dropdown/dropdown-trigger.d.ts +0 -16
  1042. package/popover/dropdown/dropdown.d.ts +0 -17
  1043. package/popover/dropdown/dropdown.module.d.ts +0 -15
  1044. package/popover/dropdown/index.d.ts +0 -6
  1045. package/popover/dropdown/menu-positions.d.ts +0 -1
  1046. package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +0 -49
  1047. package/popover/dropdown/providers/dropdown.service.d.ts +0 -16
  1048. package/popover/index.d.ts +0 -4
  1049. package/popover/popover.module.d.ts +0 -9
  1050. package/popover/signpost/index.d.ts +0 -5
  1051. package/popover/signpost/providers/signpost-focus-manager.service.d.ts +0 -8
  1052. package/popover/signpost/providers/signpost-id.service.d.ts +0 -9
  1053. package/popover/signpost/signpost-content.d.ts +0 -57
  1054. package/popover/signpost/signpost-positions.d.ts +0 -10
  1055. package/popover/signpost/signpost-title.d.ts +0 -5
  1056. package/popover/signpost/signpost-trigger.d.ts +0 -29
  1057. package/popover/signpost/signpost.d.ts +0 -27
  1058. package/popover/signpost/signpost.module.d.ts +0 -17
  1059. package/popover/tooltip/index.d.ts +0 -4
  1060. package/popover/tooltip/providers/tooltip-id.service.d.ts +0 -9
  1061. package/popover/tooltip/providers/tooltip-mouse.service.d.ts +0 -15
  1062. package/popover/tooltip/tooltip-content.d.ts +0 -25
  1063. package/popover/tooltip/tooltip-trigger.d.ts +0 -18
  1064. package/popover/tooltip/tooltip.d.ts +0 -6
  1065. package/popover/tooltip/tooltip.module.d.ts +0 -14
  1066. package/progress/progress-bars/index.d.ts +0 -2
  1067. package/progress/progress-bars/progress-bar.d.ts +0 -45
  1068. package/progress/progress-bars/progress-bar.module.d.ts +0 -10
  1069. package/progress/spinner/index.d.ts +0 -2
  1070. package/progress/spinner/spinner.d.ts +0 -32
  1071. package/progress/spinner/spinner.module.d.ts +0 -10
  1072. package/timeline/enums/timeline-layout.enum.d.ts +0 -4
  1073. package/timeline/enums/timeline-step-state.enum.d.ts +0 -7
  1074. package/timeline/index.d.ts +0 -8
  1075. package/timeline/interface/icon-attribute.interface.d.ts +0 -6
  1076. package/timeline/providers/timeline-icon-attribute.service.d.ts +0 -12
  1077. package/timeline/timeline-step-description.d.ts +0 -5
  1078. package/timeline/timeline-step-header.d.ts +0 -5
  1079. package/timeline/timeline-step-title.d.ts +0 -15
  1080. package/timeline/timeline-step.d.ts +0 -19
  1081. package/timeline/timeline.d.ts +0 -8
  1082. package/timeline/timeline.module.d.ts +0 -15
  1083. package/utils/animations/collapse/collapse.d.ts +0 -2
  1084. package/utils/animations/collapse/index.d.ts +0 -1
  1085. package/utils/animations/constants.d.ts +0 -2
  1086. package/utils/animations/expandable-animation/base-expandable-animation.d.ts +0 -16
  1087. package/utils/animations/expandable-animation/expandable-animation.d.ts +0 -16
  1088. package/utils/animations/expandable-animation/expandable-animation.directive.d.ts +0 -16
  1089. package/utils/animations/expandable-animation/expandable-animation.module.d.ts +0 -9
  1090. package/utils/animations/expandable-animation/index.d.ts +0 -4
  1091. package/utils/animations/fade/fade.d.ts +0 -2
  1092. package/utils/animations/fade/index.d.ts +0 -1
  1093. package/utils/animations/fade-slide/fade-slide.d.ts +0 -2
  1094. package/utils/animations/fade-slide/index.d.ts +0 -1
  1095. package/utils/animations/index.d.ts +0 -5
  1096. package/utils/animations/slide/index.d.ts +0 -1
  1097. package/utils/animations/slide/slide.d.ts +0 -2
  1098. package/utils/assert/assert.helpers.d.ts +0 -1
  1099. package/utils/breakpoints/breakpoints.d.ts +0 -15
  1100. package/utils/cdk/cdk-drag.module.d.ts +0 -25
  1101. package/utils/cdk/cdk-trap-focus.module.d.ts +0 -24
  1102. package/utils/chocolate/oompa-loompa.d.ts +0 -13
  1103. package/utils/chocolate/willy-wonka.d.ts +0 -11
  1104. package/utils/component/is-boolean-attribute-set.d.ts +0 -1
  1105. package/utils/conditional/conditional.module.d.ts +0 -12
  1106. package/utils/conditional/if-active.directive.d.ts +0 -38
  1107. package/utils/conditional/if-active.service.d.ts +0 -45
  1108. package/utils/conditional/if-expanded.directive.d.ts +0 -24
  1109. package/utils/conditional/if-expanded.service.d.ts +0 -20
  1110. package/utils/conditional/if-open.directive.d.ts +0 -36
  1111. package/utils/conditional/index.d.ts +0 -4
  1112. package/utils/destroy/destroy.service.d.ts +0 -32
  1113. package/utils/destroy/index.d.ts +0 -1
  1114. package/utils/dom-adapter/dom-adapter.d.ts +0 -12
  1115. package/utils/enums/keys.enum.d.ts +0 -24
  1116. package/utils/focus/arrow-key-direction.enum.d.ts +0 -6
  1117. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +0 -19
  1118. package/utils/focus/focus-on-view-init/focus-on-view-init.module.d.ts +0 -10
  1119. package/utils/focus/focus-on-view-init/focus-on-view-init.provider.d.ts +0 -6
  1120. package/utils/focus/focus-on-view-init/index.d.ts +0 -3
  1121. package/utils/focus/focus-trap/index.d.ts +0 -1
  1122. package/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.d.ts +0 -13
  1123. package/utils/focus/focus.service.d.ts +0 -26
  1124. package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +0 -20
  1125. package/utils/focus/focusable-item/custom-focusable-item-provider.d.ts +0 -6
  1126. package/utils/focus/focusable-item/focusable-item.d.ts +0 -12
  1127. package/utils/focus/focusable-item/linkers.d.ts +0 -13
  1128. package/utils/focus/key-focus/enums/focus-direction.enum.d.ts +0 -5
  1129. package/utils/focus/key-focus/index.d.ts +0 -2
  1130. package/utils/focus/key-focus/interfaces.d.ts +0 -5
  1131. package/utils/focus/key-focus/key-focus-item.d.ts +0 -11
  1132. package/utils/focus/key-focus/key-focus.d.ts +0 -44
  1133. package/utils/focus/key-focus/key-focus.module.d.ts +0 -10
  1134. package/utils/focus/key-focus/roving-tabindex.d.ts +0 -19
  1135. package/utils/focus/key-focus/util.d.ts +0 -3
  1136. package/utils/focus/wrap-observable.d.ts +0 -2
  1137. package/utils/forms/validation.d.ts +0 -2
  1138. package/utils/host-wrapping/empty-anchor.d.ts +0 -5
  1139. package/utils/host-wrapping/host-wrapper.d.ts +0 -11
  1140. package/utils/host-wrapping/host-wrapping.module.d.ts +0 -10
  1141. package/utils/i18n/common-strings.default.d.ts +0 -2
  1142. package/utils/i18n/common-strings.interface.d.ts +0 -309
  1143. package/utils/i18n/common-strings.service.d.ts +0 -21
  1144. package/utils/i18n/index.d.ts +0 -3
  1145. package/utils/id-generator/id-generator.service.d.ts +0 -1
  1146. package/utils/index.d.ts +0 -8
  1147. package/utils/loading/index.d.ts +0 -3
  1148. package/utils/loading/loading-listener.d.ts +0 -8
  1149. package/utils/loading/loading.d.ts +0 -20
  1150. package/utils/loading/loading.module.d.ts +0 -10
  1151. package/utils/outside-click/index.d.ts +0 -3
  1152. package/utils/outside-click/outside-click.d.ts +0 -11
  1153. package/utils/outside-click/outside-click.module.d.ts +0 -8
  1154. package/utils/popover/enums/alignment.enum.d.ts +0 -5
  1155. package/utils/popover/enums/axis.enum.d.ts +0 -4
  1156. package/utils/popover/enums/positions.enum.d.ts +0 -23
  1157. package/utils/popover/enums/side.enum.d.ts +0 -4
  1158. package/utils/popover/enums/viewport-violation.enum.d.ts +0 -6
  1159. package/utils/popover/index.d.ts +0 -14
  1160. package/utils/popover/interfaces/popover-content-offset.interface.d.ts +0 -4
  1161. package/utils/popover/interfaces/popover-position.interface.d.ts +0 -16
  1162. package/utils/popover/interfaces/visibility-coords.interface.d.ts +0 -6
  1163. package/utils/popover/popover-anchor.d.ts +0 -8
  1164. package/utils/popover/popover-close-button.d.ts +0 -17
  1165. package/utils/popover/popover-content.d.ts +0 -42
  1166. package/utils/popover/popover-host.directive.d.ts +0 -6
  1167. package/utils/popover/popover-open-close-button.d.ts +0 -13
  1168. package/utils/popover/popover.module.d.ts +0 -10
  1169. package/utils/popover/position-operators.d.ts +0 -10
  1170. package/utils/popover/providers/popover-events.service.d.ts +0 -34
  1171. package/utils/popover/providers/popover-position.service.d.ts +0 -24
  1172. package/utils/popover/providers/popover-toggle.service.d.ts +0 -28
  1173. package/utils/popover/stop-escape-propagation.directive.d.ts +0 -14
  1174. package/utils/scrolling/scrolling-service.d.ts +0 -9
  1175. package/utils/template-ref/index.d.ts +0 -3
  1176. package/utils/template-ref/template-ref-container.d.ts +0 -7
  1177. package/utils/template-ref/template-ref.module.d.ts +0 -8
  1178. package/wizard/heading-level.d.ts +0 -1
  1179. package/wizard/index.d.ts +0 -13
  1180. package/wizard/providers/button-hub.service.d.ts +0 -20
  1181. package/wizard/providers/header-actions.service.d.ts +0 -15
  1182. package/wizard/providers/page-collection.service.d.ts +0 -196
  1183. package/wizard/providers/wizard-navigation.service.d.ts +0 -366
  1184. package/wizard/wizard-button.d.ts +0 -28
  1185. package/wizard/wizard-header-action.d.ts +0 -12
  1186. package/wizard/wizard-page-buttons.d.ts +0 -8
  1187. package/wizard/wizard-page-header-actions.d.ts +0 -8
  1188. package/wizard/wizard-page-navtitle.d.ts +0 -8
  1189. package/wizard/wizard-page-title.d.ts +0 -10
  1190. package/wizard/wizard-page.d.ts +0 -494
  1191. package/wizard/wizard-stepnav-item.d.ts +0 -42
  1192. package/wizard/wizard-stepnav.d.ts +0 -9
  1193. package/wizard/wizard-title.d.ts +0 -7
  1194. package/wizard/wizard.d.ts +0 -259
  1195. package/wizard/wizard.module.d.ts +0 -22
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clr-angular-forms-combobox.mjs","sources":["../../../projects/angular/forms/combobox/providers/combobox-container.service.ts","../../../projects/angular/forms/combobox/combobox-container.ts","../../../projects/angular/forms/combobox/model/combobox.model.ts","../../../projects/angular/forms/combobox/model/multi-select-combobox.model.ts","../../../projects/angular/forms/combobox/model/single-select-combobox.model.ts","../../../projects/angular/forms/combobox/option-selected.directive.ts","../../../projects/angular/forms/combobox/model/pseudo-focus.model.ts","../../../projects/angular/forms/combobox/providers/option-selection.service.ts","../../../projects/angular/forms/combobox/providers/combobox-focus-handler.service.ts","../../../projects/angular/forms/combobox/option.ts","../../../projects/angular/forms/combobox/options.ts","../../../projects/angular/forms/combobox/combobox.ts","../../../projects/angular/forms/combobox/combobox.html","../../../projects/angular/forms/combobox/option-items.directive.ts","../../../projects/angular/forms/combobox/option-group.ts","../../../projects/angular/forms/combobox/combobox.module.ts","../../../projects/angular/forms/combobox/index.ts","../../../projects/angular/forms/combobox/clr-angular-forms-combobox.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ComboboxContainerService {\n labelOffset = 0;\n labelText: string;\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterContentInit, AfterViewInit, Component, ElementRef, Optional, ViewChild } from '@angular/core';\nimport {\n ClrAbstractContainer,\n ControlClassService,\n ControlIdService,\n LayoutService,\n NgControlService,\n} from '@clr/angular/forms/common';\n\nimport { ComboboxContainerService } from './providers/combobox-container.service';\n@Component({\n selector: 'clr-combobox-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"clr-control-container\" [ngClass]=\"controlClass()\" #controlContainer>\n <ng-content select=\"clr-combobox\"></ng-content>\n @if (showHelper) {\n <ng-content select=\"clr-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"clr-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"clr-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.clr-form-control]': 'true',\n '[class.clr-combobox-form-control]': 'true',\n '[class.clr-form-control-disabled]': 'control?.disabled',\n '[class.clr-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService, ComboboxContainerService],\n standalone: false,\n})\nexport class ClrComboboxContainer extends ClrAbstractContainer implements AfterContentInit, AfterViewInit {\n @ViewChild('controlContainer') controlContainer: ElementRef<HTMLElement>;\n\n constructor(\n @Optional() layoutService: LayoutService,\n controlClassService: ControlClassService,\n ngControlService: NgControlService,\n private containerService: ComboboxContainerService,\n public el: ElementRef<HTMLElement>\n ) {\n super(layoutService, controlClassService, ngControlService);\n }\n\n ngAfterContentInit() {\n if (this.label) {\n this.containerService.labelText = this.label.labelText;\n }\n }\n\n ngAfterViewInit() {\n this.containerService.labelOffset =\n this.controlContainer.nativeElement.offsetHeight - this.el.nativeElement.offsetHeight;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport type ClrComboboxIdentityFunction<T> = (item: T) => any;\n\nexport type ClrComboboxResolverFunction<T> = (input: string) => T;\n\nexport abstract class ComboboxModel<T> {\n model: T | T[];\n displayField?: string;\n identityFn: ClrComboboxIdentityFunction<T> = (item: T) => item;\n abstract containsItem(item: T): boolean;\n abstract select(item: T): void;\n abstract unselect(item: T): void;\n abstract toString(displayField?: string, index?: number): string;\n abstract isEmpty(): boolean;\n abstract pop(): T; // pops the last item\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ComboboxModel } from './combobox.model';\n\nexport class MultiSelectComboboxModel<T> extends ComboboxModel<T> {\n override model: T[];\n override displayField: string;\n\n containsItem(item: T): boolean {\n if (this.model === null || this.model === undefined) {\n return false;\n }\n return this.model.some(m => this.identityFn(m) === this.identityFn(item));\n }\n\n select(item: T): void {\n this.addItem(item);\n }\n\n unselect(item: T): void {\n this.removeItem(item);\n }\n\n isEmpty(): boolean {\n return !(this.model && this.model.length > 0);\n }\n\n pop(): T {\n let item;\n if (this.model && this.model.length > 0) {\n item = this.model[this.model.length - 1];\n this.removeItem(item);\n }\n return item;\n }\n\n toString(displayField?: string, index = -1): string {\n let displayString = '';\n\n if (this.model) {\n // If the model is array, we can use a specific item from it, to retrieve the display value.\n if (index > -1) {\n if (this.model[index]) {\n // If we have a defined display field, we'll use it's value as display value\n if (displayField && (this.model[index] as any)[displayField]) {\n displayString += (this.model[index] as any)[displayField];\n } else {\n // If we don't have a defined display field, we'll use the toString representation of the\n // item as display value.\n displayString += this.model[index].toString();\n }\n }\n } else {\n this.model.forEach((model: T) => {\n // If we have a defined display field, we'll use it's value as display value\n if (displayField && (model as any)[displayField]) {\n displayString += (model as any)[displayField];\n } else {\n // If we don't have a defined display field, we'll use the toString representation of the\n // model as display value.\n displayString += model.toString();\n }\n displayString += ' ';\n });\n }\n }\n\n return displayString.trim();\n }\n\n private addItem(item: T) {\n if (!this.containsItem(item)) {\n this.model = this.model || [];\n this.model.push(item);\n }\n }\n\n private removeItem(item: T) {\n if (this.model === null || this.model === undefined) {\n return;\n }\n\n const index = this.model.findIndex(m => this.identityFn(m) === this.identityFn(item));\n\n if (index > -1) {\n this.model.splice(index, 1);\n }\n\n // we intentionally set the model to null for form validation\n if (this.model.length === 0) {\n this.model = null;\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ComboboxModel } from './combobox.model';\n\nexport class SingleSelectComboboxModel<T> extends ComboboxModel<T> {\n override model: T;\n\n containsItem(item: T): boolean {\n if (this.model === null || this.model === undefined) {\n return false;\n }\n return this.identityFn(this.model) === this.identityFn(item);\n }\n\n select(item: T): void {\n this.model = item;\n }\n\n unselect(item: T): void {\n if (this.containsItem(item)) {\n this.model = null;\n }\n }\n\n isEmpty(): boolean {\n return !this.model;\n }\n\n pop(): T {\n const item = this.model;\n this.model = null;\n return item;\n }\n\n toString(displayField?: string): string {\n if (!this.model) {\n return '';\n }\n if (displayField && (this.model as any)[displayField]) {\n return (this.model as any)[displayField];\n } else {\n return this.model.toString();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[clrOptionSelected]',\n standalone: false,\n})\nexport class ClrOptionSelected<T> {\n @Input('clrOptionSelected') selected: T;\n\n constructor(public template: TemplateRef<{ $implicit: T }>) {}\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SingleSelectComboboxModel } from './single-select-combobox.model';\n\nexport class PseudoFocusModel<T> extends SingleSelectComboboxModel<T> {\n private _focusChanged = new BehaviorSubject<T>(null);\n get focusChanged(): Observable<T> {\n return this._focusChanged.asObservable();\n }\n\n override select(item: T): void {\n if (this.model !== item) {\n this.model = item;\n this._focusChanged.next(item);\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';\n\nimport { ClrComboboxIdentityFunction, ClrComboboxResolverFunction, ComboboxModel } from '../model/combobox.model';\nimport { MultiSelectComboboxModel } from '../model/multi-select-combobox.model';\n\n@Injectable()\nexport class OptionSelectionService<T> {\n loading = false;\n editable = false;\n showSelectAll = false;\n selectionModel: ComboboxModel<T>;\n inputChanged: Observable<string>;\n // Display all options on first open, even if filter text exists.\n // https://github.com/vmware-clarity/ng-clarity/issues/386\n showAllOptions = true;\n\n private _currentInput = '';\n private _displayField: string;\n private _inputChanged = new BehaviorSubject('');\n private _selectionChanged = new ReplaySubject<ComboboxModel<T>>(1);\n private _selectAllRequested = new Subject<void>();\n\n constructor() {\n this.inputChanged = this._inputChanged.asObservable();\n }\n\n get displayField() {\n return this._displayField;\n }\n set displayField(value: string) {\n this._displayField = value;\n if (this.selectionModel) {\n this.selectionModel.displayField = value;\n }\n }\n\n get currentInput(): string {\n return this._currentInput;\n }\n set currentInput(input) {\n // clear value in single selection model when input is empty\n if (input === '' && !this.multiselectable) {\n this.setSelectionValue(null);\n }\n this._currentInput = input;\n this._inputChanged.next(input);\n }\n\n // This observable is for notifying the ClrOption to update its\n // selection by comparing the value\n get selectionChanged(): Observable<ComboboxModel<T>> {\n return this._selectionChanged.asObservable();\n }\n\n get multiselectable(): boolean {\n return this.selectionModel instanceof MultiSelectComboboxModel;\n }\n\n get identityFn(): ClrComboboxIdentityFunction<T> {\n return this._identityFn;\n }\n\n set identityFn(value: ClrComboboxIdentityFunction<T>) {\n this._identityFn = value || ((item: T) => item);\n if (this.selectionModel) {\n this.selectionModel.identityFn = this._identityFn;\n }\n }\n\n get selectAllRequested(): Observable<void> {\n return this._selectAllRequested.asObservable();\n }\n\n requestSelectAll() {\n this._selectAllRequested.next();\n }\n\n editableResolver: ClrComboboxResolverFunction<T> = (input: string) => input as T;\n\n select(item: T) {\n if (item === null || item === undefined || this.selectionModel.containsItem(item)) {\n return;\n }\n this.selectionModel.select(item);\n this._selectionChanged.next(this.selectionModel);\n }\n\n toggle(item: T) {\n if (item === null || item === undefined) {\n return;\n }\n if (this.selectionModel.containsItem(item)) {\n this.selectionModel.unselect(item);\n } else {\n this.selectionModel.select(item);\n }\n this._selectionChanged.next(this.selectionModel);\n }\n\n selectMany(items: T[]) {\n let changed = false;\n for (const item of items) {\n if (!this.selectionModel.containsItem(item)) {\n this.selectionModel.select(item);\n changed = true;\n }\n }\n if (changed) {\n this._selectionChanged.next(this.selectionModel);\n }\n }\n\n unselectMany(items: T[]) {\n if (!this.selectionModel || this.selectionModel.isEmpty()) {\n return;\n }\n\n let changed = false;\n for (const item of items) {\n if (this.selectionModel.containsItem(item)) {\n this.selectionModel.unselect(item);\n changed = true;\n }\n }\n\n if (changed) {\n this._selectionChanged.next(this.selectionModel);\n }\n }\n\n unselect(item: T) {\n if (item === null || item === undefined || !this.selectionModel.containsItem(item)) {\n return;\n }\n this.selectionModel.unselect(item);\n this._selectionChanged.next(this.selectionModel);\n }\n\n /**\n * Checks whether all given items are currently selected, using identityFn for comparison.\n */\n containsAll(items: T[]): boolean {\n if (!items.length || this.selectionModel.isEmpty()) {\n return false;\n }\n return items.every(item => this.selectionModel.containsItem(item));\n }\n\n setSelectionValue(value: T | T[]): void {\n if (!this.selectionModel) {\n return;\n }\n\n const current = this.selectionModel.model;\n if (this.valuesEqualByIdentity(current, value)) {\n return;\n }\n\n this.selectionModel.model = value;\n this._selectionChanged.next(this.selectionModel);\n }\n\n private _identityFn: ClrComboboxIdentityFunction<T> = (item: T) => item;\n\n private valuesEqualByIdentity(current: T | T[], value: T | T[]): boolean {\n if (current === value) {\n return true;\n }\n // Check if both are null or undefined or empty string.\n if (\n (current === null || current === undefined || current === '') &&\n (value === null || value === undefined || value === '')\n ) {\n return true;\n }\n // Check if one is null or undefined or empty string and the other is not.\n if (\n current === null ||\n current === undefined ||\n current === '' ||\n value === null ||\n value === undefined ||\n value === ''\n ) {\n return false;\n }\n\n if (this.multiselectable) {\n const cur = current as T[];\n const val = value as T[];\n if (cur.length !== val.length) {\n return false;\n }\n // We only consider values equal if they are ordered the same way.\n const curIds = cur.map(this._identityFn);\n const valIds = val.map(this._identityFn);\n return curIds.every((id, i) => id === valIds[i]);\n } else {\n return this._identityFn(current as T) === this._identityFn(value as T);\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, PLATFORM_ID, Renderer2, RendererFactory2 } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport { ArrowKeyDirection, customFocusableItemProvider, Keys } from '@clr/angular/utils';\nimport { take } from 'rxjs/operators';\n\nimport { OptionSelectionService } from './option-selection.service';\nimport { PseudoFocusModel } from '../model/pseudo-focus.model';\nimport { SELECT_ALL_ID } from '../options';\n\n@Injectable()\nexport class ComboboxFocusHandler<T> {\n pseudoFocus: PseudoFocusModel<OptionData<T>> = new PseudoFocusModel<OptionData<T>>();\n\n private renderer: Renderer2;\n private _trigger: HTMLElement;\n private _listbox: HTMLElement;\n private _textInput: HTMLElement;\n private optionData: OptionData<T>[] = [];\n\n constructor(\n rendererFactory: RendererFactory2,\n private popoverService: ClrPopoverService,\n private selectionService: OptionSelectionService<T>,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.handleFocusSubscription();\n // Direct renderer injection can be problematic and leads to failing tests at least\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n\n get trigger() {\n return this._trigger;\n }\n set trigger(el: HTMLElement) {\n this._trigger = el;\n this.addFocusOnBlurListener(el);\n }\n\n get listbox() {\n return this._listbox;\n }\n set listbox(el: HTMLElement) {\n this._listbox = el;\n this.addFocusOnBlurListener(el);\n }\n\n get textInput() {\n return this._textInput;\n }\n set textInput(el: HTMLElement) {\n this._textInput = el;\n this.renderer.listen(el, 'keydown', event => !this.handleTextInput(event));\n this.addFocusOnBlurListener(el);\n }\n\n focusInput() {\n if (this.textInput && isPlatformBrowser(this.platformId)) {\n this.textInput.focus({ preventScroll: true });\n }\n }\n\n focusFirstActive() {\n if (this.optionData.length > 0) {\n if (this.selectionService.selectionModel.isEmpty()) {\n this.pseudoFocus.select(this.optionData[0]);\n } else {\n let firstActive: T;\n if (this.selectionService.multiselectable) {\n firstActive = (this.selectionService.selectionModel.model as T[])[0];\n } else {\n firstActive = this.selectionService.selectionModel.model as T;\n }\n const activeProxy = this.optionData.find(option => option.value === firstActive);\n if (activeProxy) {\n // active element is visible\n this.pseudoFocus.select(activeProxy);\n } else {\n // we have active element, but it's filtered out\n this.pseudoFocus.select(this.optionData[0]);\n }\n this.scrollIntoSelectedModel('auto');\n }\n }\n }\n\n addOptionValues(options: OptionData<T>[]) {\n this.optionData = options;\n }\n\n focusOption(option: OptionData<T>) {\n this.pseudoFocus.select(option);\n }\n\n private handleFocusSubscription() {\n this.popoverService.openChange.subscribe(open => {\n if (!open) {\n this.pseudoFocus.model = null;\n }\n });\n }\n\n private moveFocusTo(direction: ArrowKeyDirection) {\n let index = this.optionData.findIndex(option => option.equals(this.pseudoFocus.model));\n if (direction === ArrowKeyDirection.UP) {\n if (index === -1 || index === 0) {\n index = this.optionData.length - 1;\n } else {\n index--;\n }\n } else if (direction === ArrowKeyDirection.DOWN) {\n if (index === -1 || index === this.optionData.length - 1) {\n index = 0;\n } else {\n index++;\n }\n }\n this.pseudoFocus.select(this.optionData[index]);\n this.scrollIntoSelectedModel();\n }\n\n private openAndMoveTo(direction: ArrowKeyDirection) {\n if (!this.popoverService.open) {\n this.popoverService.openChange.pipe(take(1)).subscribe(open => {\n if (open) {\n this.moveFocusTo(direction);\n }\n });\n this.popoverService.open = true;\n } else {\n this.moveFocusTo(direction);\n }\n }\n\n // this service is only interested in keys that may move the focus\n private handleTextInput(event: KeyboardEvent): boolean {\n let preventDefault = false;\n const key = event.key;\n if (event) {\n switch (key) {\n case Keys.Enter:\n if (this.popoverService.open && this.pseudoFocus.model) {\n if (this.selectionService.multiselectable) {\n if (this.pseudoFocus.model.id === SELECT_ALL_ID) {\n this.selectionService.requestSelectAll();\n } else {\n this.selectionService.toggle(this.pseudoFocus.model.value);\n }\n } else {\n this.selectionService.select(this.pseudoFocus.model.value);\n }\n preventDefault = true;\n }\n break;\n case Keys.Space:\n if (!this.popoverService.open) {\n this.popoverService.open = true;\n preventDefault = true;\n }\n break;\n case Keys.ArrowUp:\n this.preventViewportScrolling(event);\n this.openAndMoveTo(ArrowKeyDirection.UP);\n preventDefault = true;\n break;\n case Keys.ArrowDown:\n this.preventViewportScrolling(event);\n this.openAndMoveTo(ArrowKeyDirection.DOWN);\n preventDefault = true;\n break;\n default:\n // Any other keypress\n if (\n event.key !== Keys.Tab &&\n !(this.selectionService.multiselectable && event.key === Keys.Backspace) &&\n !(event.key === Keys.Escape) &&\n !this.popoverService.open\n ) {\n this.popoverService.open = true;\n }\n break;\n }\n }\n return preventDefault;\n }\n\n private scrollIntoSelectedModel(behavior: ScrollBehavior = 'smooth') {\n if (this.pseudoFocus.model && this.pseudoFocus.model.el) {\n this.pseudoFocus.model.el.scrollIntoView({ behavior, block: 'center', inline: 'nearest' });\n }\n }\n\n private preventViewportScrolling(event: KeyboardEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n private addFocusOnBlurListener(el: HTMLElement) {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.listen(el, 'blur', event => {\n if (this.focusOutOfComponent(event)) {\n this.popoverService.open = false;\n }\n });\n }\n }\n\n private focusOutOfComponent(event: FocusEvent): boolean {\n const target = event.relatedTarget as Node;\n return !(this.textInput.contains(target) || this.trigger.contains(target) || this.listbox.contains(target));\n }\n}\n\nexport const COMBOBOX_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(ComboboxFocusHandler);\n\nexport class OptionData<T> {\n el: HTMLElement;\n\n constructor(\n public id: string,\n public value: T\n ) {}\n\n equals(other: OptionData<T>): boolean {\n if (!other) {\n return false;\n }\n return this.id === other.id && this.value === other.value;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ElementRef, HostBinding, HostListener, Input, OnInit } from '@angular/core';\nimport { ClrCommonStringsService, uniqueIdFactory } from '@clr/angular/utils';\n\nimport { ComboboxFocusHandler, OptionData as OptionProxy } from './providers/combobox-focus-handler.service';\nimport { OptionSelectionService } from './providers/option-selection.service';\n@Component({\n selector: 'clr-option',\n template: `\n <ng-content></ng-content>\n @if (selected) {\n <span class=\"clr-sr-only\">{{ commonStrings.keys.comboboxSelected }}</span>\n }\n `,\n host: {\n '[class.clr-combobox-option]': 'true',\n '[attr.role]': '\"option\"',\n // Do not remove. Or click-selection will not work.\n '[attr.tabindex]': '-1',\n '[attr.id]': 'optionId',\n },\n standalone: false,\n})\nexport class ClrOption<T> implements OnInit {\n // A proxy with only the necessary data to be used for a11y and the focus handler service.\n optionProxy: OptionProxy<T> = new OptionProxy(null, null);\n\n private _id: string;\n private _value: T;\n\n constructor(\n public elRef: ElementRef<HTMLElement>,\n public commonStrings: ClrCommonStringsService,\n private focusHandler: ComboboxFocusHandler<T>,\n private optionSelectionService: OptionSelectionService<T>\n ) {\n this.optionProxy.el = elRef.nativeElement;\n }\n\n @Input('id')\n get optionId() {\n return this._id;\n }\n set optionId(id: string) {\n this._id = id;\n this.optionProxy.id = this._id;\n }\n\n @Input('clrValue')\n get value(): T {\n return this._value;\n }\n set value(value: T) {\n this._value = value;\n this.optionProxy.value = value;\n }\n\n @HostBinding('class.active')\n get selected() {\n return (\n this.optionSelectionService.selectionModel && this.optionSelectionService.selectionModel.containsItem(this.value)\n );\n }\n\n @HostBinding('class.clr-focus')\n get focusClass() {\n return this.focusHandler.pseudoFocus.containsItem(this.optionProxy);\n }\n\n ngOnInit() {\n if (!this._id) {\n this._id = 'clr-option-' + uniqueIdFactory();\n this.optionProxy.id = this._id;\n }\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n event.stopPropagation();\n if (this.optionSelectionService.multiselectable) {\n this.optionSelectionService.toggle(this.value);\n } else {\n this.optionSelectionService.select(this.value);\n }\n // As the popover stays open in multi-select mode now, we have to take focus back to the input\n // This way we achieve two things:\n // - do not lose focus\n // - we're still able to use onBlur for \"outside-click\" handling\n this.focusHandler.focusOption(this.optionProxy);\n this.focusHandler.focusInput();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n DOCUMENT,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { ClrPopoverService, POPOVER_HOST_ORIGIN } from '@clr/angular/popover/common';\nimport { ClrCommonStringsService, ClrLoadingState, IF_ACTIVE_ID, LoadingListener } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { ClrOption } from './option';\nimport { ComboboxFocusHandler, OptionData } from './providers/combobox-focus-handler.service';\nimport { OptionSelectionService } from './providers/option-selection.service';\n\nlet nbOptionsComponents = 0;\n\nexport const SELECT_ALL_ID = 'select-all-id';\n\n@Component({\n selector: 'clr-options',\n template: `\n @if (optionSelectionService.loading) {\n <div class=\"clr-combobox-options-loading\">\n <clr-spinner clrInline>\n {{ commonStrings.keys.loading }}\n </clr-spinner>\n <span class=\"clr-combobox-options-text\">\n {{ searchText(optionSelectionService.currentInput) }}\n </span>\n </div>\n }\n\n @if (showSelectAll) {\n <div class=\"clr-combobox-select-all\">\n <button\n #selectAllBtn\n type=\"button\"\n tabindex=\"-1\"\n class=\"btn btn-link clr-combobox-select-all-btn clr-combobox-option\"\n [class.clr-focus]=\"isSelectAllFocused\"\n (click)=\"toggleSelectAll($event)\"\n >\n {{ allVisibleSelected ? commonStrings.keys.comboboxUnselectAll : commonStrings.keys.comboboxSelectAll }}\n </button>\n </div>\n }\n\n <!-- Rendered if data set is empty -->\n @if (emptyOptions) {\n <div [id]=\"noResultsElementId\" role=\"option\">\n <span class=\"clr-combobox-options-empty-text\">\n {{ commonStrings.keys.comboboxNoResults }}\n </span>\n </div>\n }\n\n <!--Option Groups and Options will be projected here-->\n <ng-content></ng-content>\n `,\n providers: [{ provide: LoadingListener, useExisting: ClrOptions }],\n host: {\n '[class.clr-combobox-options]': 'true',\n '[class.clr-combobox-options-multi]': 'optionSelectionService.multiselectable',\n '[class.clr-combobox-options-hidden]': 'emptyOptions && editable',\n '[attr.role]': '\"listbox\"',\n '[id]': 'optionsId',\n },\n standalone: false,\n})\nexport class ClrOptions<T> implements AfterViewInit, LoadingListener, OnDestroy {\n @Input('id') optionsId: string;\n\n loading = false;\n _items: QueryList<ClrOption<T>>;\n\n private subscriptions: Subscription[] = [];\n private _selectAllOption: OptionData<T>;\n\n constructor(\n public optionSelectionService: OptionSelectionService<T>,\n @Inject(IF_ACTIVE_ID) public id: number,\n public el: ElementRef<HTMLElement>,\n public commonStrings: ClrCommonStringsService,\n private focusHandler: ComboboxFocusHandler<T>,\n private popoverService: ClrPopoverService,\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) private document: any\n ) {\n if (!parentHost) {\n throw new Error('clr-options should only be used inside of a clr-combobox');\n }\n\n if (!this.optionsId) {\n this.optionsId = 'clr-options-' + nbOptionsComponents++;\n }\n }\n\n @ViewChild('selectAllBtn')\n set selectAllBtn(value: ElementRef) {\n if (value) {\n this._selectAllOption = new OptionData<T>(SELECT_ALL_ID, null);\n this._selectAllOption.el = value.nativeElement;\n } else {\n this._selectAllOption = null;\n }\n this.updateFocusableItems();\n }\n\n @ContentChildren(ClrOption, { descendants: true })\n get items(): QueryList<ClrOption<T>> {\n return this._items;\n }\n set items(items: QueryList<ClrOption<T>>) {\n this._items = items;\n this.updateFocusableItems();\n }\n\n /**\n * Tests if the list of options is empty, meaning it doesn't contain any items\n */\n get emptyOptions() {\n return !this.optionSelectionService.loading && this.items.length === 0;\n }\n\n get editable() {\n return this.optionSelectionService.editable;\n }\n\n get noResultsElementId() {\n return `${this.optionsId}-no-results`;\n }\n\n get showSelectAll(): boolean {\n return (\n this.optionSelectionService.showSelectAll &&\n this.optionSelectionService.multiselectable &&\n !this.optionSelectionService.loading &&\n this.items.length > 0\n );\n }\n\n get allVisibleSelected(): boolean {\n if (!this.items || this.items.length === 0) {\n return false;\n }\n return this.optionSelectionService.containsAll(this.items.map(option => option.value));\n }\n\n get isSelectAllFocused() {\n return this.focusHandler.pseudoFocus.model?.id === SELECT_ALL_ID;\n }\n\n toggleSelectAll(event: Event = null) {\n if (event) {\n event.stopPropagation();\n this.focusHandler.focusInput();\n }\n const visibleValues = this.items.map(option => option.value);\n\n if (this.allVisibleSelected) {\n this.optionSelectionService.unselectMany(visibleValues);\n } else {\n this.optionSelectionService.selectMany(visibleValues);\n }\n }\n\n ngAfterViewInit() {\n this.focusHandler.listbox = this.el.nativeElement;\n\n this.subscriptions.push(\n this.items.changes.subscribe(items => {\n if (items.length) {\n setTimeout(() => {\n this.focusHandler.focusFirstActive();\n });\n } else {\n this.focusHandler.pseudoFocus.pop();\n }\n }),\n this.optionSelectionService.selectAllRequested.subscribe(() => {\n this.toggleSelectAll();\n })\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n\n searchText(input: string) {\n return this.commonStrings.parse(this.commonStrings.keys.comboboxSearching, { INPUT: input });\n }\n\n loadingStateChange(state: ClrLoadingState): void {\n this.loading = state === ClrLoadingState.LOADING;\n }\n\n private updateFocusableItems() {\n const focusList: OptionData<T>[] = [];\n\n if (this._selectAllOption) {\n focusList.push(this._selectAllOption);\n }\n\n if (this._items) {\n const itemOptions = this._items.map(option => option.optionProxy);\n focusList.push(...itemOptions);\n }\n\n this.focusHandler.addOptionValues(focusList);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Inject,\n Injector,\n Input,\n NgZone,\n Optional,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n Self,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { WrappedFormControl } from '@clr/angular/forms/common';\nimport {\n ClrPopoverHostDirective,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n} from '@clr/angular/popover/common';\nimport {\n ClrCommonStringsService,\n ClrLoadingState,\n FOCUS_SERVICE_PROVIDER,\n IF_ACTIVE_ID_PROVIDER,\n Keys,\n LoadingListener,\n} from '@clr/angular/utils';\nimport { debounceTime, Subject } from 'rxjs';\n\nimport { ClrComboboxContainer } from './combobox-container';\nimport { ClrComboboxIdentityFunction, ClrComboboxResolverFunction, ComboboxModel } from './model/combobox.model';\nimport { MultiSelectComboboxModel } from './model/multi-select-combobox.model';\nimport { SingleSelectComboboxModel } from './model/single-select-combobox.model';\nimport { ClrOptionSelected } from './option-selected.directive';\nimport { ClrOptions } from './options';\nimport { ComboboxContainerService } from './providers/combobox-container.service';\nimport { COMBOBOX_FOCUS_HANDLER_PROVIDER, ComboboxFocusHandler } from './providers/combobox-focus-handler.service';\nimport { OptionSelectionService } from './providers/option-selection.service';\n\n@Component({\n selector: 'clr-combobox',\n templateUrl: './combobox.html',\n providers: [\n OptionSelectionService,\n { provide: LoadingListener, useExisting: ClrCombobox },\n IF_ACTIVE_ID_PROVIDER,\n FOCUS_SERVICE_PROVIDER,\n COMBOBOX_FOCUS_HANDLER_PROVIDER,\n ],\n hostDirectives: [ClrPopoverHostDirective],\n host: {\n '[class.aria-required]': 'true',\n '[class.clr-combobox]': 'true',\n '[class.clr-combobox-disabled]': 'control?.disabled',\n },\n standalone: false,\n})\nexport class ClrCombobox<T>\n extends WrappedFormControl<ClrComboboxContainer>\n implements ControlValueAccessor, LoadingListener, AfterContentInit\n{\n @Input('placeholder') placeholder = '';\n\n @Output('clrInputChange') clrInputChange = new EventEmitter<string>(false);\n @Output('clrOpenChange') clrOpenChange = this.popoverService.openChange;\n\n /**\n * This output should be used to set up a live region using aria-live and populate it with updates that reflect each combobox change.\n */\n @Output('clrSelectionChange') clrSelectionChange = this.optionSelectionService.selectionChanged;\n\n @ViewChild('textboxInput') textbox: ElementRef<HTMLInputElement>;\n @ViewChild('trigger') trigger: ElementRef<HTMLButtonElement>;\n @ContentChild(ClrOptionSelected) optionSelected: ClrOptionSelected<T>;\n\n @ViewChild('truncationButton') truncationButton: ElementRef;\n @ViewChild('wrapper', { static: true }) wrapper: ElementRef;\n @ViewChildren('pill') calculationPills: QueryList<ElementRef<HTMLElement>>;\n\n focused = false;\n\n popoverPosition = ClrPopoverPosition.BOTTOM_LEFT;\n\n protected override index = 1;\n\n protected popoverType = ClrPopoverType.DROPDOWN;\n\n protected containerWidth = null;\n protected selectionExpanded = false;\n protected calculatedLimit: number | undefined;\n protected shouldCalculate = true;\n protected isTotalSelection = false;\n\n private resizeObserver: ResizeObserver;\n private containerWidthChange = new Subject();\n @ContentChild(ClrOptions) private options: ClrOptions<T>;\n\n private _searchText = '';\n private onTouchedCallback: () => any;\n private onChangeCallback: (model: T | T[]) => any;\n\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n public control: NgControl,\n protected override renderer: Renderer2,\n protected override el: ElementRef<HTMLElement>,\n public optionSelectionService: OptionSelectionService<T>,\n public commonStrings: ClrCommonStringsService,\n private popoverService: ClrPopoverService,\n @Optional() private containerService: ComboboxContainerService,\n @Inject(PLATFORM_ID) private platformId: any,\n private focusHandler: ComboboxFocusHandler<T>,\n private cdr: ChangeDetectorRef,\n private zone: NgZone,\n @Optional() @Host() private container: ClrComboboxContainer\n ) {\n super(vcr, ClrComboboxContainer, injector, control, renderer, el);\n if (control) {\n control.valueAccessor = this;\n }\n\n // default to SingleSelectComboboxModel, in case the optional input [ClrMulti] isn't used\n this.multiSelect = false;\n }\n\n @Input({ alias: 'showSelectAll', transform: booleanAttribute })\n get showSelectAll() {\n return this.optionSelectionService.showSelectAll;\n }\n set showSelectAll(value: boolean) {\n this.optionSelectionService.showSelectAll = value;\n }\n\n @Input('clrEditable')\n get editable() {\n return this.optionSelectionService.editable;\n }\n set editable(value: boolean) {\n this.optionSelectionService.editable = value;\n }\n\n @Input('clrEditableResolverFn')\n set editableResolver(value: ClrComboboxResolverFunction<T> | undefined) {\n this.optionSelectionService.editableResolver = value;\n }\n\n @Input('clrComboboxIdentityFn')\n set identityFn(value: ClrComboboxIdentityFunction<T>) {\n this.optionSelectionService.identityFn = value;\n }\n\n @Input('clrMulti')\n get multiSelect() {\n return this.optionSelectionService.multiselectable;\n }\n set multiSelect(value: boolean | string) {\n if (value) {\n this.optionSelectionService.selectionModel = new MultiSelectComboboxModel<T>();\n } else {\n // in theory, setting this again should not cause errors even though we already set it in constructor,\n // since the initial call to writeValue (caused by [ngModel] input) should happen after this\n this.optionSelectionService.selectionModel = new SingleSelectComboboxModel<T>();\n }\n this.optionSelectionService.selectionModel.identityFn = this.optionSelectionService.identityFn;\n this.updateControlValue();\n }\n\n // Override the id of WrappedFormControl, as we want to move it to the embedded input.\n // Otherwise, the label/component connection does not work and screen readers do not read the label.\n override get id() {\n return this.controlIdService.id + '-combobox';\n }\n override set id(id: string) {\n super.id = id;\n }\n\n get searchText(): string {\n return this._searchText;\n }\n set searchText(text: string) {\n // if input text has changed since last time, fire a change event so application can react to it\n if (text !== this._searchText) {\n if (this.popoverService.open) {\n this.optionSelectionService.showAllOptions = false;\n }\n this._searchText = text;\n this.clrInputChange.emit(this.searchText);\n }\n // We need to trigger this even if unchanged, so the option-items directive will update its list\n // based on the \"showAllOptions\" variable which may have changed in the openChange subscription below.\n // The option-items directive does not listen to openChange, but it listens to currentInput changes.\n this.optionSelectionService.currentInput = this.searchText;\n }\n\n get openState(): boolean {\n return this.popoverService.open;\n }\n\n get multiSelectModel(): T[] {\n if (!this.multiSelect) {\n throw Error('multiSelectModel is not available in single selection context');\n }\n return (this.optionSelectionService.selectionModel as MultiSelectComboboxModel<T>).model;\n }\n\n get ariaControls(): string {\n return this.options?.optionsId;\n }\n\n get ariaOwns(): string {\n return this.options?.optionsId;\n }\n\n get ariaDescribedBySelection(): string {\n return 'selection-' + this.id;\n }\n\n get displayField(): string {\n return this.optionSelectionService.displayField;\n }\n\n get showAllText() {\n return this.commonStrings.parse(this.commonStrings.keys.comboboxShowAll, {\n ITEMS: this.multiSelectModel?.length.toString(),\n });\n }\n\n get allSelectedText() {\n return this.commonStrings.parse(this.commonStrings.keys.comboboxAllSelected, {\n ITEMS: this.multiSelectModel?.length.toString(),\n });\n }\n\n get showIndividualPills(): boolean {\n return !this.isTotalSelection || this.selectionExpanded;\n }\n\n get showTruncationToggle(): boolean {\n return (\n this.selectionExpanded ||\n this.isTotalSelection ||\n (this.calculatedLimit !== null && this.calculatedLimit < this.multiSelectModel.length)\n );\n }\n\n private get disabled() {\n return this.control?.disabled;\n }\n\n ngAfterContentInit() {\n this.initializeSubscriptions();\n\n // Initialize with preselected value\n if (!this.optionSelectionService.selectionModel.isEmpty()) {\n this.updateInputValue(this.optionSelectionService.selectionModel);\n }\n }\n\n ngAfterViewInit() {\n this.focusHandler.textInput = this.textbox.nativeElement;\n this.focusHandler.trigger = this.trigger.nativeElement;\n // The text input is the actual element we are wrapping\n // This assignment is needed by the wrapper, so it can set\n // the aria properties on the input element, not on the component.\n\n // We calculate on the initial load to prevent flickering\n this.el = this.textbox;\n if (this.showSelectAll) {\n if (this.multiSelect && this.multiSelectModel?.length > 0) {\n this.calculateLimit();\n }\n this.initialiseObserver();\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n clearSelection() {\n this.focusHandler.focusInput();\n // Clear the array model directly\n this.optionSelectionService.setSelectionValue([]);\n }\n\n @HostListener('keydown', ['$event'])\n onKeyUp(event: KeyboardEvent) {\n // if BACKSPACE in multiselect mode, delete the last pill if text is empty\n if (this.multiSelect) {\n const multiModel: T[] = this.optionSelectionService.selectionModel.model as T[];\n switch (event.key) {\n case Keys.Backspace:\n if (!this._searchText.length) {\n if (multiModel && multiModel.length > 0) {\n const lastItem: T = multiModel[multiModel.length - 1];\n this.control?.control.markAsTouched();\n this.optionSelectionService.unselect(lastItem);\n }\n }\n break;\n case Keys.Enter:\n if (this.editable && this._searchText.length > 0 && this.options.emptyOptions) {\n const parsedInput = this.optionSelectionService.editableResolver(this._searchText);\n this.control?.control.markAsTouched();\n this.optionSelectionService.select(parsedInput);\n this.searchText = '';\n }\n break;\n }\n }\n }\n\n inputId(): string {\n return this.controlIdService.id;\n }\n\n loadingStateChange(state: ClrLoadingState): void {\n this.optionSelectionService.loading = state === ClrLoadingState.LOADING;\n\n if (state !== ClrLoadingState.LOADING && isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n this.popoverService?.resetPositions();\n });\n this.focusFirstActive();\n }\n }\n\n unselect(item: T) {\n if (!this.disabled) {\n this.optionSelectionService.unselect(item);\n }\n }\n\n onBlur(event) {\n if (!event.relatedTarget || !this.options.el?.nativeElement.contains(event.relatedTarget)) {\n this.onTouchedCallback?.();\n this.triggerValidation();\n this.focused = false;\n }\n }\n\n onFocus() {\n this.focused = true;\n\n // fix for \"expression changed\" error when focus is returned to a combobox after a modal is closed\n // https://github.com/vmware-clarity/ng-clarity/issues/663\n this.cdr.detectChanges();\n }\n\n onChange() {\n if (this.editable && !this.multiSelect && this.options.emptyOptions) {\n const parsedInput = this.optionSelectionService.editableResolver(this._searchText);\n this.optionSelectionService.setSelectionValue(parsedInput);\n }\n }\n\n getSelectionAriaLabel() {\n if (this.containerService && this.containerService.labelText) {\n return `${this.containerService.labelText} ${this.commonStrings.keys.comboboxSelection}`;\n }\n return this.commonStrings.keys.comboboxSelection;\n }\n\n focusFirstActive() {\n setTimeout(() => {\n this.focusHandler.focusFirstActive();\n });\n }\n\n writeValue(value: T | T[]): void {\n this.optionSelectionService.selectionModel.model = value;\n this.updateInputValue(this.optionSelectionService.selectionModel);\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouchedCallback = onTouched;\n }\n\n registerOnChange(onChange: any): void {\n this.onChangeCallback = onChange;\n }\n\n getActiveDescendant() {\n const model = this.focusHandler.pseudoFocus.model;\n return model ? model.id : this.options?.noResultsElementId;\n }\n\n setDisabledState(): void {\n // do nothing\n }\n\n onWrapperClick(event) {\n if (this.disabled) {\n return;\n }\n this.focusHandler.focusInput();\n if (this.editable || (!this.editable && this.trigger.nativeElement.contains(event.target))) {\n this.popoverService.toggleWithEvent(event);\n }\n }\n\n toggleSelectionExpand() {\n this.selectionExpanded = !this.selectionExpanded;\n if (this.selectionExpanded) {\n this.applyLimit(this.multiSelectModel.length);\n } else {\n this.containerWidthChange.next(this.containerWidth);\n }\n }\n\n private initialiseObserver() {\n const container = this.container ? this.container.el.nativeElement : this.el.nativeElement.parentElement;\n this.containerWidth = container.offsetWidth;\n this.resizeObserver = new ResizeObserver(entries => {\n this.zone.runOutsideAngular(() => {\n entries.forEach(entry => {\n const entryWidth = entry.contentRect.width;\n switch (entry.target) {\n case container:\n if (this.containerWidth !== entryWidth) {\n this.containerWidth = entryWidth;\n this.containerWidthChange.next(entryWidth);\n }\n break;\n case this.wrapper.nativeElement:\n this.containerWidthChange.next(null);\n break;\n }\n });\n });\n });\n this.resizeObserver.observe(container);\n this.resizeObserver.observe(this.wrapper.nativeElement);\n }\n\n private calculateLimit() {\n this.shouldCalculate = true;\n this.cdr.detectChanges();\n if (!this.calculationPills || this.calculationPills.length === 0) {\n this.applyLimit();\n return;\n }\n const pillDimensions = this.calculationPills.map(p => ({\n top: p.nativeElement.offsetTop,\n width: p.nativeElement.offsetWidth,\n left: p.nativeElement.offsetLeft,\n }));\n\n const firstPill = pillDimensions[0];\n const buttonWidth = this.truncationButton?.nativeElement?.offsetWidth || 100;\n const textboxWidth = this.textbox.nativeElement.offsetWidth;\n const expectedWidth = this.containerWidth - textboxWidth - buttonWidth;\n\n let fitCount = 0;\n\n for (const pill of pillDimensions) {\n if (pill.top > firstPill.top || pill.left + pill.width > expectedWidth) {\n break;\n }\n fitCount++;\n }\n this.applyLimit(fitCount);\n }\n\n private applyLimit(limit = undefined) {\n this.zone.run(() => {\n this.calculatedLimit = limit === 0 ? 1 : limit;\n this.shouldCalculate = false;\n this.cdr.markForCheck();\n });\n }\n\n private updateTotalSelection() {\n if (!this.multiSelect || !this.multiSelectModel?.length) {\n this.isTotalSelection = false;\n return;\n }\n // Skip recalculation when items are filtered to zero (e.g. \"no results\")\n // to prevent pills from flashing while typing in the search input.\n if (!this.options?.items?.length) {\n return;\n }\n this.isTotalSelection = this.optionSelectionService.containsAll(this.options.items.map(option => option.value));\n }\n\n private initializeSubscriptions(): void {\n this.subscriptions.push(\n this.optionSelectionService.selectionChanged.subscribe((newSelection: ComboboxModel<T>) => {\n this.updateInputValue(newSelection);\n if (newSelection.isEmpty()) {\n this.selectionExpanded = false;\n this.isTotalSelection = false;\n } else {\n if (!this.multiSelect) {\n this.popoverService.open = false;\n }\n this.updateTotalSelection();\n }\n\n this.updateControlValue();\n if (this.selectionExpanded) {\n this.applyLimit(this.multiSelectModel.length);\n } else {\n this.calculateLimit();\n }\n\n if (this.multiSelect) {\n setTimeout(() => {\n this.popoverService?.updatePosition();\n });\n }\n })\n );\n\n this.subscriptions.push(\n this.popoverService.openChange.subscribe(open => {\n if (this.editable && !this.multiSelect) {\n if (this.searchText) {\n this.optionSelectionService.showAllOptions = false;\n this.optionSelectionService.currentInput = this.searchText;\n }\n return;\n }\n if (open) {\n this.focusFirstActive();\n } else {\n this.optionSelectionService.showAllOptions = true;\n }\n if (this.multiSelect) {\n this.searchText = '';\n } else {\n this.searchText = this.getDisplayNames(this.optionSelectionService.selectionModel.model)[0] || '';\n }\n }),\n this.containerWidthChange.pipe(debounceTime(0)).subscribe(() => {\n if (!this.selectionExpanded && !this.isTotalSelection) {\n this.calculateLimit();\n }\n })\n );\n }\n\n private updateInputValue(model: ComboboxModel<T>) {\n if (!this.multiSelect) {\n this.searchText = model.model ? this.getDisplayNames(model.model)[0] : '';\n if (this.searchText) {\n this.optionSelectionService.currentInput = this.searchText;\n }\n }\n }\n\n private updateControlValue() {\n if (this.onChangeCallback) {\n this.onChangeCallback(this.optionSelectionService.selectionModel.model);\n }\n }\n\n private getDisplayNames(model: T | T[]) {\n if (this.displayField) {\n if (!Array.isArray(model)) {\n model = [model];\n }\n return model.map(item => (item ? (item as any)[this.displayField] : null));\n }\n return [this.optionSelectionService.selectionModel.model];\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<!-- The (click) handler is needed to auto-focus on input field which can not currently occupy the whole\nwidth of the component, after being wrapped to a new line -->\n<div\n #wrapper\n class=\"clr-combobox-wrapper\"\n clrPopoverOrigin\n (click)=\"onWrapperClick($event)\"\n [class.multi]=\"multiSelect\"\n [class.invalid]=\"(control?.control.touched && control?.invalid)\"\n [class.disabled]=\"control?.disabled\"\n>\n @if (multiSelect && multiSelectModel && multiSelectModel.length > 0) {\n <span\n role=\"grid\"\n clrRovingTabindex\n [clrRovingTabindexDisabled]=\"control?.disabled\"\n clrDirection=\"both\"\n [attr.aria-label]=\"getSelectionAriaLabel()\"\n [attr.aria-disabled]=\"control?.disabled? true: null\"\n class=\"clr-combobox-pills\"\n >\n <ng-template #pillTemplate let-item let-i=\"index\">\n <span class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>\n @if (optionSelected) {\n <ng-container\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n ></ng-container>\n }\n </span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n [disabled]=\"control?.disabled ? true : null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxDelete + ' ' + optionSelectionService.selectionModel.toString(displayField, i)\"\n (click)=\"unselect(item)\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n </ng-template>\n\n @if (showSelectAll) { @if (isTotalSelection && !selectionExpanded) {\n <span class=\"label label-combobox-pill\" role=\"row\">\n <span role=\"gridcell\">\n <span class=\"clr-combobox-pill-content\" clrKeyFocusItem>{{ allSelectedText }}</span>\n </span>\n <span role=\"gridcell\">\n <button\n clrKeyFocusItem\n type=\"button\"\n class=\"clr-combobox-remove-btn\"\n (click)=\"clearSelection()\"\n [attr.aria-label]=\"commonStrings.keys.comboboxUnselectAll\"\n >\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n </span>\n } @if (showIndividualPills) { @for (item of multiSelectModel | slice:0:calculatedLimit; track item; let i = $index)\n {\n <ng-container\n [ngTemplateOutlet]=\"pillTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, index: i}\"\n ></ng-container>\n } } @if (showTruncationToggle) {\n <span role=\"row\" class=\"label label-combobox-pill clr-combobox-truncation-row\">\n <span role=\"gridcell\" class=\"clr-combobox-truncation-cell\">\n <span class=\"clr-combobox-pill-content\">\n <button\n #truncationButton\n clrKeyFocusItem\n type=\"button\"\n class=\"btn btn-link clr-combobox-show-more-btn\"\n (click)=\"toggleSelectionExpand()\"\n [attr.aria-expanded]=\"selectionExpanded\"\n [attr.aria-controls]=\"'expanded-selection-' + id\"\n >\n @if (!selectionExpanded) { {{ showAllText }} } @else { {{ commonStrings.keys.comboboxShowLess }} }\n </button>\n </span>\n </span>\n </span>\n } } @else { @for (item of multiSelectModel; track item; let i = $index) {\n <ng-container\n [ngTemplateOutlet]=\"pillTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: item, index: i}\"\n ></ng-container>\n } }\n </span>\n\n @if (showSelectAll && shouldCalculate) {\n <span class=\"clr-combobox-pills-calculation\" aria-hidden=\"true\">\n @for (item of multiSelectModel; track item) {\n <span class=\"label label-combobox-pill\" #pill>\n <span class=\"clr-combobox-pill-content\">\n @if (optionSelected) {\n <ng-container\n [ngTemplateOutlet]=\"optionSelected.template\"\n [ngTemplateOutletContext]=\"{$implicit: item}\"\n ></ng-container>\n }\n </span>\n <button type=\"button\" class=\"clr-combobox-remove-btn\" tabindex=\"-1\">\n <cds-icon shape=\"window-close\" size=\"12\"></cds-icon>\n </button>\n </span>\n }\n </span>\n } }\n\n <input\n #textboxInput\n type=\"text\"\n role=\"combobox\"\n [id]=\"inputId()\"\n class=\"clr-input clr-combobox-input\"\n [(ngModel)]=\"searchText\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus()\"\n (change)=\"onChange()\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-owns]=\"ariaOwns\"\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n [attr.aria-invalid]=\"control?.invalid? true: null\"\n [disabled]=\"control?.disabled? true: null\"\n [attr.aria-activedescendant]=\"getActiveDescendant()\"\n [attr.placeholder]=\"placeholder\"\n />\n\n <!-- No click handler, as it uses the handler on the .clr-combobox-wrapper -->\n <button\n #trigger\n type=\"button\"\n class=\"clr-combobox-trigger\"\n tabindex=\"-1\"\n [disabled]=\"control?.disabled || null\"\n [attr.aria-label]=\"commonStrings.keys.comboboxOpen\"\n >\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n\n <div class=\"clr-focus-indicator\" [class.clr-focus]=\"focused\"></div>\n</div>\n\n<!-- Both close handlers are handled manually.\n'outsideClickToClose' has complex handling that's necessary\nto be manual due to the component architecture -->\n<div role=\"dialog\" *clrPopoverContent=\"openState; at popoverPosition; type: popoverType;\">\n <ng-content></ng-content>\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgForOf, NgForOfContext } from '@angular/common';\nimport {\n Directive,\n DoCheck,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n TemplateRef,\n TrackByFunction,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { OptionSelectionService } from './providers/option-selection.service';\n@Directive({\n selector: '[clrOptionItems][clrOptionItemsOf]',\n standalone: false,\n})\nexport class ClrOptionItems<T> implements DoCheck, OnDestroy {\n private iterableProxy: NgForOf<T>;\n private _rawItems: T[];\n private filteredItems: T[];\n private subscriptions: Subscription[] = [];\n private filter = '';\n private _filterField: string;\n private differ: IterableDiffer<T> | null = null;\n\n constructor(\n public template: TemplateRef<NgForOfContext<T>>,\n private differs: IterableDiffers,\n private optionService: OptionSelectionService<T>,\n vcr: ViewContainerRef\n ) {\n this.iterableProxy = new NgForOf<T>(vcr, template, differs);\n this.subscriptions.push(\n optionService.inputChanged.subscribe(filter => {\n this.filter = filter;\n this.updateItems();\n })\n );\n }\n\n @Input('clrOptionItemsOf')\n set rawItems(items: T[]) {\n this._rawItems = items ? items : [];\n this.updateItems();\n }\n\n @Input('clrOptionItemsTrackBy')\n set trackBy(value: TrackByFunction<T>) {\n this.iterableProxy.ngForTrackBy = value;\n }\n\n @Input('clrOptionItemsField')\n set field(field: string) {\n this._filterField = field;\n this.optionService.displayField = field;\n }\n\n get hasResults() {\n // explicity return `undefined` instead of `false` if the answer is not known\n return this.filteredItems ? this.filteredItems.length : undefined;\n }\n\n ngDoCheck() {\n if (!this.differ) {\n this.differ = this.differs.find(this.filteredItems).create(this.iterableProxy.ngForTrackBy);\n }\n if (this.differ) {\n const changes = this.differ.diff(this.filteredItems);\n if (changes) {\n this.iterableProxy.ngDoCheck();\n }\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n private updateItems() {\n if (!this._rawItems || this.filter === undefined || this.filter === null) {\n return;\n }\n\n const normalizedFilterValue = normalizeValue(this.filter);\n\n if (this.optionService.showAllOptions) {\n this.filteredItems = this._rawItems;\n } else if (this._filterField) {\n this.filteredItems = this._rawItems.filter(item => {\n const objValue = (item as any)[this._filterField];\n return objValue ? normalizeValue(objValue).includes(normalizedFilterValue) : false;\n });\n } else {\n // Filter by all item object values\n this.filteredItems = this._rawItems.filter(item => {\n if (typeof item !== 'object') {\n return normalizeValue(item).includes(normalizedFilterValue);\n }\n const objValues = Object.values(item).filter(value => {\n return value !== null && value !== undefined ? normalizeValue(value).includes(normalizedFilterValue) : false;\n });\n return objValues.length > 0;\n });\n }\n this.iterableProxy.ngForOf = this.filteredItems;\n }\n}\n\nfunction normalizeValue(value: any) {\n return value\n .toString()\n .normalize('NFD')\n .replace(/\\p{Diacritic}/gu, '')\n .toLowerCase();\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, Input } from '@angular/core';\nimport { uniqueIdFactory } from '@clr/angular/utils';\n\nimport { ClrOptionItems } from './option-items.directive';\n\n@Component({\n selector: 'clr-option-group',\n host: {\n '[attr.role]': '\"group\"',\n '[attr.aria-labelledby]': 'labelId',\n '[style.display]': 'clrOptionItems.hasResults ? undefined : \"none\"',\n },\n template: `\n <span [id]=\"labelId\" class=\"clr-option-group-label\" role=\"presentation\">{{ label }}</span>\n <ng-content></ng-content>\n `,\n standalone: false,\n})\nexport class ClrOptionGroup<T> {\n @Input('clrOptionGroupLabel') label: string;\n\n @ContentChild(ClrOptionItems) protected clrOptionItems: ClrOptionItems<T>;\n\n protected labelId = uniqueIdFactory();\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClrCommonFormsModule } from '@clr/angular/forms/common';\nimport {\n angleIcon,\n ClarityIcons,\n ClrIcon,\n errorStandardIcon,\n successStandardIcon,\n windowCloseIcon,\n} from '@clr/angular/icon';\nimport { ClrPopoverModuleNext } from '@clr/angular/popover/common';\nimport { ClrSpinnerModule } from '@clr/angular/progress/spinner';\nimport { ClrConditionalModule, ClrKeyFocusModule } from '@clr/angular/utils';\n\nimport { ClrCombobox } from './combobox';\nimport { ClrComboboxContainer } from './combobox-container';\nimport { ClrOption } from './option';\nimport { ClrOptionGroup } from './option-group';\nimport { ClrOptionItems } from './option-items.directive';\nimport { ClrOptionSelected } from './option-selected.directive';\nimport { ClrOptions } from './options';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ClrIcon,\n ClrKeyFocusModule,\n ClrCommonFormsModule,\n ClrConditionalModule,\n ClrPopoverModuleNext,\n ClrSpinnerModule,\n ],\n declarations: [\n ClrCombobox,\n ClrComboboxContainer,\n ClrOptions,\n ClrOption,\n ClrOptionGroup,\n ClrOptionSelected,\n ClrOptionItems,\n ],\n exports: [\n ClrCommonFormsModule,\n ClrCombobox,\n ClrComboboxContainer,\n ClrOptions,\n ClrOption,\n ClrOptionGroup,\n ClrOptionSelected,\n ClrConditionalModule,\n ClrOptionItems,\n ],\n})\nexport class ClrComboboxModule {\n constructor() {\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, angleIcon, windowCloseIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './combobox.module';\nexport * from './combobox-container';\nexport * from './combobox';\nexport * from './options';\nexport * from './option';\nexport * from './option-group';\nexport * from './option-items.directive';\nexport * from './option-selected.directive';\nexport { ClrComboboxIdentityFunction, ClrComboboxResolverFunction } from './model/combobox.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ComboboxContainerService","i3","OptionProxy","i1","i2.ComboboxFocusHandler","i3.OptionSelectionService","i1.OptionSelectionService","i2","i3.ComboboxFocusHandler","i6.ComboboxFocusHandler","i7.ClrComboboxContainer"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MAKU,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;QAEE,IAAA,CAAA,WAAW,GAAG,CAAC;AAEhB,IAAA;8GAHY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;ACTD;;;;;AAKG;AAyCG,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;IAG5D,WAAA,CACc,aAA4B,EACxC,mBAAwC,EACxC,gBAAkC,EAC1B,gBAA0C,EAC3C,EAA2B,EAAA;AAElC,QAAA,KAAK,CAAC,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;QAHnD,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QACjB,IAAA,CAAA,EAAE,GAAF,EAAE;IAGX;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;QACxD;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,gBAAgB,CAAC,WAAW;AAC/B,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY;IACzF;8GAtBW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,iCAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAHpB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAxBpF;;;;;;;;;;;;;;;;;AAiBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAUU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA7BhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;AAiBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,0BAA0B,EAAE,MAAM;AAClC,wBAAA,mCAAmC,EAAE,MAAM;AAC3C,wBAAA,mCAAmC,EAAE,mBAAmB;AACxD,wBAAA,iBAAiB,EAAE,WAAW;AAC/B,qBAAA;oBACD,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,CAAC;AAC9F,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAKI;;sBAHF,SAAS;uBAAC,kBAAkB;;;AC/C/B;;;;;AAKG;MAMmB,aAAa,CAAA;AAAnC,IAAA,WAAA,GAAA;AAGE,QAAA,IAAA,CAAA,UAAU,GAAmC,CAAC,IAAO,KAAK,IAAI;IAOhE;AAAC;;ACrBD;;;;;AAKG;AAIG,MAAO,wBAA4B,SAAQ,aAAgB,CAAA;AAI/D,IAAA,YAAY,CAAC,IAAO,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACnD,YAAA,OAAO,KAAK;QACd;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3E;AAEA,IAAA,MAAM,CAAC,IAAO,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;AAEA,IAAA,QAAQ,CAAC,IAAO,EAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACvB;IAEA,OAAO,GAAA;AACL,QAAA,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C;IAEA,GAAG,GAAA;AACD,QAAA,IAAI,IAAI;AACR,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,YAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvB;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,QAAQ,CAAC,YAAqB,EAAE,KAAK,GAAG,CAAC,CAAC,EAAA;QACxC,IAAI,aAAa,GAAG,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;;AAEd,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;AAErB,oBAAA,IAAI,YAAY,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC,YAAY,CAAC,EAAE;wBAC5D,aAAa,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC,YAAY,CAAC;oBAC3D;yBAAO;;;wBAGL,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;oBAC/C;gBACF;YACF;iBAAO;gBACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAQ,KAAI;;AAE9B,oBAAA,IAAI,YAAY,IAAK,KAAa,CAAC,YAAY,CAAC,EAAE;AAChD,wBAAA,aAAa,IAAK,KAAa,CAAC,YAAY,CAAC;oBAC/C;yBAAO;;;AAGL,wBAAA,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnC;oBACA,aAAa,IAAI,GAAG;AACtB,gBAAA,CAAC,CAAC;YACJ;QACF;AAEA,QAAA,OAAO,aAAa,CAAC,IAAI,EAAE;IAC7B;AAEQ,IAAA,OAAO,CAAC,IAAO,EAAA;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB;IACF;AAEQ,IAAA,UAAU,CAAC,IAAO,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACnD;QACF;QAEA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAErF,QAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7B;;QAGA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;IACF;AACD;;AClGD;;;;;AAKG;AAIG,MAAO,yBAA6B,SAAQ,aAAgB,CAAA;AAGhE,IAAA,YAAY,CAAC,IAAO,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACnD,YAAA,OAAO,KAAK;QACd;AACA,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9D;AAEA,IAAA,MAAM,CAAC,IAAO,EAAA;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;IACnB;AAEA,IAAA,QAAQ,CAAC,IAAO,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK;IACpB;IAEA,GAAG,GAAA;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,QAAQ,CAAC,YAAqB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,OAAO,EAAE;QACX;QACA,IAAI,YAAY,IAAK,IAAI,CAAC,KAAa,CAAC,YAAY,CAAC,EAAE;AACrD,YAAA,OAAQ,IAAI,CAAC,KAAa,CAAC,YAAY,CAAC;QAC1C;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC9B;IACF;AACD;;ACjDD;;;;;AAKG;MAQU,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAmB,QAAuC,EAAA;QAAvC,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAkC;8GAHlD,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE,KAAK;uBAAC,mBAAmB;;;ACd5B;;;;;AAKG;AAMG,MAAO,gBAAoB,SAAQ,yBAA4B,CAAA;AAArE,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAI,IAAI,CAAC;IAWtD;AAVE,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAC1C;AAES,IAAA,MAAM,CAAC,IAAO,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B;IACF;AACD;;ACvBD;;;;;AAKG;MASU,sBAAsB,CAAA;AAgBjC,IAAA,WAAA,GAAA;QAfA,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,aAAa,GAAG,KAAK;;;QAKrB,IAAA,CAAA,cAAc,GAAG,IAAI;QAEb,IAAA,CAAA,aAAa,GAAG,EAAE;AAElB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,aAAa,CAAmB,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAQ;AAyDjD,QAAA,IAAA,CAAA,gBAAgB,GAAmC,CAAC,KAAa,KAAK,KAAU;AAqFxE,QAAA,IAAA,CAAA,WAAW,GAAmC,CAAC,IAAO,KAAK,IAAI;QA3IrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IACvD;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK;QAC1C;IACF;AAEA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IACA,IAAI,YAAY,CAAC,KAAK,EAAA;;QAEpB,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACzC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC9B;AACA,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;;;AAIA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IAC9C;AAEA,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,cAAc,YAAY,wBAAwB;IAChE;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IAEA,IAAI,UAAU,CAAC,KAAqC,EAAA;AAClD,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,KAAK,CAAC,IAAO,KAAK,IAAI,CAAC;AAC/C,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW;QACnD;IACF;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;IAChD;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;IACjC;AAIA,IAAA,MAAM,CAAC,IAAO,EAAA;AACZ,QAAA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACjF;QACF;AACA,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAClD;AAEA,IAAA,MAAM,CAAC,IAAO,EAAA;QACZ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;YACvC;QACF;QACA,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC;aAAO;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC;QACA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAClD;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,OAAO,GAAG,KAAK;AACnB,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,OAAO,GAAG,IAAI;YAChB;QACF;QACA,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAClD;IACF;AAEA,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACzD;QACF;QAEA,IAAI,OAAO,GAAG,KAAK;AACnB,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,OAAO,GAAG,IAAI;YAChB;QACF;QAEA,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAClD;IACF;AAEA,IAAA,QAAQ,CAAC,IAAO,EAAA;AACd,QAAA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAClF;QACF;AACA,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAClD;AAEA;;AAEG;AACH,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;AAClD,YAAA,OAAO,KAAK;QACd;AACA,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpE;AAEA,IAAA,iBAAiB,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AAEA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;QACzC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC9C;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,KAAK;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAClD;IAIQ,qBAAqB,CAAC,OAAgB,EAAE,KAAc,EAAA;AAC5D,QAAA,IAAI,OAAO,KAAK,KAAK,EAAE;AACrB,YAAA,OAAO,IAAI;QACb;;AAEA,QAAA,IACE,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;AAC5D,aAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,EACvD;AACA,YAAA,OAAO,IAAI;QACb;;QAEA,IACE,OAAO,KAAK,IAAI;AAChB,YAAA,OAAO,KAAK,SAAS;AACrB,YAAA,OAAO,KAAK,EAAE;AACd,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,EAAE,EACZ;AACA,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,GAAG,GAAG,OAAc;YAC1B,MAAM,GAAG,GAAG,KAAY;YACxB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AAC7B,gBAAA,OAAO,KAAK;YACd;;YAEA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACxC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACxC,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;QAClD;aAAO;AACL,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAY,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAU,CAAC;QACxE;IACF;8GAlMW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAtB,sBAAsB,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;ACbD;;;;;AAKG;MAaU,oBAAoB,CAAA;AAS/B,IAAA,WAAA,CACE,eAAiC,EACzB,cAAiC,EACjC,gBAA2C,EACtB,UAAe,EAAA;QAFpC,IAAA,CAAA,cAAc,GAAd,cAAc;QACd,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QACK,IAAA,CAAA,UAAU,GAAV,UAAU;AAZzC,QAAA,IAAA,CAAA,WAAW,GAAoC,IAAI,gBAAgB,EAAiB;QAM5E,IAAA,CAAA,UAAU,GAAoB,EAAE;QAQtC,IAAI,CAAC,uBAAuB,EAAE;;QAE9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5D;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,EAAe,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AAClB,QAAA,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACjC;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,EAAe,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AAClB,QAAA,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACjC;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,EAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACjC;IAEA,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACxD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC/C;IACF;IAEA,gBAAgB,GAAA;QACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;AAClD,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7C;iBAAO;AACL,gBAAA,IAAI,WAAc;AAClB,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;oBACzC,WAAW,GAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAa,CAAC,CAAC,CAAC;gBACtE;qBAAO;oBACL,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAU;gBAC/D;AACA,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;gBAChF,IAAI,WAAW,EAAE;;AAEf,oBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtC;qBAAO;;AAEL,oBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7C;AACA,gBAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;YACtC;QACF;IACF;AAEA,IAAA,eAAe,CAAC,OAAwB,EAAA;AACtC,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO;IAC3B;AAEA,IAAA,WAAW,CAAC,MAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACjC;IAEQ,uBAAuB,GAAA;QAC7B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAG;YAC9C,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI;YAC/B;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,WAAW,CAAC,SAA4B,EAAA;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACtF,QAAA,IAAI,SAAS,KAAK,iBAAiB,CAAC,EAAE,EAAE;YACtC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;gBAC/B,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACpC;iBAAO;AACL,gBAAA,KAAK,EAAE;YACT;QACF;AAAO,aAAA,IAAI,SAAS,KAAK,iBAAiB,CAAC,IAAI,EAAE;AAC/C,YAAA,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxD,KAAK,GAAG,CAAC;YACX;iBAAO;AACL,gBAAA,KAAK,EAAE;YACT;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,uBAAuB,EAAE;IAChC;AAEQ,IAAA,aAAa,CAAC,SAA4B,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;gBAC5D,IAAI,IAAI,EAAE;AACR,oBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBAC7B;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI;QACjC;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7B;IACF;;AAGQ,IAAA,eAAe,CAAC,KAAoB,EAAA;QAC1C,IAAI,cAAc,GAAG,KAAK;AAC1B,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG;QACrB,IAAI,KAAK,EAAE;YACT,QAAQ,GAAG;gBACT,KAAK,IAAI,CAAC,KAAK;AACb,oBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACtD,wBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;4BACzC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,aAAa,EAAE;AAC/C,gCAAA,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;4BAC1C;iCAAO;AACL,gCAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC5D;wBACF;6BAAO;AACL,4BAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC5D;wBACA,cAAc,GAAG,IAAI;oBACvB;oBACA;gBACF,KAAK,IAAI,CAAC,KAAK;AACb,oBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC7B,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI;wBAC/B,cAAc,GAAG,IAAI;oBACvB;oBACA;gBACF,KAAK,IAAI,CAAC,OAAO;AACf,oBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACpC,oBAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxC,cAAc,GAAG,IAAI;oBACrB;gBACF,KAAK,IAAI,CAAC,SAAS;AACjB,oBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACpC,oBAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC1C,cAAc,GAAG,IAAI;oBACrB;AACF,gBAAA;;AAEE,oBAAA,IACE,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;AACtB,wBAAA,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC;wBACxE,EAAE,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC;AAC5B,wBAAA,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EACzB;AACA,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI;oBACjC;oBACA;;QAEN;AACA,QAAA,OAAO,cAAc;IACvB;IAEQ,uBAAuB,CAAC,WAA2B,QAAQ,EAAA;AACjE,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC5F;IACF;AAEQ,IAAA,wBAAwB,CAAC,KAAoB,EAAA;QACnD,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,wBAAwB,EAAE;IAClC;AAEQ,IAAA,sBAAsB,CAAC,EAAe,EAAA;AAC5C,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,IAAG;AACvC,gBAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACnC,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,KAAK;gBAClC;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AAEQ,IAAA,mBAAmB,CAAC,KAAiB,EAAA;AAC3C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAqB;AAC1C,QAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7G;AAvMW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,sHAarB,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAbV,oBAAoB,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;0BAcI,MAAM;2BAAC,WAAW;;AA6LhB,MAAM,+BAA+B,GAAG,2BAA2B,CAAC,oBAAoB,CAAC;MAEnF,UAAU,CAAA;IAGrB,WAAA,CACS,EAAU,EACV,KAAQ,EAAA;QADR,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,KAAK,GAAL,KAAK;IACX;AAEH,IAAA,MAAM,CAAC,KAAoB,EAAA;QACzB,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,KAAK;QACd;AACA,QAAA,OAAO,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;IAC3D;AACD;;AC5OD;;;;;AAKG;MAwBU,SAAS,CAAA;AAOpB,IAAA,WAAA,CACS,KAA8B,EAC9B,aAAsC,EACrC,YAAqC,EACrC,sBAAiD,EAAA;QAHlD,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,aAAa,GAAb,aAAa;QACZ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;;QAThC,IAAA,CAAA,WAAW,GAAmB,IAAIC,UAAW,CAAC,IAAI,EAAE,IAAI,CAAC;QAWvD,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa;IAC3C;AAEA,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,GAAG;IACjB;IACA,IAAI,QAAQ,CAAC,EAAU,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG;IAChC;AAEA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK;IAChC;AAEA,IAAA,IACI,QAAQ,GAAA;QACV,QACE,IAAI,CAAC,sBAAsB,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IAErH;AAEA,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;IACrE;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,aAAa,GAAG,eAAe,EAAE;YAC5C,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG;QAChC;IACF;AAGA,IAAA,OAAO,CAAC,KAAiB,EAAA;QACvB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE;YAC/C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAChD;aAAO;YACL,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAChD;;;;;QAKA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;IAChC;8GAnEW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,IAAA,EAAA,UAAA,CAAA,EAAA,KAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfV;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAUU,SAAS,EAAA,UAAA,EAAA,CAAA;kBAjBrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,6BAA6B,EAAE,MAAM;AACrC,wBAAA,aAAa,EAAE,UAAU;;AAEzB,wBAAA,iBAAiB,EAAE,IAAI;AACvB,wBAAA,WAAW,EAAE,UAAU;AACxB,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAiBE,KAAK;uBAAC,IAAI;;sBASV,KAAK;uBAAC,UAAU;;sBAShB,WAAW;uBAAC,cAAc;;sBAO1B,WAAW;uBAAC,iBAAiB;;sBAY7B,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AClFnC;;;;;AAKG;AAuBH,IAAI,mBAAmB,GAAG,CAAC;AAEpB,MAAM,aAAa,GAAG;MAqDhB,UAAU,CAAA;AASrB,IAAA,WAAA,CACS,sBAAiD,EAC3B,EAAU,EAChC,EAA2B,EAC3B,aAAsC,EACrC,YAAqC,EACrC,cAAiC,EAGzC,UAAmC,EACT,QAAa,EAAA;QAThC,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QACA,IAAA,CAAA,EAAE,GAAF,EAAE;QACxB,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,aAAa,GAAb,aAAa;QACZ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,cAAc,GAAd,cAAc;QAII,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAhBpC,IAAA,CAAA,OAAO,GAAG,KAAK;QAGP,IAAA,CAAA,aAAa,GAAmB,EAAE;QAexC,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;QAC7E;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,cAAc,GAAG,mBAAmB,EAAE;QACzD;IACF;IAEA,IACI,YAAY,CAAC,KAAiB,EAAA;QAChC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,UAAU,CAAI,aAAa,EAAE,IAAI,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa;QAChD;aAAO;AACL,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC9B;QACA,IAAI,CAAC,oBAAoB,EAAE;IAC7B;AAEA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IACA,IAAI,KAAK,CAAC,KAA8B,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,oBAAoB,EAAE;IAC7B;AAEA;;AAEG;AACH,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;IACxE;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ;IAC7C;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,SAAS,aAAa;IACvC;AAEA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,QACE,IAAI,CAAC,sBAAsB,CAAC,aAAa;YACzC,IAAI,CAAC,sBAAsB,CAAC,eAAe;AAC3C,YAAA,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO;AACpC,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAEzB;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1C,YAAA,OAAO,KAAK;QACd;QACA,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACxF;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,aAAa;IAClE;IAEA,eAAe,CAAC,QAAe,IAAI,EAAA;QACjC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;QAChC;AACA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;AAE5D,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC;QACzD;aAAO;AACL,YAAA,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,aAAa,CAAC;QACvD;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;AAEjD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAG;AACnC,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;AACtC,gBAAA,CAAC,CAAC;YACJ;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE;YACrC;QACF,CAAC,CAAC,EACF,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAK;YAC5D,IAAI,CAAC,eAAe,EAAE;QACxB,CAAC,CAAC,CACH;IACH;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IACtD;AAEA,IAAA,UAAU,CAAC,KAAa,EAAA;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9F;AAEA,IAAA,kBAAkB,CAAC,KAAsB,EAAA;QACvC,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,eAAe,CAAC,OAAO;IAClD;IAEQ,oBAAoB,GAAA;QAC1B,MAAM,SAAS,GAAoB,EAAE;AAErC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACvC;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC;AACjE,YAAA,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QAChC;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC;IAC9C;AA/IW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAWX,YAAY,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAMZ,mBAAmB,6BAEnB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnBP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,kCAAA,EAAA,wCAAA,EAAA,mCAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAVV,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAmDjD,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1FhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAWU,UAAU,EAAA,UAAA,EAAA,CAAA;kBAnDtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA;oBACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,UAAY,EAAE,CAAC;AAClE,oBAAA,IAAI,EAAE;AACJ,wBAAA,8BAA8B,EAAE,MAAM;AACtC,wBAAA,oCAAoC,EAAE,wCAAwC;AAC9E,wBAAA,qCAAqC,EAAE,0BAA0B;AACjE,wBAAA,aAAa,EAAE,WAAW;AAC1B,wBAAA,MAAM,EAAE,WAAW;AACpB,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAYI,MAAM;2BAAC,YAAY;;0BAKnB;;0BACA,MAAM;2BAAC,mBAAmB;;0BAE1B,MAAM;2BAAC,QAAQ;;sBAlBjB,KAAK;uBAAC,IAAI;;sBA6BV,SAAS;uBAAC,cAAc;;sBAWxB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;AC5HnD;;;;;AAKG;AAyEG,MAAO,WACX,SAAQ,kBAAwC,CAAA;IA2ChD,WAAA,CACE,GAAqB,EACrB,QAAkB,EAGX,OAAkB,EACN,QAAmB,EACnB,EAA2B,EACvC,sBAAiD,EACjD,aAAsC,EACrC,cAAiC,EACrB,gBAA0C,EACjC,UAAe,EACpC,YAAqC,EACrC,GAAsB,EACtB,IAAY,EACQ,SAA+B,EAAA;AAE3D,QAAA,KAAK,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;QAb1D,IAAA,CAAA,OAAO,GAAP,OAAO;QACK,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,EAAE,GAAF,EAAE;QACd,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QACtB,IAAA,CAAA,aAAa,GAAb,aAAa;QACZ,IAAA,CAAA,cAAc,GAAd,cAAc;QACF,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QACP,IAAA,CAAA,UAAU,GAAV,UAAU;QAC/B,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,IAAI,GAAJ,IAAI;QACgB,IAAA,CAAA,SAAS,GAAT,SAAS;QAxDjB,IAAA,CAAA,WAAW,GAAG,EAAE;AAEZ,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,CAAS,KAAK,CAAC;AACjD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU;AAEvE;;AAEG;AAC2B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;QAU/F,IAAA,CAAA,OAAO,GAAG,KAAK;AAEf,QAAA,IAAA,CAAA,eAAe,GAAG,kBAAkB,CAAC,WAAW;QAE7B,IAAA,CAAA,KAAK,GAAG,CAAC;AAElB,QAAA,IAAA,CAAA,WAAW,GAAG,cAAc,CAAC,QAAQ;QAErC,IAAA,CAAA,cAAc,GAAG,IAAI;QACrB,IAAA,CAAA,iBAAiB,GAAG,KAAK;QAEzB,IAAA,CAAA,eAAe,GAAG,IAAI;QACtB,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAG1B,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,OAAO,EAAE;QAGpC,IAAA,CAAA,WAAW,GAAG,EAAE;QAuBtB,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,aAAa,GAAG,IAAI;QAC9B;;AAGA,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEA,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa;IAClD;IACA,IAAI,aAAa,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG,KAAK;IACnD;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ;IAC7C;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,GAAG,KAAK;IAC9C;IAEA,IACI,gBAAgB,CAAC,KAAiD,EAAA;AACpE,QAAA,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,KAAK;IACtD;IAEA,IACI,UAAU,CAAC,KAAqC,EAAA;AAClD,QAAA,IAAI,CAAC,sBAAsB,CAAC,UAAU,GAAG,KAAK;IAChD;AAEA,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,eAAe;IACpD;IACA,IAAI,WAAW,CAAC,KAAuB,EAAA;QACrC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI,wBAAwB,EAAK;QAChF;aAAO;;;YAGL,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI,yBAAyB,EAAK;QACjF;AACA,QAAA,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU;QAC9F,IAAI,CAAC,kBAAkB,EAAE;IAC3B;;;AAIA,IAAA,IAAa,EAAE,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,WAAW;IAC/C;IACA,IAAa,EAAE,CAAC,EAAU,EAAA;AACxB,QAAA,KAAK,CAAC,EAAE,GAAG,EAAE;IACf;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;IACA,IAAI,UAAU,CAAC,IAAY,EAAA;;AAEzB,QAAA,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC5B,gBAAA,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,KAAK;YACpD;AACA,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C;;;;QAIA,IAAI,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU;IAC5D;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI;IACjC;AAEA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,MAAM,KAAK,CAAC,+DAA+D,CAAC;QAC9E;AACA,QAAA,OAAQ,IAAI,CAAC,sBAAsB,CAAC,cAA8C,CAAC,KAAK;IAC1F;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS;IAChC;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS;IAChC;AAEA,IAAA,IAAI,wBAAwB,GAAA;AAC1B,QAAA,OAAO,YAAY,GAAG,IAAI,CAAC,EAAE;IAC/B;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY;IACjD;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE;YACvE,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE;AAChD,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3E,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE;AAChD,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI,mBAAmB,GAAA;QACrB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;IACzD;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,QACE,IAAI,CAAC,iBAAiB;AACtB,YAAA,IAAI,CAAC,gBAAgB;AACrB,aAAC,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAE1F;AAEA,IAAA,IAAY,QAAQ,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ;IAC/B;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,uBAAuB,EAAE;;QAG9B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC;QACnE;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;QACxD,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;;;;;AAMtD,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO;AACtB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,EAAE;gBACzD,IAAI,CAAC,cAAc,EAAE;YACvB;YACA,IAAI,CAAC,kBAAkB,EAAE;QAC3B;IACF;IAES,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;QAClC;IACF;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;;AAE9B,QAAA,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACnD;AAGA,IAAA,OAAO,CAAC,KAAoB,EAAA;;AAE1B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,UAAU,GAAQ,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,KAAY;AAC/E,YAAA,QAAQ,KAAK,CAAC,GAAG;gBACf,KAAK,IAAI,CAAC,SAAS;AACjB,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;wBAC5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvC,MAAM,QAAQ,GAAM,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,4BAAA,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE;AACrC,4BAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAChD;oBACF;oBACA;gBACF,KAAK,IAAI,CAAC,KAAK;AACb,oBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AAC7E,wBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;AAClF,wBAAA,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE;AACrC,wBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC;AAC/C,wBAAA,IAAI,CAAC,UAAU,GAAG,EAAE;oBACtB;oBACA;;QAEN;IACF;IAEA,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE;IACjC;AAEA,IAAA,kBAAkB,CAAC,KAAsB,EAAA;QACvC,IAAI,CAAC,sBAAsB,CAAC,OAAO,GAAG,KAAK,KAAK,eAAe,CAAC,OAAO;AAEvE,QAAA,IAAI,KAAK,KAAK,eAAe,CAAC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC3E,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE;AACvC,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;AAEA,IAAA,QAAQ,CAAC,IAAO,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5C;IACF;AAEA,IAAA,MAAM,CAAC,KAAK,EAAA;QACV,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACzF,YAAA,IAAI,CAAC,iBAAiB,IAAI;YAC1B,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACtB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;;AAInB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC1B;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnE,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;AAClF,YAAA,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,CAAC;QAC5D;IACF;IAEA,qBAAqB,GAAA;QACnB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;AAC5D,YAAA,OAAO,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC1F;AACA,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB;IAClD;IAEA,gBAAgB,GAAA;QACd,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;AACtC,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,KAAK,GAAG,KAAK;QACxD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC;IACnE;AAEA,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;IACpC;AAEA,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;IAClC;IAEA,mBAAmB,GAAA;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK;AACjD,QAAA,OAAO,KAAK,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB;IAC5D;IAEA,gBAAgB,GAAA;;IAEhB;AAEA,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB;QACF;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;QAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1F,YAAA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC;QAC5C;IACF;IAEA,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;AAChD,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC/C;aAAO;YACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QACrD;IACF;IAEQ,kBAAkB,GAAA;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa;AACxG,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,IAAG;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC/B,gBAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;AACtB,oBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK;AAC1C,oBAAA,QAAQ,KAAK,CAAC,MAAM;AAClB,wBAAA,KAAK,SAAS;AACZ,4BAAA,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE;AACtC,gCAAA,IAAI,CAAC,cAAc,GAAG,UAAU;AAChC,gCAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;4BAC5C;4BACA;AACF,wBAAA,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa;AAC7B,4BAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;4BACpC;;AAEN,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACzD;IAEQ,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAChE,IAAI,CAAC,UAAU,EAAE;YACjB;QACF;AACA,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK;AACrD,YAAA,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS;AAC9B,YAAA,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW;AAClC,YAAA,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU;AACjC,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,WAAW,IAAI,GAAG;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,WAAW;QAEtE,IAAI,QAAQ,GAAG,CAAC;AAEhB,QAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;AACjC,YAAA,IAAI,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,aAAa,EAAE;gBACtE;YACF;AACA,YAAA,QAAQ,EAAE;QACZ;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC3B;IAEQ,UAAU,CAAC,KAAK,GAAG,SAAS,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;AAC9C,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,QAAA,CAAC,CAAC;IACJ;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;AACvD,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YAC7B;QACF;;;QAGA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC;QACF;QACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACjH;IAEQ,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,YAA8B,KAAI;AACxF,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;AACnC,YAAA,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;AAC1B,gBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YAC/B;iBAAO;AACL,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,KAAK;gBAClC;gBACA,IAAI,CAAC,oBAAoB,EAAE;YAC7B;YAEA,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC/C;iBAAO;gBACL,IAAI,CAAC,cAAc,EAAE;YACvB;AAEA,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE;AACvC,gBAAA,CAAC,CAAC;YACJ;QACF,CAAC,CAAC,CACH;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAG;YAC9C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACtC,gBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,oBAAA,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,KAAK;oBAClD,IAAI,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU;gBAC5D;gBACA;YACF;YACA,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,gBAAgB,EAAE;YACzB;iBAAO;AACL,gBAAA,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI;YACnD;AACA,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,gBAAA,IAAI,CAAC,UAAU,GAAG,EAAE;YACtB;iBAAO;gBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACnG;AACF,QAAA,CAAC,CAAC,EACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACrD,IAAI,CAAC,cAAc,EAAE;YACvB;QACF,CAAC,CAAC,CACH;IACH;AAEQ,IAAA,gBAAgB,CAAC,KAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AACzE,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU;YAC5D;QACF;IACF;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC;QACzE;IACF;AAEQ,IAAA,eAAe,CAAC,KAAc,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,gBAAA,KAAK,GAAG,CAAC,KAAK,CAAC;YACjB;YACA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,GAAI,IAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5E;QACA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC;IAC3D;AAlgBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,oVAwDZ,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAxDV,WAAW,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAuEsB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,EAAA,UAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,WAAA,EAAA,CAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,6BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EAtFjD;YACT,sBAAsB;AACtB,YAAA,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;YACtD,qBAAqB;YACrB,sBAAsB;YACtB,+BAA+B;AAChC,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyBa,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsBjB,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpH1B,qjMAsKA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,qBAAA,EAAA,qCAAA,EAAA,uBAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDxFa,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlBvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,SAAA,EAEb;wBACT,sBAAsB;AACtB,wBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,aAAa,EAAE;wBACtD,qBAAqB;wBACrB,sBAAsB;wBACtB,+BAA+B;qBAChC,EAAA,cAAA,EACe,CAAC,uBAAuB,CAAC,EAAA,IAAA,EACnC;AACJ,wBAAA,uBAAuB,EAAE,MAAM;AAC/B,wBAAA,sBAAsB,EAAE,MAAM;AAC9B,wBAAA,+BAA+B,EAAE,mBAAmB;AACrD,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,qjMAAA,EAAA;;0BAiDd;;0BACA;;0BAOA;;0BACA,MAAM;2BAAC,WAAW;;0BAIlB;;0BAAY;;sBAxDd,KAAK;uBAAC,aAAa;;sBAEnB,MAAM;uBAAC,gBAAgB;;sBACvB,MAAM;uBAAC,eAAe;;sBAKtB,MAAM;uBAAC,oBAAoB;;sBAE3B,SAAS;uBAAC,cAAc;;sBACxB,SAAS;uBAAC,SAAS;;sBACnB,YAAY;uBAAC,iBAAiB;;sBAE9B,SAAS;uBAAC,kBAAkB;;sBAC5B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACrC,YAAY;uBAAC,MAAM;;sBAkBnB,YAAY;uBAAC,UAAU;;sBAiCvB,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAQ7D,KAAK;uBAAC,aAAa;;sBAQnB,KAAK;uBAAC,uBAAuB;;sBAK7B,KAAK;uBAAC,uBAAuB;;sBAK7B,KAAK;uBAAC,UAAU;;sBAyIhB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AExTrC;;;;;AAKG;MAqBU,cAAc,CAAA;AASzB,IAAA,WAAA,CACS,QAAwC,EACvC,OAAwB,EACxB,aAAwC,EAChD,GAAqB,EAAA;QAHd,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,aAAa,GAAb,aAAa;QARf,IAAA,CAAA,aAAa,GAAmB,EAAE;QAClC,IAAA,CAAA,MAAM,GAAG,EAAE;QAEX,IAAA,CAAA,MAAM,GAA6B,IAAI;AAQ7C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC3D,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,IAAG;AAC5C,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM;YACpB,IAAI,CAAC,WAAW,EAAE;QACpB,CAAC,CAAC,CACH;IACH;IAEA,IACI,QAAQ,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE;QACnC,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,IACI,OAAO,CAAC,KAAyB,EAAA;AACnC,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK;IACzC;IAEA,IACI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK;IACzC;AAEA,IAAA,IAAI,UAAU,GAAA;;AAEZ,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS;IACnE;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAC7F;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACpD,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;YAChC;QACF;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IACtD;IACQ,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxE;QACF;QAEA,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAEzD,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;AACrC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;QACrC;AAAO,aAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAG;gBAChD,MAAM,QAAQ,GAAI,IAAY,CAAC,IAAI,CAAC,YAAY,CAAC;AACjD,gBAAA,OAAO,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,KAAK;AACpF,YAAA,CAAC,CAAC;QACJ;aAAO;;YAEL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAG;AAChD,gBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC7D;AACA,gBAAA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAG;oBACnD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,KAAK;AAC9G,gBAAA,CAAC,CAAC;AACF,gBAAA,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;AAC7B,YAAA,CAAC,CAAC;QACJ;QACA,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa;IACjD;8GAxFW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAyBE,KAAK;uBAAC,kBAAkB;;sBAMxB,KAAK;uBAAC,uBAAuB;;sBAK7B,KAAK;uBAAC,qBAAqB;;AAwD9B,SAAS,cAAc,CAAC,KAAU,EAAA;AAChC,IAAA,OAAO;AACJ,SAAA,QAAQ;SACR,SAAS,CAAC,KAAK;AACf,SAAA,OAAO,CAAC,iBAAiB,EAAE,EAAE;AAC7B,SAAA,WAAW,EAAE;AAClB;;AC3HA;;;;;AAKG;MAoBU,cAAc,CAAA;AAb3B,IAAA,WAAA,GAAA;QAkBY,IAAA,CAAA,OAAO,GAAG,eAAe,EAAE;AACtC,IAAA;8GANY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGX,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATlB;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAGU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,aAAa,EAAE,SAAS;AACxB,wBAAA,wBAAwB,EAAE,SAAS;AACnC,wBAAA,iBAAiB,EAAE,gDAAgD;AACpE,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;AAGT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE,KAAK;uBAAC,qBAAqB;;sBAE3B,YAAY;uBAAC,cAAc;;;AC5B9B;;;;;AAKG;MA0DU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;QACE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,CAAC;IAC3F;8GAHW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBApB1B,WAAW;YACX,oBAAoB;YACpB,UAAU;YACV,SAAS;YACT,cAAc;YACd,iBAAiB;AACjB,YAAA,cAAc,aAhBd,YAAY;YACZ,WAAW;YACX,OAAO;YACP,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;AACpB,YAAA,gBAAgB,aAYhB,oBAAoB;YACpB,WAAW;YACX,oBAAoB;YACpB,UAAU;YACV,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,oBAAoB;YACpB,cAAc,CAAA,EAAA,CAAA,CAAA;AAGL,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YA9B1B,YAAY;YACZ,WAAW;YACX,OAAO;YACP,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;YACpB,oBAAoB;AACpB,YAAA,gBAAgB,EAYhB,oBAAoB;YAOpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAIX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhC7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,OAAO;wBACP,iBAAiB;wBACjB,oBAAoB;wBACpB,oBAAoB;wBACpB,oBAAoB;wBACpB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,WAAW;wBACX,oBAAoB;wBACpB,UAAU;wBACV,SAAS;wBACT,cAAc;wBACd,iBAAiB;wBACjB,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,WAAW;wBACX,oBAAoB;wBACpB,UAAU;wBACV,SAAS;wBACT,cAAc;wBACd,iBAAiB;wBACjB,oBAAoB;wBACpB,cAAc;AACf,qBAAA;AACF,iBAAA;;;AC9DD;;;;;AAKG;;ACLH;;AAEG;;;;"}