@eui/ecl 17.0.0-next.4 → 17.0.0-next.6

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 (684) hide show
  1. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +6 -8
  2. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +5 -7
  3. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +8 -24
  4. package/esm2022/lib/components/ecl-app/deprecated/common/ecl-app.component.mjs +7 -6
  5. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.component.mjs +5 -5
  6. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.module.mjs +8 -20
  7. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.component.mjs +5 -5
  8. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.module.mjs +8 -20
  9. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.component.mjs +5 -5
  10. package/esm2022/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.module.mjs +8 -20
  11. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +10 -8
  12. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +8 -20
  13. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-credit.directive.mjs +5 -5
  14. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-cta-link.directive.mjs +5 -5
  15. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-description.directive.mjs +5 -5
  16. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner-title.directive.mjs +5 -5
  17. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.component.mjs +9 -7
  18. package/esm2022/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.module.mjs +9 -18
  19. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-credit.directive.mjs +5 -5
  20. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-cta-link.directive.mjs +5 -5
  21. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-description.directive.mjs +5 -5
  22. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner-title.directive.mjs +5 -5
  23. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.component.mjs +9 -7
  24. package/esm2022/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.module.mjs +9 -18
  25. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +5 -5
  26. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +9 -9
  27. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +12 -14
  28. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +9 -9
  29. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +9 -7
  30. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +9 -18
  31. package/esm2022/lib/components/ecl-banner/index.mjs +1 -1
  32. package/esm2022/lib/components/ecl-base.directive.mjs +8 -9
  33. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +11 -15
  34. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +6 -8
  35. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +8 -22
  36. package/esm2022/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb-segment.component.mjs +5 -4
  37. package/esm2022/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb.component.mjs +11 -10
  38. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core-segment.component.mjs +8 -9
  39. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.component.mjs +8 -10
  40. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.module.mjs +8 -30
  41. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised-segment.component.mjs +9 -7
  42. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.component.mjs +8 -10
  43. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.module.mjs +8 -30
  44. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised-segment.component.mjs +9 -7
  45. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.component.mjs +8 -10
  46. package/esm2022/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.module.mjs +8 -30
  47. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +6 -9
  48. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +12 -17
  49. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +7 -26
  50. package/esm2022/lib/components/ecl-breadcrumb/index.mjs +1 -1
  51. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +6 -8
  52. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +13 -15
  53. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +8 -21
  54. package/esm2022/lib/components/ecl-button/index.mjs +1 -1
  55. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +6 -8
  56. package/esm2022/lib/components/ecl-card/ecl-card-image/ecl-card-image.component.mjs +6 -8
  57. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +11 -15
  58. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +5 -7
  59. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +9 -38
  60. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +6 -8
  61. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +20 -20
  62. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +9 -26
  63. package/esm2022/lib/components/ecl-carousel/index.mjs +1 -1
  64. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +19 -21
  65. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +12 -10
  66. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +12 -10
  67. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +8 -34
  68. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +5 -7
  69. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +5 -7
  70. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +6 -8
  71. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +7 -9
  72. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +7 -23
  73. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +86 -120
  74. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +6 -8
  75. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +9 -15
  76. package/esm2022/lib/components/ecl-content-block/index.mjs +1 -1
  77. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +14 -14
  78. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +6 -9
  79. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +9 -26
  80. package/esm2022/lib/components/ecl-content-item/index.mjs +1 -1
  81. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +14 -11
  82. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +31 -7
  83. package/esm2022/lib/components/ecl-date-block/index.mjs +1 -1
  84. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +11 -15
  85. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +7 -12
  86. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +6 -8
  87. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +6 -6
  88. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +6 -8
  89. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +7 -9
  90. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +6 -8
  91. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +6 -8
  92. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +7 -12
  93. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +6 -9
  94. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +8 -13
  95. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +4 -4
  96. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +5 -5
  97. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +4 -4
  98. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +5 -8
  99. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +8 -32
  100. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +7 -9
  101. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +6 -6
  102. package/esm2022/lib/components/ecl-feedback-message/index.mjs +1 -1
  103. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.mjs +1 -1
  104. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +8 -9
  105. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +7 -9
  106. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +12 -14
  107. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +6 -8
  108. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +6 -9
  109. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +9 -13
  110. package/esm2022/lib/components/ecl-file/index.mjs +1 -1
  111. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +11 -12
  112. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +6 -6
  113. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +6 -8
  114. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +7 -15
  115. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +7 -5
  116. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +6 -6
  117. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +5 -5
  118. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +6 -9
  119. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +11 -15
  120. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +22 -28
  121. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +10 -28
  122. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +6 -9
  123. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +5 -5
  124. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +7 -7
  125. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +6 -6
  126. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +5 -5
  127. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +19 -17
  128. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +8 -30
  129. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +6 -9
  130. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +6 -6
  131. package/esm2022/lib/components/ecl-label/index.mjs +1 -1
  132. package/esm2022/lib/components/ecl-language-list/ecl-language-list-item.component.mjs +7 -10
  133. package/esm2022/lib/components/ecl-language-list/ecl-language-list.component.mjs +15 -19
  134. package/esm2022/lib/components/ecl-language-list/ecl-language-list.module.mjs +8 -33
  135. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +6 -8
  136. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +9 -12
  137. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +6 -6
  138. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +11 -11
  139. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +29 -0
  140. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +29 -55
  141. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +11 -22
  142. package/esm2022/lib/components/ecl-list/index.mjs +2 -1
  143. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
  144. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +9 -9
  145. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +5 -5
  146. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +15 -15
  147. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +7 -5
  148. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +9 -18
  149. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +5 -5
  150. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +8 -9
  151. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +4 -4
  152. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +6 -9
  153. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +7 -7
  154. package/esm2022/lib/components/ecl-menu/common/ecl-menu-item.event.mjs +1 -1
  155. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +82 -31
  156. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +258 -56
  157. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +7 -7
  158. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +19 -16
  159. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +10 -25
  160. package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +6 -8
  161. package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +6 -9
  162. package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +7 -18
  163. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +6 -8
  164. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +5 -5
  165. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +7 -9
  166. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +6 -8
  167. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +5 -5
  168. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +10 -13
  169. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +9 -21
  170. package/esm2022/lib/components/ecl-modal/index.mjs +1 -1
  171. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +12 -10
  172. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +40 -43
  173. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +6 -9
  174. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +6 -8
  175. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +6 -9
  176. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +11 -15
  177. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +6 -9
  178. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +9 -15
  179. package/esm2022/lib/components/ecl-navigation-list/index.mjs +1 -1
  180. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +8 -8
  181. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +19 -16
  182. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +8 -30
  183. package/esm2022/lib/components/ecl-page-header/deprecated/common/ecl-page-header.component.mjs +5 -4
  184. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-description.directive.mjs +13 -13
  185. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-meta.directive.mjs +9 -9
  186. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core-title.directive.mjs +5 -5
  187. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.component.mjs +9 -7
  188. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.module.mjs +9 -9
  189. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-description.directive.mjs +13 -13
  190. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-meta.directive.mjs +9 -9
  191. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised-title.directive.mjs +5 -5
  192. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.component.mjs +6 -9
  193. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.module.mjs +10 -10
  194. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-description.directive.mjs +13 -13
  195. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-meta.directive.mjs +9 -9
  196. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised-title.directive.mjs +5 -5
  197. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.component.mjs +9 -7
  198. package/esm2022/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.module.mjs +10 -10
  199. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +11 -11
  200. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +8 -8
  201. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +13 -13
  202. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +9 -9
  203. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +5 -5
  204. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +8 -9
  205. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +7 -7
  206. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +8 -6
  207. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +7 -7
  208. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +6 -6
  209. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +6 -8
  210. package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +16 -22
  211. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +6 -8
  212. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +14 -11
  213. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +10 -22
  214. package/esm2022/lib/components/ecl-popover/index.mjs +1 -1
  215. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +5 -7
  216. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +6 -10
  217. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +6 -8
  218. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +6 -9
  219. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +7 -23
  220. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +6 -8
  221. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +12 -17
  222. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +7 -12
  223. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +7 -10
  224. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +7 -9
  225. package/esm2022/lib/components/ecl-rating-field/index.mjs +1 -1
  226. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +6 -8
  227. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +7 -7
  228. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +8 -6
  229. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +5 -7
  230. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +8 -18
  231. package/esm2022/lib/components/ecl-site-footer/deprecated/common/ecl-footer.component.mjs +5 -4
  232. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.component.mjs +6 -8
  233. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.module.mjs +7 -18
  234. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-column.directive.mjs +5 -5
  235. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-description.directive.mjs +5 -5
  236. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-link.directive.mjs +3 -3
  237. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-list.directive.mjs +9 -9
  238. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-section.directive.mjs +6 -9
  239. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-title.directive.mjs +9 -9
  240. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-column.directive.mjs +13 -13
  241. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-description.directive.mjs +5 -5
  242. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-link.directive.mjs +9 -9
  243. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-list.directive.mjs +21 -21
  244. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-section.directive.mjs +5 -5
  245. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-title.directive.mjs +9 -9
  246. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.component.mjs +6 -9
  247. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.module.mjs +11 -22
  248. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-column.directive.mjs +13 -13
  249. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-description.directive.mjs +5 -5
  250. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-link.directive.mjs +9 -9
  251. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-list.directive.mjs +9 -9
  252. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-section.directive.mjs +5 -5
  253. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-title.directive.mjs +9 -9
  254. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.component.mjs +6 -8
  255. package/esm2022/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.module.mjs +11 -22
  256. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +5 -5
  257. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/index.mjs +1 -1
  258. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +13 -13
  259. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +5 -5
  260. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
  261. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +21 -21
  262. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +5 -5
  263. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +9 -9
  264. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +5 -5
  265. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/index.mjs +1 -1
  266. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/index.mjs +1 -1
  267. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +6 -9
  268. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +12 -27
  269. package/esm2022/lib/components/ecl-site-footer/index.mjs +1 -1
  270. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +5 -5
  271. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +5 -5
  272. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
  273. package/esm2022/lib/components/ecl-site-header/cta/index.mjs +1 -1
  274. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-action.component.mjs +6 -5
  275. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-banner-top.component.mjs +6 -5
  276. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-language.component.mjs +5 -4
  277. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-login.component.mjs +6 -5
  278. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header-search.component.mjs +5 -4
  279. package/esm2022/lib/components/ecl-site-header/deprecated/common/ecl-site-header.component.mjs +9 -19
  280. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/action/ecl-site-header-core-action.component.mjs +5 -5
  281. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.component.mjs +5 -5
  282. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.module.mjs +7 -7
  283. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/language/ecl-site-header-core-language.component.mjs +5 -5
  284. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/login/ecl-site-header-core-login-details.directive.mjs +9 -9
  285. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/login/ecl-site-header-core-login.component.mjs +6 -9
  286. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-core/search/ecl-site-header-core-search.component.mjs +6 -9
  287. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/action/ecl-site-header-harmonised-action.component.mjs +5 -5
  288. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/banner-top/ecl-site-header-harmonised-banner-top.component.mjs +5 -5
  289. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.component.mjs +6 -9
  290. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.module.mjs +9 -9
  291. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/language/ecl-site-header-harmonised-language.component.mjs +5 -5
  292. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/login/ecl-site-header-harmonised-login-details.directive.mjs +9 -9
  293. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/login/ecl-site-header-harmonised-login.component.mjs +6 -9
  294. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/search/ecl-site-header-harmonised-search.component.mjs +6 -9
  295. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/action/ecl-site-header-standardised-action.component.mjs +5 -5
  296. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/banner-top/ecl-site-header-standardised-banner-top.component.mjs +5 -5
  297. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/cta/ecl-site-header-standardised-cta.directive.mjs +3 -3
  298. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.component.mjs +6 -9
  299. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.module.mjs +7 -7
  300. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/language/ecl-site-header-standardised-language.component.mjs +5 -5
  301. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/login/ecl-site-header-standardised-login-details.directive.mjs +9 -9
  302. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/login/ecl-site-header-standardised-login.component.mjs +6 -6
  303. package/esm2022/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/search/ecl-site-header-standardised-search.component.mjs +6 -9
  304. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +5 -8
  305. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +10 -24
  306. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +10 -14
  307. package/esm2022/lib/components/ecl-site-header/index.mjs +1 -1
  308. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +8 -6
  309. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +12 -12
  310. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +9 -9
  311. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +7 -10
  312. package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +6 -8
  313. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +6 -9
  314. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +6 -8
  315. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +7 -9
  316. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +8 -9
  317. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -15
  318. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +6 -8
  319. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +7 -9
  320. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +6 -9
  321. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +7 -15
  322. package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +7 -7
  323. package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +8 -6
  324. package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +7 -12
  325. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +7 -10
  326. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +8 -12
  327. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +6 -8
  328. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +41 -59
  329. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +7 -11
  330. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +5 -5
  331. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +6 -8
  332. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +6 -8
  333. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +16 -21
  334. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +9 -38
  335. package/esm2022/lib/components/ecl-tabs/index.mjs +1 -1
  336. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +6 -9
  337. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +6 -6
  338. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +7 -10
  339. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +6 -6
  340. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +6 -9
  341. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +6 -6
  342. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +6 -8
  343. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +6 -8
  344. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +5 -5
  345. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +7 -11
  346. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +10 -13
  347. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +8 -19
  348. package/esm2022/lib/components/index.mjs +1 -1
  349. package/esm2022/lib/model/ecl-breadcrumb.model.mjs +1 -1
  350. package/esm2022/lib/model/ecl-menu-item.model.mjs +1 -1
  351. package/esm2022/lib/services/ecl-default-language.service.mjs +36 -12
  352. package/esm2022/lib/services/ecl-language.service.mjs +1 -1
  353. package/esm2022/lib/services/ecl-theme.service.mjs +6 -6
  354. package/esm2022/lib/shared/ecl-all.module.mjs +11 -16
  355. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +5 -5
  356. package/esm2022/lib/utils/directives/ecl-click-outside/index.mjs +1 -1
  357. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +4 -4
  358. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +6 -6
  359. package/esm2022/lib/utils/directives/ecl-hidden/index.mjs +1 -1
  360. package/esm2022/lib/utils/dom/dom-helpers.mjs +1 -1
  361. package/fesm2022/eui-ecl.mjs +2707 -3408
  362. package/fesm2022/eui-ecl.mjs.map +1 -1
  363. package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  364. package/lib/components/ecl-accordion/ecl-accordion.component.d.ts.map +1 -1
  365. package/lib/components/ecl-accordion/ecl-accordion.module.d.ts.map +1 -1
  366. package/lib/components/ecl-app/deprecated/common/ecl-app.component.d.ts.map +1 -1
  367. package/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.component.d.ts.map +1 -1
  368. package/lib/components/ecl-app/deprecated/ecl-app-core/ecl-app-core.module.d.ts.map +1 -1
  369. package/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.component.d.ts.map +1 -1
  370. package/lib/components/ecl-app/deprecated/ecl-app-harmonised/ecl-app-harmonised.module.d.ts.map +1 -1
  371. package/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.component.d.ts.map +1 -1
  372. package/lib/components/ecl-app/deprecated/ecl-app-standardised/ecl-app-standardised.module.d.ts.map +1 -1
  373. package/lib/components/ecl-app/ecl-app.component.d.ts +2 -2
  374. package/lib/components/ecl-app/ecl-app.component.d.ts.map +1 -1
  375. package/lib/components/ecl-app/ecl-app.module.d.ts.map +1 -1
  376. package/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.component.d.ts.map +1 -1
  377. package/lib/components/ecl-banner/deprecated/ecl-hero-banner/ecl-hero-banner.module.d.ts.map +1 -1
  378. package/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.component.d.ts.map +1 -1
  379. package/lib/components/ecl-banner/deprecated/ecl-page-banner/ecl-page-banner.module.d.ts.map +1 -1
  380. package/lib/components/ecl-banner/ecl-banner-picture.directive.d.ts +1 -1
  381. package/lib/components/ecl-banner/ecl-banner-picture.directive.d.ts.map +1 -1
  382. package/lib/components/ecl-banner/ecl-banner.component.d.ts +2 -2
  383. package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  384. package/lib/components/ecl-banner/ecl-banner.module.d.ts.map +1 -1
  385. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  386. package/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.d.ts.map +1 -1
  387. package/lib/components/ecl-blockquote/ecl-blockquote.component.d.ts.map +1 -1
  388. package/lib/components/ecl-blockquote/ecl-blockquote.module.d.ts.map +1 -1
  389. package/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  390. package/lib/components/ecl-breadcrumb/deprecated/common/ecl-breadcrumb.component.d.ts.map +1 -1
  391. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core-segment.component.d.ts.map +1 -1
  392. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.component.d.ts.map +1 -1
  393. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-core/ecl-breadcrumb-core.module.d.ts.map +1 -1
  394. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised-segment.component.d.ts.map +1 -1
  395. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.component.d.ts.map +1 -1
  396. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-harmonised/ecl-breadcrumb-harmonised.module.d.ts.map +1 -1
  397. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised-segment.component.d.ts.map +1 -1
  398. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.component.d.ts.map +1 -1
  399. package/lib/components/ecl-breadcrumb/deprecated/ecl-breadcrumb-standardised/ecl-breadcrumb-standardised.module.d.ts.map +1 -1
  400. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  401. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  402. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.d.ts.map +1 -1
  403. package/lib/components/ecl-button/ecl-button-label.directive.d.ts.map +1 -1
  404. package/lib/components/ecl-button/ecl-button.component.d.ts +3 -1
  405. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  406. package/lib/components/ecl-button/ecl-button.module.d.ts.map +1 -1
  407. package/lib/components/ecl-card/ecl-card-body.component.d.ts.map +1 -1
  408. package/lib/components/ecl-card/ecl-card-image/ecl-card-image.component.d.ts.map +1 -1
  409. package/lib/components/ecl-card/ecl-card-picture.directive.d.ts.map +1 -1
  410. package/lib/components/ecl-card/ecl-card.component.d.ts.map +1 -1
  411. package/lib/components/ecl-card/ecl-card.module.d.ts.map +1 -1
  412. package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  413. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +3 -3
  414. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  415. package/lib/components/ecl-carousel/ecl-carousel.module.d.ts.map +1 -1
  416. package/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.d.ts +5 -5
  417. package/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.d.ts.map +1 -1
  418. package/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.d.ts +5 -5
  419. package/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.d.ts.map +1 -1
  420. package/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.d.ts +3 -3
  421. package/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.d.ts.map +1 -1
  422. package/lib/components/ecl-category-filter/ecl-category-filter.module.d.ts.map +1 -1
  423. package/lib/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
  424. package/lib/components/ecl-checkbox/ecl-checkbox-input.directive.d.ts.map +1 -1
  425. package/lib/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  426. package/lib/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  427. package/lib/components/ecl-checkbox/ecl-checkbox.module.d.ts.map +1 -1
  428. package/lib/components/ecl-content-block/ecl-content-block-elements.directive.d.ts.map +1 -1
  429. package/lib/components/ecl-content-block/ecl-content-block.component.d.ts.map +1 -1
  430. package/lib/components/ecl-content-block/ecl-content-block.module.d.ts.map +1 -1
  431. package/lib/components/ecl-content-item/ecl-content-item-image.directive.d.ts.map +1 -1
  432. package/lib/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
  433. package/lib/components/ecl-content-item/ecl-content-item.module.d.ts.map +1 -1
  434. package/lib/components/ecl-content-item/index.d.ts.map +1 -1
  435. package/lib/components/ecl-date-block/ecl-date-block.component.d.ts +1 -0
  436. package/lib/components/ecl-date-block/ecl-date-block.component.d.ts.map +1 -1
  437. package/lib/components/ecl-date-block/ecl-date-block.module.d.ts +24 -0
  438. package/lib/components/ecl-date-block/ecl-date-block.module.d.ts.map +1 -1
  439. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts +1 -1
  440. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts.map +1 -1
  441. package/lib/components/ecl-date-picker/ecl-date-picker.module.d.ts.map +1 -1
  442. package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  443. package/lib/components/ecl-expandable/ecl-expandable.module.d.ts.map +1 -1
  444. package/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
  445. package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
  446. package/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
  447. package/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
  448. package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
  449. package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
  450. package/lib/components/ecl-fact-figures/ecl-fact-figures.module.d.ts.map +1 -1
  451. package/lib/components/ecl-featured/ecl-featured-item-description.component.d.ts.map +1 -1
  452. package/lib/components/ecl-featured/ecl-featured-item.component.d.ts.map +1 -1
  453. package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  454. package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
  455. package/lib/components/ecl-feedback-message/ecl-feedback-message.directive.d.ts.map +1 -1
  456. package/lib/components/ecl-feedback-message/ecl-feedback-message.module.d.ts.map +1 -1
  457. package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts.map +1 -1
  458. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  459. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  460. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts +1 -1
  461. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
  462. package/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.d.ts.map +1 -1
  463. package/lib/components/ecl-file/ecl-file.component.d.ts +3 -3
  464. package/lib/components/ecl-file/ecl-file.component.d.ts.map +1 -1
  465. package/lib/components/ecl-file/ecl-file.module.d.ts.map +1 -1
  466. package/lib/components/ecl-file/index.d.ts.map +1 -1
  467. package/lib/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  468. package/lib/components/ecl-file-upload/ecl-file-upload.module.d.ts.map +1 -1
  469. package/lib/components/ecl-form-group/ecl-form-group.component.d.ts.map +1 -1
  470. package/lib/components/ecl-form-group/ecl-form-group.module.d.ts.map +1 -1
  471. package/lib/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
  472. package/lib/components/ecl-form-label/ecl-form-label.module.d.ts.map +1 -1
  473. package/lib/components/ecl-gallery/ecl-gallery-footer.component.d.ts.map +1 -1
  474. package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  475. package/lib/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
  476. package/lib/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  477. package/lib/components/ecl-gallery/ecl-gallery.module.d.ts.map +1 -1
  478. package/lib/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
  479. package/lib/components/ecl-help-block/ecl-help-block.module.d.ts.map +1 -1
  480. package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  481. package/lib/components/ecl-icon/ecl-icon.module.d.ts.map +1 -1
  482. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts.map +1 -1
  483. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  484. package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.d.ts.map +1 -1
  485. package/lib/components/ecl-label/ecl-label.directive.d.ts.map +1 -1
  486. package/lib/components/ecl-label/ecl-label.module.d.ts.map +1 -1
  487. package/lib/components/ecl-language-list/ecl-language-list-item.component.d.ts.map +1 -1
  488. package/lib/components/ecl-language-list/ecl-language-list.component.d.ts.map +1 -1
  489. package/lib/components/ecl-language-list/ecl-language-list.module.d.ts.map +1 -1
  490. package/lib/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
  491. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  492. package/lib/components/ecl-link/ecl-link.module.d.ts.map +1 -1
  493. package/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.d.ts +3 -3
  494. package/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.d.ts.map +1 -1
  495. package/lib/components/ecl-list/ecl-description-list-definition-item.directive.d.ts +10 -0
  496. package/lib/components/ecl-list/ecl-description-list-definition-item.directive.d.ts.map +1 -0
  497. package/lib/components/ecl-list/ecl-list.directive.d.ts +0 -7
  498. package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  499. package/lib/components/ecl-list/ecl-list.module.d.ts +5 -4
  500. package/lib/components/ecl-list/ecl-list.module.d.ts.map +1 -1
  501. package/lib/components/ecl-list/index.d.ts +1 -0
  502. package/lib/components/ecl-list/index.d.ts.map +1 -1
  503. package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts.map +1 -1
  504. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +1 -1
  505. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  506. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  507. package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts.map +1 -1
  508. package/lib/components/ecl-media-container/ecl-media-container-iframe.directive.d.ts.map +1 -1
  509. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
  510. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  511. package/lib/components/ecl-media-container/ecl-media-container.module.d.ts.map +1 -1
  512. package/lib/components/ecl-menu/common/ecl-menu-item.event.d.ts.map +1 -1
  513. package/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts +11 -1
  514. package/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts.map +1 -1
  515. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +44 -9
  516. package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  517. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  518. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +5 -2
  519. package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
  520. package/lib/components/ecl-menu/ecl-menu.module.d.ts.map +1 -1
  521. package/lib/components/ecl-message/ecl-message-title.directive.d.ts.map +1 -1
  522. package/lib/components/ecl-message/ecl-message.component.d.ts.map +1 -1
  523. package/lib/components/ecl-message/ecl-message.module.d.ts.map +1 -1
  524. package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  525. package/lib/components/ecl-modal/ecl-modal-footer.component.d.ts.map +1 -1
  526. package/lib/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
  527. package/lib/components/ecl-modal/ecl-modal.component.d.ts.map +1 -1
  528. package/lib/components/ecl-modal/ecl-modal.module.d.ts.map +1 -1
  529. package/lib/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts.map +1 -1
  530. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  531. package/lib/components/ecl-multiselect/ecl-multiselect.module.d.ts.map +1 -1
  532. package/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.d.ts.map +1 -1
  533. package/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts.map +1 -1
  534. package/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.d.ts.map +1 -1
  535. package/lib/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
  536. package/lib/components/ecl-navigation-list/ecl-navigation-list.module.d.ts.map +1 -1
  537. package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts.map +1 -1
  538. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  539. package/lib/components/ecl-news-ticker/ecl-news-ticker.module.d.ts.map +1 -1
  540. package/lib/components/ecl-page-header/deprecated/common/ecl-page-header.component.d.ts.map +1 -1
  541. package/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.component.d.ts.map +1 -1
  542. package/lib/components/ecl-page-header/deprecated/ecl-page-header-core/ecl-page-header-core.module.d.ts.map +1 -1
  543. package/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.component.d.ts.map +1 -1
  544. package/lib/components/ecl-page-header/deprecated/ecl-page-header-harmonised/ecl-page-header-harmonised.module.d.ts.map +1 -1
  545. package/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.component.d.ts.map +1 -1
  546. package/lib/components/ecl-page-header/deprecated/ecl-page-header-standardised/ecl-page-header-standardised.module.d.ts.map +1 -1
  547. package/lib/components/ecl-page-header/ecl-page-header-background.directive.d.ts +1 -1
  548. package/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.d.ts +2 -2
  549. package/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.d.ts.map +1 -1
  550. package/lib/components/ecl-page-header/ecl-page-header.component.d.ts.map +1 -1
  551. package/lib/components/ecl-page-header/ecl-page-header.module.d.ts.map +1 -1
  552. package/lib/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  553. package/lib/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  554. package/lib/components/ecl-pagination/ecl-pagination.module.d.ts.map +1 -1
  555. package/lib/components/ecl-popover/ecl-popover-content.directive.d.ts.map +1 -1
  556. package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts.map +1 -1
  557. package/lib/components/ecl-popover/ecl-popover-toggle.directive.d.ts.map +1 -1
  558. package/lib/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
  559. package/lib/components/ecl-popover/ecl-popover.module.d.ts.map +1 -1
  560. package/lib/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
  561. package/lib/components/ecl-radio/ecl-radio-input.directive.d.ts +2 -3
  562. package/lib/components/ecl-radio/ecl-radio-input.directive.d.ts.map +1 -1
  563. package/lib/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
  564. package/lib/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
  565. package/lib/components/ecl-radio/ecl-radio.module.d.ts.map +1 -1
  566. package/lib/components/ecl-range/ecl-range-value.component.d.ts.map +1 -1
  567. package/lib/components/ecl-range/ecl-range.directive.d.ts +1 -1
  568. package/lib/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
  569. package/lib/components/ecl-range/ecl-range.module.d.ts.map +1 -1
  570. package/lib/components/ecl-rating-field/ecl-rating-field.component.d.ts +1 -1
  571. package/lib/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  572. package/lib/components/ecl-rating-field/ecl-rating-field.module.d.ts.map +1 -1
  573. package/lib/components/ecl-search-form/ecl-search-form.component.d.ts.map +1 -1
  574. package/lib/components/ecl-search-form/ecl-search-form.module.d.ts.map +1 -1
  575. package/lib/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  576. package/lib/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
  577. package/lib/components/ecl-select/ecl-select.module.d.ts.map +1 -1
  578. package/lib/components/ecl-site-footer/deprecated/common/ecl-footer.component.d.ts.map +1 -1
  579. package/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.component.d.ts.map +1 -1
  580. package/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-core.module.d.ts.map +1 -1
  581. package/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-list.directive.d.ts.map +1 -1
  582. package/lib/components/ecl-site-footer/deprecated/ecl-footer-core/ecl-footer-elements/ecl-footer-core-section.directive.d.ts.map +1 -1
  583. package/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-list.directive.d.ts.map +1 -1
  584. package/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-elements/ecl-footer-harmonised-title.directive.d.ts.map +1 -1
  585. package/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.component.d.ts.map +1 -1
  586. package/lib/components/ecl-site-footer/deprecated/ecl-footer-harmonised/ecl-footer-harmonised.module.d.ts.map +1 -1
  587. package/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-list.directive.d.ts.map +1 -1
  588. package/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-section.directive.d.ts.map +1 -1
  589. package/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-elements/ecl-footer-standardised-title.directive.d.ts.map +1 -1
  590. package/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.component.d.ts.map +1 -1
  591. package/lib/components/ecl-site-footer/deprecated/ecl-footer-standardised/ecl-footer-standardised.module.d.ts.map +1 -1
  592. package/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  593. package/lib/components/ecl-site-footer/ecl-footer-elements/ec/index.d.ts.map +1 -1
  594. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
  595. package/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
  596. package/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  597. package/lib/components/ecl-site-footer/ecl-footer-elements/eu/index.d.ts.map +1 -1
  598. package/lib/components/ecl-site-footer/ecl-footer-elements/index.d.ts.map +1 -1
  599. package/lib/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
  600. package/lib/components/ecl-site-footer/ecl-site-footer.module.d.ts.map +1 -1
  601. package/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts.map +1 -1
  602. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header-action.component.d.ts.map +1 -1
  603. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header-banner-top.component.d.ts.map +1 -1
  604. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header-language.component.d.ts.map +1 -1
  605. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header-login.component.d.ts.map +1 -1
  606. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header-search.component.d.ts.map +1 -1
  607. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header.component.d.ts +2 -2
  608. package/lib/components/ecl-site-header/deprecated/common/ecl-site-header.component.d.ts.map +1 -1
  609. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.component.d.ts +1 -1
  610. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.component.d.ts.map +1 -1
  611. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/ecl-site-header-core.module.d.ts.map +1 -1
  612. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/language/ecl-site-header-core-language.component.d.ts.map +1 -1
  613. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/login/ecl-site-header-core-login.component.d.ts.map +1 -1
  614. package/lib/components/ecl-site-header/deprecated/ecl-site-header-core/search/ecl-site-header-core-search.component.d.ts.map +1 -1
  615. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/banner-top/ecl-site-header-harmonised-banner-top.component.d.ts.map +1 -1
  616. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.component.d.ts +1 -1
  617. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.component.d.ts.map +1 -1
  618. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/ecl-site-header-harmonised.module.d.ts.map +1 -1
  619. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/language/ecl-site-header-harmonised-language.component.d.ts.map +1 -1
  620. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/login/ecl-site-header-harmonised-login.component.d.ts.map +1 -1
  621. package/lib/components/ecl-site-header/deprecated/ecl-site-header-harmonised/search/ecl-site-header-harmonised-search.component.d.ts.map +1 -1
  622. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/banner-top/ecl-site-header-standardised-banner-top.component.d.ts.map +1 -1
  623. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.component.d.ts +1 -1
  624. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.component.d.ts.map +1 -1
  625. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/ecl-site-header-standardised.module.d.ts.map +1 -1
  626. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/language/ecl-site-header-standardised-language.component.d.ts.map +1 -1
  627. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/login/ecl-site-header-standardised-login.component.d.ts.map +1 -1
  628. package/lib/components/ecl-site-header/deprecated/ecl-site-header-standardised/search/ecl-site-header-standardised-search.component.d.ts.map +1 -1
  629. package/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts.map +1 -1
  630. package/lib/components/ecl-site-header/ecl-site-header.component.d.ts.map +1 -1
  631. package/lib/components/ecl-site-header/ecl-site-header.module.d.ts.map +1 -1
  632. package/lib/components/ecl-site-header/index.d.ts.map +1 -1
  633. package/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts.map +1 -1
  634. package/lib/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
  635. package/lib/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
  636. package/lib/components/ecl-site-header/message/ecl-site-header-message.component.d.ts.map +1 -1
  637. package/lib/components/ecl-site-header/search/ecl-site-header-search.component.d.ts.map +1 -1
  638. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
  639. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.d.ts.map +1 -1
  640. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  641. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
  642. package/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.d.ts.map +1 -1
  643. package/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.d.ts.map +1 -1
  644. package/lib/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
  645. package/lib/components/ecl-social-media-share/ecl-social-media-share.module.d.ts.map +1 -1
  646. package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts +1 -1
  647. package/lib/components/ecl-spinner/ecl-spinner.component.d.ts.map +1 -1
  648. package/lib/components/ecl-spinner/ecl-spinner.module.d.ts.map +1 -1
  649. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  650. package/lib/components/ecl-sticky-container/ecl-sticky-container.module.d.ts.map +1 -1
  651. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
  652. package/lib/components/ecl-table/ecl-table.directive.d.ts +1 -1
  653. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  654. package/lib/components/ecl-table/ecl-table.module.d.ts.map +1 -1
  655. package/lib/components/ecl-tabs/ecl-tab-label.component.d.ts.map +1 -1
  656. package/lib/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
  657. package/lib/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  658. package/lib/components/ecl-tabs/ecl-tabs.component.d.ts +3 -3
  659. package/lib/components/ecl-tabs/ecl-tabs.component.d.ts.map +1 -1
  660. package/lib/components/ecl-tabs/ecl-tabs.module.d.ts.map +1 -1
  661. package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  662. package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
  663. package/lib/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
  664. package/lib/components/ecl-text-area/ecl-text-area.module.d.ts.map +1 -1
  665. package/lib/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  666. package/lib/components/ecl-text-input/ecl-text-input.module.d.ts.map +1 -1
  667. package/lib/components/ecl-timeline/ecl-timeline-item-label.directive.d.ts.map +1 -1
  668. package/lib/components/ecl-timeline/ecl-timeline-item-title.directive.d.ts.map +1 -1
  669. package/lib/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
  670. package/lib/components/ecl-timeline/ecl-timeline.component.d.ts +2 -3
  671. package/lib/components/ecl-timeline/ecl-timeline.component.d.ts.map +1 -1
  672. package/lib/components/ecl-timeline/ecl-timeline.module.d.ts.map +1 -1
  673. package/lib/components/index.d.ts.map +1 -1
  674. package/lib/model/ecl-menu-item.model.d.ts +3 -2
  675. package/lib/model/ecl-menu-item.model.d.ts.map +1 -1
  676. package/lib/services/ecl-default-language.service.d.ts.map +1 -1
  677. package/lib/services/ecl-theme.service.d.ts.map +1 -1
  678. package/lib/shared/ecl-all.module.d.ts.map +1 -1
  679. package/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.d.ts.map +1 -1
  680. package/lib/utils/directives/ecl-click-outside/index.d.ts.map +1 -1
  681. package/lib/utils/directives/ecl-hidden/ecl-hidden.module.d.ts.map +1 -1
  682. package/lib/utils/directives/ecl-hidden/index.d.ts.map +1 -1
  683. package/lib/utils/dom/dom-helpers.d.ts.map +1 -1
  684. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, ContentChildren, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild, ViewChildren } from '@angular/core';
2
+ import { Component, ContentChildren, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild, ViewChildren, } from '@angular/core';
3
3
  import { coerceBoolean, coerceElement, coerceNumber } from '@eui/base';
4
4
  import { interval, Subject, switchMap, takeUntil } from 'rxjs';
5
5
  import { EclBaseEvent } from '../../model';
@@ -34,15 +34,13 @@ export class EclCarouselComponent extends ECLBaseDirective {
34
34
  this.slide = new EventEmitter();
35
35
  this.isPlaying = false;
36
36
  this.isPausedForced = false;
37
+ this.isMobileBreakpoint = false;
37
38
  this.playSubject = new Subject();
38
39
  this.stopSubject = new Subject();
39
- this.isMobileBreakpoint = false;
40
40
  this.destroy$ = new Subject();
41
41
  }
42
42
  get cssClasses() {
43
- return [
44
- super.getCssClasses('ecl-carousel')
45
- ].join(' ').trim();
43
+ return [super.getCssClasses('ecl-carousel')].join(' ').trim();
46
44
  }
47
45
  ngOnInit() {
48
46
  this.initAutoplay();
@@ -81,7 +79,7 @@ export class EclCarouselComponent extends ECLBaseDirective {
81
79
  }
82
80
  e.preventDefault();
83
81
  }
84
- else if (!this.isPlaying && ([KeyCode.ARROW_RIGHT].includes(e.key))) {
82
+ else if (!this.isPlaying && [KeyCode.ARROW_RIGHT].includes(e.key)) {
85
83
  this.focusOnButton(this.navigationButtons.get(this.getCurrentSlideIndex()));
86
84
  }
87
85
  }
@@ -127,7 +125,7 @@ export class EclCarouselComponent extends ECLBaseDirective {
127
125
  if (!button) {
128
126
  return false;
129
127
  }
130
- return button.nativeElement.style.display === "";
128
+ return button.nativeElement.style.display === '';
131
129
  }
132
130
  showButton(button) {
133
131
  button.nativeElement.style.display = '';
@@ -185,8 +183,9 @@ export class EclCarouselComponent extends ECLBaseDirective {
185
183
  initAutoplay() {
186
184
  const start$ = this.playSubject.asObservable();
187
185
  const stop$ = this.stopSubject.asObservable();
188
- start$.pipe(switchMap(() => interval(this.playInterval)
189
- .pipe(takeUntil(stop$))), takeUntil(this.destroy$)).subscribe(() => {
186
+ start$
187
+ .pipe(switchMap(() => interval(this.playInterval).pipe(takeUntil(stop$))), takeUntil(this.destroy$))
188
+ .subscribe(() => {
190
189
  this.goToNextSlide();
191
190
  });
192
191
  }
@@ -216,7 +215,7 @@ export class EclCarouselComponent extends ECLBaseDirective {
216
215
  }
217
216
  activateSlide(slide) {
218
217
  if (slide) {
219
- this.slides.forEach(item => {
218
+ this.slides.forEach((item) => {
220
219
  item.isCurrent = false;
221
220
  });
222
221
  slide.isCurrent = true;
@@ -224,10 +223,10 @@ export class EclCarouselComponent extends ECLBaseDirective {
224
223
  }
225
224
  isLastButton(index) {
226
225
  const buttonsList = this.navigationButtons;
227
- return (index + 1 >= buttonsList.length);
226
+ return index + 1 >= buttonsList.length;
228
227
  }
229
228
  isFirstButton(index) {
230
- return (index <= 0);
229
+ return index <= 0;
231
230
  }
232
231
  startPlaying() {
233
232
  this.isPlaying = true;
@@ -270,12 +269,13 @@ export class EclCarouselComponent extends ECLBaseDirective {
270
269
  return this.slides.length;
271
270
  }
272
271
  isNoSlideSelected() {
273
- return !this.slides.some(item => item.isCurrent);
272
+ return !this.slides.some((item) => item.isCurrent);
274
273
  }
275
274
  observeBreakpointChanges() {
276
- this.cdkBreakpointObserver.observe(['(max-width: 996px)'])
275
+ this.cdkBreakpointObserver
276
+ .observe(['(max-width: 996px)'])
277
277
  .pipe(takeUntil(this.destroy$))
278
- .subscribe(result => {
278
+ .subscribe((result) => {
279
279
  this.isMobileBreakpoint = result.matches;
280
280
  if (this.isMobileBreakpoint) {
281
281
  this.stopPlaying();
@@ -287,8 +287,8 @@ export class EclCarouselComponent extends ECLBaseDirective {
287
287
  this.cd.detectChanges();
288
288
  }).observe(this.carouselContainerElement);
289
289
  }
290
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
291
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.3", type: EclCarouselComponent, selector: "ecl-carousel", inputs: { isAutoplay: "isAutoplay", playInterval: "playInterval" }, outputs: { slide: "slide" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "slides", predicate: i0.forwardRef(function () { return EclCarouselItemComponent; }) }], viewQueries: [{ propertyName: "carouselContainerElement", first: true, predicate: ["carouselContainer"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "mobilePrevButton", first: true, predicate: ["mobilePrevButton"], descendants: true }, { propertyName: "navigationButtons", predicate: ["currButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #carouselContainer\n class=\"ecl-carousel__container\"\n [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\"\n [style.left.px]=\"getCarouselSlidesOffset()\"\n (mouseover)=\"onSlideHover()\"\n (mouseout)=\"onSlideHoverout()\">\n <ng-content></ng-content>\n </div>\n\n <button\n #mobilePrevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"(!hasControls() || isMobileBreakpoint)\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <button\n class=\"ecl-carousel__next\"\n [class.ecl-u-d-none]=\"(!hasControls() || isMobileBreakpoint)\"\n (click)=\"onNextSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n</div>\n\n<div *ngIf=\"hasControls()\"\n class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\" >\n <button\n #playButton\n class=\"ecl-carousel__play\"\n [style.display]=\"isPlaying ? 'none' : ''\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <ecl-icon\n icon=\"play\"\n size=\"l\"\n class=\"ecl-carousel__icon-default\"\n isInverted>\n </ecl-icon>\n <ecl-icon\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-carousel__icon-active\"\n isInverted>\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.AUTOPLAY' | translate }}</div>\n </button>\n <button\n #pauseButton\n class=\"ecl-carousel__pause\"\n [style.display]=\"isPlaying ? '' : 'none'\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <ecl-icon\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-carousel__icon-default\"\n isInverted>\n </ecl-icon>\n <ecl-icon\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-carousel__icon-active\"\n isInverted>\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PAUSE' | translate }}</div>\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n <button\n *ngFor=\"let slide of slides; let i = index\"\n #currButton\n [attr.aria-current]=\"slide.isCurrent\"\n class=\"ecl-carousel__navigation-item\"\n (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.GO-TO-SLIDE' | translate }} {{ i + 1 }}</span>\n </button>\n </div>\n\n <button\n #prevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"!isMobileBreakpoint\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <div class=\"ecl-carousel__pagination\">\n <span class=\"ecl-carousel__current\">{{ getCurrentSlideIndex() + 1 }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-carousel__max\">{{ slides.length }}</span>\n </div>\n\n <button\n class=\"ecl-carousel__next\"\n [class.ecl-u-d-none]=\"!isMobileBreakpoint\"\n (click)=\"onNextSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
290
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponent, deps: [{ token: i0.Renderer2 }, { token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
291
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclCarouselComponent, selector: "ecl-carousel", inputs: { isAutoplay: "isAutoplay", playInterval: "playInterval" }, outputs: { slide: "slide" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "slides", predicate: i0.forwardRef(function () { return EclCarouselItemComponent; }) }], viewQueries: [{ propertyName: "carouselContainerElement", first: true, predicate: ["carouselContainer"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "mobilePrevButton", first: true, predicate: ["mobilePrevButton"], descendants: true }, { propertyName: "navigationButtons", predicate: ["currButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div\n class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\"\n [style.left.px]=\"getCarouselSlidesOffset()\"\n (mouseover)=\"onSlideHover()\"\n (mouseout)=\"onSlideHoverout()\">\n <ng-content></ng-content>\n </div>\n\n <button\n #mobilePrevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"!hasControls() || isMobileBreakpoint\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <button class=\"ecl-carousel__next\" [class.ecl-u-d-none]=\"!hasControls() || isMobileBreakpoint\" (click)=\"onNextSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n</div>\n\n<div *ngIf=\"hasControls()\" class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button\n #playButton\n class=\"ecl-carousel__play\"\n [style.display]=\"isPlaying ? 'none' : ''\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <ecl-icon icon=\"play\" size=\"l\" class=\"ecl-carousel__icon-default\" isInverted> </ecl-icon>\n <ecl-icon icon=\"play-filled\" size=\"l\" class=\"ecl-carousel__icon-active\" isInverted> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.AUTOPLAY' | translate }}</div>\n </button>\n <button\n #pauseButton\n class=\"ecl-carousel__pause\"\n [style.display]=\"isPlaying ? '' : 'none'\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <ecl-icon icon=\"pause\" size=\"l\" class=\"ecl-carousel__icon-default\" isInverted> </ecl-icon>\n <ecl-icon icon=\"pause-filled\" size=\"l\" class=\"ecl-carousel__icon-active\" isInverted> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PAUSE' | translate }}</div>\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n <button\n *ngFor=\"let slide of slides; let i = index\"\n #currButton\n [attr.aria-current]=\"slide.isCurrent\"\n class=\"ecl-carousel__navigation-item\"\n (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.GO-TO-SLIDE' | translate }} {{ i + 1 }}</span>\n </button>\n </div>\n\n <button #prevButton class=\"ecl-carousel__prev\" [class.ecl-u-d-none]=\"!isMobileBreakpoint\" (click)=\"onPreviousSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <div class=\"ecl-carousel__pagination\">\n <span class=\"ecl-carousel__current\">{{ getCurrentSlideIndex() + 1 }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-carousel__max\">{{ slides.length }}</span>\n </div>\n\n <button class=\"ecl-carousel__next\" [class.ecl-u-d-none]=\"!isMobileBreakpoint\" (click)=\"onNextSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
292
292
  }
293
293
  __decorate([
294
294
  coerceBoolean
@@ -299,9 +299,9 @@ __decorate([
299
299
  __decorate([
300
300
  coerceElement
301
301
  ], EclCarouselComponent.prototype, "carouselContainerElement", void 0);
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponent, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponent, decorators: [{
303
303
  type: Component,
304
- args: [{ selector: 'ecl-carousel', template: "<div #carouselContainer\n class=\"ecl-carousel__container\"\n [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\"\n [style.left.px]=\"getCarouselSlidesOffset()\"\n (mouseover)=\"onSlideHover()\"\n (mouseout)=\"onSlideHoverout()\">\n <ng-content></ng-content>\n </div>\n\n <button\n #mobilePrevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"(!hasControls() || isMobileBreakpoint)\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <button\n class=\"ecl-carousel__next\"\n [class.ecl-u-d-none]=\"(!hasControls() || isMobileBreakpoint)\"\n (click)=\"onNextSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n</div>\n\n<div *ngIf=\"hasControls()\"\n class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\" >\n <button\n #playButton\n class=\"ecl-carousel__play\"\n [style.display]=\"isPlaying ? 'none' : ''\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <ecl-icon\n icon=\"play\"\n size=\"l\"\n class=\"ecl-carousel__icon-default\"\n isInverted>\n </ecl-icon>\n <ecl-icon\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-carousel__icon-active\"\n isInverted>\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.AUTOPLAY' | translate }}</div>\n </button>\n <button\n #pauseButton\n class=\"ecl-carousel__pause\"\n [style.display]=\"isPlaying ? '' : 'none'\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <ecl-icon\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-carousel__icon-default\"\n isInverted>\n </ecl-icon>\n <ecl-icon\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-carousel__icon-active\"\n isInverted>\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PAUSE' | translate }}</div>\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n <button\n *ngFor=\"let slide of slides; let i = index\"\n #currButton\n [attr.aria-current]=\"slide.isCurrent\"\n class=\"ecl-carousel__navigation-item\"\n (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.GO-TO-SLIDE' | translate }} {{ i + 1 }}</span>\n </button>\n </div>\n\n <button\n #prevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"!isMobileBreakpoint\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <div class=\"ecl-carousel__pagination\">\n <span class=\"ecl-carousel__current\">{{ getCurrentSlideIndex() + 1 }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-carousel__max\">{{ slides.length }}</span>\n </div>\n\n <button\n class=\"ecl-carousel__next\"\n [class.ecl-u-d-none]=\"!isMobileBreakpoint\"\n (click)=\"onNextSlideClick()\">\n <ecl-icon\n icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\"\n isInverted\n class=\"ecl-carousel__icon-default\">\n </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"] }]
304
+ args: [{ selector: 'ecl-carousel', template: "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div\n class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\"\n [style.left.px]=\"getCarouselSlidesOffset()\"\n (mouseover)=\"onSlideHover()\"\n (mouseout)=\"onSlideHoverout()\">\n <ng-content></ng-content>\n </div>\n\n <button\n #mobilePrevButton\n class=\"ecl-carousel__prev\"\n [class.ecl-u-d-none]=\"!hasControls() || isMobileBreakpoint\"\n (click)=\"onPreviousSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <button class=\"ecl-carousel__next\" [class.ecl-u-d-none]=\"!hasControls() || isMobileBreakpoint\" (click)=\"onNextSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n</div>\n\n<div *ngIf=\"hasControls()\" class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button\n #playButton\n class=\"ecl-carousel__play\"\n [style.display]=\"isPlaying ? 'none' : ''\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <ecl-icon icon=\"play\" size=\"l\" class=\"ecl-carousel__icon-default\" isInverted> </ecl-icon>\n <ecl-icon icon=\"play-filled\" size=\"l\" class=\"ecl-carousel__icon-active\" isInverted> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.AUTOPLAY' | translate }}</div>\n </button>\n <button\n #pauseButton\n class=\"ecl-carousel__pause\"\n [style.display]=\"isPlaying ? '' : 'none'\"\n (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <ecl-icon icon=\"pause\" size=\"l\" class=\"ecl-carousel__icon-default\" isInverted> </ecl-icon>\n <ecl-icon icon=\"pause-filled\" size=\"l\" class=\"ecl-carousel__icon-active\" isInverted> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PAUSE' | translate }}</div>\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n <button\n *ngFor=\"let slide of slides; let i = index\"\n #currButton\n [attr.aria-current]=\"slide.isCurrent\"\n class=\"ecl-carousel__navigation-item\"\n (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.GO-TO-SLIDE' | translate }} {{ i + 1 }}</span>\n </button>\n </div>\n\n <button #prevButton class=\"ecl-carousel__prev\" [class.ecl-u-d-none]=\"!isMobileBreakpoint\" (click)=\"onPreviousSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\">{{ 'ecl.carousel.PREV-SLIDES' | translate }}</span>\n </button>\n\n <div class=\"ecl-carousel__pagination\">\n <span class=\"ecl-carousel__current\">{{ getCurrentSlideIndex() + 1 }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-carousel__max\">{{ slides.length }}</span>\n </div>\n\n <button class=\"ecl-carousel__next\" [class.ecl-u-d-none]=\"!isMobileBreakpoint\" (click)=\"onNextSlideClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" isInverted class=\"ecl-carousel__icon-default\"> </ecl-icon>\n <div class=\"ecl-u-sr-only\">{{ 'ecl.carousel.NEXT-SLIDES' | translate }}</div>\n </button>\n </div>\n</div>\n", styles: [":host{display:block}.ecl-carousel__container{width:100%}.ecl-carousel__slides{transition-duration:.4s}\n"] }]
305
305
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.BreakpointObserver }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { isAutoplay: [{
306
306
  type: Input
307
307
  }], playInterval: [{
@@ -333,4 +333,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
333
333
  type: HostBinding,
334
334
  args: ['class']
335
335
  }] } });
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFFVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQW1CLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQUUxRixNQUFNLE9BQU8sYUFBYyxTQUFRLFlBQVk7SUFDM0MsWUFBbUIsSUFBcUI7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFETyxTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUV4QyxDQUFDO0NBQ0o7QUFFRCxJQUFLLE9BS0o7QUFMRCxXQUFLLE9BQU87SUFDUixtQ0FBd0IsQ0FBQTtJQUN4QixxQ0FBMEIsQ0FBQTtJQUMxQixzQkFBVyxDQUFBO0lBQ1gsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTEksT0FBTyxLQUFQLE9BQU8sUUFLWDtBQW9CRCxNQUFNLE9B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QVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNRLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBb0J6QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiwgY29lcmNlRWxlbWVudCwgY29lcmNlTnVtYmVyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IGludGVydmFsLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xDYXJvdXNlbEl0ZW0sIEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWNhcm91c2VsLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbFNsaWRlRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtOiBFY2xDYXJvdXNlbEl0ZW0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbmVudW0gS2V5Q29kZSB7XG4gICAgQVJST1dfTEVGVCA9ICdBcnJvd0xlZnQnLFxuICAgIEFSUk9XX1JJR0hUID0gJ0Fycm93UmlnaHQnLFxuICAgIFRBQiA9ICdUYWInLFxuICAgIEVOVEVSID0gJ0VudGVyJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFRPRE86IHJlbW92ZSBieSBpbXBsZW1lbnRpbmcgZnVsbCBFQ0wgc3BlY3MgKi9cbiAgICAgICAgLmVjbC1jYXJvdXNlbF9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVjbC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgIH1cbiAgICBgXVxufSlcbmV4cG9ydCBjbGFzcyBFY2xDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGlzQXV0b3BsYXk6IGJvb2xlYW4gfCBhbnkgPSB0cnVlO1xuICAgIEBjb2VyY2VOdW1iZXIgQElucHV0KCkgcGxheUludGVydmFsOiBudW1iZXIgfCBhbnkgPSA1MDAwO1xuXG4gICAgQGNvZXJjZUVsZW1lbnQgQFZpZXdDaGlsZCgnY2Fyb3VzZWxDb250YWluZXInKSBjYXJvdXNlbENvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQpKSBzbGlkZXM6IFF1ZXJ5TGlzdDxFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQ+O1xuICAgIEBPdXRwdXQoKSBzbGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsU2xpZGVFdmVudD4oKTtcbiAgICBAVmlld0NoaWxkcmVuKCdjdXJyQnV0dG9uJykgbmF2aWdhdGlvbkJ1dHRvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBAVmlld0NoaWxkKCdwbGF5QnV0dG9uJykgcGxheUJ1dHRvbjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdwYXVzZUJ1dHRvbicpIHBhdXNlQnV0dG9uOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3ByZXZCdXR0b24nKSBwcmV2QnV0dG9uOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ21vYmlsZVByZXZCdXR0b24nKSBtb2JpbGVQcmV2QnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIGlzUGxheWluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1BhdXNlZEZvcmNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwbGF5U3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBzdG9wU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGNka0JyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWNhcm91c2VsJylcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRBdXRvcGxheSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplU2xpZGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVFbGVtZW50U2l6ZUNoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG9uUGxheUNsaWNrKCkge1xuICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICB0aGlzLnNob3dCdXR0b24odGhpcy5wYXVzZUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBhdXNlQnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBhdXNlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uKHRoaXMucGxheUJ1dHRvbik7XG4gICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBsYXlCdXR0b24pO1xuICAgIH1cblxuICAgIG9uUGxheUtleWJvYXJkUHJlc3MoZSkge1xuICAgICAgICBpZiAoW0tleUNvZGUuVEFCXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxheWluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZSh0aGlzLnNsaWRlcy5nZXQoMCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCgwKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNQbGF5aW5nICYmIChbS2V5Q29kZS5BUlJPV19SSUdIVF0uaW5jbHVkZXMoZS5rZXkpKSAgKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5hdkJ0bktleWJvYXJkUHJlc3MoIGUsIGluZGV4ICkge1xuICAgICAgICBpZiAoW0tleUNvZGUuVEFCLCBLZXlDb2RlLkFSUk9XX1JJR0hUXS5pbmNsdWRlcyhlLmtleSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTGFzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0J1dHRvblZpc2libGUodGhpcy5wcmV2QnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wcmV2QnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0J1dHRvblZpc2libGUodGhpcy5tb2JpbGVQcmV2QnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5tb2JpbGVQcmV2QnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMubW9iaWxlUHJldkJ1dHRvbik7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uIDogRWxlbWVudFJlZiA9ICB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbihidXR0b24pO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLmtleSA9PT0gS2V5Q29kZS5BUlJPV19MRUZUKSB7XG4gICAgICAgICAgICBpZiAoIHRoaXMuaXNGaXJzdEJ1dHRvbihpbmRleCkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wbGF5QnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLnBsYXlCdXR0b24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXVzZUJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wYXVzZUJ1dHRvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvVG9QcmV2aW91c1NsaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uIDogRWxlbWVudFJlZiA9ICB0aGlzLm5hdmlnYXRpb25CdXR0b25zLmdldCh0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbihidXR0b24pO1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaXNCdXR0b25WaXNpYmxlKGJ1dHRvbjogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAoIWJ1dHRvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBidXR0b24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSBcIlwiO1xuICAgIH1cblxuICAgIHNob3dCdXR0b24oYnV0dG9uOiBFbGVtZW50UmVmKSB7XG4gICAgICAgICAgYnV0dG9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICcnO1xuICAgIH1cblxuICAgIGZvY3VzT25CdXR0b24oYnV0dG9uOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmICghYnV0dG9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvblNsaWRlQ29udHJvbENsaWNrKHNsaWRlOiBFY2xDYXJvdXNlbEl0ZW0pIHtcbiAgICAgICAgdGhpcy5zdG9wUGxheWluZygpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUoc2xpZGUpO1xuICAgIH1cblxuICAgIG9uTmV4dFNsaWRlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91c1NsaWRlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSgpO1xuICAgIH1cblxuICAgIG9uU2xpZGVIb3ZlcigpIHtcbiAgICAgICAgdGhpcy5wYXVzZVBsYXlpbmcoKTtcbiAgICB9XG5cbiAgICBvblNsaWRlSG92ZXJvdXQoKSB7XG4gICAgICAgIGlmKCF0aGlzLmlzU3RvcEJ1dHRvblByZXNzZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5yZXN1bWVQbGF5aW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTdG9wQnV0dG9uUHJlc3NlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNQYXVzZWRGb3JjZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUGFkZGVkKCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGVCcmVha3BvaW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNDb250cm9scygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2xpZGVzQ291bnQoKSA+IDE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1cnJlbnRTbGlkZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGxldCBjdXJyZW50SW5kZXg6IG51bWJlcjtcblxuICAgICAgICB0aGlzLnNsaWRlcy5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzQ3VycmVudCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IGlkeDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2Fyb3VzZWxTbGlkZXNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJvdXNlbENvbnRhaW5lckVsZW1lbnQ/Lm9mZnNldFdpZHRoICogdGhpcy5nZXRTbGlkZXNDb3VudCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDYXJvdXNlbFNsaWRlc09mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gLTEgKiB0aGlzLmNhcm91c2VsQ29udGFpbmVyRWxlbWVudD8ub2Zmc2V0V2lkdGggKiB0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0QXV0b3BsYXkoKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0JCA9IHRoaXMucGxheVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIGNvbnN0IHN0b3AkID0gdGhpcy5zdG9wU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgICAgICBzdGFydCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBpbnRlcnZhbCh0aGlzLnBsYXlJbnRlcnZhbClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHN0b3AkKVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub05leHRTbGlkZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVTbGlkZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0U2xpZGUoaXRlbSwgaWR4KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQ29udHJvbHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTm9TbGlkZVNlbGVjdGVkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUodGhpcy5zbGlkZXMuZmlyc3QpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0F1dG9wbGF5ICYmICF0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRQbGF5aW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTbGlkZShpdGVtOiBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQsIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIGl0ZW0uaW5kZXggPSBpZHg7XG4gICAgICAgIGl0ZW0uYXJpYUxhYmVsID0gYHNsaWRlICR7aWR4ICsgMX0gb2YgJHt0aGlzLmdldFNsaWRlc0NvdW50KCl9YDtcbiAgICAgICAgaXRlbS53aWR0aCA9IDEwMCAvIHRoaXMuZ2V0U2xpZGVzQ291bnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvVG9OZXh0U2xpZGUoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVTbGlkZShcbiAgICAgICAgICAgIHRoaXMuZ2V0TmV4dFNsaWRlKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvVG9QcmV2aW91c1NsaWRlKCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUoXG4gICAgICAgICAgICB0aGlzLmdldFByZXZpb3VzU2xpZGUoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWN0aXZhdGVTbGlkZShzbGlkZTogRWNsQ2Fyb3VzZWxJdGVtKSB7XG4gICAgICAgIGlmIChzbGlkZSkge1xuICAgICAgICAgICAgdGhpcy5zbGlkZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzbGlkZS5pc0N1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xhc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYnV0dG9uc0xpc3QgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zO1xuICAgICAgICByZXR1cm4gKGluZGV4ICsgMSA+PSBidXR0b25zTGlzdC5sZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaXJzdEJ1dHRvbihpbmRleCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGluZGV4IDw9IDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRQbGF5aW5nKCkge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaXNQYXVzZWRGb3JjZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wbGF5U3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdG9wUGxheWluZygpIHtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1BhdXNlZEZvcmNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGF1c2VQbGF5aW5nKCkge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnN0b3BTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3VtZVBsYXlpbmcoKSB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wbGF5U3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0U2xpZGUoKTogRWNsQ2Fyb3VzZWxJdGVtIHtcbiAgICAgICAgY29uc3Qgc2xpZGVzQ291bnQgPSB0aGlzLmdldFNsaWRlc0NvdW50KCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTtcblxuICAgICAgICBpZiAoY3VycmVudEluZGV4ID49IHNsaWRlc0NvdW50IC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVzLmZpcnN0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVzLmdldChjdXJyZW50SW5kZXggKyAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldmlvdXNTbGlkZSgpOiBFY2xDYXJvdXNlbEl0ZW0ge1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmdldEN1cnJlbnRTbGlkZUluZGV4KCk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMubGFzdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5nZXQoY3VycmVudEluZGV4IC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNsaWRlc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc05vU2xpZGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnNsaWRlcy5zb21lKGl0ZW0gPT4gaXRlbS5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFsnKG1heC13aWR0aDogOTk2cHgpJ10pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPSByZXN1bHQubWF0Y2hlcztcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlRWxlbWVudFNpemVDaGFuZ2VzKCkge1xuICAgICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pLm9ic2VydmUodGhpcy5jYXJvdXNlbENvbnRhaW5lckVsZW1lbnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgI2Nhcm91c2VsQ29udGFpbmVyXG4gICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRhaW5lclwiXG4gICAgW2NsYXNzLmVjbC1jYXJvdXNlbC1jb250YWluZXItLXBhZGRlZF09XCJpc1BhZGRlZCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fc2xpZGVzXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImdldENhcm91c2VsU2xpZGVzV2lkdGgoKVwiXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldENhcm91c2VsU2xpZGVzT2Zmc2V0KClcIlxuICAgICAgICAobW91c2VvdmVyKT1cIm9uU2xpZGVIb3ZlcigpXCJcbiAgICAgICAgKG1vdXNlb3V0KT1cIm9uU2xpZGVIb3Zlcm91dCgpXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b25cbiAgICAgICAgI21vYmlsZVByZXZCdXR0b25cbiAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX3ByZXZcIlxuICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIighaGFzQ29udHJvbHMoKSB8fCBpc01vYmlsZUJyZWFrcG9pbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUHJldmlvdXNTbGlkZUNsaWNrKClcIj5cbiAgICAgICAgPGVjbC1pY29uXG4gICAgICAgICAgICBpY29uPVwiY29ybmVyLWFycm93XCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZS0yNzBcIlxuICAgICAgICAgICAgaXNJbnZlcnRlZFxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2ljb24tZGVmYXVsdFwiPlxuICAgICAgICA8L2VjbC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLlBSRVYtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25leHRcIlxuICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIighaGFzQ29udHJvbHMoKSB8fCBpc01vYmlsZUJyZWFrcG9pbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dFNsaWRlQ2xpY2soKVwiPlxuICAgICAgICA8ZWNsLWljb25cbiAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlLTkwXCJcbiAgICAgICAgICAgIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19pY29uLWRlZmF1bHRcIj5cbiAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLk5FWFQtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJoYXNDb250cm9scygpXCJcbiAgICBjbGFzcz1cImVjbC1jYXJvdXNlbF9fY29udHJvbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWNhcm91c2VsX19hdXRvcGxheVwiICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNwbGF5QnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX3BsYXlcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlzUGxheWluZyA/ICdub25lJyA6ICcnXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBsYXlDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwbGF5XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgaXNJbnZlcnRlZD5cbiAgICAgICAgICAgICAgICA8L2VjbC1pY29uPlxuICAgICAgICAgICAgICAgIDxlY2wtaWNvblxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGxheS1maWxsZWRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19pY29uLWFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIGlzSW52ZXJ0ZWQ+XG4gICAgICAgICAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuQVVUT1BMQVknIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAjcGF1c2VCdXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImVjbC1jYXJvdXNlbF9fcGF1c2VcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlzUGxheWluZyA/ICcnIDogJ25vbmUnXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBhdXNlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIDxlY2wtaWNvblxuICAgICAgICAgICAgICAgICAgICBpY29uPVwicGF1c2VcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19pY29uLWRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBpc0ludmVydGVkPlxuICAgICAgICAgICAgICAgIDwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJwYXVzZS1maWxsZWRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19pY29uLWFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIGlzSW52ZXJ0ZWQ+XG4gICAgICAgICAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuUEFVU0UnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzbGlkZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICNjdXJyQnV0dG9uXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInNsaWRlLmlzQ3VycmVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2xpZGVDb250cm9sQ2xpY2soc2xpZGUpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbk5hdkJ0bktleWJvYXJkUHJlc3MoJGV2ZW50LCBpKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuR08tVE8tU0xJREUnIHwgdHJhbnNsYXRlIH19IHt7IGkgKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICNwcmV2QnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1jYXJvdXNlbF9fcHJldlwiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFpc01vYmlsZUJyZWFrcG9pbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJldmlvdXNTbGlkZUNsaWNrKClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvblxuICAgICAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtMjcwXCJcbiAgICAgICAgICAgICAgICBpc0ludmVydGVkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2ljb24tZGVmYXVsdFwiPlxuICAgICAgICAgICAgPC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuUFJFVi1TTElERVMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWNhcm91c2VsX19wYWdpbmF0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fY3VycmVudFwiPnt7IGdldEN1cnJlbnRTbGlkZUluZGV4KCkgKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAge3sgJ2VjbC5jb21tb24uT0YnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fbWF4XCI+e3sgc2xpZGVzLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25leHRcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCIhaXNNb2JpbGVCcmVha3BvaW50XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk5leHRTbGlkZUNsaWNrKClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvblxuICAgICAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIlxuICAgICAgICAgICAgICAgIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCI+XG4gICAgICAgICAgICA8L2VjbC1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLk5FWFQtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFFVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQW1CLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQUUxRixNQUFNLE9BQU8sYUFBYyxTQUFRLFlBQVk7SUFDM0MsWUFBbUIsSUFBcUI7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFETyxTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUV4QyxDQUFDO0NBQ0o7QUFFRCxJQUFLLE9BS0o7QUFMRCxXQUFLLE9BQU87SUFDUixtQ0FBd0IsQ0FBQTtJQUN4QixxQ0FBMEIsQ0FBQTtJQUMxQixzQkFBVyxDQUFBO0lBQ1gsMEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTEksT0FBTyxLQUFQLE9BQU8sUUFLWDtBQXNCRCxNQUFNLE9B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QUMsWUFBWTtnQkFDRyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNRLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBb0J6QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuLCBjb2VyY2VFbGVtZW50LCBjb2VyY2VOdW1iZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENhcm91c2VsSXRlbSwgRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsU2xpZGVFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGl0ZW06IEVjbENhcm91c2VsSXRlbSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuZW51bSBLZXlDb2RlIHtcbiAgICBBUlJPV19MRUZUID0gJ0Fycm93TGVmdCcsXG4gICAgQVJST1dfUklHSFQgPSAnQXJyb3dSaWdodCcsXG4gICAgVEFCID0gJ1RhYicsXG4gICAgRU5URVIgPSAnRW50ZXInLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogVE9ETzogcmVtb3ZlIGJ5IGltcGxlbWVudGluZyBmdWxsIEVDTCBzcGVjcyAqL1xuICAgICAgICAgICAgLmVjbC1jYXJvdXNlbF9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmVjbC1jYXJvdXNlbF9fc2xpZGVzIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbENhcm91c2VsQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0F1dG9wbGF5OiBib29sZWFuIHwgYW55ID0gdHJ1ZTtcbiAgICBAY29lcmNlTnVtYmVyIEBJbnB1dCgpIHBsYXlJbnRlcnZhbDogbnVtYmVyIHwgYW55ID0gNTAwMDtcblxuICAgIEBjb2VyY2VFbGVtZW50IEBWaWV3Q2hpbGQoJ2Nhcm91c2VsQ29udGFpbmVyJykgY2Fyb3VzZWxDb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50KSkgc2xpZGVzOiBRdWVyeUxpc3Q8RWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50PjtcbiAgICBAT3V0cHV0KCkgc2xpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbFNsaWRlRXZlbnQ+KCk7XG4gICAgQFZpZXdDaGlsZHJlbignY3VyckJ1dHRvbicpIG5hdmlnYXRpb25CdXR0b25zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gICAgQFZpZXdDaGlsZCgncGxheUJ1dHRvbicpIHBsYXlCdXR0b246IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgncGF1c2VCdXR0b24nKSBwYXVzZUJ1dHRvbjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdwcmV2QnV0dG9uJykgcHJldkJ1dHRvbjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdtb2JpbGVQcmV2QnV0dG9uJykgbW9iaWxlUHJldkJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAgIHB1YmxpYyBpc1BsYXlpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNQYXVzZWRGb3JjZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHBsYXlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHN0b3BTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtY2Fyb3VzZWwnKV0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0QXV0b3BsYXkoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVNsaWRlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlRWxlbWVudFNpemVDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvblBsYXlDbGljaygpIHtcbiAgICAgICAgdGhpcy5zdGFydFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wYXVzZUJ1dHRvbik7XG4gICAgfVxuXG4gICAgb25QYXVzZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvbih0aGlzLnBsYXlCdXR0b24pO1xuICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICB9XG5cbiAgICBvblBsYXlLZXlib2FyZFByZXNzKGUpIHtcbiAgICAgICAgaWYgKFtLZXlDb2RlLlRBQl0uaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1BsYXlpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUodGhpcy5zbGlkZXMuZ2V0KDApKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQoMCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMuZ2V0KHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlzUGxheWluZyAmJiBbS2V5Q29kZS5BUlJPV19SSUdIVF0uaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5uYXZpZ2F0aW9uQnV0dG9ucy5nZXQodGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5hdkJ0bktleWJvYXJkUHJlc3MoZSwgaW5kZXgpIHtcbiAgICAgICAgaWYgKFtLZXlDb2RlLlRBQiwgS2V5Q29kZS5BUlJPV19SSUdIVF0uaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0xhc3RCdXR0b24oaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNCdXR0b25WaXNpYmxlKHRoaXMucHJldkJ1dHRvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucHJldkJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNCdXR0b25WaXNpYmxlKHRoaXMubW9iaWxlUHJldkJ1dHRvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMubW9iaWxlUHJldkJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ29Ub05leHRTbGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPbkJ1dHRvbih0aGlzLm1vYmlsZVByZXZCdXR0b24pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1dHRvbjogRWxlbWVudFJlZiA9IHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMuZ2V0KHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKGJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGUua2V5ID09PSBLZXlDb2RlLkFSUk9XX0xFRlQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlyc3RCdXR0b24oaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGxheUJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT25CdXR0b24odGhpcy5wbGF5QnV0dG9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGF1c2VCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKHRoaXMucGF1c2VCdXR0b24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJ1dHRvbjogRWxlbWVudFJlZiA9IHRoaXMubmF2aWdhdGlvbkJ1dHRvbnMuZ2V0KHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c09uQnV0dG9uKGJ1dHRvbik7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpc0J1dHRvblZpc2libGUoYnV0dG9uOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmICghYnV0dG9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ1dHRvbi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPT09ICcnO1xuICAgIH1cblxuICAgIHNob3dCdXR0b24oYnV0dG9uOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGJ1dHRvbi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnJztcbiAgICB9XG5cbiAgICBmb2N1c09uQnV0dG9uKGJ1dHRvbjogRWxlbWVudFJlZikge1xuICAgICAgICBpZiAoIWJ1dHRvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25TbGlkZUNvbnRyb2xDbGljayhzbGlkZTogRWNsQ2Fyb3VzZWxJdGVtKSB7XG4gICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHNsaWRlKTtcbiAgICB9XG5cbiAgICBvbk5leHRTbGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgIHRoaXMuZ29Ub05leHRTbGlkZSgpO1xuICAgIH1cblxuICAgIG9uUHJldmlvdXNTbGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnN0b3BQbGF5aW5nKCk7XG4gICAgICAgIHRoaXMuZ29Ub1ByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG5cbiAgICBvblNsaWRlSG92ZXIoKSB7XG4gICAgICAgIHRoaXMucGF1c2VQbGF5aW5nKCk7XG4gICAgfVxuXG4gICAgb25TbGlkZUhvdmVyb3V0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNTdG9wQnV0dG9uUHJlc3NlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3VtZVBsYXlpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1N0b3BCdXR0b25QcmVzc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1BhdXNlZEZvcmNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNQYWRkZWQoKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0NvbnRyb2xzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTbGlkZXNDb3VudCgpID4gMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGN1cnJlbnRJbmRleDogbnVtYmVyO1xuXG4gICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNDdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaWR4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gY3VycmVudEluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDYXJvdXNlbFNsaWRlc1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcm91c2VsQ29udGFpbmVyRWxlbWVudD8ub2Zmc2V0V2lkdGggKiB0aGlzLmdldFNsaWRlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENhcm91c2VsU2xpZGVzT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAtMSAqIHRoaXMuY2Fyb3VzZWxDb250YWluZXJFbGVtZW50Py5vZmZzZXRXaWR0aCAqIHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRBdXRvcGxheSgpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5wbGF5U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgY29uc3Qgc3RvcCQgPSB0aGlzLnN0b3BTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgICAgIHN0YXJ0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IGludGVydmFsKHRoaXMucGxheUludGVydmFsKS5waXBlKHRha2VVbnRpbChzdG9wJCkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ29Ub05leHRTbGlkZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplU2xpZGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNsaWRlcy5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFNsaWRlKGl0ZW0sIGlkeCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NvbnRyb2xzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc05vU2xpZGVTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuc2xpZGVzLmZpcnN0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNBdXRvcGxheSAmJiAhdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0UGxheWluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpZGUoaXRlbTogRWNsQ2Fyb3VzZWxJdGVtQ29tcG9uZW50LCBpZHg6IG51bWJlcikge1xuICAgICAgICBpdGVtLmluZGV4ID0gaWR4O1xuICAgICAgICBpdGVtLmFyaWFMYWJlbCA9IGBzbGlkZSAke2lkeCArIDF9IG9mICR7dGhpcy5nZXRTbGlkZXNDb3VudCgpfWA7XG4gICAgICAgIGl0ZW0ud2lkdGggPSAxMDAgLyB0aGlzLmdldFNsaWRlc0NvdW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvTmV4dFNsaWRlKCkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlU2xpZGUodGhpcy5nZXROZXh0U2xpZGUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb1RvUHJldmlvdXNTbGlkZSgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZVNsaWRlKHRoaXMuZ2V0UHJldmlvdXNTbGlkZSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlU2xpZGUoc2xpZGU6IEVjbENhcm91c2VsSXRlbSkge1xuICAgICAgICBpZiAoc2xpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzbGlkZS5pc0N1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xhc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYnV0dG9uc0xpc3QgPSB0aGlzLm5hdmlnYXRpb25CdXR0b25zO1xuICAgICAgICByZXR1cm4gaW5kZXggKyAxID49IGJ1dHRvbnNMaXN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlyc3RCdXR0b24oaW5kZXgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4IDw9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFBsYXlpbmcoKSB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc1BhdXNlZEZvcmNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BQbGF5aW5nKCkge1xuICAgICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUGF1c2VkRm9yY2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdG9wU3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXVzZVBsYXlpbmcoKSB7XG4gICAgICAgIHRoaXMuaXNQbGF5aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RvcFN1YmplY3QubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdW1lUGxheWluZygpIHtcbiAgICAgICAgdGhpcy5pc1BsYXlpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnBsYXlTdWJqZWN0Lm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRTbGlkZSgpOiBFY2xDYXJvdXNlbEl0ZW0ge1xuICAgICAgICBjb25zdCBzbGlkZXNDb3VudCA9IHRoaXMuZ2V0U2xpZGVzQ291bnQoKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5nZXRDdXJyZW50U2xpZGVJbmRleCgpO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPj0gc2xpZGVzQ291bnQgLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMuZmlyc3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zbGlkZXMuZ2V0KGN1cnJlbnRJbmRleCArIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmV2aW91c1NsaWRlKCk6IEVjbENhcm91c2VsSXRlbSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZ2V0Q3VycmVudFNsaWRlSW5kZXgoKTtcblxuICAgICAgICBpZiAoY3VycmVudEluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNsaWRlcy5sYXN0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVzLmdldChjdXJyZW50SW5kZXggLSAxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2xpZGVzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xpZGVzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTm9TbGlkZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2xpZGVzLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaXNDdXJyZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5jZGtCcmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFsnKG1heC13aWR0aDogOTk2cHgpJ10pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCA9IHJlc3VsdC5tYXRjaGVzO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcFBsYXlpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVFbGVtZW50U2l6ZUNoYW5nZXMoKSB7XG4gICAgICAgIG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSkub2JzZXJ2ZSh0aGlzLmNhcm91c2VsQ29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxufVxuIiwiPGRpdiAjY2Fyb3VzZWxDb250YWluZXIgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2NvbnRhaW5lclwiIFtjbGFzcy5lY2wtY2Fyb3VzZWwtY29udGFpbmVyLS1wYWRkZWRdPVwiaXNQYWRkZWQoKVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX3NsaWRlc1wiXG4gICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJnZXRDYXJvdXNlbFNsaWRlc1dpZHRoKClcIlxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJnZXRDYXJvdXNlbFNsaWRlc09mZnNldCgpXCJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJvblNsaWRlSG92ZXIoKVwiXG4gICAgICAgIChtb3VzZW91dCk9XCJvblNsaWRlSG92ZXJvdXQoKVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgICNtb2JpbGVQcmV2QnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19wcmV2XCJcbiAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCIhaGFzQ29udHJvbHMoKSB8fCBpc01vYmlsZUJyZWFrcG9pbnRcIlxuICAgICAgICAoY2xpY2spPVwib25QcmV2aW91c1NsaWRlQ2xpY2soKVwiPlxuICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJtXCIgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiIGlzSW52ZXJ0ZWQgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2ljb24tZGVmYXVsdFwiPiA8L2VjbC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLlBSRVYtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25leHRcIiBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFoYXNDb250cm9scygpIHx8IGlzTW9iaWxlQnJlYWtwb2ludFwiIChjbGljayk9XCJvbk5leHRTbGlkZUNsaWNrKClcIj5cbiAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwibVwiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiIGlzSW52ZXJ0ZWQgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2ljb24tZGVmYXVsdFwiPiA8L2VjbC1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuTkVYVC1TTElERVMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImhhc0NvbnRyb2xzKClcIiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fY29udHJvbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWNhcm91c2VsX19hdXRvcGxheVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNwbGF5QnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX3BsYXlcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlzUGxheWluZyA/ICdub25lJyA6ICcnXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvblBsYXlLZXlib2FyZFByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBsYXlDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJwbGF5XCIgc2l6ZT1cImxcIiBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCIgaXNJbnZlcnRlZD4gPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cInBsYXktZmlsbGVkXCIgc2l6ZT1cImxcIiBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1hY3RpdmVcIiBpc0ludmVydGVkPiA8L2VjbC1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtdS1zci1vbmx5XCI+e3sgJ2VjbC5jYXJvdXNlbC5BVVRPUExBWScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNwYXVzZUJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19wYXVzZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaXNQbGF5aW5nID8gJycgOiAnbm9uZSdcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uUGxheUtleWJvYXJkUHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGF1c2VDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJwYXVzZVwiIHNpemU9XCJsXCIgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2ljb24tZGVmYXVsdFwiIGlzSW52ZXJ0ZWQ+IDwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJwYXVzZS1maWxsZWRcIiBzaXplPVwibFwiIGNsYXNzPVwiZWNsLWNhcm91c2VsX19pY29uLWFjdGl2ZVwiIGlzSW52ZXJ0ZWQ+IDwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLlBBVVNFJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25hdmlnYXRpb25cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2xpZGUgb2Ygc2xpZGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAjY3VyckJ1dHRvblxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJzbGlkZS5pc0N1cnJlbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWNhcm91c2VsX19uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNsaWRlQ29udHJvbENsaWNrKHNsaWRlKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25OYXZCdG5LZXlib2FyZFByZXNzKCRldmVudCwgaSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLkdPLVRPLVNMSURFJyB8IHRyYW5zbGF0ZSB9fSB7eyBpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8YnV0dG9uICNwcmV2QnV0dG9uIGNsYXNzPVwiZWNsLWNhcm91c2VsX19wcmV2XCIgW2NsYXNzLmVjbC11LWQtbm9uZV09XCIhaXNNb2JpbGVCcmVha3BvaW50XCIgKGNsaWNrKT1cIm9uUHJldmlvdXNTbGlkZUNsaWNrKClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cIm1cIiB0cmFuc2Zvcm09XCJyb3RhdGUtMjcwXCIgaXNJbnZlcnRlZCBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj57eyAnZWNsLmNhcm91c2VsLlBSRVYtU0xJREVTJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jYXJvdXNlbF9fcGFnaW5hdGlvblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX2N1cnJlbnRcIj57eyBnZXRDdXJyZW50U2xpZGVJbmRleCgpICsgMSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIHt7ICdlY2wuY29tbW9uLk9GJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX21heFwiPnt7IHNsaWRlcy5sZW5ndGggfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJlY2wtY2Fyb3VzZWxfX25leHRcIiBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFpc01vYmlsZUJyZWFrcG9pbnRcIiAoY2xpY2spPVwib25OZXh0U2xpZGVDbGljaygpXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJtXCIgdHJhbnNmb3JtPVwicm90YXRlLTkwXCIgaXNJbnZlcnRlZCBjbGFzcz1cImVjbC1jYXJvdXNlbF9faWNvbi1kZWZhdWx0XCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPnt7ICdlY2wuY2Fyb3VzZWwuTkVYVC1TTElERVMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -5,35 +5,18 @@ import { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';
5
5
  import { EclCarouselItemComponent } from './ecl-carousel-item.component';
6
6
  import { EclCarouselComponent } from './ecl-carousel.component';
7
7
  import * as i0 from "@angular/core";
8
- const COMPONENTS = [
9
- EclCarouselComponent,
10
- EclCarouselItemComponent
11
- ];
8
+ const COMPONENTS = [EclCarouselComponent, EclCarouselItemComponent];
12
9
  export class EclCarouselComponentModule {
13
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, declarations: [EclCarouselComponent,
15
- EclCarouselItemComponent], imports: [CommonModule,
16
- EclIconComponentModule,
17
- TranslateModule], exports: [EclCarouselComponent,
18
- EclCarouselItemComponent] }); }
19
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, imports: [CommonModule,
20
- EclIconComponentModule,
21
- TranslateModule] }); }
10
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponentModule, declarations: [EclCarouselComponent, EclCarouselItemComponent], imports: [CommonModule, EclIconComponentModule, TranslateModule], exports: [EclCarouselComponent, EclCarouselItemComponent] }); }
12
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponentModule, imports: [CommonModule, EclIconComponentModule, TranslateModule] }); }
22
13
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCarouselComponentModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCarouselComponentModule, decorators: [{
24
15
  type: NgModule,
25
16
  args: [{
26
- imports: [
27
- CommonModule,
28
- EclIconComponentModule,
29
- TranslateModule
30
- ],
31
- exports: [
32
- ...COMPONENTS
33
- ],
34
- declarations: [
35
- ...COMPONENTS
36
- ]
17
+ imports: [CommonModule, EclIconComponentModule, TranslateModule],
18
+ exports: [...COMPONENTS],
19
+ declarations: [...COMPONENTS],
37
20
  }]
38
21
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWhFLE1BQU0sVUFBVSxHQUFHO0lBQ2Ysb0JBQW9CO0lBQ3BCLHdCQUF3QjtDQUMzQixDQUFDO0FBZUYsTUFBTSxPQUFPLDBCQUEwQjt3SUFBMUIsMEJBQTBCO3lJQUExQiwwQkFBMEIsaUJBakJuQyxvQkFBb0I7WUFDcEIsd0JBQXdCLGFBS3BCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsZUFBZSxhQVJuQixvQkFBb0I7WUFDcEIsd0JBQXdCO3lJQWdCZiwwQkFBMEIsWUFYL0IsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixlQUFlOztrR0FTViwwQkFBMEI7a0JBYnRDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsR0FBRyxVQUFVO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsR0FBRyxVQUFVO3FCQUNoQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZWNsLWljb24vZWNsLWljb24ubW9kdWxlJztcbmltcG9ydCB7IEVjbENhcm91c2VsSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWNhcm91c2VsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEVjbENhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtY2Fyb3VzZWwuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBFY2xDYXJvdXNlbENvbXBvbmVudCxcbiAgICBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEVjbEljb25Db21wb25lbnRNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICAuLi5DT01QT05FTlRTXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgLi4uQ09NUE9ORU5UU1xuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRWNsQ2Fyb3VzZWxDb21wb25lbnRNb2R1bGUge1xufSJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhcm91c2VsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtY2Fyb3VzZWwvZWNsLWNhcm91c2VsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWhFLE1BQU0sVUFBVSxHQUFHLENBQUMsb0JBQW9CLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQU9wRSxNQUFNLE9BQU8sMEJBQTBCO3dJQUExQiwwQkFBMEI7eUlBQTFCLDBCQUEwQixpQkFQbkIsb0JBQW9CLEVBQUUsd0JBQXdCLGFBR3BELFlBQVksRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBSC9DLG9CQUFvQixFQUFFLHdCQUF3Qjt5SUFPckQsMEJBQTBCLFlBSnpCLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxlQUFlOztrR0FJdEQsMEJBQTBCO2tCQUx0QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxlQUFlLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRWNsSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2VjbC1pY29uL2VjbC1pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBFY2xDYXJvdXNlbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2VjbC1jYXJvdXNlbC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vZWNsLWNhcm91c2VsLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbRWNsQ2Fyb3VzZWxDb21wb25lbnQsIEVjbENhcm91c2VsSXRlbUNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRWNsSWNvbkNvbXBvbmVudE1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UU10sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG59KVxuZXhwb3J0IGNsYXNzIEVjbENhcm91c2VsQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from './ecl-carousel.module';
2
2
  export * from './ecl-carousel.component';
3
3
  export * from './ecl-carousel-item.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhcm91c2VsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lY2wtY2Fyb3VzZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWNhcm91c2VsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1jYXJvdXNlbC1pdGVtLmNvbXBvbmVudCc7Il19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhcm91c2VsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lY2wtY2Fyb3VzZWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZWNsLWNhcm91c2VsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC1jYXJvdXNlbC1pdGVtLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { Component, ContentChild, ContentChildren, forwardRef, HostBinding, Input } from "@angular/core";
2
- import { Subject, takeUntil } from "rxjs";
3
- import { ECLBaseDirective } from "../../ecl-base.directive";
4
- import { EclCategoryFilterItemComponent } from "../ecl-category-filter-list/ecl-category-filter-item.component";
5
- import { EclCategoryFilterListComponent } from "../ecl-category-filter-list/ecl-category-filter-list.component";
1
+ import { Component, ContentChild, ContentChildren, forwardRef, HostBinding, Input, } from '@angular/core';
2
+ import { Subject, takeUntil } from 'rxjs';
3
+ import { ECLBaseDirective } from '../../ecl-base.directive';
4
+ import { EclCategoryFilterItemComponent } from '../ecl-category-filter-list/ecl-category-filter-item.component';
5
+ import { EclCategoryFilterListComponent } from '../ecl-category-filter-list/ecl-category-filter-list.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class EclCategoryFilterComponent extends ECLBaseDirective {
8
8
  constructor(differs) {
@@ -16,7 +16,7 @@ export class EclCategoryFilterComponent extends ECLBaseDirective {
16
16
  ngDoCheck() {
17
17
  const diff = this.differ.diff(this.eclCategoryFilterItemsAll);
18
18
  if (diff) {
19
- diff.forEachItem(item => {
19
+ diff.forEachItem((item) => {
20
20
  this.connectCategoryfilterItemEvents(item.item);
21
21
  });
22
22
  setTimeout(() => {
@@ -28,9 +28,9 @@ export class EclCategoryFilterComponent extends ECLBaseDirective {
28
28
  }
29
29
  }
30
30
  connectCategoryfilterItemEvents(item) {
31
- item.itemSelect
32
- .pipe(takeUntil(this.destroy$))
33
- .subscribe((evt) => { this.onItemSelected(evt); });
31
+ item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
32
+ this.onItemSelected(evt);
33
+ });
34
34
  }
35
35
  onItemSelected(evt) {
36
36
  if (evt.item.isRootItem) {
@@ -41,7 +41,7 @@ export class EclCategoryFilterComponent extends ECLBaseDirective {
41
41
  }
42
42
  }
43
43
  setPreselectedCurrentItem() {
44
- const currItem = this.eclCategoryFilterItemsAll.toArray().find(item => item.id === this.currentItemId);
44
+ const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);
45
45
  currItem.isCurrent = true;
46
46
  if (currItem.hasChildren) {
47
47
  currItem.isExpanded = true;
@@ -53,32 +53,30 @@ export class EclCategoryFilterComponent extends ECLBaseDirective {
53
53
  return;
54
54
  }
55
55
  else {
56
- const parent = this.eclCategoryFilterItemsAll.find(item => {
57
- return item.hasChildren && (item.children.find(child => child.id === currItem.id) !== undefined);
58
- });
56
+ const parent = this.eclCategoryFilterItemsAll.find((item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined);
59
57
  parent.isExpanded = true;
60
58
  this.expandParents(parent);
61
59
  }
62
60
  }
63
61
  closeAllItemsButOne(item) {
64
62
  this.eclCategoryFilterItemsAll
65
- .filter(it => it !== item)
66
- .forEach(it => {
63
+ .filter((it) => it !== item)
64
+ .forEach((it) => {
67
65
  it.isExpanded = false;
68
66
  it.isCurrent = false;
69
67
  });
70
68
  }
71
69
  deselectAllItemsButOne(item) {
72
70
  this.eclCategoryFilterItemsAll
73
- .filter(it => it !== item)
74
- .forEach(it => {
71
+ .filter((it) => it !== item)
72
+ .forEach((it) => {
75
73
  it.isCurrent = false;
76
74
  });
77
75
  }
78
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
79
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.3", type: EclCategoryFilterComponent, selector: "ecl-category-filter", inputs: { currentItemId: "currentItemId" }, host: { properties: { "class.ecl-category-filter": "this.className", "attr.role": "this.role" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(function () { return EclCategoryFilterListComponent; }), descendants: true }, { propertyName: "eclCategoryFilterItemsAll", predicate: i0.forwardRef(function () { return EclCategoryFilterItemComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
76
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCategoryFilterComponent, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-next.4", type: EclCategoryFilterComponent, selector: "ecl-category-filter", inputs: { currentItemId: "currentItemId" }, host: { properties: { "class.ecl-category-filter": "this.className", "attr.role": "this.role" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(function () { return EclCategoryFilterListComponent; }), descendants: true }, { propertyName: "eclCategoryFilterItemsAll", predicate: i0.forwardRef(function () { return EclCategoryFilterItemComponent; }), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
80
78
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EclCategoryFilterComponent, decorators: [{
82
80
  type: Component,
83
81
  args: [{ selector: 'ecl-category-filter', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
84
82
  }], ctorParameters: function () { return [{ type: i0.IterableDiffers }]; }, propDecorators: { currentItemId: [{
@@ -96,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3",
96
94
  type: ContentChildren,
97
95
  args: [forwardRef(() => EclCategoryFilterItemComponent), { descendants: true }]
98
96
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUlYLEtBQUssRUFFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFXaEgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWU1RCxZQUNZLE9BQXdCO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBRkEsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFaTSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFDLFNBQUksR0FBRyxZQUFZLENBQUM7UUFPdEMsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBT3hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFNB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QUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDO2FBQ3pCLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNWLEVBQUUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3SUF2RlEsMEJBQTBCOzRIQUExQiwwQkFBMEIsMFJBT0osOEJBQThCLHNIQUUzQiw4QkFBOEIsMkVDckNwRSw2QkFDQTs7a0dEMkJhLDBCQUEwQjtrQkFUdEMsU0FBUzsrQkFDSSxxQkFBcUI7c0dBVXRCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRW9DLFNBQVM7c0JBQWxELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNkLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFFd0MsZUFBZTtzQkFBOUUsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBRzlELHlCQUF5QjtzQkFEeEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBJbnB1dCxcbiAgICBBZnRlckNvbnRlbnRJbml0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQgfSBmcm9tIFwiLi4vY29tbW9uL2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5ldmVudFwiO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5tb2RlbFwiO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gXCIuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudCB9IGZyb20gXCIuLi9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QvZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4uL2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWNhdGVnb3J5LWZpbHRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgOmhvc3QgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRWNsQ2F0ZWdvcnlGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcblxuICAgIEBJbnB1dCgpIGN1cnJlbnRJdGVtSWQ6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWNhdGVnb3J5LWZpbHRlcicpIGNsYXNzTmFtZTogYm9vbGVhbiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ25hdmlnYXRpb24nO1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudCkpIGVjbENhdGVnb3J5TGlzdDogRWNsQ2F0ZWdvcnlGaWx0ZXJMaXN0Q29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIGVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGw6IFF1ZXJ5TGlzdDxFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsKTtcbiAgICAgICAgaWYgKGRpZmYpIHtcbiAgICAgICAgICAgIGRpZmYuZm9yRWFjaEl0ZW0oaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0Q2F0ZWdvcnlmaWx0ZXJJdGVtRXZlbnRzKGl0ZW0uaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsQ2F0ZWdvcnlMaXN0LnVwZGF0ZUNoaWxkcmVuSXRlbXNMZXZlbCgwKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50SXRlbUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQcmVzZWxlY3RlZEN1cnJlbnRJdGVtKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbm5lY3RDYXRlZ29yeWZpbHRlckl0ZW1FdmVudHMoaXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50KSB7XG4gICAgICAgIGl0ZW0uaXRlbVNlbGVjdFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2dCkgPT4geyB0aGlzLm9uSXRlbVNlbGVjdGVkKGV2dCk7IH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25JdGVtU2VsZWN0ZWQoZXZ0OiBFY2xDYXRlZ29yeUZpbHRlckl0ZW1TZWxlY3RFdmVudCkge1xuICAgICAgICBpZiAoZXZ0Lml0ZW0uaXNSb290SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFsbEl0ZW1zQnV0T25lKGV2dC5pdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RBbGxJdGVtc0J1dE9uZShldnQuaXRlbSk7XG4gICAgICAgIH0gIFxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UHJlc2VsZWN0ZWRDdXJyZW50SXRlbSgpIHtcbiAgICAgICAgY29uc3QgY3Vyckl0ZW0gPSB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGwudG9BcnJheSgpLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmN1cnJlbnRJdGVtSWQpO1xuICAgICAgICBjdXJySXRlbS5pc0N1cnJlbnQgPSB0cnVlO1xuICAgICAgICBpZiAoY3Vyckl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGN1cnJJdGVtLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXhwYW5kUGFyZW50cyhjdXJySXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHBhbmRQYXJlbnRzKGN1cnJJdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW0pIHtcbiAgICAgICAgaWYgKGN1cnJJdGVtLmlzUm9vdEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbC5maW5kKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmhhc0NoaWxkcmVuICYmIChpdGVtLmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4gY2hpbGQuaWQgPT09IGN1cnJJdGVtLmlkKSAhPT0gdW5kZWZpbmVkKTsgXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHBhcmVudC5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kUGFyZW50cyhwYXJlbnQpO1xuICAgICAgICB9ICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlQWxsSXRlbXNCdXRPbmUoaXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbFxuICAgICAgICAuZmlsdGVyKGl0ID0+IGl0ICE9PSBpdGVtKVxuICAgICAgICAuZm9yRWFjaChpdCA9PiB7XG4gICAgICAgICAgICBpdC5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICBpdC5pc0N1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXNlbGVjdEFsbEl0ZW1zQnV0T25lKGl0ZW06IEVjbENhdGVnb3J5RmlsdGVySXRlbSkge1xuICAgICAgICB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGxcbiAgICAgICAgLmZpbHRlcihpdCA9PiBpdCAhPT0gaXRlbSlcbiAgICAgICAgLmZvckVhY2goaXQgPT4ge1xuICAgICAgICAgICAgaXQuaXNDdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWNhdGVnb3J5LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyL2VjbC1jYXRlZ29yeS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1jYXRlZ29yeS1maWx0ZXIvZWNsLWNhdGVnb3J5LWZpbHRlci9lY2wtY2F0ZWdvcnktZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUlYLEtBQUssR0FHUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFhaEgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWM1RCxZQUFvQixPQUF3QjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURRLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBWEYsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQyxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBT3RDLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUt4RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxT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QUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUM7YUFDM0IsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDWixFQUFFLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7d0lBcEZRLDBCQUEwQjs0SEFBMUIsMEJBQTBCLDBSQU1KLDhCQUE4QixzSEFFM0IsOEJBQThCLDJFQ3ZDcEUsNkJBQ0E7O2tHRDhCYSwwQkFBMEI7a0JBWHRDLFNBQVM7K0JBQ0kscUJBQXFCO3NHQVd0QixhQUFhO3NCQUFyQixLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDZCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBRXdDLGVBQWU7c0JBQTlFLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2dCQUc5RCx5QkFBeUI7c0JBRHhCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEl0ZXJhYmxlRGlmZmVyLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBRdWVyeUxpc3QsXG4gICAgSW5wdXQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBEb0NoZWNrLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQgfSBmcm9tICcuLi9jb21tb24vZWNsLWNhdGVnb3J5LWZpbHRlci1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVySXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VjbC1jYXRlZ29yeS1maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC9lY2wtY2F0ZWdvcnktZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2VjbC1jYXRlZ29yeS1maWx0ZXItbGlzdC9lY2wtY2F0ZWdvcnktZmlsdGVyLWxpc3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtY2F0ZWdvcnktZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWNhdGVnb3J5LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xDYXRlZ29yeUZpbHRlckNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgICBASW5wdXQoKSBjdXJyZW50SXRlbUlkOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1jYXRlZ29yeS1maWx0ZXInKSBjbGFzc05hbWU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICduYXZpZ2F0aW9uJztcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFY2xDYXRlZ29yeUZpbHRlckxpc3RDb21wb25lbnQpKSBlY2xDYXRlZ29yeUxpc3Q6IEVjbENhdGVnb3J5RmlsdGVyTGlzdENvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbDogUXVlcnlMaXN0PEVjbENhdGVnb3J5RmlsdGVySXRlbUNvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGRpZmZlcjogSXRlcmFibGVEaWZmZXI8RWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsKTtcbiAgICAgICAgaWYgKGRpZmYpIHtcbiAgICAgICAgICAgIGRpZmYuZm9yRWFjaEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RDYXRlZ29yeWZpbHRlckl0ZW1FdmVudHMoaXRlbS5pdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lY2xDYXRlZ29yeUxpc3QudXBkYXRlQ2hpbGRyZW5JdGVtc0xldmVsKDApO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRJdGVtSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFByZXNlbGVjdGVkQ3VycmVudEl0ZW0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29ubmVjdENhdGVnb3J5ZmlsdGVySXRlbUV2ZW50cyhpdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW1Db21wb25lbnQpIHtcbiAgICAgICAgaXRlbS5pdGVtU2VsZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkl0ZW1TZWxlY3RlZChldnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uSXRlbVNlbGVjdGVkKGV2dDogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtU2VsZWN0RXZlbnQpIHtcbiAgICAgICAgaWYgKGV2dC5pdGVtLmlzUm9vdEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBbGxJdGVtc0J1dE9uZShldnQuaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsSXRlbXNCdXRPbmUoZXZ0Lml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQcmVzZWxlY3RlZEN1cnJlbnRJdGVtKCkge1xuICAgICAgICBjb25zdCBjdXJySXRlbSA9IHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbC50b0FycmF5KCkuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gdGhpcy5jdXJyZW50SXRlbUlkKTtcbiAgICAgICAgY3Vyckl0ZW0uaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgaWYgKGN1cnJJdGVtLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBjdXJySXRlbS5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV4cGFuZFBhcmVudHMoY3Vyckl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kUGFyZW50cyhjdXJySXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtKSB7XG4gICAgICAgIGlmIChjdXJySXRlbS5pc1Jvb3RJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVjbENhdGVnb3J5RmlsdGVySXRlbXNBbGwuZmluZChcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5oYXNDaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmZpbmQoKGNoaWxkKSA9PiBjaGlsZC5pZCA9PT0gY3Vyckl0ZW0uaWQpICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYXJlbnQuaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFBhcmVudHMocGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VBbGxJdGVtc0J1dE9uZShpdGVtOiBFY2xDYXRlZ29yeUZpbHRlckl0ZW0pIHtcbiAgICAgICAgdGhpcy5lY2xDYXRlZ29yeUZpbHRlckl0ZW1zQWxsXG4gICAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gaXQgIT09IGl0ZW0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBpdC5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXQuaXNDdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2VsZWN0QWxsSXRlbXNCdXRPbmUoaXRlbTogRWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuZWNsQ2F0ZWdvcnlGaWx0ZXJJdGVtc0FsbFxuICAgICAgICAgICAgLmZpbHRlcigoaXQpID0+IGl0ICE9PSBpdGVtKVxuICAgICAgICAgICAgLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgaXQuaXNDdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=