@eui/ecl 18.0.0-next.51 → 18.0.0-next.52

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 (304) hide show
  1. package/docs/components/EclBannerComponent.html +14 -1
  2. package/docs/components/EclCarouselComponent.html +0 -5
  3. package/docs/dependencies.html +19 -19
  4. package/docs/js/search/search_index.js +2 -2
  5. package/docs/miscellaneous/enumerations.html +56 -0
  6. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -4
  7. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
  8. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +5 -5
  9. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
  10. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +5 -5
  11. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +4 -4
  12. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +7 -7
  13. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +7 -7
  14. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +7 -7
  15. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +55 -12
  16. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +5 -5
  17. package/esm2022/lib/components/ecl-base.directive.mjs +4 -4
  18. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +7 -7
  19. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +4 -4
  20. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +5 -5
  21. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +4 -4
  22. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +4 -4
  23. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +5 -5
  24. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +4 -4
  25. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +4 -4
  26. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +5 -5
  27. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +4 -4
  28. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +7 -7
  29. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
  30. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +5 -5
  31. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +4 -4
  32. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +18 -13
  33. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +5 -5
  34. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
  35. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
  36. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
  37. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +5 -5
  38. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +4 -4
  39. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
  40. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +4 -4
  41. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +4 -4
  42. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +5 -5
  43. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +52 -52
  44. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +4 -4
  45. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +5 -5
  46. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +7 -7
  47. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
  48. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +5 -5
  49. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
  50. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +5 -5
  51. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +4 -4
  52. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +5 -5
  53. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
  54. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +5 -5
  55. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
  56. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +4 -4
  57. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
  58. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
  59. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +4 -4
  60. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +4 -4
  61. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
  62. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +4 -4
  63. package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +4 -4
  64. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +10 -10
  65. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +4 -4
  66. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +4 -4
  67. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +5 -5
  68. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
  69. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +5 -5
  70. package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +7 -7
  71. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +4 -4
  72. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +4 -4
  73. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +10 -10
  74. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +4 -4
  75. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +4 -4
  76. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +5 -5
  77. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +4 -4
  78. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +5 -5
  79. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +4 -4
  80. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +5 -5
  81. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +4 -4
  82. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +5 -5
  83. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +4 -4
  84. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +4 -4
  85. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
  86. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +4 -4
  87. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +5 -5
  88. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +4 -4
  89. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +5 -5
  90. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +4 -4
  91. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +5 -5
  92. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +4 -4
  93. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +4 -4
  94. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +5 -5
  95. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +4 -4
  96. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +5 -5
  97. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
  98. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +4 -4
  99. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +5 -5
  100. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
  101. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +7 -7
  102. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
  103. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +5 -5
  104. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +4 -4
  105. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +4 -4
  106. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +7 -7
  107. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +4 -4
  108. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -5
  109. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +4 -4
  110. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +4 -4
  111. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +4 -4
  112. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +5 -5
  113. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
  114. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +4 -4
  115. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +4 -4
  116. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +4 -4
  117. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +5 -5
  118. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
  119. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +4 -4
  120. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
  121. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -4
  122. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +5 -5
  123. package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +4 -4
  124. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +4 -4
  125. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +4 -4
  126. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
  127. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +4 -4
  128. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +4 -4
  129. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
  130. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +5 -5
  131. package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
  132. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +4 -4
  133. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +4 -4
  134. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +4 -4
  135. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +4 -4
  136. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +4 -4
  137. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +4 -4
  138. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +5 -5
  139. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +4 -4
  140. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
  141. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +7 -7
  142. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +4 -4
  143. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +5 -5
  144. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
  145. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +4 -4
  146. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +5 -5
  147. package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +4 -4
  148. package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +4 -4
  149. package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +5 -5
  150. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +7 -7
  151. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +13 -13
  152. package/esm2022/lib/components/ecl-page-header/ecl-page-header-info.directive.mjs +4 -4
  153. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +7 -7
  154. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +4 -4
  155. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +4 -4
  156. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +5 -5
  157. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +4 -4
  158. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -4
  159. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +5 -5
  160. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +4 -4
  161. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
  162. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +4 -4
  163. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +5 -5
  164. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +4 -4
  165. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
  166. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +4 -4
  167. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
  168. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +5 -5
  169. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +4 -4
  170. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +4 -4
  171. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +5 -5
  172. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +4 -4
  173. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +5 -5
  174. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +4 -4
  175. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +5 -5
  176. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +4 -4
  177. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +4 -4
  178. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +5 -5
  179. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +4 -4
  180. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +10 -10
  181. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +4 -4
  182. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +13 -13
  183. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +16 -16
  184. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +4 -4
  185. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +7 -7
  186. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +4 -4
  187. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +4 -4
  188. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +5 -5
  189. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +4 -4
  190. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +4 -4
  191. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +4 -4
  192. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +4 -4
  193. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +4 -4
  194. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +5 -5
  195. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +4 -4
  196. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +4 -4
  197. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +7 -7
  198. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +4 -4
  199. package/esm2022/lib/components/ecl-site-header/notification/ecl-site-header-notification.component.mjs +4 -4
  200. package/esm2022/lib/components/ecl-site-header/picture/ecl-site-header-picture.directive.mjs +10 -10
  201. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +4 -4
  202. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +4 -4
  203. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
  204. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +4 -4
  205. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +5 -5
  206. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +4 -4
  207. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
  208. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +4 -4
  209. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +5 -5
  210. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +4 -4
  211. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +5 -5
  212. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +4 -4
  213. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +25 -25
  214. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +5 -5
  215. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +4 -4
  216. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +4 -4
  217. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +4 -4
  218. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +4 -4
  219. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +5 -5
  220. package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +4 -4
  221. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +4 -4
  222. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +5 -5
  223. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +4 -4
  224. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +5 -5
  225. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +4 -4
  226. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +5 -5
  227. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +4 -4
  228. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +4 -4
  229. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +4 -4
  230. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
  231. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
  232. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +5 -5
  233. package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
  234. package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
  235. package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
  236. package/esm2022/lib/shared/ecl-all.module.mjs +5 -5
  237. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
  238. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +4 -4
  239. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +5 -5
  240. package/fesm2022/eui-ecl.mjs +1128 -1085
  241. package/fesm2022/eui-ecl.mjs.map +3 -3
  242. package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  243. package/lib/components/ecl-banner/ecl-banner.component.d.ts +13 -4
  244. package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  245. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  246. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  247. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  248. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  249. package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  250. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +1 -0
  251. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  252. package/lib/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
  253. package/lib/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  254. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  255. package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  256. package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  257. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  258. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  259. package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  260. package/lib/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
  261. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  262. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  263. package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  264. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  265. package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  266. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  267. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  268. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
  269. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  270. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  271. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  272. package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  273. package/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
  274. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  275. package/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
  276. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  277. package/lib/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
  278. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  279. package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
  280. package/lib/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
  281. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  282. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  283. package/lib/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
  284. package/lib/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
  285. package/lib/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
  286. package/lib/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
  287. package/lib/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  288. package/lib/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  289. package/lib/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
  290. package/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  291. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
  292. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
  293. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
  294. package/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  295. package/lib/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
  296. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  297. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  298. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  299. package/lib/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
  300. package/lib/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  301. package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  302. package/lib/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
  303. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  304. package/package.json +1 -1
@@ -409,8 +409,8 @@ export class EclMultiselectDropdownComponent extends ECLBaseDirective {
409
409
  this.renderer.setAttribute(label, 'for', this.toggleId);
410
410
  }
411
411
  }
412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
413
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.6", type: EclMultiselectDropdownComponent, selector: "div[eclMultiselectDropdown]", inputs: { isInvalid: ["isInvalid", "isInvalid", booleanAttribute], mainInputPlaceholder: "mainInputPlaceholder", searchFieldPlaceholder: "searchFieldPlaceholder", eclSize: "eclSize", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { eclChange: "eclChange" }, host: { listeners: { "document:keyup.escape": "onEscapeKey($event)", "document:click": "onKeyUp($event)" }, properties: { "class": "this.cssClasses", "attr.disabled": "this.disabled" } }, providers: [
412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
413
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclMultiselectDropdownComponent, selector: "div[eclMultiselectDropdown]", inputs: { isInvalid: ["isInvalid", "isInvalid", booleanAttribute], mainInputPlaceholder: "mainInputPlaceholder", searchFieldPlaceholder: "searchFieldPlaceholder", eclSize: "eclSize", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { eclChange: "eclChange" }, host: { listeners: { "document:keyup.escape": "onEscapeKey($event)", "document:click": "onKeyUp($event)" }, properties: { "class": "this.cssClasses", "attr.disabled": "this.disabled" } }, providers: [
414
414
  {
415
415
  provide: NG_VALUE_ACCESSOR,
416
416
  useExisting: forwardRef(() => EclMultiselectDropdownComponent),
@@ -418,7 +418,7 @@ export class EclMultiselectDropdownComponent extends ECLBaseDirective {
418
418
  },
419
419
  ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "eclMultiselectInput", first: true, predicate: ["eclMultiselectInput"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "selectAll", first: true, predicate: ["selectAll"], descendants: true }, { propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true, read: ElementRef }, { propertyName: "clearAllBtn", first: true, predicate: ["clearAllBtn"], descendants: true, read: ElementRef }, { propertyName: "multiOptionComponents", predicate: EclMultiselectOptionComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaLabeledby]=\"ariaLabeledby\" [ariaDescribedby]=\"ariaDescribedby\" [toggleLabel]=\"toggleLabel\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n <input\n class=\"ecl-text-input\"\n type=\"search\"\n #searchInput\n [placeholder]=\"searchFieldPlaceholder\"\n (input)=\"onSearch($event.target)\"\n (keydown.enter)=\"onEnterSearch($event)\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\"\n (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n <div eclCheckbox #selectAll class=\"ecl-select__multiple-all\">\n <input\n eclCheckboxInput\n #selectAllCheckbox\n [id]=\"selectAllId\"\n type=\"checkbox\"\n (click)=\"onSelectAll()\"\n (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }}) </label>\n </div>\n <div class=\"ecl-select__multiple-options\">\n <ng-container *ngFor=\"let item of multiOptionDirectives\">\n @if (item.isOptGroup()) {\n <fieldset eclMultiselectOptgroup [label]=\"item.label\">\n <div\n eclMultiselectOption\n *ngFor=\"let elem of item.eclOptionItems\"\n [value]=\"elem.value\"\n [label]=\"elem.label\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n </fieldset>\n } @else if (!item.isOptGroup()) {\n <div\n eclMultiselectOption\n [value]=\"item.value\"\n [label]=\"item.label\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n\n </ng-container>\n\n @if (isShowNoResultsFound) {\n <div class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n }\n\n </div>\n @if (isShowToolbar) {\n <div class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"ghost\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowright)=\"onArrowRightClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowleft)=\"onArrowLeftClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.CLOSE' | translate }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.EclCheckboxDirective, selector: "[eclCheckbox]", inputs: ["isDisabled", "isInvalid", "isSingle"] }, { kind: "component", type: i3.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i4.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "component", type: i5.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i6.EclMultiselectOptionComponent, selector: "div[eclMultiselectOption]", inputs: ["value", "label", "disabled", "isChecked"], outputs: ["optionClick", "optionKeydown"] }, { kind: "component", type: i7.EclMultiselectInputComponent, selector: "div[eclMultiselectInput]", inputs: ["eclSize", "toggleId", "toggleLabel", "isDisabled", "isInvalid", "inputPlaceholder", "selectedItems", "isDropdownExpanded", "ariaControls", "ariaDescribedby", "ariaLabeledby"], outputs: ["mainInputClick", "mainInputKeydown"] }, { kind: "component", type: i8.EclMultiselectOptgroupComponent, selector: "fieldset[eclMultiselectOptgroup]", inputs: ["label"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
420
420
  }
421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectDropdownComponent, decorators: [{
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectDropdownComponent, decorators: [{
422
422
  type: Component,
423
423
  args: [{ selector: 'div[eclMultiselectDropdown]', providers: [
424
424
  {
@@ -475,4 +475,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6",
475
475
  type: HostListener,
476
476
  args: ['document:click', ['$event']]
477
477
  }] } });
478
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duL2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi9lY2wtbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUNoQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTVELE9BQU8sRUFFSCw2QkFBNkIsR0FFaEMsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7Ozs7QUFjcEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUFnQjtJQVVqRSxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQTBCO1FBQ3BDLElB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XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZGdlbiB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENoZWNrYm94RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWNoZWNrYm94JztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0SW5wdXRDb21wb25lbnQsIEVjbE11bHRpc2VsZWN0TWFpbklucHV0Q2xpY2tFdmVudCB9IGZyb20gJy4uL2VjbC1tdWx0aXNlbGVjdC1pbnB1dC9lY2wtbXVsdGlzZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBFY2xNdWx0aXNlbGVjdE9wdGlvbkNsaWNrRXZlbnQsXG4gICAgRWNsTXVsdGlzZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgRWNsTXVsdGlzZWxlY3RPcHRpb25LZXlkb3duRXZlbnQsXG59IGZyb20gJy4uL2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0RHJvcGRvd25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNdWx0aXNlbGVjdERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdlY2xNdWx0aXNlbGVjdElucHV0JykgZWNsTXVsdGlzZWxlY3RJbnB1dDogRWNsTXVsdGlzZWxlY3RJbnB1dENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdzZWxlY3RBbGxDaGVja2JveCcpIHNlbGVjdEFsbENoZWNrYm94OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbCcpIHNlbGVjdEFsbDogRWNsQ2hlY2tib3hEaXJlY3RpdmU7XG4gICAgQFZpZXdDaGlsZCgnY2xvc2VCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgY2xvc2VCdG46IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnY2xlYXJBbGxCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgY2xlYXJBbGxCdG46IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZHJlbihFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudCkgbXVsdGlPcHRpb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8RWNsTXVsdGlzZWxlY3RPcHRpb25Db21wb25lbnQ+O1xuICAgIEBPdXRwdXQoKSBlY2xDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG4gICAgc2V0IGlzSW52YWxpZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1zZWxlY3RfX211bHRpcGxlJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIG1haW5JbnB1dFBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhbiBpdGVtJztcbiAgICBASW5wdXQoKSBzZWFyY2hGaWVsZFBsYWNlaG9sZGVyID0gJ0VudGVyIGtleXdvcmQnO1xuICAgIEBJbnB1dCgpIGVjbFNpemUgPSAnbSc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGFyaWFEZXNjcmliZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGFyaWFMYWJlbGVkYnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICB0b2dnbGVMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlkID0gJyc7XG4gICAgaXNTaG93Tm9SZXN1bHRzRm91bmQgPSBmYWxzZTtcbiAgICBpc1Nob3dNdWx0aXNlbGVjdERyb3Bkb3duID0gZmFsc2U7XG4gICAgbXVsdGlPcHRpb25EaXJlY3RpdmVzOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZVtdID0gW107XG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIHByb3RlY3RlZCBkcm9wZG93bklkID0gJyc7XG4gICAgcHJvdGVjdGVkIHNlbGVjdEFsbElkID0gJyc7XG4gICAgcHJvdGVjdGVkIHRvZ2dsZUlkID0gJyc7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0ludmFsaWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zOiBFY2xNdWx0aXNlbGVjdE9wdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbE11bHRpc2VsZWN0T3B0aW9uQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzV3JpdGVWYWx1ZUNhbGxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgdmFsdWVzID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cyk7XG5cbiAgICAgICAgaWYgKGRpZmYpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlVmFsdWVzKHRoaXMudmFsdWVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTZWxlY3RlZE9wdGlvbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEFsbElkID0gdGhpcy5nZXRTZWxlY3RBbGxJZCgpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duSWQgPSB0aGlzLmdldERyb3Bkb3duSWQoKTtcbiAgICAgICAgdGhpcy50b2dnbGVJZCA9IHRoaXMuZ2V0VG9nZ2xlSWQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vZGlmeVBhcmVudExhYmVsRm9yQXR0cmlidXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cykge1xuICAgICAgICAgICAgdGhpcy5yZXNldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gICAgb25Fc2NhcGVLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlTXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbktleVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBvcHRpb25zQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlT3B0aW9ucygpID8gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCkubGVuZ3RoIDogMDtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWRJdGVtcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5sYWJlbCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSXRlbXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXQgaXNTaG93VG9vbGJhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBpbml0U2VsZWN0ZWRPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzXG4gICAgICAgICAgICAuZmlsdGVyKChlbGVtKSA9PiBlbGVtLmlzQ2hlY2tlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbGlja0NsZWFyQWxsKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsQWN0aXZlT3B0aW9ucygpO1xuICAgICAgICB0aGlzLmVjbENoYW5nZS5lbWl0KFtdKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoW10pO1xuICAgIH1cblxuICAgIG9uRW50ZXJDbGVhcihldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DbGlja0NsZWFyQWxsKGV2dCk7XG4gICAgICAgIHRoaXMuZWNsTXVsdGlzZWxlY3RJbnB1dC5vbkZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25DbGlja0Nsb3NlKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBvbkFycm93VXBDbG9zZUNsZWFyKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIGN1cnJlbnRPcHRpb25zW2N1cnJlbnRPcHRpb25zLmxlbmd0aCAtIDFdLm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkFycm93TGVmdENsb3NlKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5jbGVhckFsbEJ0bi5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uVGFiQ2xvc2UoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5lY2xNdWx0aXNlbGVjdElucHV0Lm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkFycm93UmlnaHRDbGVhcihldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuY2xvc2VCdG4ubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkVudGVyU2VhcmNoKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd25TZWFyY2goZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPcHRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5zZWxlY3RBbGxDaGVja2JveC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudE9wdGlvbnNbMF0ub25Gb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd1VwU2VhcmNoKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5lY2xNdWx0aXNlbGVjdElucHV0Lm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbktleWRvd25NYWluSW5wdXQoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zaG93TXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrTWFpbklucHV0KGV2dDogRWNsTXVsdGlzZWxlY3RNYWluSW5wdXRDbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd25TZWxlY3RBbGwoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGN1cnJlbnRPcHRpb25zWzBdLm9uRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dVcFNlbGVjdEFsbChldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGlucHV0OiBFdmVudFRhcmdldCk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXl3b3JkID0gKGlucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICBsZXQgaXNNYXRjaEZvdW5kID0gZmFsc2U7XG4gICAgICAgIGlmIChrZXl3b3JkID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVTZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIGlzTWF0Y2hGb3VuZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5oaWdobGlnaHRTZWFyY2hUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICBpdGVtLnNob3coKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXl3b3JkLnRvTG93ZXJDYXNlKCkpIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpc01hdGNoRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZ2hsaWdodFNlYXJjaFRleHQoa2V5d29yZC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTWF0Y2hGb3VuZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93Tm9SZXN1bHRzRm91bmQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU5vUmVzdWx0c0ZvdW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFsbEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudW5zZWxlY3RBbGxBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZWNsQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICB9XG5cbiAgICBvbktleWRvd25PcHRpb24oZXZ0OiBFY2xNdWx0aXNlbGVjdE9wdGlvbktleWRvd25FdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXlib2FyZEV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uT3B0aW9uQXJyb3dEb3duQW5kVGFiKGV2dC5rZXlib2FyZEV2ZW50LCBldnQubXVsdGlzZWxlY3RPcHRpb24pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk9wdGlvbkFycm93VXAoZXZ0LmtleWJvYXJkRXZlbnQsIGV2dC5tdWx0aXNlbGVjdE9wdGlvbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVOVEVSOiB7XG4gICAgICAgICAgICAgICAgKGV2dC5rZXlib2FyZEV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jbGljaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgIHRoaXMub25PcHRpb25BcnJvd0Rvd25BbmRUYWIoZXZ0LmtleWJvYXJkRXZlbnQsIGV2dC5tdWx0aXNlbGVjdE9wdGlvbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wdGlvblNlbGVjdGVkKGV2dDogRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQsICdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJPcHRpb24gPSBldnQubXVsdGlzZWxlY3RPcHRpb247XG4gICAgICAgIGlmIChjdXJyT3B0aW9uLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGN1cnJPcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmluZGV4T2YoY3Vyck9wdGlvbik7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZWNsQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEFsbEFjdGl2ZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0QWxsQWN0aXZlT3B0aW9ucygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbS5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVuc2VsZWN0QWxsQWN0aXZlT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQsICdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuZ2V0QWxsQWN0aXZlT3B0aW9ucygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNDaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsQWN0aXZlT3B0aW9ucygpOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzLmZpbHRlcigoZWxlbSkgPT4gZWxlbS5pc0FjdGl2ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgICAgLyogZW1wdHkgKi9cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAvKiBlbXB0eSAqL1xuICAgIH07XG5cbiAgICBwcml2YXRlIHNob3dNdWx0aXNlbGVjdERyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2hvd011bHRpc2VsZWN0RHJvcGRvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93TXVsdGlzZWxlY3REcm9wZG93biA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZVNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGwuaXNEaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbmFibGVTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dOb1Jlc3VsdHNGb3VuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Nob3dOb1Jlc3VsdHNGb3VuZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlTm9SZXN1bHRzRm91bmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93Tm9SZXN1bHRzRm91bmQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5zZWxlY3RBbGxDaGVja2JveC5uYXRpdmVFbGVtZW50LCAnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZVZhbHVlcyh2YWx1ZXM6IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50c0FycmF5ID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHZhbHVlcy5pbmNsdWRlcyhpdGVtLnZhbHVlKSAmJiAhaXRlbS5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5pc0NoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRFbGVtZW50c0FycmF5LnB1c2goZWwubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGVsKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2hvd011bHRpc2VsZWN0RHJvcGRvd24gPSAhdGhpcy5pc1Nob3dNdWx0aXNlbGVjdERyb3Bkb3duO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25PcHRpb25BcnJvd0Rvd25BbmRUYWIoZXZ0OiBLZXlib2FyZEV2ZW50LCBvcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uKTogdm9pZCB7XG4gICAgICAgIChldnQgYXMgS2V5Ym9hcmRFdmVudCkucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldE9wdGlvbkluZGV4QnlJZEZyb21BY3RpdmVPcHRpb25zKG9wdGlvbi5pZCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIGlmIChpbmRleCAhPT0gY3VycmVudE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFNpYmxpbmdDaGVja2JveCA9IGN1cnJlbnRPcHRpb25zW2luZGV4ICsgMV07XG4gICAgICAgICAgICBuZXh0U2libGluZ0NoZWNrYm94Lm9uRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsZWFyQWxsQnRuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCh0aGlzLmNsZWFyQWxsQnRuLm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsTXVsdGlzZWxlY3RJbnB1dC5vbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uT3B0aW9uQXJyb3dVcChldnQ6IEtleWJvYXJkRXZlbnQsIG9wdGlvbjogRWNsTXVsdGlzZWxlY3RPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgKGV2dCBhcyBLZXlib2FyZEV2ZW50KS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0T3B0aW9uSW5kZXhCeUlkRnJvbUFjdGl2ZU9wdGlvbnMob3B0aW9uLmlkKTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2U2libGluZ0NoZWNrYm94ID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKClbaW5kZXggLSAxXTtcbiAgICAgICAgICAgIHByZXZTaWJsaW5nQ2hlY2tib3gub25Gb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCh0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aXZlT3B0aW9ucygpOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzID8gdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzQWN0aXZlKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3B0aW9uSW5kZXhCeUlkRnJvbUFjdGl2ZU9wdGlvbnMoaWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKS5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RBbGxJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdXVpZGdlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RHJvcGRvd25JZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCAhPT0gJycgPyBgJHt0aGlzLmlkfS1kcm9wZG93bmAgOiB1dWlkZ2VuKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb2dnbGVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCAhPT0gJycgPyBgJHt0aGlzLmlkfS10b2dnbGVgIDogdXVpZGdlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW9kaWZ5UGFyZW50TGFiZWxGb3JBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBmb3JtPy5xdWVyeVNlbGVjdG9yKCcuZWNsLWZvcm0tbGFiZWwnKTtcbiAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShsYWJlbCwgJ2ZvcicsIHRoaXMudG9nZ2xlSWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBlY2xNdWx0aXNlbGVjdElucHV0ICNlY2xNdWx0aXNlbGVjdElucHV0IFtpbnB1dFBsYWNlaG9sZGVyXT1cIm1haW5JbnB1dFBsYWNlaG9sZGVyXCIgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgKG1haW5JbnB1dENsaWNrKT1cIm9uQ2xpY2tNYWluSW5wdXQoJGV2ZW50KVwiIChtYWluSW5wdXRLZXlkb3duKT1cIm9uS2V5ZG93bk1haW5JbnB1dCgkZXZlbnQpXCIgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthcmlhTGFiZWxlZGJ5XT1cImFyaWFMYWJlbGVkYnlcIiBbYXJpYURlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiIFt0b2dnbGVMYWJlbF09XCJ0b2dnbGVMYWJlbFwiIFthcmlhQ29udHJvbHNdPVwiZHJvcGRvd25JZFwiIFtpc0ludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICBbaXNEcm9wZG93bkV4cGFuZGVkXT1cImlzU2hvd011bHRpc2VsZWN0RHJvcGRvd25cIiBbZWNsU2l6ZV09XCJlY2xTaXplXCIgW3RvZ2dsZUlkXT1cInRvZ2dsZUlkXCI+PC9kaXY+XG48ZGl2XG4gICAgW3N0eWxlLmRpc3BsYXldPVwiaXNTaG93TXVsdGlzZWxlY3REcm9wZG93biA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgIGNsYXNzPVwiZWNsLXNlbGVjdF9fbXVsdGlwbGUtZHJvcGRvd24gZWNsLXNlbGVjdF9fY29udGFpbmVyIGVjbC1zZWxlY3RfX2NvbnRhaW5lci0te3tlY2xTaXplfX1cIlxuICAgIFtpZF09XCJkcm9wZG93bklkXCI+XG4gICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZWNsLXRleHQtaW5wdXRcIlxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hGaWVsZFBsYWNlaG9sZGVyXCJcbiAgICAgICAgKGlucHV0KT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlclNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJvbkFycm93RG93blNlYXJjaCgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGVjbENoZWNrYm94ICNzZWxlY3RBbGwgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1hbGxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBlY2xDaGVja2JveElucHV0XG4gICAgICAgICAgICAjc2VsZWN0QWxsQ2hlY2tib3hcbiAgICAgICAgICAgIFtpZF09XCJzZWxlY3RBbGxJZFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0QWxsKClcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBTZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2Rvd24pPVwib25BcnJvd0Rvd25TZWxlY3RBbGwoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cInNlbGVjdEFsbElkXCIgZWNsQ2hlY2tib3hMYWJlbD4ge3sgJ2VjbC5tdWx0aXNlbGVjdC5TRUxFQ1QtQUxMJyB8IHRyYW5zbGF0ZSB9fSAoe3sgb3B0aW9uc0NvdW50IH19KSA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1vcHRpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbXVsdGlPcHRpb25EaXJlY3RpdmVzXCI+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uaXNPcHRHcm91cCgpKSB7XG4gICAgICAgICAgICAgICAgPGZpZWxkc2V0IGVjbE11bHRpc2VsZWN0T3B0Z3JvdXAgW2xhYmVsXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgZWNsTXVsdGlzZWxlY3RPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbGVtIG9mIGl0ZW0uZWNsT3B0aW9uSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImVsZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImVsZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVsZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJlbGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJlbGVtLmNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25DbGljayk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbktleWRvd24pPVwib25LZXlkb3duT3B0aW9uKCRldmVudClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoIWl0ZW0uaXNPcHRHcm91cCgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBlY2xNdWx0aXNlbGVjdE9wdGlvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIChvcHRpb25DbGljayk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uS2V5ZG93bik9XCJvbktleWRvd25PcHRpb24oJGV2ZW50KVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIEBpZiAoaXNTaG93Tm9SZXN1bHRzRm91bmQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1uby1yZXN1bHRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJ2VjbC5tdWx0aXNlbGVjdC5OTy1SRVNVTFRTLUZPVU5EJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGlzU2hvd1Rvb2xiYXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1zZWxlY3QtbXVsdGlwbGUtdG9vbGJhclwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGVjbEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgI2NsZWFyQWxsQnRuXG4gICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBDbG9zZUNsZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwib25BcnJvd1JpZ2h0Q2xlYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlckNsZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrQ2xlYXJBbGwoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIHt7ICdlY2wubXVsdGlzZWxlY3QuQ0xFQVItQUxMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZWNsQnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICNjbG9zZUJ0blxuICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93dXApPVwib25BcnJvd1VwQ2xvc2VDbGVhcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2xlZnQpPVwib25BcnJvd0xlZnRDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwib25UYWJDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0Nsb3NlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LWRyb3Bkb3duL2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi9lY2wtbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUNoQixTQUFTLEVBRVQsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTVELE9BQU8sRUFFSCw2QkFBNkIsR0FFaEMsTUFBTSw0REFBNEQsQ0FBQzs7Ozs7Ozs7Ozs7QUFjcEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUFnQjtJQVVqRSxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQTBCO1FBQ3BDLElB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XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb21wb25lbnQsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZGdlbiB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENoZWNrYm94RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWNoZWNrYm94JztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0SW5wdXRDb21wb25lbnQsIEVjbE11bHRpc2VsZWN0TWFpbklucHV0Q2xpY2tFdmVudCB9IGZyb20gJy4uL2VjbC1tdWx0aXNlbGVjdC1pbnB1dC9lY2wtbXVsdGlzZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBFY2xNdWx0aXNlbGVjdE9wdGlvbkNsaWNrRXZlbnQsXG4gICAgRWNsTXVsdGlzZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgRWNsTXVsdGlzZWxlY3RPcHRpb25LZXlkb3duRXZlbnQsXG59IGZyb20gJy4uL2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0RHJvcGRvd25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2VjbC1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWNsTXVsdGlzZWxlY3REcm9wZG93bkNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNdWx0aXNlbGVjdERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdlY2xNdWx0aXNlbGVjdElucHV0JykgZWNsTXVsdGlzZWxlY3RJbnB1dDogRWNsTXVsdGlzZWxlY3RJbnB1dENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdzZWxlY3RBbGxDaGVja2JveCcpIHNlbGVjdEFsbENoZWNrYm94OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbCcpIHNlbGVjdEFsbDogRWNsQ2hlY2tib3hEaXJlY3RpdmU7XG4gICAgQFZpZXdDaGlsZCgnY2xvc2VCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgY2xvc2VCdG46IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnY2xlYXJBbGxCdG4nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgY2xlYXJBbGxCdG46IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZHJlbihFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudCkgbXVsdGlPcHRpb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8RWNsTXVsdGlzZWxlY3RPcHRpb25Db21wb25lbnQ+O1xuICAgIEBPdXRwdXQoKSBlY2xDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG4gICAgc2V0IGlzSW52YWxpZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1zZWxlY3RfX211bHRpcGxlJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIG1haW5JbnB1dFBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhbiBpdGVtJztcbiAgICBASW5wdXQoKSBzZWFyY2hGaWVsZFBsYWNlaG9sZGVyID0gJ0VudGVyIGtleXdvcmQnO1xuICAgIEBJbnB1dCgpIGVjbFNpemUgPSAnbSc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGFyaWFEZXNjcmliZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGFyaWFMYWJlbGVkYnk6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICB0b2dnbGVMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlkID0gJyc7XG4gICAgaXNTaG93Tm9SZXN1bHRzRm91bmQgPSBmYWxzZTtcbiAgICBpc1Nob3dNdWx0aXNlbGVjdERyb3Bkb3duID0gZmFsc2U7XG4gICAgbXVsdGlPcHRpb25EaXJlY3RpdmVzOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZVtdID0gW107XG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIHByb3RlY3RlZCBkcm9wZG93bklkID0gJyc7XG4gICAgcHJvdGVjdGVkIHNlbGVjdEFsbElkID0gJyc7XG4gICAgcHJvdGVjdGVkIHRvZ2dsZUlkID0gJyc7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc0ludmFsaWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zOiBFY2xNdWx0aXNlbGVjdE9wdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbE11bHRpc2VsZWN0T3B0aW9uQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzV3JpdGVWYWx1ZUNhbGxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgdmFsdWVzID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5kaWZmZXIuZGlmZih0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cyk7XG5cbiAgICAgICAgaWYgKGRpZmYpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlVmFsdWVzKHRoaXMudmFsdWVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTZWxlY3RlZE9wdGlvbnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEFsbElkID0gdGhpcy5nZXRTZWxlY3RBbGxJZCgpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duSWQgPSB0aGlzLmdldERyb3Bkb3duSWQoKTtcbiAgICAgICAgdGhpcy50b2dnbGVJZCA9IHRoaXMuZ2V0VG9nZ2xlSWQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vZGlmeVBhcmVudExhYmVsRm9yQXR0cmlidXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cykge1xuICAgICAgICAgICAgdGhpcy5yZXNldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLmlzV3JpdGVWYWx1ZUNhbGxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gICAgb25Fc2NhcGVLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlTXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbktleVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBvcHRpb25zQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlT3B0aW9ucygpID8gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCkubGVuZ3RoIDogMDtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWRJdGVtcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5sYWJlbCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzSXRlbXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXQgaXNTaG93VG9vbGJhcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBpbml0U2VsZWN0ZWRPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzXG4gICAgICAgICAgICAuZmlsdGVyKChlbGVtKSA9PiBlbGVtLmlzQ2hlY2tlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbGlja0NsZWFyQWxsKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsQWN0aXZlT3B0aW9ucygpO1xuICAgICAgICB0aGlzLmVjbENoYW5nZS5lbWl0KFtdKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoW10pO1xuICAgIH1cblxuICAgIG9uRW50ZXJDbGVhcihldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DbGlja0NsZWFyQWxsKGV2dCk7XG4gICAgICAgIHRoaXMuZWNsTXVsdGlzZWxlY3RJbnB1dC5vbkZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25DbGlja0Nsb3NlKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBvbkFycm93VXBDbG9zZUNsZWFyKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIGN1cnJlbnRPcHRpb25zW2N1cnJlbnRPcHRpb25zLmxlbmd0aCAtIDFdLm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkFycm93TGVmdENsb3NlKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5jbGVhckFsbEJ0bi5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uVGFiQ2xvc2UoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5lY2xNdWx0aXNlbGVjdElucHV0Lm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkFycm93UmlnaHRDbGVhcihldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuY2xvc2VCdG4ubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkVudGVyU2VhcmNoKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd25TZWFyY2goZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPcHRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5zZWxlY3RBbGxDaGVja2JveC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudE9wdGlvbnNbMF0ub25Gb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd1VwU2VhcmNoKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5lY2xNdWx0aXNlbGVjdElucHV0Lm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbktleWRvd25NYWluSW5wdXQoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zaG93TXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrTWFpbklucHV0KGV2dDogRWNsTXVsdGlzZWxlY3RNYWluSW5wdXRDbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgb25BcnJvd0Rvd25TZWxlY3RBbGwoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGN1cnJlbnRPcHRpb25zWzBdLm9uRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dVcFNlbGVjdEFsbChldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGlucHV0OiBFdmVudFRhcmdldCk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXl3b3JkID0gKGlucHV0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICBsZXQgaXNNYXRjaEZvdW5kID0gZmFsc2U7XG4gICAgICAgIGlmIChrZXl3b3JkID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVTZWxlY3RBbGwoKTtcbiAgICAgICAgICAgIGlzTWF0Y2hGb3VuZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5oaWdobGlnaHRTZWFyY2hUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICBpdGVtLnNob3coKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXl3b3JkLnRvTG93ZXJDYXNlKCkpIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpc01hdGNoRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZ2hsaWdodFNlYXJjaFRleHQoa2V5d29yZC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTWF0Y2hGb3VuZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93Tm9SZXN1bHRzRm91bmQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZU5vUmVzdWx0c0ZvdW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFsbEFjdGl2ZU9wdGlvbnMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudW5zZWxlY3RBbGxBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZWNsQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICB9XG5cbiAgICBvbktleWRvd25PcHRpb24oZXZ0OiBFY2xNdWx0aXNlbGVjdE9wdGlvbktleWRvd25FdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXlib2FyZEV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uT3B0aW9uQXJyb3dEb3duQW5kVGFiKGV2dC5rZXlib2FyZEV2ZW50LCBldnQubXVsdGlzZWxlY3RPcHRpb24pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk9wdGlvbkFycm93VXAoZXZ0LmtleWJvYXJkRXZlbnQsIGV2dC5tdWx0aXNlbGVjdE9wdGlvbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlTXVsdGlzZWxlY3REcm9wZG93bigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVOVEVSOiB7XG4gICAgICAgICAgICAgICAgKGV2dC5rZXlib2FyZEV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jbGljaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgIHRoaXMub25PcHRpb25BcnJvd0Rvd25BbmRUYWIoZXZ0LmtleWJvYXJkRXZlbnQsIGV2dC5tdWx0aXNlbGVjdE9wdGlvbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk9wdGlvblNlbGVjdGVkKGV2dDogRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQsICdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJPcHRpb24gPSBldnQubXVsdGlzZWxlY3RPcHRpb247XG4gICAgICAgIGlmIChjdXJyT3B0aW9uLmlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGN1cnJPcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmluZGV4T2YoY3Vyck9wdGlvbik7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZWNsQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEFsbEFjdGl2ZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0QWxsQWN0aXZlT3B0aW9ucygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbS5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVuc2VsZWN0QWxsQWN0aXZlT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnNlbGVjdEFsbENoZWNrYm94Lm5hdGl2ZUVsZW1lbnQsICdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuZ2V0QWxsQWN0aXZlT3B0aW9ucygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNDaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsQWN0aXZlT3B0aW9ucygpOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzLmZpbHRlcigoZWxlbSkgPT4gZWxlbS5pc0FjdGl2ZSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgICAgLyogZW1wdHkgKi9cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVUb3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAvKiBlbXB0eSAqL1xuICAgIH07XG5cbiAgICBwcml2YXRlIHNob3dNdWx0aXNlbGVjdERyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2hvd011bHRpc2VsZWN0RHJvcGRvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU11bHRpc2VsZWN0RHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93TXVsdGlzZWxlY3REcm9wZG93biA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGlzYWJsZVNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGwuaXNEaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbmFibGVTZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dOb1Jlc3VsdHNGb3VuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Nob3dOb1Jlc3VsdHNGb3VuZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlTm9SZXN1bHRzRm91bmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93Tm9SZXN1bHRzRm91bmQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm11bHRpT3B0aW9uQ29tcG9uZW50cy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5zZWxlY3RBbGxDaGVja2JveC5uYXRpdmVFbGVtZW50LCAnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZVZhbHVlcyh2YWx1ZXM6IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50c0FycmF5ID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHZhbHVlcy5pbmNsdWRlcyhpdGVtLnZhbHVlKSAmJiAhaXRlbS5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5pc0NoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRFbGVtZW50c0FycmF5LnB1c2goZWwubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcy5wdXNoKGVsKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2hvd011bHRpc2VsZWN0RHJvcGRvd24gPSAhdGhpcy5pc1Nob3dNdWx0aXNlbGVjdERyb3Bkb3duO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25PcHRpb25BcnJvd0Rvd25BbmRUYWIoZXZ0OiBLZXlib2FyZEV2ZW50LCBvcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uKTogdm9pZCB7XG4gICAgICAgIChldnQgYXMgS2V5Ym9hcmRFdmVudCkucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldE9wdGlvbkluZGV4QnlJZEZyb21BY3RpdmVPcHRpb25zKG9wdGlvbi5pZCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKCk7XG4gICAgICAgIGlmIChpbmRleCAhPT0gY3VycmVudE9wdGlvbnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFNpYmxpbmdDaGVja2JveCA9IGN1cnJlbnRPcHRpb25zW2luZGV4ICsgMV07XG4gICAgICAgICAgICBuZXh0U2libGluZ0NoZWNrYm94Lm9uRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNsZWFyQWxsQnRuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCh0aGlzLmNsZWFyQWxsQnRuLm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsTXVsdGlzZWxlY3RJbnB1dC5vbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uT3B0aW9uQXJyb3dVcChldnQ6IEtleWJvYXJkRXZlbnQsIG9wdGlvbjogRWNsTXVsdGlzZWxlY3RPcHRpb24pOiB2b2lkIHtcbiAgICAgICAgKGV2dCBhcyBLZXlib2FyZEV2ZW50KS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0T3B0aW9uSW5kZXhCeUlkRnJvbUFjdGl2ZU9wdGlvbnMob3B0aW9uLmlkKTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2U2libGluZ0NoZWNrYm94ID0gdGhpcy5nZXRBY3RpdmVPcHRpb25zKClbaW5kZXggLSAxXTtcbiAgICAgICAgICAgIHByZXZTaWJsaW5nQ2hlY2tib3gub25Gb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudCh0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuc2VsZWN0QWxsQ2hlY2tib3gubmF0aXZlRWxlbWVudCwgdHJ1ZSkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aXZlT3B0aW9ucygpOiBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlPcHRpb25Db21wb25lbnRzID8gdGhpcy5tdWx0aU9wdGlvbkNvbXBvbmVudHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzQWN0aXZlKSA6IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3B0aW9uSW5kZXhCeUlkRnJvbUFjdGl2ZU9wdGlvbnMoaWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZU9wdGlvbnMoKS5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RBbGxJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdXVpZGdlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RHJvcGRvd25JZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCAhPT0gJycgPyBgJHt0aGlzLmlkfS1kcm9wZG93bmAgOiB1dWlkZ2VuKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb2dnbGVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCAhPT0gJycgPyBgJHt0aGlzLmlkfS10b2dnbGVgIDogdXVpZGdlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW9kaWZ5UGFyZW50TGFiZWxGb3JBdHRyaWJ1dGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBmb3JtPy5xdWVyeVNlbGVjdG9yKCcuZWNsLWZvcm0tbGFiZWwnKTtcbiAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShsYWJlbCwgJ2ZvcicsIHRoaXMudG9nZ2xlSWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBlY2xNdWx0aXNlbGVjdElucHV0ICNlY2xNdWx0aXNlbGVjdElucHV0IFtpbnB1dFBsYWNlaG9sZGVyXT1cIm1haW5JbnB1dFBsYWNlaG9sZGVyXCIgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgKG1haW5JbnB1dENsaWNrKT1cIm9uQ2xpY2tNYWluSW5wdXQoJGV2ZW50KVwiIChtYWluSW5wdXRLZXlkb3duKT1cIm9uS2V5ZG93bk1haW5JbnB1dCgkZXZlbnQpXCIgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthcmlhTGFiZWxlZGJ5XT1cImFyaWFMYWJlbGVkYnlcIiBbYXJpYURlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiIFt0b2dnbGVMYWJlbF09XCJ0b2dnbGVMYWJlbFwiIFthcmlhQ29udHJvbHNdPVwiZHJvcGRvd25JZFwiIFtpc0ludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICBbaXNEcm9wZG93bkV4cGFuZGVkXT1cImlzU2hvd011bHRpc2VsZWN0RHJvcGRvd25cIiBbZWNsU2l6ZV09XCJlY2xTaXplXCIgW3RvZ2dsZUlkXT1cInRvZ2dsZUlkXCI+PC9kaXY+XG48ZGl2XG4gICAgW3N0eWxlLmRpc3BsYXldPVwiaXNTaG93TXVsdGlzZWxlY3REcm9wZG93biA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgIGNsYXNzPVwiZWNsLXNlbGVjdF9fbXVsdGlwbGUtZHJvcGRvd24gZWNsLXNlbGVjdF9fY29udGFpbmVyIGVjbC1zZWxlY3RfX2NvbnRhaW5lci0te3tlY2xTaXplfX1cIlxuICAgIFtpZF09XCJkcm9wZG93bklkXCI+XG4gICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiZWNsLXRleHQtaW5wdXRcIlxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgI3NlYXJjaElucHV0XG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hGaWVsZFBsYWNlaG9sZGVyXCJcbiAgICAgICAgKGlucHV0KT1cIm9uU2VhcmNoKCRldmVudC50YXJnZXQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlclNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJvbkFycm93RG93blNlYXJjaCgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGVjbENoZWNrYm94ICNzZWxlY3RBbGwgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1hbGxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBlY2xDaGVja2JveElucHV0XG4gICAgICAgICAgICAjc2VsZWN0QWxsQ2hlY2tib3hcbiAgICAgICAgICAgIFtpZF09XCJzZWxlY3RBbGxJZFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0QWxsKClcIlxuICAgICAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBTZWxlY3RBbGwoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2Rvd24pPVwib25BcnJvd0Rvd25TZWxlY3RBbGwoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cInNlbGVjdEFsbElkXCIgZWNsQ2hlY2tib3hMYWJlbD4ge3sgJ2VjbC5tdWx0aXNlbGVjdC5TRUxFQ1QtQUxMJyB8IHRyYW5zbGF0ZSB9fSAoe3sgb3B0aW9uc0NvdW50IH19KSA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1vcHRpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbXVsdGlPcHRpb25EaXJlY3RpdmVzXCI+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uaXNPcHRHcm91cCgpKSB7XG4gICAgICAgICAgICAgICAgPGZpZWxkc2V0IGVjbE11bHRpc2VsZWN0T3B0Z3JvdXAgW2xhYmVsXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgZWNsTXVsdGlzZWxlY3RPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbGVtIG9mIGl0ZW0uZWNsT3B0aW9uSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImVsZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImVsZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVsZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJlbGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJlbGVtLmNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25DbGljayk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbktleWRvd24pPVwib25LZXlkb3duT3B0aW9uKCRldmVudClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoIWl0ZW0uaXNPcHRHcm91cCgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBlY2xNdWx0aXNlbGVjdE9wdGlvblxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5jbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIChvcHRpb25DbGljayk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uS2V5ZG93bik9XCJvbktleWRvd25PcHRpb24oJGV2ZW50KVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIEBpZiAoaXNTaG93Tm9SZXN1bHRzRm91bmQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19tdWx0aXBsZS1uby1yZXN1bHRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJ2VjbC5tdWx0aXNlbGVjdC5OTy1SRVNVTFRTLUZPVU5EJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGlzU2hvd1Rvb2xiYXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1zZWxlY3QtbXVsdGlwbGUtdG9vbGJhclwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGVjbEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgI2NsZWFyQWxsQnRuXG4gICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93VXBDbG9zZUNsZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwib25BcnJvd1JpZ2h0Q2xlYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlckNsZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrQ2xlYXJBbGwoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIHt7ICdlY2wubXVsdGlzZWxlY3QuQ0xFQVItQUxMJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZWNsQnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICNjbG9zZUJ0blxuICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93dXApPVwib25BcnJvd1VwQ2xvc2VDbGVhcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2xlZnQpPVwib25BcnJvd0xlZnRDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwib25UYWJDbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0Nsb3NlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -71,10 +71,10 @@ export class EclMultiselectInputComponent extends ECLBaseDirective {
71
71
  onFocus() {
72
72
  this.renderer.selectRootElement(this.inputMultiselect.nativeElement, true).focus();
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectInputComponent, deps: [{ token: i1.EclThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.6", type: EclMultiselectInputComponent, selector: "div[eclMultiselectInput]", inputs: { eclSize: "eclSize", toggleId: "toggleId", toggleLabel: "toggleLabel", isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute], inputPlaceholder: "inputPlaceholder", selectedItems: "selectedItems", isDropdownExpanded: "isDropdownExpanded", ariaControls: "ariaControls", ariaDescribedby: "ariaDescribedby", ariaLabeledby: "ariaLabeledby" }, outputs: { mainInputClick: "mainInputClick", mainInputKeydown: "mainInputKeydown" }, host: { properties: { "class.ecl-select__container--disabled": "this.isDisabled", "class.ecl-select__container--invalid": "this.isInvalid", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "inputMultiselect", first: true, predicate: ["inputMultiselect"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter\" class=\"ecl-select-multiple-selections-counter\">\n <span>{{ selectedItemsCount }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n [class.ecl-select--active]=\"isActive\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.disabled]=\"isDisabled ? true : undefined\"\n [attr.aria-labelledby]=\"ariaLabeledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText }}\n</button>\n<div class=\"ecl-select__icon\">\n <button eclButton isIconOnly variant=\"ghost\" tabindex=\"-1\">\n <span eclButtonLabel>\n {{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i4.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectInputComponent, deps: [{ token: i1.EclThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EclMultiselectInputComponent, selector: "div[eclMultiselectInput]", inputs: { eclSize: "eclSize", toggleId: "toggleId", toggleLabel: "toggleLabel", isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute], inputPlaceholder: "inputPlaceholder", selectedItems: "selectedItems", isDropdownExpanded: "isDropdownExpanded", ariaControls: "ariaControls", ariaDescribedby: "ariaDescribedby", ariaLabeledby: "ariaLabeledby" }, outputs: { mainInputClick: "mainInputClick", mainInputKeydown: "mainInputKeydown" }, host: { properties: { "class.ecl-select__container--disabled": "this.isDisabled", "class.ecl-select__container--invalid": "this.isInvalid", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "inputMultiselect", first: true, predicate: ["inputMultiselect"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter\" class=\"ecl-select-multiple-selections-counter\">\n <span>{{ selectedItemsCount }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n [class.ecl-select--active]=\"isActive\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.disabled]=\"isDisabled ? true : undefined\"\n [attr.aria-labelledby]=\"ariaLabeledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText }}\n</button>\n<div class=\"ecl-select__icon\">\n <button eclButton isIconOnly variant=\"ghost\" tabindex=\"-1\">\n <span eclButtonLabel>\n {{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i4.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectInputComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectInputComponent, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'div[eclMultiselectInput]', template: "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter\" class=\"ecl-select-multiple-selections-counter\">\n <span>{{ selectedItemsCount }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n [class.ecl-select--active]=\"isActive\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.disabled]=\"isDisabled ? true : undefined\"\n [attr.aria-labelledby]=\"ariaLabeledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText }}\n</button>\n<div class=\"ecl-select__icon\">\n <button eclButton isIconOnly variant=\"ghost\" tabindex=\"-1\">\n <span eclButtonLabel>\n {{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
80
80
  }], ctorParameters: () => [{ type: i1.EclThemeService }, { type: i0.Renderer2 }], propDecorators: { eclSize: [{
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6",
118
118
  }], mainInputKeydown: [{
119
119
  type: Output
120
120
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LWlucHV0L2VjbC1tdWx0aXNlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1pbnB1dC9lY2wtbXVsdGlzZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUc1RCxNQUFNLE9BQU8saUNBQWlDO0lBQzFDLFlBQW1CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztDQUN0QztBQU9ELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQkFBZ0I7SUFXOUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsRUFBRSwwQkFBMEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JILENBQUM7SUFlRCxZQUFvQixlQUFnQyxFQUFVLFFBQW1CO1FBQzdFLEtBQUssRUFBRSxDQUFDO1FBRFEsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FB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Z0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXlCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ25CLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RNYWluSW5wdXRDbGlja0V2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZXZlbnQ6IEV2ZW50KSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0SW5wdXRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW11bHRpc2VsZWN0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RJbnB1dENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuXG4gICAgQElucHV0KCkgZWNsU2l6ZSA9ICdtJztcbiAgICBASW5wdXQoKSB0b2dnbGVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRvZ2dsZUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtc2VsZWN0X19jb250YWluZXItLWRpc2FibGVkJylcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtc2VsZWN0X19jb250YWluZXItLWludmFsaWQnKVxuICAgIGlzSW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXNlbGVjdF9fY29udGFpbmVyJyksIGBlY2wtc2VsZWN0X19jb250YWluZXItLSR7dGhpcy5lY2xTaXplfWBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGlucHV0UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1zID0gW107XG4gICAgQElucHV0KCkgaXNEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJpYUNvbnRyb2xzOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJpYUxhYmVsZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRNdWx0aXNlbGVjdCcpIGlucHV0TXVsdGlzZWxlY3Q6IEVsZW1lbnRSZWY7XG4gICAgQE91dHB1dCgpIG1haW5JbnB1dENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNdWx0aXNlbGVjdE1haW5JbnB1dENsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1haW5JbnB1dEtleWRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBJQ09OX1NJWkVfRk9SX0VDX1RIRU1FX09OID0gJ3hzJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IElDT05fU0laRV9GT1JfRVVfVEhFTUVfT04gPSAncyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVjbFRoZW1lU2VydmljZTogRWNsVGhlbWVTZXJ2aWNlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGJ1dHRvblRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDAgPyB0aGlzLmlucHV0UGxhY2Vob2xkZXIgOiB0aGlzLnNlbGVjdGVkSXRlbXMuam9pbignLCcpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZEl0ZW1zQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd0NvdW50ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHNpemVJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmVjbFRoZW1lU2VydmljZS5pc0VDVGhlbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuSUNPTl9TSVpFX0ZPUl9FQ19USEVNRV9PTjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLklDT05fU0laRV9GT1JfRVVfVEhFTUVfT047XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYWluSW5wdXRDbGljay5lbWl0KG5ldyBFY2xNdWx0aXNlbGVjdE1haW5JbnB1dENsaWNrRXZlbnQoZXZ0KSk7XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19ET1dOOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYWluSW5wdXRLZXlkb3duLmVtaXQoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5pbnB1dE11bHRpc2VsZWN0Lm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdiBbY2xhc3MuZWNsLXNlbGVjdC1tdWx0aXBsZS1zZWxlY3Rpb25zLWNvdW50ZXItLXZpc2libGVdPVwiaXNTaG93Q291bnRlclwiIGNsYXNzPVwiZWNsLXNlbGVjdC1tdWx0aXBsZS1zZWxlY3Rpb25zLWNvdW50ZXJcIj5cbiAgICA8c3Bhbj57eyBzZWxlY3RlZEl0ZW1zQ291bnQgfX08L3NwYW4+XG48L2Rpdj5cbjxidXR0b25cbiAgICBjbGFzcz1cImVjbC1zZWxlY3QgZWNsLXNlbGVjdF9fbXVsdGlwbGUtdG9nZ2xlXCJcbiAgICBbY2xhc3MuZWNsLXNlbGVjdC0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICAjaW5wdXRNdWx0aXNlbGVjdFxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtpZF09XCJ0b2dnbGVJZFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGVkYnlcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPiB7eyBidXR0b25UZXh0IH19XG48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19pY29uXCI+XG4gICAgPGJ1dHRvbiBlY2xCdXR0b24gaXNJY29uT25seSB2YXJpYW50PVwiZ2hvc3RcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgIHt7IHRvZ2dsZUxhYmVsIHx8ICdlY2wubXVsdGlzZWxlY3QuVE9HR0xFLkRST1BET1dOJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBbc2l6ZV09XCJzaXplSWNvblwiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LWlucHV0L2VjbC1tdWx0aXNlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1pbnB1dC9lY2wtbXVsdGlzZWxlY3QtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUc1RCxNQUFNLE9BQU8saUNBQWlDO0lBQzFDLFlBQW1CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztDQUN0QztBQU9ELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQkFBZ0I7SUFXOUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsRUFBRSwwQkFBMEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JILENBQUM7SUFlRCxZQUFvQixlQUFnQyxFQUFVLFFBQW1CO1FBQzdFLEtBQUssRUFBRSxDQUFDO1FBRFEsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FB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Z0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXlCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ25CLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RNYWluSW5wdXRDbGlja0V2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZXZlbnQ6IEV2ZW50KSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0SW5wdXRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW11bHRpc2VsZWN0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RJbnB1dENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuXG4gICAgQElucHV0KCkgZWNsU2l6ZSA9ICdtJztcbiAgICBASW5wdXQoKSB0b2dnbGVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRvZ2dsZUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtc2VsZWN0X19jb250YWluZXItLWRpc2FibGVkJylcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtc2VsZWN0X19jb250YWluZXItLWludmFsaWQnKVxuICAgIGlzSW52YWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLXNlbGVjdF9fY29udGFpbmVyJyksIGBlY2wtc2VsZWN0X19jb250YWluZXItLSR7dGhpcy5lY2xTaXplfWBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGlucHV0UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1zID0gW107XG4gICAgQElucHV0KCkgaXNEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJpYUNvbnRyb2xzOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJpYUxhYmVsZWRieTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRNdWx0aXNlbGVjdCcpIGlucHV0TXVsdGlzZWxlY3Q6IEVsZW1lbnRSZWY7XG4gICAgQE91dHB1dCgpIG1haW5JbnB1dENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNdWx0aXNlbGVjdE1haW5JbnB1dENsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1haW5JbnB1dEtleWRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBJQ09OX1NJWkVfRk9SX0VDX1RIRU1FX09OID0gJ3hzJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IElDT05fU0laRV9GT1JfRVVfVEhFTUVfT04gPSAncyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVjbFRoZW1lU2VydmljZTogRWNsVGhlbWVTZXJ2aWNlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGJ1dHRvblRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDAgPyB0aGlzLmlucHV0UGxhY2Vob2xkZXIgOiB0aGlzLnNlbGVjdGVkSXRlbXMuam9pbignLCcpO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZEl0ZW1zQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd0NvdW50ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHNpemVJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmVjbFRoZW1lU2VydmljZS5pc0VDVGhlbWUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuSUNPTl9TSVpFX0ZPUl9FQ19USEVNRV9PTjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLklDT05fU0laRV9GT1JfRVVfVEhFTUVfT047XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYWluSW5wdXRDbGljay5lbWl0KG5ldyBFY2xNdWx0aXNlbGVjdE1haW5JbnB1dENsaWNrRXZlbnQoZXZ0KSk7XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19ET1dOOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYWluSW5wdXRLZXlkb3duLmVtaXQoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQodGhpcy5pbnB1dE11bHRpc2VsZWN0Lm5hdGl2ZUVsZW1lbnQsIHRydWUpLmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdiBbY2xhc3MuZWNsLXNlbGVjdC1tdWx0aXBsZS1zZWxlY3Rpb25zLWNvdW50ZXItLXZpc2libGVdPVwiaXNTaG93Q291bnRlclwiIGNsYXNzPVwiZWNsLXNlbGVjdC1tdWx0aXBsZS1zZWxlY3Rpb25zLWNvdW50ZXJcIj5cbiAgICA8c3Bhbj57eyBzZWxlY3RlZEl0ZW1zQ291bnQgfX08L3NwYW4+XG48L2Rpdj5cbjxidXR0b25cbiAgICBjbGFzcz1cImVjbC1zZWxlY3QgZWNsLXNlbGVjdF9fbXVsdGlwbGUtdG9nZ2xlXCJcbiAgICBbY2xhc3MuZWNsLXNlbGVjdC0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICAjaW5wdXRNdWx0aXNlbGVjdFxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFtpZF09XCJ0b2dnbGVJZFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkID8gdHJ1ZSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGVkYnlcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5XCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPiB7eyBidXR0b25UZXh0IH19XG48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJlY2wtc2VsZWN0X19pY29uXCI+XG4gICAgPGJ1dHRvbiBlY2xCdXR0b24gaXNJY29uT25seSB2YXJpYW50PVwiZ2hvc3RcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgIHt7IHRvZ2dsZUxhYmVsIHx8ICdlY2wubXVsdGlzZWxlY3QuVE9HR0xFLkRST1BET1dOJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBbc2l6ZV09XCJzaXplSWNvblwiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -16,10 +16,10 @@ export class EclMultiselectOptgroupComponent extends ECLBaseDirective {
16
16
  get cssClasses() {
17
17
  return [super.getCssClasses('ecl-select__multiple-group')].join(' ').trim();
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptgroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.6", type: EclMultiselectOptgroupComponent, selector: "fieldset[eclMultiselectOptgroup]", inputs: { label: "label" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<legend class=\"ecl-select__multiple-group__title\">{{ label }}</legend>\n<ng-content></ng-content>\n" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptgroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.0", type: EclMultiselectOptgroupComponent, selector: "fieldset[eclMultiselectOptgroup]", inputs: { label: "label" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<legend class=\"ecl-select__multiple-group__title\">{{ label }}</legend>\n<ng-content></ng-content>\n" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptgroupComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptgroupComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'fieldset[eclMultiselectOptgroup]', template: "<legend class=\"ecl-select__multiple-group__title\">{{ label }}</legend>\n<ng-content></ng-content>\n" }]
25
25
  }], propDecorators: { label: [{
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6",
28
28
  type: HostBinding,
29
29
  args: ['class']
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwL2VjbC1tdWx0aXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRncm91cC9lY2wtbXVsdGlzZWxlY3Qtb3B0Z3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUU1RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLFlBQW1CLGlCQUF1QztRQUF2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO0lBQUcsQ0FBQztDQUNqRTtBQUVELE1BQU0sT0FBTyxnQ0FBZ0M7SUFDekMsWUFDVyxpQkFBdUMsRUFDdkMsYUFBNEI7UUFENUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNwQyxDQUFDO0NBQ1A7QUFNRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsZ0JBQWdCO0lBR2pFLElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEYsQ0FBQztxSEFOUSwrQkFBK0I7eUdBQS9CLCtCQUErQixpTENuQjVDLHVHQUVBOztrR0RpQmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUVJLGtDQUFrQzs4QkFJbkMsS0FBSztzQkFBYixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uQ2xpY2tFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIG11bHRpc2VsZWN0T3B0aW9uOiBFY2xNdWx0aXNlbGVjdE9wdGlvbikge31cbn1cblxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uS2V5ZG93bkV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG11bHRpc2VsZWN0T3B0aW9uOiBFY2xNdWx0aXNlbGVjdE9wdGlvbixcbiAgICAgICAgcHVibGljIGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgKSB7fVxufVxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ZpZWxkc2V0W2VjbE11bHRpc2VsZWN0T3B0Z3JvdXBdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRncm91cENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1zZWxlY3RfX211bHRpcGxlLWdyb3VwJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIiwiPGxlZ2VuZCBjbGFzcz1cImVjbC1zZWxlY3RfX211bHRpcGxlLWdyb3VwX190aXRsZVwiPnt7IGxhYmVsIH19PC9sZWdlbmQ+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbXVsdGlzZWxlY3QvZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwL2VjbC1tdWx0aXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRncm91cC9lY2wtbXVsdGlzZWxlY3Qtb3B0Z3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUU1RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLFlBQW1CLGlCQUF1QztRQUF2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO0lBQUcsQ0FBQztDQUNqRTtBQUVELE1BQU0sT0FBTyxnQ0FBZ0M7SUFDekMsWUFDVyxpQkFBdUMsRUFDdkMsYUFBNEI7UUFENUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNwQyxDQUFDO0NBQ1A7QUFNRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsZ0JBQWdCO0lBR2pFLElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEYsQ0FBQzttSEFOUSwrQkFBK0I7dUdBQS9CLCtCQUErQixpTENuQjVDLHVHQUVBOztnR0RpQmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUVJLGtDQUFrQzs4QkFJbkMsS0FBSztzQkFBYixLQUFLO2dCQUdGLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVjbE11bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uQ2xpY2tFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIG11bHRpc2VsZWN0T3B0aW9uOiBFY2xNdWx0aXNlbGVjdE9wdGlvbikge31cbn1cblxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uS2V5ZG93bkV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG11bHRpc2VsZWN0T3B0aW9uOiBFY2xNdWx0aXNlbGVjdE9wdGlvbixcbiAgICAgICAgcHVibGljIGtleWJvYXJkRXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgKSB7fVxufVxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ZpZWxkc2V0W2VjbE11bHRpc2VsZWN0T3B0Z3JvdXBdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW11bHRpc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRncm91cENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1zZWxlY3RfX211bHRpcGxlLWdyb3VwJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIiwiPGxlZ2VuZCBjbGFzcz1cImVjbC1zZWxlY3RfX211bHRpcGxlLWdyb3VwX190aXRsZVwiPnt7IGxhYmVsIH19PC9sZWdlbmQ+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -87,10 +87,10 @@ export class EclMultiselectOptionComponent extends ECLBaseDirective {
87
87
  createId() {
88
88
  return uuidgen();
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptionComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.6", type: EclMultiselectOptionComponent, selector: "div[eclMultiselectOption]", inputs: { value: "value", label: "label", disabled: ["disabled", "disabled", booleanAttribute], isChecked: "isChecked" }, outputs: { optionClick: "optionClick", optionKeydown: "optionKeydown" }, host: { properties: { "class.ecl-checkbox--disabled": "this.disabled", "attr.disabled": "this.disabled", "style.display": "this.display", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "eclCheckboxInput", first: true, predicate: ["checkboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.EclCheckboxDirective }], ngImport: i0, template: "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n", dependencies: [{ kind: "component", type: i2.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i3.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "pipe", type: i4.BoldTextPipe, name: "boldText" }] }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptionComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EclMultiselectOptionComponent, selector: "div[eclMultiselectOption]", inputs: { value: "value", label: "label", disabled: ["disabled", "disabled", booleanAttribute], isChecked: "isChecked" }, outputs: { optionClick: "optionClick", optionKeydown: "optionKeydown" }, host: { properties: { "class.ecl-checkbox--disabled": "this.disabled", "attr.disabled": "this.disabled", "style.display": "this.display", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "eclCheckboxInput", first: true, predicate: ["checkboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.EclCheckboxDirective }], ngImport: i0, template: "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n", dependencies: [{ kind: "component", type: i2.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i3.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "pipe", type: i4.BoldTextPipe, name: "boldText" }] }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptionComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptionComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: 'div[eclMultiselectOption]', hostDirectives: [EclCheckboxDirective], template: "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n" }]
96
96
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { eclCheckboxInput: [{
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6",
122
122
  }], isChecked: [{
123
123
  type: Input
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQ3ZGLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLElBQUksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFFMUQsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUFtQixpQkFBdUM7UUFBdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtJQUFHLENBQUM7Q0FDakU7QUFFRCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3pDLFlBQ1csaUJBQXVDLEVBQ3ZDLGFBQTRCO1FBRDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDcEMsQ0FBQztDQUNQO0FBT0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdCQUFnQjtJQUkvRCxJQUNJLEtBQUssQ0FB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QUM7cUhBakdRLDZCQUE2Qjt5R0FBN0IsNkJBQTZCLHNIQWdCbEIsZ0JBQWdCLGlnQkN4Q3hDLGtXQVdBOztrR0RhYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBRUksMkJBQTJCLGtCQUVyQixDQUFDLG9CQUFvQixDQUFDOzhFQUdWLGdCQUFnQjtzQkFBM0MsU0FBUzt1QkFBQyxlQUFlO2dCQUl0QixLQUFLO3NCQURSLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQU1OLFFBQVE7c0JBSFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsOEJBQThCOztzQkFDMUMsV0FBVzt1QkFBQyxlQUFlO2dCQUdsQixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRStCLE9BQU87c0JBQTVDLFdBQVc7dUJBQUMsZUFBZTtnQkFHeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTWhCLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZGdlbiB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRWNsTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbXVsdGlzZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2hlY2tib3hEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtY2hlY2tib3gnO1xuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbXVsdGlzZWxlY3RPcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRpb25LZXlkb3duRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbXVsdGlzZWxlY3RPcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uLFxuICAgICAgICBwdWJsaWMga2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICApIHt9XG59XG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0T3B0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1tdWx0aXNlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRWNsQ2hlY2tib3hEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBFY2xNdWx0aXNlbGVjdE9wdGlvbiwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnY2hlY2tib3hJbnB1dCcpIGVjbENoZWNrYm94SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBrZXl3b3JkID0gJyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgICBjaGFuZ2VzID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWNoZWNrYm94LS1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG9wdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNdWx0aXNlbGVjdE9wdGlvbkNsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9wdGlvbktleWRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE11bHRpc2VsZWN0T3B0aW9uS2V5ZG93bkV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgcHJpdmF0ZSBkaXNwbGF5ID0gJ2ZsZXgnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2hlY2tib3gnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgIH1cblxuICAgIHNldCBpc0NoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lkID0gJyc7XG4gICAgcHJpdmF0ZSBfY2hlY2tlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3ZhbHVlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvciggcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5ID09PSAnZmxleCcgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHRoaXMubGFiZWwpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pZCA9IHRoaXMuY3JlYXRlSWQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25PcHRpb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NoZWNrZWQgPSAhdGhpcy5pc0NoZWNrZWQ7XG4gICAgICAgIHRoaXMub3B0aW9uQ2xpY2suZW1pdChuZXcgRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50KHRoaXMpKTtcbiAgICB9XG5cbiAgICBvbk9wdGlvbktleWRvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub3B0aW9uS2V5ZG93bi5lbWl0KG5ldyBFY2xNdWx0aXNlbGVjdE9wdGlvbktleWRvd25FdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuZWNsQ2hlY2tib3hJbnB1dC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgIH1cblxuICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9ICdmbGV4JztcbiAgICB9XG5cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgaGlnaGxpZ2h0U2VhcmNoVGV4dChrZXl3b3JkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKGtleXdvcmQsICdnaScpO1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmxhYmVsLnJlcGxhY2UocmUsICc8Yj4kJjwvYj4nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1dWlkZ2VuKCk7XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgZWNsQ2hlY2tib3hJbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKClcIlxuICAgIChrZXlkb3duKT1cIm9uT3B0aW9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgI2NoZWNrYm94SW5wdXQgLz5cbjxsYWJlbCBbZm9yXT1cImlkXCIgZWNsQ2hlY2tib3hMYWJlbD48c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsIHwgYm9sZFRleHQ6IGtleXdvcmRcIj48L3NwYW4+PC9sYWJlbD5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24vZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQ3ZGLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLElBQUksT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFFMUQsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUFtQixpQkFBdUM7UUFBdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtJQUFHLENBQUM7Q0FDakU7QUFFRCxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3pDLFlBQ1csaUJBQXVDLEVBQ3ZDLGFBQTRCO1FBRDVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDcEMsQ0FBQztDQUNQO0FBT0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdCQUFnQjtJQUkvRCxJQUNJLEtBQUssQ0FB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QUM7bUhBakdRLDZCQUE2Qjt1R0FBN0IsNkJBQTZCLHNIQWdCbEIsZ0JBQWdCLGlnQkN4Q3hDLGtXQVdBOztnR0RhYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBRUksMkJBQTJCLGtCQUVyQixDQUFDLG9CQUFvQixDQUFDOzhFQUdWLGdCQUFnQjtzQkFBM0MsU0FBUzt1QkFBQyxlQUFlO2dCQUl0QixLQUFLO3NCQURSLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQU1OLFFBQVE7c0JBSFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsOEJBQThCOztzQkFDMUMsV0FBVzt1QkFBQyxlQUFlO2dCQUdsQixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRStCLE9BQU87c0JBQTVDLFdBQVc7dUJBQUMsZUFBZTtnQkFHeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTWhCLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZGdlbiB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRWNsTXVsdGlzZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbXVsdGlzZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQ2hlY2tib3hEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtY2hlY2tib3gnO1xuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbXVsdGlzZWxlY3RPcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgRWNsTXVsdGlzZWxlY3RPcHRpb25LZXlkb3duRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgbXVsdGlzZWxlY3RPcHRpb246IEVjbE11bHRpc2VsZWN0T3B0aW9uLFxuICAgICAgICBwdWJsaWMga2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICApIHt9XG59XG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGl2W2VjbE11bHRpc2VsZWN0T3B0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1tdWx0aXNlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbRWNsQ2hlY2tib3hEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNdWx0aXNlbGVjdE9wdGlvbkNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBFY2xNdWx0aXNlbGVjdE9wdGlvbiwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnY2hlY2tib3hJbnB1dCcpIGVjbENoZWNrYm94SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBrZXl3b3JkID0gJyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgICBjaGFuZ2VzID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWNoZWNrYm94LS1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIG9wdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNdWx0aXNlbGVjdE9wdGlvbkNsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9wdGlvbktleWRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE11bHRpc2VsZWN0T3B0aW9uS2V5ZG93bkV2ZW50PigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgcHJpdmF0ZSBkaXNwbGF5ID0gJ2ZsZXgnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2hlY2tib3gnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xuICAgIH1cblxuICAgIHNldCBpc0NoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lkID0gJyc7XG4gICAgcHJpdmF0ZSBfY2hlY2tlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3ZhbHVlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvciggcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5ID09PSAnZmxleCcgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHRoaXMubGFiZWwpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pZCA9IHRoaXMuY3JlYXRlSWQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25PcHRpb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NoZWNrZWQgPSAhdGhpcy5pc0NoZWNrZWQ7XG4gICAgICAgIHRoaXMub3B0aW9uQ2xpY2suZW1pdChuZXcgRWNsTXVsdGlzZWxlY3RPcHRpb25DbGlja0V2ZW50KHRoaXMpKTtcbiAgICB9XG5cbiAgICBvbk9wdGlvbktleWRvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub3B0aW9uS2V5ZG93bi5lbWl0KG5ldyBFY2xNdWx0aXNlbGVjdE9wdGlvbktleWRvd25FdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KHRoaXMuZWNsQ2hlY2tib3hJbnB1dC5uYXRpdmVFbGVtZW50LCB0cnVlKS5mb2N1cygpO1xuICAgIH1cblxuICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheSA9ICdmbGV4JztcbiAgICB9XG5cbiAgICBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgaGlnaGxpZ2h0U2VhcmNoVGV4dChrZXl3b3JkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICAgICAgY29uc3QgcmUgPSBuZXcgUmVnRXhwKGtleXdvcmQsICdnaScpO1xuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmxhYmVsLnJlcGxhY2UocmUsICc8Yj4kJjwvYj4nKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB1dWlkZ2VuKCk7XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgZWNsQ2hlY2tib3hJbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKClcIlxuICAgIChrZXlkb3duKT1cIm9uT3B0aW9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgI2NoZWNrYm94SW5wdXQgLz5cbjxsYWJlbCBbZm9yXT1cImlkXCIgZWNsQ2hlY2tib3hMYWJlbD48c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsIHwgYm9sZFRleHQ6IGtleXdvcmRcIj48L3NwYW4+PC9sYWJlbD5cbiJdfQ==
@@ -29,10 +29,10 @@ export class EclMultiselectOptionDirective extends ECLBaseDirective {
29
29
  isOptGroup() {
30
30
  return this.elRef.nativeElement.nodeName === 'OPTGROUP';
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.6", type: EclMultiselectOptionDirective, selector: "optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]", inputs: { value: "value", label: "label", disabled: "disabled", selected: "selected" }, host: { properties: { "attr.disabled": "this.disabled", "attr.selected": "this.selected", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclOptionItems", predicate: EclMultiselectOptionDirective }], usesInheritance: true, ngImport: i0 }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.0", type: EclMultiselectOptionDirective, selector: "optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]", inputs: { value: "value", label: "label", disabled: "disabled", selected: "selected" }, host: { properties: { "attr.disabled": "this.disabled", "attr.selected": "this.selected", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclOptionItems", predicate: EclMultiselectOptionDirective }], usesInheritance: true, ngImport: i0 }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6", ngImport: i0, type: EclMultiselectOptionDirective, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclMultiselectOptionDirective, decorators: [{
36
36
  type: Directive,
37
37
  args: [{
38
38
  selector: 'optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]',
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.6",
58
58
  type: HostBinding,
59
59
  args: ['class']
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3pELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxnQkFBZ0I7SUFPL0QsSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBR0QsSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxZQUFvQixLQUFpQjtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQVk7UUEzQnJDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBVWhCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQVMxQixDQUFDO0lBRUQsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUM1RCxDQUFDO3FIQXRDUSw2QkFBNkI7eUdBQTdCLDZCQUE2Qix1VkFDckIsNkJBQTZCOztrR0FEckMsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnRUFBZ0U7aUJBQzdFOytFQUVtRCxjQUFjO3NCQUE3RCxlQUFlO3VCQUFDLDZCQUE2QjtnQkFFckMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFLRixRQUFRO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsUUFBUTtzQkFGWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGVBQWU7Z0JBVXhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdvcHRncm91cFtlY2xNdWx0aXNlbGVjdE9wdGdyb3VwXSwgb3B0aW9uW2VjbE11bHRpc2VsZWN0T3B0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZSkgZWNsT3B0aW9uSXRlbXM6IFF1ZXJ5TGlzdDxFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZT47XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgY2hhbmdlcyA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgbnVsbDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuc2VsZWN0ZWQnKVxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkIHx8IG51bGw7XG4gICAgfVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1jaGVja2JveCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpc09wdEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lID09PSAnT1BUR1JPVVAnO1xuICAgIH1cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW11bHRpc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW11bHRpc2VsZWN0L2VjbC1tdWx0aXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3pELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxnQkFBZ0I7SUFPL0QsSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBR0QsSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxZQUFvQixLQUFpQjtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQVk7UUEzQnJDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBVWhCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQVMxQixDQUFDO0lBRUQsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUM1RCxDQUFDO21IQXRDUSw2QkFBNkI7dUdBQTdCLDZCQUE2Qix1VkFDckIsNkJBQTZCOztnR0FEckMsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnRUFBZ0U7aUJBQzdFOytFQUVtRCxjQUFjO3NCQUE3RCxlQUFlO3VCQUFDLDZCQUE2QjtnQkFFckMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFLRixRQUFRO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZUFBZTtnQkFXeEIsUUFBUTtzQkFGWCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGVBQWU7Z0JBVXhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdvcHRncm91cFtlY2xNdWx0aXNlbGVjdE9wdGdyb3VwXSwgb3B0aW9uW2VjbE11bHRpc2VsZWN0T3B0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIEVjbE11bHRpc2VsZWN0T3B0aW9uRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZSkgZWNsT3B0aW9uSXRlbXM6IFF1ZXJ5TGlzdDxFY2xNdWx0aXNlbGVjdE9wdGlvbkRpcmVjdGl2ZT47XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgY2hhbmdlcyA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kaXNhYmxlZCcpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgbnVsbDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuc2VsZWN0ZWQnKVxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkIHx8IG51bGw7XG4gICAgfVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1jaGVja2JveCcpXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpc09wdEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lID09PSAnT1BUR1JPVVAnO1xuICAgIH1cbn1cbiJdfQ==