@eui/ecl 18.0.0-next.2 → 18.0.0-next.21

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 (554) hide show
  1. package/assets/i18n-ecl/bg.json +1 -1
  2. package/assets/i18n-ecl/cs.json +1 -1
  3. package/assets/i18n-ecl/da.json +1 -1
  4. package/assets/i18n-ecl/de.json +1 -1
  5. package/assets/i18n-ecl/el.json +1 -1
  6. package/assets/i18n-ecl/en.json +1 -1
  7. package/assets/i18n-ecl/es.json +1 -1
  8. package/assets/i18n-ecl/et.json +1 -1
  9. package/assets/i18n-ecl/fi.json +1 -1
  10. package/assets/i18n-ecl/fr.json +1 -1
  11. package/assets/i18n-ecl/ga.json +1 -1
  12. package/assets/i18n-ecl/hr.json +1 -1
  13. package/assets/i18n-ecl/hu.json +1 -1
  14. package/assets/i18n-ecl/it.json +1 -1
  15. package/assets/i18n-ecl/lt.json +1 -1
  16. package/assets/i18n-ecl/lv.json +1 -1
  17. package/assets/i18n-ecl/mt.json +1 -1
  18. package/assets/i18n-ecl/nl.json +1 -1
  19. package/assets/i18n-ecl/pl.json +1 -1
  20. package/assets/i18n-ecl/pt.json +1 -1
  21. package/assets/i18n-ecl/ro.json +1 -1
  22. package/assets/i18n-ecl/sk.json +1 -1
  23. package/assets/i18n-ecl/sl.json +1 -1
  24. package/assets/i18n-ecl/sv.json +1 -1
  25. package/docs/classes/{EclMessageCloseEvent.html → EclNotificationCloseEvent.html} +3 -3
  26. package/docs/components/EclAccordionComponent.html +2 -2
  27. package/docs/components/EclAccordionItemComponent.html +2 -2
  28. package/docs/components/EclAppComponent.html +2 -2
  29. package/docs/components/EclBannerComponent.html +2 -2
  30. package/docs/components/EclBlockquoteComponent.html +2 -2
  31. package/docs/components/EclBreadcrumbComponent.html +2 -2
  32. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  33. package/docs/components/EclButtonComponent.html +2 -2
  34. package/docs/components/EclCardBodyComponent.html +2 -2
  35. package/docs/components/EclCardComponent.html +2 -2
  36. package/docs/components/EclCarouselComponent.html +71 -26
  37. package/docs/components/EclCarouselItemComponent.html +2 -2
  38. package/docs/components/EclCategoryFilterComponent.html +2 -2
  39. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  40. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  41. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  42. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  43. package/docs/components/EclContentBlockComponent.html +2 -2
  44. package/docs/components/EclContentItemComponent.html +2 -2
  45. package/docs/components/EclDateBlockComponent.html +2 -2
  46. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  47. package/docs/components/EclExpandableComponent.html +2 -2
  48. package/docs/components/EclFactFiguresComponent.html +2 -2
  49. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  50. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  51. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  52. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  53. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  54. package/docs/components/EclFeaturedComponent.html +7 -7
  55. package/docs/components/EclFeaturedItemComponent.html +3 -3
  56. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  57. package/docs/components/{EclListIllustrationImageComponent.html → EclFeaturedItemFooterComponent.html} +21 -193
  58. package/docs/components/EclFileComponent.html +80 -274
  59. package/docs/components/EclFileItemComponent.html +10 -253
  60. package/docs/components/EclFileItemsComponent.html +4 -4
  61. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  62. package/docs/components/EclFormGroupComponent.html +2 -2
  63. package/docs/components/EclFormLabelComponent.html +2 -2
  64. package/docs/components/EclGalleryComponent.html +2 -2
  65. package/docs/components/EclGalleryFooterComponent.html +2 -2
  66. package/docs/components/EclGalleryItemComponent.html +2 -2
  67. package/docs/components/EclIconComponent.html +98 -34
  68. package/docs/components/EclInpageNavigationComponent.html +2 -2
  69. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  70. package/docs/components/EclListIllustrationComponent.html +4 -4
  71. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  72. package/docs/components/{EclSpinnerComponent.html → EclLoadingIndicatorComponent.html} +13 -13
  73. package/docs/components/EclMediaContainerComponent.html +11 -161
  74. package/docs/components/EclMenuComponent.html +2 -2
  75. package/docs/components/EclMenuItemComponent.html +2 -2
  76. package/docs/components/EclMenuMegaComponent.html +2 -2
  77. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  78. package/docs/components/EclModalBodyComponent.html +2 -2
  79. package/docs/components/EclModalComponent.html +2 -2
  80. package/docs/components/EclModalFooterComponent.html +2 -2
  81. package/docs/components/EclModalHeaderComponent.html +123 -3
  82. package/docs/components/EclMultiselectComponent.html +2 -2
  83. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  84. package/docs/components/EclMultiselectInputComponent.html +2 -2
  85. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  86. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  87. package/docs/components/EclNavigationListComponent.html +2 -2
  88. package/docs/components/EclNavigationListImageComponent.html +2 -2
  89. package/docs/components/EclNavigationListItemComponent.html +2 -2
  90. package/docs/components/EclNewsTickerComponent.html +6 -8
  91. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  92. package/docs/components/{EclMessageComponent.html → EclNotificationComponent.html} +103 -48
  93. package/docs/components/EclPageHeaderComponent.html +2 -2
  94. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
  95. package/docs/components/EclPaginationComponent.html +2 -2
  96. package/docs/components/EclPaginationItemComponent.html +2 -2
  97. package/docs/components/EclPopoverComponent.html +265 -77
  98. package/docs/components/EclRadioHelpComponent.html +2 -2
  99. package/docs/components/EclRadioLabelComponent.html +2 -2
  100. package/docs/components/EclRangeValueComponent.html +2 -2
  101. package/docs/components/EclRatingFieldComponent.html +2 -2
  102. package/docs/components/EclSearchFormComponent.html +2 -2
  103. package/docs/components/EclSelectContainerComponent.html +2 -2
  104. package/docs/components/EclSiteFooterComponent.html +2 -2
  105. package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
  106. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  107. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  108. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  109. package/docs/components/EclSiteHeaderComponent.html +2 -2
  110. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  111. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  112. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  113. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  114. package/docs/components/EclSiteHeaderMessageComponent.html +2 -2
  115. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  116. package/docs/components/EclSocialMediaFollowComponent.html +3 -3
  117. package/docs/components/EclSocialMediaFollowItemComponent.html +28 -4
  118. package/docs/components/EclSocialMediaShareComponent.html +2 -2
  119. package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
  120. package/docs/components/EclStickyContainerComponent.html +77 -4
  121. package/docs/components/EclTabComponent.html +2 -2
  122. package/docs/components/EclTabLabelComponent.html +2 -2
  123. package/docs/components/EclTabMoreComponent.html +2 -2
  124. package/docs/components/EclTableSortButtonComponent.html +72 -27
  125. package/docs/components/EclTabsComponent.html +2 -2
  126. package/docs/components/EclTagComponent.html +54 -7
  127. package/docs/components/EclTimelineComponent.html +2 -2
  128. package/docs/components/EclTimelineItemComponent.html +2 -2
  129. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  130. package/docs/dependencies.html +32 -50
  131. package/docs/directives/EclFeaturedItemFooterLinkDirective.html +492 -0
  132. package/docs/directives/{EclMessageTitleDirective.html → EclFeaturedItemFooterPictureDirective.html} +4 -4
  133. package/docs/directives/EclFileTitleDirective.html +511 -0
  134. package/docs/directives/EclFileTranslationDownloadDirective.html +492 -0
  135. package/docs/directives/EclLinkDirective.html +46 -61
  136. package/docs/directives/EclListIllustrationImageDirective.html +1 -1
  137. package/docs/directives/{EclSpinnerLabelDirective.html → EclLoadingIndicatorLabelDirective.html} +4 -4
  138. package/docs/directives/{EclPopoverItemDirective.html → EclLoadingIndicatorOverlayDirective.html} +4 -4
  139. package/docs/directives/EclMediaContainerItemDirective.html +0 -76
  140. package/docs/directives/{EclPopoverLinkDirective.html → EclNotificationTitleDirective.html} +4 -4
  141. package/docs/directives/EclTableDirective.html +1 -1
  142. package/docs/directives/EclTableHeaderDirective.html +32 -1
  143. package/docs/directives/{EclPopoverListDirective.html → EclTagSetDirective.html} +4 -4
  144. package/docs/index.html +2 -2
  145. package/docs/js/menu-wc.js +177 -136
  146. package/docs/js/menu-wc_es5.js +1 -1
  147. package/docs/js/search/search_index.js +2 -2
  148. package/docs/miscellaneous/variables.html +40 -56
  149. package/docs/modules/EclAllModule.html +12 -12
  150. package/docs/modules/EclFeaturedModule.html +32 -8
  151. package/docs/modules/{EclMessageComponentModule.html → EclLoadingIndicatorComponentModule.html} +13 -7
  152. package/docs/modules/{EclSpinnerComponentModule.html → EclNotificationComponentModule.html} +7 -7
  153. package/docs/modules/EclTagComponentModule.html +6 -0
  154. package/docs/modules.html +18 -18
  155. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -4
  156. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
  157. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +4 -4
  158. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
  159. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +4 -4
  160. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +3 -3
  161. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +6 -6
  162. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +6 -6
  163. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +6 -6
  164. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +4 -4
  165. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +4 -4
  166. package/esm2022/lib/components/ecl-base.directive.mjs +3 -3
  167. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +6 -6
  168. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +3 -3
  169. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +4 -4
  170. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +5 -5
  171. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +4 -4
  172. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -4
  173. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +3 -3
  174. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +4 -4
  175. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +4 -4
  176. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +3 -3
  177. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +6 -6
  178. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
  179. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +4 -4
  180. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +3 -3
  181. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +4 -6
  182. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +4 -4
  183. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
  184. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
  185. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
  186. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +4 -4
  187. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +3 -3
  188. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
  189. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +3 -3
  190. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +4 -4
  191. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +4 -4
  192. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +51 -51
  193. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +3 -3
  194. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +4 -4
  195. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +6 -6
  196. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
  197. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +4 -4
  198. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
  199. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +4 -4
  200. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +4 -4
  201. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +4 -4
  202. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
  203. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +4 -4
  204. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
  205. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +9 -9
  206. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
  207. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
  208. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +8 -8
  209. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +7 -7
  210. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
  211. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +3 -3
  212. package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +19 -0
  213. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +37 -4
  214. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +5 -6
  215. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +11 -16
  216. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +18 -8
  217. package/esm2022/lib/components/ecl-featured/index.mjs +2 -1
  218. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
  219. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +4 -4
  220. package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +21 -4
  221. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +7 -44
  222. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +12 -20
  223. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +27 -8
  224. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +3 -3
  225. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +22 -60
  226. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +13 -7
  227. package/esm2022/lib/components/ecl-file/index.mjs +1 -2
  228. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +4 -4
  229. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +4 -4
  230. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +3 -3
  231. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +4 -4
  232. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +3 -3
  233. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +4 -4
  234. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +3 -3
  235. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +3 -3
  236. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
  237. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +4 -4
  238. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +4 -4
  239. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +3 -3
  240. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +4 -4
  241. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +25 -42
  242. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +4 -4
  243. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
  244. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +4 -4
  245. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +4 -4
  246. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +3 -3
  247. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +4 -4
  248. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
  249. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +33 -67
  250. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +4 -4
  251. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
  252. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +6 -6
  253. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
  254. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +4 -4
  255. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
  256. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +3 -3
  257. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +10 -15
  258. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +9 -17
  259. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -9
  260. package/esm2022/lib/components/ecl-list-illustration/index.mjs +1 -2
  261. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +19 -0
  262. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +20 -0
  263. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +43 -0
  264. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +21 -0
  265. package/esm2022/lib/components/ecl-loading-indicator/index.mjs +5 -0
  266. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
  267. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -16
  268. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +3 -3
  269. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +9 -32
  270. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +4 -4
  271. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
  272. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +4 -4
  273. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
  274. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -4
  275. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +4 -4
  276. package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +3 -3
  277. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +3 -3
  278. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +3 -3
  279. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
  280. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +21 -11
  281. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +3 -3
  282. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
  283. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +4 -4
  284. package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
  285. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +4 -4
  286. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +4 -4
  287. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +3 -3
  288. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +3 -3
  289. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +3 -3
  290. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +4 -4
  291. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +4 -4
  292. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +3 -3
  293. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
  294. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +6 -6
  295. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +3 -3
  296. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +4 -4
  297. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
  298. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +14 -21
  299. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +4 -4
  300. package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +20 -0
  301. package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +82 -0
  302. package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +23 -0
  303. package/esm2022/lib/components/ecl-notification/index.mjs +4 -0
  304. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +6 -6
  305. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +4 -4
  306. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +9 -9
  307. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +6 -6
  308. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +3 -3
  309. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +4 -4
  310. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +4 -4
  311. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +4 -4
  312. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -4
  313. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +4 -4
  314. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +3 -3
  315. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
  316. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +178 -37
  317. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +11 -20
  318. package/esm2022/lib/components/ecl-popover/index.mjs +1 -2
  319. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +3 -3
  320. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
  321. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +3 -3
  322. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
  323. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +4 -4
  324. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +3 -3
  325. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +4 -4
  326. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +4 -4
  327. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +3 -3
  328. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +4 -4
  329. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +3 -3
  330. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +4 -4
  331. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +3 -3
  332. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +4 -4
  333. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +4 -4
  334. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +3 -3
  335. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +9 -9
  336. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +3 -3
  337. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
  338. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +15 -15
  339. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +3 -3
  340. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +6 -6
  341. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +4 -4
  342. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +3 -3
  343. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +4 -4
  344. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +3 -3
  345. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +3 -3
  346. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
  347. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +4 -4
  348. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +4 -4
  349. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +4 -4
  350. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +3 -3
  351. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +4 -4
  352. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +6 -6
  353. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +4 -4
  354. package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +3 -3
  355. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +3 -3
  356. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +14 -10
  357. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
  358. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +7 -12
  359. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -6
  360. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +4 -4
  361. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
  362. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +3 -3
  363. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +4 -4
  364. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +43 -20
  365. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +4 -4
  366. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +10 -9
  367. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +37 -36
  368. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +4 -4
  369. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +3 -3
  370. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +3 -3
  371. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +4 -4
  372. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +4 -4
  373. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +4 -4
  374. package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +20 -0
  375. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +18 -10
  376. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +9 -8
  377. package/esm2022/lib/components/ecl-tag/index.mjs +2 -1
  378. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +4 -4
  379. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +4 -4
  380. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +4 -4
  381. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +4 -4
  382. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +3 -3
  383. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +3 -3
  384. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +3 -3
  385. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
  386. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
  387. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +4 -4
  388. package/esm2022/lib/components/index.mjs +3 -3
  389. package/esm2022/lib/model/ecl-dom.event.mjs +1 -1
  390. package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
  391. package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
  392. package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
  393. package/esm2022/lib/shared/ecl-all.module.mjs +15 -15
  394. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
  395. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +3 -3
  396. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +4 -4
  397. package/esm2022/lib/utils/dom/dom-helpers.mjs +1 -1
  398. package/fesm2022/eui-ecl.mjs +5342 -5372
  399. package/fesm2022/eui-ecl.mjs.map +4 -4
  400. package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  401. package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  402. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  403. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  404. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  405. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  406. package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  407. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +2 -2
  408. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  409. package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  410. package/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
  411. package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts +2 -2
  412. package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
  413. package/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
  414. package/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
  415. package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts +1 -1
  416. package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
  417. package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts +1 -1
  418. package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
  419. package/lib/components/ecl-fact-figures/ecl-fact-figures.module.d.ts.map +1 -1
  420. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts +8 -0
  421. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -0
  422. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts +10 -0
  423. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
  424. package/lib/components/ecl-featured/ecl-featured.component.d.ts +3 -2
  425. package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  426. package/lib/components/ecl-featured/ecl-featured.module.d.ts +5 -4
  427. package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
  428. package/lib/components/ecl-featured/index.d.ts +1 -0
  429. package/lib/components/ecl-featured/index.d.ts.map +1 -1
  430. package/lib/components/ecl-file/ecl-file-download.directive.d.ts +5 -0
  431. package/lib/components/ecl-file/ecl-file-download.directive.d.ts.map +1 -1
  432. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +4 -15
  433. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  434. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts +3 -2
  435. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  436. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts +6 -0
  437. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
  438. package/lib/components/ecl-file/ecl-file.component.d.ts +9 -22
  439. package/lib/components/ecl-file/ecl-file.component.d.ts.map +1 -1
  440. package/lib/components/ecl-file/ecl-file.module.d.ts +1 -1
  441. package/lib/components/ecl-file/ecl-file.module.d.ts.map +1 -1
  442. package/lib/components/ecl-file/index.d.ts +0 -1
  443. package/lib/components/ecl-file/index.d.ts.map +1 -1
  444. package/lib/components/ecl-icon/ecl-icon.component.d.ts +11 -10
  445. package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  446. package/lib/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
  447. package/lib/components/ecl-link/ecl-link.directive.d.ts +11 -10
  448. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  449. package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  450. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +2 -1
  451. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  452. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts +4 -2
  453. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  454. package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts +6 -7
  455. package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts.map +1 -1
  456. package/lib/components/ecl-list-illustration/index.d.ts +0 -1
  457. package/lib/components/ecl-list-illustration/index.d.ts.map +1 -1
  458. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts +7 -0
  459. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts.map +1 -0
  460. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts +8 -0
  461. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts.map +1 -0
  462. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts +14 -0
  463. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -0
  464. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts +12 -0
  465. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts.map +1 -0
  466. package/lib/components/ecl-loading-indicator/index.d.ts +5 -0
  467. package/lib/components/ecl-loading-indicator/index.d.ts.map +1 -0
  468. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts +1 -8
  469. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
  470. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +2 -23
  471. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  472. package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  473. package/lib/components/ecl-modal/ecl-modal-header.component.d.ts +4 -0
  474. package/lib/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
  475. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +4 -4
  476. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  477. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +4 -3
  478. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  479. package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts +8 -0
  480. package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts.map +1 -0
  481. package/lib/components/ecl-notification/ecl-notification.component.d.ts +26 -0
  482. package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -0
  483. package/lib/components/ecl-notification/ecl-notification.module.d.ts +14 -0
  484. package/lib/components/ecl-notification/ecl-notification.module.d.ts.map +1 -0
  485. package/lib/components/ecl-notification/index.d.ts +4 -0
  486. package/lib/components/ecl-notification/index.d.ts.map +1 -0
  487. package/lib/components/ecl-popover/ecl-popover.component.d.ts +29 -6
  488. package/lib/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
  489. package/lib/components/ecl-popover/ecl-popover.module.d.ts +5 -5
  490. package/lib/components/ecl-popover/ecl-popover.module.d.ts.map +1 -1
  491. package/lib/components/ecl-popover/index.d.ts +0 -1
  492. package/lib/components/ecl-popover/index.d.ts.map +1 -1
  493. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts +2 -1
  494. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
  495. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts +2 -1
  496. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  497. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts +4 -3
  498. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
  499. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts +14 -2
  500. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  501. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts +2 -2
  502. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
  503. package/lib/components/ecl-table/ecl-table.directive.d.ts +7 -4
  504. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  505. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts +8 -0
  506. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -0
  507. package/lib/components/ecl-tag/ecl-tag.component.d.ts +6 -7
  508. package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  509. package/lib/components/ecl-tag/ecl-tag.module.d.ts +4 -3
  510. package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
  511. package/lib/components/ecl-tag/index.d.ts +1 -0
  512. package/lib/components/ecl-tag/index.d.ts.map +1 -1
  513. package/lib/components/index.d.ts +2 -2
  514. package/lib/components/index.d.ts.map +1 -1
  515. package/lib/services/ecl-default-language.service.d.ts +2 -1
  516. package/lib/services/ecl-default-language.service.d.ts.map +1 -1
  517. package/lib/services/ecl-theme.service.d.ts +1 -1
  518. package/lib/services/ecl-theme.service.d.ts.map +1 -1
  519. package/lib/shared/ecl-all.module.d.ts +20 -20
  520. package/package.json +1 -1
  521. package/docs/classes/EclFileDownloadEvent.html +0 -367
  522. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.mjs +0 -8
  523. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +0 -53
  524. package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +0 -20
  525. package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +0 -88
  526. package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +0 -22
  527. package/esm2022/lib/components/ecl-message/index.mjs +0 -4
  528. package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +0 -52
  529. package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +0 -19
  530. package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +0 -51
  531. package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +0 -20
  532. package/esm2022/lib/components/ecl-spinner/index.mjs +0 -4
  533. package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts +0 -6
  534. package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts.map +0 -1
  535. package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts +0 -17
  536. package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts.map +0 -1
  537. package/lib/components/ecl-message/ecl-message-title.directive.d.ts +0 -8
  538. package/lib/components/ecl-message/ecl-message-title.directive.d.ts.map +0 -1
  539. package/lib/components/ecl-message/ecl-message.component.d.ts +0 -21
  540. package/lib/components/ecl-message/ecl-message.component.d.ts.map +0 -1
  541. package/lib/components/ecl-message/ecl-message.module.d.ts +0 -13
  542. package/lib/components/ecl-message/ecl-message.module.d.ts.map +0 -1
  543. package/lib/components/ecl-message/index.d.ts +0 -4
  544. package/lib/components/ecl-message/index.d.ts.map +0 -1
  545. package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts +0 -18
  546. package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts.map +0 -1
  547. package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts +0 -7
  548. package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts.map +0 -1
  549. package/lib/components/ecl-spinner/ecl-spinner.component.d.ts +0 -12
  550. package/lib/components/ecl-spinner/ecl-spinner.component.d.ts.map +0 -1
  551. package/lib/components/ecl-spinner/ecl-spinner.module.d.ts +0 -11
  552. package/lib/components/ecl-spinner/ecl-spinner.module.d.ts.map +0 -1
  553. package/lib/components/ecl-spinner/index.d.ts +0 -4
  554. package/lib/components/ecl-spinner/index.d.ts.map +0 -1
@@ -8,31 +8,20 @@ export class EclMediaContainerItemDirective extends ECLBaseDirective {
8
8
  .join(' ')
9
9
  .trim();
10
10
  }
11
- constructor(el) {
12
- super();
13
- this.el = el;
14
- }
15
11
  ngAfterContentInit() {
16
12
  if (this.contentIframe) {
17
13
  this.contentIframe.hasCustomRatio = this.ratio ? false : true;
18
14
  }
19
15
  }
20
- /**
21
- * @deprecated
22
- * This method is deprecated and will be removed in 18 version
23
- */
24
- get isImage() {
25
- return this.el.nativeElement.tagName === 'IMG';
26
- }
27
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
28
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.1", type: EclMediaContainerItemDirective, selector: "[eclMediaContainerItem], img[eclMediaContainerImage]", inputs: { ratio: "ratio" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "contentIframe", first: true, predicate: EclMediaContainerIframeDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
17
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclMediaContainerItemDirective, selector: "[eclMediaContainerItem], img[eclMediaContainerImage]", inputs: { ratio: "ratio" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "contentIframe", first: true, predicate: EclMediaContainerIframeDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); }
29
18
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerItemDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerItemDirective, decorators: [{
31
20
  type: Directive,
32
21
  args: [{
33
22
  selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',
34
23
  }]
35
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { ratio: [{
24
+ }], propDecorators: { ratio: [{
36
25
  type: Input
37
26
  }], contentIframe: [{
38
27
  type: ContentChild,
@@ -41,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
41
30
  type: HostBinding,
42
31
  args: ['class']
43
32
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lZGlhLWNvbnRhaW5lci1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbWVkaWEtY29udGFpbmVyL2VjbC1tZWRpYS1jb250YWluZXItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBSzFGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUFJaEUsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDMUgsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFvQixFQUFjO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFEsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUVsQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2pFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztJQUNuRCxDQUFDO3dJQTNCUSw4QkFBOEI7NEhBQTlCLDhCQUE4Qix5TkFFekIsZ0NBQWdDOztrR0FGckMsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzREFBc0Q7aUJBQ25FOytFQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFDNkQsYUFBYTtzQkFBL0UsWUFBWTt1QkFBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRzdELFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xNZWRpYUNvbnRhaW5lcklmcmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLW1lZGlhLWNvbnRhaW5lci1pZnJhbWUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsTWVkaWFDb250YWluZXJJdGVtXSwgaW1nW2VjbE1lZGlhQ29udGFpbmVySW1hZ2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVkaWFDb250YWluZXJJdGVtRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIHJhdGlvOiBzdHJpbmc7XG4gICAgQENvbnRlbnRDaGlsZChFY2xNZWRpYUNvbnRhaW5lcklmcmFtZURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnRJZnJhbWU6IEVjbE1lZGlhQ29udGFpbmVySWZyYW1lRGlyZWN0aXZlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVkaWEtY29udGFpbmVyX19tZWRpYScpLCB0aGlzLnJhdGlvID8gYGVjbC1tZWRpYS1jb250YWluZXJfX21lZGlhLS1yYXRpby0ke3RoaXMucmF0aW99YCA6ICcnXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJZnJhbWUuaGFzQ3VzdG9tUmF0aW8gPSB0aGlzLnJhdGlvID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMTggdmVyc2lvblxuICAgICAqL1xuICAgIGdldCBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdJTUcnO1xuICAgIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lZGlhLWNvbnRhaW5lci1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbWVkaWEtY29udGFpbmVyL2VjbC1tZWRpYS1jb250YWluZXItaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBSzFGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUFJaEUsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsNEJBQTRCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDMUgsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRSxDQUFDO0lBQ0wsQ0FBQzt3SUFmUSw4QkFBOEI7NEhBQTlCLDhCQUE4Qix5TkFFekIsZ0NBQWdDOztrR0FGckMsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzREFBc0Q7aUJBQ25FOzhCQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFDNkQsYUFBYTtzQkFBL0UsWUFBWTt1QkFBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRzdELFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xNZWRpYUNvbnRhaW5lcklmcmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLW1lZGlhLWNvbnRhaW5lci1pZnJhbWUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsTWVkaWFDb250YWluZXJJdGVtXSwgaW1nW2VjbE1lZGlhQ29udGFpbmVySW1hZ2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVkaWFDb250YWluZXJJdGVtRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCgpIHJhdGlvOiBzdHJpbmc7XG4gICAgQENvbnRlbnRDaGlsZChFY2xNZWRpYUNvbnRhaW5lcklmcmFtZURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnRJZnJhbWU6IEVjbE1lZGlhQ29udGFpbmVySWZyYW1lRGlyZWN0aXZlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVkaWEtY29udGFpbmVyX19tZWRpYScpLCB0aGlzLnJhdGlvID8gYGVjbC1tZWRpYS1jb250YWluZXJfX21lZGlhLS1yYXRpby0ke3RoaXMucmF0aW99YCA6ICcnXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJZnJhbWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudElmcmFtZS5oYXNDdXN0b21SYXRpbyA9IHRoaXMucmF0aW8gPyBmYWxzZSA6IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -5,10 +5,10 @@ export class EclMediaContainerPictureDirective extends ECLBaseDirective {
5
5
  get cssClasses() {
6
6
  return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.1", type: EclMediaContainerPictureDirective, selector: "picture[eclMediaContainerPicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclMediaContainerPictureDirective, selector: "picture[eclMediaContainerPicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerPictureDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerPictureDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'picture[eclMediaContainerPicture]',
@@ -1,52 +1,29 @@
1
- import { Component, ContentChild, HostBinding, Input } from '@angular/core';
1
+ import { Component, ContentChild, HostBinding, Input, booleanAttribute } from '@angular/core';
2
2
  import { ECLBaseDirective } from '../ecl-base.directive';
3
3
  import { EclExpandableComponent } from '../ecl-expandable';
4
- import { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';
5
- import { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';
6
4
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "./ecl-media-container-picture.directive";
9
5
  export class EclMediaContainerComponent extends ECLBaseDirective {
10
6
  constructor() {
11
7
  super(...arguments);
12
8
  this.isFullWidth = false;
13
9
  }
14
10
  get cssClasses() {
15
- return [super.getCssClasses('ecl-media-container'), this.isFullWidth ? 'ecl-media-container--full-width' : ''].join(' ').trim();
16
- }
17
- /**
18
- * @deprecated
19
- * This method is deprecated and will be removed in 18 version
20
- */
21
- get hasPictureContent() {
22
- return !!this.pictureContent;
23
- }
24
- /**
25
- * @deprecated
26
- * This method is deprecated and will be removed in 18 version
27
- */
28
- get hasImgContent() {
29
- return this.mediaContent.isImage;
11
+ return [super.getCssClasses('ecl-media-container')].join(' ').trim();
30
12
  }
31
13
  ngAfterContentInit() {
32
14
  if (this.expandable) {
33
15
  this.expandable.class = [this.expandable.class, 'ecl-media-container__expandable'].join(' ');
34
16
  }
35
17
  }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
37
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.1", type: EclMediaContainerComponent, selector: "ecl-media-container", inputs: { isFullWidth: "isFullWidth" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "pictureContent", first: true, predicate: EclMediaContainerPictureDirective, descendants: true }, { propertyName: "mediaContent", first: true, predicate: EclMediaContainerItemDirective, descendants: true }, { propertyName: "expandable", first: true, predicate: EclExpandableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n<!-- TODO: Remove this code in 17 version -->\n<picture *ngIf=\"!hasPictureContent && hasImgContent\" eclMediaContainerPicture>\n <ng-content select=\"img[eclMediaContainerItem]\"></ng-content>\n</picture>\n\n<figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n</figcaption>\n<ng-content select=\"ecl-expandable\"></ng-content>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EclMediaContainerPictureDirective, selector: "picture[eclMediaContainerPicture]" }] }); }
18
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.3", type: EclMediaContainerComponent, selector: "ecl-media-container", inputs: { isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "expandable", first: true, predicate: EclExpandableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n", styles: [":host{display:block}\n"] }); }
38
20
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponent, decorators: [{
40
22
  type: Component,
41
- args: [{ selector: 'ecl-media-container', template: "<ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n<!-- TODO: Remove this code in 17 version -->\n<picture *ngIf=\"!hasPictureContent && hasImgContent\" eclMediaContainerPicture>\n <ng-content select=\"img[eclMediaContainerItem]\"></ng-content>\n</picture>\n\n<figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n</figcaption>\n<ng-content select=\"ecl-expandable\"></ng-content>\n" }]
23
+ args: [{ selector: 'ecl-media-container', template: "<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n", styles: [":host{display:block}\n"] }]
42
24
  }], propDecorators: { isFullWidth: [{
43
- type: Input
44
- }], pictureContent: [{
45
- type: ContentChild,
46
- args: [EclMediaContainerPictureDirective]
47
- }], mediaContent: [{
48
- type: ContentChild,
49
- args: [EclMediaContainerItemDirective]
25
+ type: Input,
26
+ args: [{ transform: booleanAttribute }]
50
27
  }], expandable: [{
51
28
  type: ContentChild,
52
29
  args: [EclExpandableComponent]
@@ -54,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
54
31
  type: HostBinding,
55
32
  args: ['class']
56
33
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lZGlhLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lZGlhLWNvbnRhaW5lci9lY2wtbWVkaWEtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbWVkaWEtY29udGFpbmVyL2VjbC1tZWRpYS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFNNUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQUpoRTs7UUFLYSxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQXdDaEM7SUExQkcsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoRztJQUNMLENBQUM7d0lBeENRLDBCQUEwQjs0SEFBMUIsMEJBQTBCLHFNQU1yQixpQ0FBaUMsK0VBS2pDLDhCQUE4Qiw2RUFFOUIsc0JBQXNCLHVFQ3ZCeEMsMGpCQVlBOztrR0RGYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0kscUJBQXFCOzhCQUl0QixXQUFXO3NCQUFuQixLQUFLO2dCQUsyQyxjQUFjO3NCQUE5RCxZQUFZO3VCQUFDLGlDQUFpQztnQkFLRCxZQUFZO3NCQUF6RCxZQUFZO3VCQUFDLDhCQUE4QjtnQkFFTixVQUFVO3NCQUEvQyxZQUFZO3VCQUFDLHNCQUFzQjtnQkFHaEMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xFeHBhbmRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWV4cGFuZGFibGUnO1xuaW1wb3J0IHsgRWNsTWVkaWFDb250YWluZXJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9lY2wtbWVkaWEtY29udGFpbmVyLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbE1lZGlhQ29udGFpbmVyUGljdHVyZURpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLW1lZGlhLWNvbnRhaW5lci1waWN0dXJlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLW1lZGlhLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1tZWRpYS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNZWRpYUNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKSBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMTggdmVyc2lvblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRWNsTWVkaWFDb250YWluZXJQaWN0dXJlRGlyZWN0aXZlKSBwaWN0dXJlQ29udGVudDogRWNsTWVkaWFDb250YWluZXJQaWN0dXJlRGlyZWN0aXZlO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMTggdmVyc2lvblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRWNsTWVkaWFDb250YWluZXJJdGVtRGlyZWN0aXZlKSBtZWRpYUNvbnRlbnQ6IEVjbE1lZGlhQ29udGFpbmVySXRlbURpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoRWNsRXhwYW5kYWJsZUNvbXBvbmVudCkgZXhwYW5kYWJsZTogRWNsRXhwYW5kYWJsZUNvbXBvbmVudDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW1lZGlhLWNvbnRhaW5lcicpLCB0aGlzLmlzRnVsbFdpZHRoID8gJ2VjbC1tZWRpYS1jb250YWluZXItLWZ1bGwtd2lkdGgnIDogJyddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMTggdmVyc2lvblxuICAgICAqL1xuICAgIGdldCBoYXNQaWN0dXJlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5waWN0dXJlQ29udGVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiAxOCB2ZXJzaW9uXG4gICAgICovXG4gICAgZ2V0IGhhc0ltZ0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhQ29udGVudC5pc0ltYWdlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRhYmxlLmNsYXNzID0gW3RoaXMuZXhwYW5kYWJsZS5jbGFzcywgJ2VjbC1tZWRpYS1jb250YWluZXJfX2V4cGFuZGFibGUnXS5qb2luKCcgJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJ2aWRlb1tlY2xNZWRpYUNvbnRhaW5lckl0ZW1dXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGl2W2VjbE1lZGlhQ29udGFpbmVySXRlbV1cIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJwaWN0dXJlW2VjbE1lZGlhQ29udGFpbmVyUGljdHVyZV1cIj48L25nLWNvbnRlbnQ+XG48IS0tIFRPRE86IFJlbW92ZSB0aGlzIGNvZGUgaW4gMTcgdmVyc2lvbiAtLT5cbjxwaWN0dXJlICpuZ0lmPVwiIWhhc1BpY3R1cmVDb250ZW50ICYmIGhhc0ltZ0NvbnRlbnRcIiBlY2xNZWRpYUNvbnRhaW5lclBpY3R1cmU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW1nW2VjbE1lZGlhQ29udGFpbmVySXRlbV1cIj48L25nLWNvbnRlbnQ+XG48L3BpY3R1cmU+XG5cbjxmaWdjYXB0aW9uIGNsYXNzPVwiZWNsLW1lZGlhLWNvbnRhaW5lcl9fY2FwdGlvblwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZmlnY2FwdGlvbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImVjbC1leHBhbmRhYmxlXCI+PC9uZy1jb250ZW50PlxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lZGlhLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lZGlhLWNvbnRhaW5lci9lY2wtbWVkaWEtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbWVkaWEtY29udGFpbmVyL2VjbC1tZWRpYS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBYTNELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxnQkFBZ0I7SUFYaEU7O1FBWTRDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBYS9EO0lBVEcsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRyxDQUFDO0lBQ0wsQ0FBQzt3SUFiUSwwQkFBMEI7NEhBQTFCLDBCQUEwQix5RkFDZixnQkFBZ0IsMkhBRXRCLHNCQUFzQix1RUNsQnhDLHVmQVVBOztrR0RLYSwwQkFBMEI7a0JBWHRDLFNBQVM7K0JBQ0kscUJBQXFCOzhCQVdTLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRUEsVUFBVTtzQkFBL0MsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBR2hDLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xFeHBhbmRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWV4cGFuZGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1tZWRpYS1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbWVkaWEtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbE1lZGlhQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZChFY2xFeHBhbmRhYmxlQ29tcG9uZW50KSBleHBhbmRhYmxlOiBFY2xFeHBhbmRhYmxlQ29tcG9uZW50O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVkaWEtY29udGFpbmVyJyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRhYmxlLmNsYXNzID0gW3RoaXMuZXhwYW5kYWJsZS5jbGFzcywgJ2VjbC1tZWRpYS1jb250YWluZXJfX2V4cGFuZGFibGUnXS5qb2luKCcgJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZmlndXJlIGNsYXNzPVwiZWNsLW1lZGlhLWNvbnRhaW5lcl9fZmlndXJlXCIgW2NsYXNzLmVjbC1tZWRpYS1jb250YWluZXItLWZ1bGwtd2lkdGhdPVwiaXNGdWxsV2lkdGhcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ2aWRlb1tlY2xNZWRpYUNvbnRhaW5lckl0ZW1dXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRpdltlY2xNZWRpYUNvbnRhaW5lckl0ZW1dXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBpY3R1cmVbZWNsTWVkaWFDb250YWluZXJQaWN0dXJlXVwiPjwvbmctY29udGVudD5cblxuICAgIDxmaWdjYXB0aW9uIGNsYXNzPVwiZWNsLW1lZGlhLWNvbnRhaW5lcl9fY2FwdGlvblwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9maWdjYXB0aW9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVjbC1leHBhbmRhYmxlXCI+PC9uZy1jb250ZW50PlxuPC9maWd1cmU+XG4iXX0=
@@ -13,17 +13,17 @@ const COMPONENTS = [
13
13
  EclMediaContainerPictureDirective,
14
14
  ];
15
15
  export class EclMediaContainerComponentModule {
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponentModule, declarations: [EclMediaContainerComponent,
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponentModule, declarations: [EclMediaContainerComponent,
18
18
  EclMediaContainerItemDirective,
19
19
  EclMediaContainerIframeDirective,
20
20
  EclMediaContainerPictureDirective], imports: [CommonModule, TranslateModule], exports: [EclMediaContainerComponent,
21
21
  EclMediaContainerItemDirective,
22
22
  EclMediaContainerIframeDirective,
23
23
  EclMediaContainerPictureDirective] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponentModule, imports: [CommonModule, TranslateModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponentModule, imports: [CommonModule, TranslateModule] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMediaContainerComponentModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMediaContainerComponentModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  imports: [CommonModule, TranslateModule],
@@ -295,10 +295,10 @@ export class EclMenuItemComponent extends ECLBaseDirective {
295
295
  this.isMobileBreakpoint = result.matches;
296
296
  });
297
297
  }
298
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ApplicationRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
299
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.1", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus", menuItemKeydown: "menuItemKeydown" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "attr.role": "this.role", "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMenuMegaComponent), descendants: true }], viewQueries: [{ propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }, { propertyName: "menuButton", first: true, predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
298
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ApplicationRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
299
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus", menuItemKeydown: "menuItemKeydown" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "attr.role": "this.role", "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMenuMegaComponent), descendants: true }], viewQueries: [{ propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }, { propertyName: "menuButton", first: true, predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
300
300
  }
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1", ngImport: i0, type: EclMenuItemComponent, decorators: [{
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMenuItemComponent, decorators: [{
302
302
  type: Component,
303
303
  args: [{ selector: 'ecl-menu-item', encapsulation: ViewEncapsulation.None, template: "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
304
304
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ApplicationRef }, { type: i1.BreakpointObserver }], propDecorators: { id: [{
@@ -362,4 +362,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
362
362
  type: HostListener,
363
363
  args: ['mouseleave', ['$event']]
364
364
  }] } });
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBRXZCLHNCQUFzQixHQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBYXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFrQnRELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENB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SztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUW9CLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFFcEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBWWtDLE9BQU87c0JBQTVELFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUM3QixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1UsVUFBVTtzQkFBeEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRW5CLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUlILDJCQUEyQjtzQkFGOUIsV0FBVzt1QkFBQyxvQ0FBb0M7O3NCQUNoRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBeUNqQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTXRDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFY2xNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2VjbC1tZW51LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIEVjbE1lbnVJdGVtQ2FyZXRFdmVudCxcbiAgICBFY2xNZW51SXRlbUZvY3VzRXZlbnQsXG4gICAgRWNsTWVudUl0ZW1Ib3ZlckV2ZW50LFxuICAgIEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudCxcbiAgICBFY2xNZW51SXRlbUtleWRvd25FdmVudCxcbiAgICBFY2xNZW51SXRlbVBhcmVudEZvY3VzRXZlbnQsXG4gICAgRWNsTWVudUl0ZW1TZWxlY3RFdmVudCxcbn0gZnJvbSAnLi4vY29tbW9uL2VjbC1tZW51LWl0ZW0uZXZlbnQnO1xuaW1wb3J0IHsgRWNsTWVudU1lZ2FDb21wb25lbnQgfSBmcm9tICcuLi9lY2wtbWVudS1tZWdhL2VjbC1tZW51LW1lZ2EuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFtcywgUXVlcnlQYXJhbXNIYW5kbGluZyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFY2xCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9lY2wtYnV0dG9uJztcbmltcG9ydCB7IEtleUNvZGUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbmNvbnN0IGVudW0gQ29sVHJpZ2dlciB7XG4gICAgQ09MMV9UUklHR0VSID0gNSxcbiAgICBDT0wyX1RSSUdHRVIgPSA5LFxuICAgIENPTDNfVFJJR0dFUiA9IDEzLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1tZW51LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBFY2xNZW51SXRlbSwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoKSByb3V0ZXJMaW5rOiBzdHJpbmcgfCBhbnlbXSA9IG51bGw7XG4gICAgQElucHV0KCkgcXVlcnlQYXJhbXM6IFBhcmFtcyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpIGhyZWYgPSAnJztcbiAgICBASW5wdXQoKSB0YXJnZXQgPSAnJztcbiAgICBASW5wdXQoKSBpc0N1cnJlbnQgPSBmYWxzZTtcblxuICAgIGlzRXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgaXNGdWxsID0gZmFsc2U7XG4gICAgaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgaXNNb2JpbGVCcmVha3BvaW50ID0gZmFsc2U7XG4gICAgaXNWaXNpYmxlID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0aXRlbSc7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1tZW51X19pdGVtJyksXG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudCA/ICdlY2wtbWVudV9faXRlbS0tY3VycmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNFeHBhbmRlZCA/ICdlY2wtbWVudV9faXRlbS0tZXhwYW5kZWQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmdldENsYXNzRGVwZW5kaW5nQ2hpbGRyZW5DbnQoKSxcbiAgICAgICAgXVxuICAgICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gRWNsTWVudU1lZ2FDb21wb25lbnQpKSBzdWJtZW51OiBFY2xNZW51TWVnYUNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdtZW51TGluaycpIG1lbnVMaW5rOiBFbGVtZW50UmVmPEhUTUxBbmNob3JFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKEVjbEJ1dHRvbkNvbXBvbmVudCkgbWVudUJ1dHRvbjogRWNsQnV0dG9uQ29tcG9uZW50O1xuXG4gICAgQE91dHB1dCgpIG1lbnVJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbVNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUNhcmV0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUNhcmV0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtSG92ZXJFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1Ib3Zlck91dCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1Ib3Zlck91dEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51TWVnYUl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtRm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1LZXlkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUtleWRvd25FdmVudD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLW1lbnVfX2l0ZW0tLWhhcy1jaGlsZHJlbicpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKVxuICAgIGdldCBoYXNFY2xDaGlsZHJlbkRhdGFBdHRyaWJ1dGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuIHx8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZ2V0IGlzQXJpYUV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiA/IHRoaXMuaXNIb3ZlcmVkIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc3VibWVudTtcbiAgICB9XG5cbiAgICBnZXQgY2hpbGRyZW4oKTogQXJyYXk8RWNsTWVudUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gPyB0aGlzLnN1Ym1lbnUuZWNsTWVudU1lZ2FJdGVtcy50b0FycmF5KCkgOiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBhcmY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGNka0JyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG9uSXRlbUZvY3VzKGV2dDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtRm9jdXMubmV4dChuZXcgRWNsTWVudUl0ZW1Gb2N1c0V2ZW50KHRoaXMsIGV2dCkpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbVNlbGVjdC5uZXh0KG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KHRoaXMsIGV2dCkpO1xuXG4gICAgICAgIGlmICghdGhpcy5ocmVmKSB7XG4gICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1DYXJldENsaWNrKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtQ2FyZXQubmV4dChuZXcgRWNsTWVudUl0ZW1DYXJldEV2ZW50KHRoaXMsIGV2dCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlRW50ZXIoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlci5uZXh0KG5ldyBFY2xNZW51SXRlbUhvdmVyRXZlbnQodGhpcywgZXZ0KSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25JdGVtTW91c2VMZWF2ZShldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUhvdmVyT3V0Lm5leHQobmV3IEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWVudS5tZW51SXRlbVNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChpdDogRWNsTWVudUl0ZW1TZWxlY3RFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudU1lZ2FJdGVtU2VsZWN0Lm5leHQobmV3IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQoaXQubWVudUl0ZW0sIGl0LmRvbUV2ZW50KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3VibWVudS5tZW51TWVnYUl0ZW1QYXJlbnRGb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChpdDogRWNsTWVudUl0ZW1QYXJlbnRGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkZvY3VzRnJvbVN1Ym1lbnUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNTdWJtZW51QW55U2VsZWN0aW9ucygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMub2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG9uRm9jdXNGcm9tU3VibWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkJ1dHRvbkZvY3VzKCk7XG4gICAgICAgIHRoaXMuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uRm9jdXNGcm9tTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5vbkJ1dHRvbkZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbVByZXYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25MaW5rRm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkJ1dHRvbktleWRvd24oZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKChldnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfRE9XTjoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZpcnN0TWVnYU1lbnVJdGVtKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfVVA6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfUklHSFQ6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0xFRlQ6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuVEFCOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FTlRFUjoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlua0tleWRvd24oZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKChldnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfRE9XTjoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25MaW5rTmV4dEZvY3VzKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfVVA6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1JJR0hUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtOZXh0Rm9jdXMoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19MRUZUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FTlRFUjoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25JdGVtQ2xpY2soZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FU0NBUEU6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua0VzY2FwZShldnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hlY2tNZW51SXRlbShtYXhMaW5lczogbnVtYmVyLCBpc01vYmlsZUJyZWFrcG9pbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG1heExpbmVzIDwgMSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBjdXJyZW50TGluayA9IHRoaXMubWVudUxpbmsubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKGlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjdXJyZW50SXRlbSwgJ2FsaWduSXRlbXMnLCAnZmxleC1zdGFydCcpO1xuICAgICAgICBjb25zdCBsaW5rU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50TGluayk7XG5cbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5nZXRNZW51SXRlbUxpbmtNYXhIZWlnaHQobGlua1N0eWxlLCBtYXhMaW5lcyk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRMaW5rLm9mZnNldEhlaWdodCA+IG1heEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VNZW51SXRlbUxpbmtXaWR0aChjdXJyZW50TGluaywgbWF4TGluZXMsIGxpbmtTdHlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50SXRlbSwgJ2FsaWduSXRlbXMnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua0VzY2FwZShldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUJ1dHRvbi5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RGaXJzdE1lZ2FNZW51SXRlbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJtZW51LnNlbGVjdEZpcnN0U3ViSXRlbSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25MaW5rRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUxpbmsubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25MaW5rTmV4dEZvY3VzKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5vbkJ1dHRvbkZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkJ1dHRvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWVudUl0ZW1MaW5rTWF4SGVpZ2h0KGxpbmtTdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbiwgbWF4TGluZXM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChsaW5rU3R5bGUubGluZUhlaWdodCwgMTApICogbWF4TGluZXMgKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1RvcCwgMTApICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdCb3R0b20sIDEwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZU1lbnVJdGVtTGlua1dpZHRoKGN1cnJlbnRMaW5rOiBIVE1MQW5jaG9yRWxlbWVudCwgbWF4TGluZXM6IG51bWJlciwgbGlua1N0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScsICdub3dyYXAnKTtcbiAgICAgICAgY29uc3QgbGlua1dpZHRoID0gY3VycmVudExpbmsub2Zmc2V0V2lkdGg7XG4gICAgICAgIGlmIChtYXhMaW5lcyA9PT0gMSkge1xuICAgICAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSBgJHtsaW5rV2lkdGggKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0xlZnQsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKX1weGA7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKGN1cnJlbnRMaW5rLCAnd2hpdGUtc3BhY2UnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0U2l6ZSA9IGN1cnJlbnRMaW5rLnRleHQubGVuZ3RoO1xuICAgICAgICBjb25zdCBsZXR0ZXJXaWR0aCA9IE1hdGguY2VpbChsaW5rV2lkdGggLyB0ZXh0U2l6ZSk7XG4gICAgICAgIGNvbnN0IHdvcmRzQXJyYXkgPSBjdXJyZW50TGluay50ZXh0LnRyaW0oKS5zcGxpdCgnICcpO1xuICAgICAgICBjb25zdCBnb2FsV2lkdGggPSBNYXRoLmNlaWwobGlua1dpZHRoIC8gbWF4TGluZXMpO1xuICAgICAgICBjb25zdCBmaXJzdFdvcmQgPSB3b3Jkc0FycmF5WzBdO1xuICAgICAgICBsZXQgY250ID0gMTtcbiAgICAgICAgbGV0IHdvcmRXaWR0aCA9IE1hdGguY2VpbCgoZmlyc3RXb3JkLmxlbmd0aCArIDEpICogbGV0dGVyV2lkdGgpO1xuICAgICAgICB3aGlsZSAod29yZFdpZHRoIDwgZ29hbFdpZHRoKSB7XG4gICAgICAgICAgICB3b3JkV2lkdGggKz0gTWF0aC5jZWlsKCh3b3Jkc0FycmF5W2NudF0ubGVuZ3RoICsgMSkgKiBsZXR0ZXJXaWR0aCk7XG4gICAgICAgICAgICBjbnQrKztcbiAgICAgICAgfVxuICAgICAgICBjdXJyZW50TGluay5zdHlsZS53aWR0aCA9IGAke3dvcmRXaWR0aCArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nTGVmdCwgMTApICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdSaWdodCwgMTApfXB4YDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50TGluaywgJ3doaXRlLXNwYWNlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDbGFzc0RlcGVuZGluZ0NoaWxkcmVuQ250KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wxX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wxJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wyX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wyJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMubGVuZ3RoIDwgQ29sVHJpZ2dlci5DT0wzX1RSSUdHRVIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1jb2wzJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Z1bGwgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiAnZWNsLW1lbnVfX2l0ZW0tLWZ1bGwnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1N1Ym1lbnVBbnlTZWxlY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJtZW51ICYmICEhdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMuZmluZCgoaXQpID0+IGl0LmlzQ3VycmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrQnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldCwgQnJlYWtwb2ludHMuVGFibGV0LCBCcmVha3BvaW50cy5TbWFsbF0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGFcbiAgICAjbWVudUxpbmtcbiAgICAqbmdJZj1cImhyZWZcIlxuICAgIFtocmVmXT1cImhyZWZcIlxuICAgIFt0YXJnZXRdPVwidGFyZ2V0XCJcbiAgICBjbGFzcz1cImVjbC1tZW51X19saW5rXCJcbiAgICBbY2xhc3MuZWNsLW1lbnVfX2xpbmstLWN1cnJlbnRdPVwiaXNDdXJyZW50XCJcbiAgICAoZm9jdXMpPVwib25JdGVtRm9jdXMoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uTGlua0tleWRvd24oJGV2ZW50KVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYT5cbjxhXG4gICAgI21lbnVMaW5rXG4gICAgKm5nSWY9XCIhaHJlZlwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2xpbmtcIlxuICAgIFtjbGFzcy5lY2wtbWVudV9fbGluay0tY3VycmVudF09XCJpc0N1cnJlbnRcIlxuICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25MaW5rS2V5ZG93bigkZXZlbnQpXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPGJ1dHRvblxuICAgIGVjbEJ1dHRvblxuICAgICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgaXNNb2JpbGVCcmVha3BvaW50XCJcbiAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fYnV0dG9uLWNhcmV0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBhcmlhLWxhYmVsPVwiQWNjZXNzIGl0ZW0ncyBjaGlsZHJlblwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNhcmV0Q2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25CdXR0b25LZXlkb3duKCRldmVudClcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJ4c1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIiBjbGFzcz1cImVjbC1idXR0b25fX2ljb25cIj48L2VjbC1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uXG4gICAgZWNsQnV0dG9uXG4gICAgKm5nSWY9XCJoYXNDaGlsZHJlbiAmJiAhaXNNb2JpbGVCcmVha3BvaW50XCJcbiAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fYnV0dG9uLWNhcmV0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBhcmlhLWxhYmVsPVwiQWNjZXNzIGl0ZW0ncyBjaGlsZHJlblwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0FyaWFFeHBhbmRlZFwiXG4gICAgKGtleWRvd24pPVwib25CdXR0b25LZXlkb3duKCRldmVudClcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJ4c1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIiBjbGFzcz1cImVjbC1idXR0b25fX2ljb25cIj48L2VjbC1pY29uPlxuPC9idXR0b24+XG48bmctY29udGVudCBzZWxlY3Q9XCJlY2wtbWVudS1tZWdhXCI+PC9uZy1jb250ZW50PlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
365
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBRXZCLHNCQUFzQixHQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBYXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFrQnRELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENB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QkFDaEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXlDakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU10QyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWNsTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbWVudS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBFY2xNZW51SXRlbUNhcmV0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1Gb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtSG92ZXJFdmVudCxcbiAgICBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQsXG4gICAgRWNsTWVudUl0ZW1QYXJlbnRGb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQsXG59IGZyb20gJy4uL2NvbW1vbi9lY2wtbWVudS1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbE1lbnVNZWdhQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLW1lbnUtbWVnYS9lY2wtbWVudS1tZWdhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWNsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWNsLWJ1dHRvbic7XG5pbXBvcnQgeyBLZXlDb2RlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5jb25zdCBlbnVtIENvbFRyaWdnZXIge1xuICAgIENPTDFfVFJJR0dFUiA9IDUsXG4gICAgQ09MMl9UUklHR0VSID0gOSxcbiAgICBDT0wzX1RSSUdHRVIgPSAxMyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRWNsTWVudUl0ZW0sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nIHwgYW55W10gPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBxdWVyeVBhcmFtc0hhbmRsaW5nOiBRdWVyeVBhcmFtc0hhbmRsaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmID0gJyc7XG4gICAgQElucHV0KCkgdGFyZ2V0ID0gJyc7XG4gICAgQElucHV0KCkgaXNDdXJyZW50ID0gZmFsc2U7XG5cbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIGlzRnVsbCA9IGZhbHNlO1xuICAgIGlzSG92ZXJlZCA9IGZhbHNlO1xuICAgIGlzTW9iaWxlQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdGl0ZW0nO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVudV9faXRlbScpLFxuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnQgPyAnZWNsLW1lbnVfX2l0ZW0tLWN1cnJlbnQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPyAnZWNsLW1lbnVfX2l0ZW0tLWV4cGFuZGVkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5nZXRDbGFzc0RlcGVuZGluZ0NoaWxkcmVuQ250KCksXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbE1lbnVNZWdhQ29tcG9uZW50KSkgc3VibWVudTogRWNsTWVudU1lZ2FDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUxpbmsnKSBtZW51TGluazogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZChFY2xCdXR0b25Db21wb25lbnQpIG1lbnVCdXR0b246IEVjbEJ1dHRvbkNvbXBvbmVudDtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1TZWxlY3RFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DYXJldCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1DYXJldEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUhvdmVyRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtSG92ZXJPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU1lZ2FJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbVNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtS2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1LZXlkb3duRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1tZW51X19pdGVtLS1oYXMtY2hpbGRyZW4nKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBnZXQgaGFzRWNsQ2hpbGRyZW5EYXRhQXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGdldCBpc0FyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gPyB0aGlzLmlzSG92ZXJlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnN1Ym1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IEFycmF5PEVjbE1lbnVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuID8gdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMudG9BcnJheSgpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgYXJmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Gb2N1cyhldnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUZvY3VzLm5leHQobmV3IEVjbE1lbnVJdGVtRm9jdXNFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1TZWxlY3QubmV4dChuZXcgRWNsTWVudUl0ZW1TZWxlY3RFdmVudCh0aGlzLCBldnQpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2FyZXRDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNhcmV0Lm5leHQobmV3IEVjbE1lbnVJdGVtQ2FyZXRFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1Nb3VzZUVudGVyKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtSG92ZXIubmV4dChuZXcgRWNsTWVudUl0ZW1Ib3ZlckV2ZW50KHRoaXMsIGV2dCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlck91dC5uZXh0KG5ldyBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQodGhpcywgZXZ0KSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJtZW51KSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudUl0ZW1TZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVNZWdhSXRlbVNlbGVjdC5uZXh0KG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KGl0Lm1lbnVJdGVtLCBpdC5kb21FdmVudCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudU1lZ2FJdGVtUGFyZW50Rm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtUGFyZW50Rm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb2N1c0Zyb21TdWJtZW51KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3VibWVudUFueVNlbGVjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbVN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbU5leHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c0Zyb21QcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CdXR0b25LZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE1lZ2FNZW51SXRlbSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1JJR0hUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19MRUZUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVTQ0FQRToge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtLZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua05leHRGb2N1cyhldnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19SSUdIVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25MaW5rTmV4dEZvY3VzKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfTEVGVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtFc2NhcGUoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrTWVudUl0ZW0obWF4TGluZXM6IG51bWJlciwgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXhMaW5lcyA8IDEpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjdXJyZW50SXRlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY3VycmVudExpbmsgPSB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChpc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJywgJ2ZsZXgtc3RhcnQnKTtcbiAgICAgICAgY29uc3QgbGlua1N0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoY3VycmVudExpbmspO1xuXG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMuZ2V0TWVudUl0ZW1MaW5rTWF4SGVpZ2h0KGxpbmtTdHlsZSwgbWF4TGluZXMpO1xuXG4gICAgICAgIGlmIChjdXJyZW50TGluay5vZmZzZXRIZWlnaHQgPiBtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlTWVudUl0ZW1MaW5rV2lkdGgoY3VycmVudExpbmssIG1heExpbmVzLCBsaW5rU3R5bGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxpbmtFc2NhcGUoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51QnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51TGluay5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Rmlyc3RNZWdhTWVudUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWVudS5zZWxlY3RGaXJzdFN1Ykl0ZW0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua05leHRGb2N1cyhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25CdXR0b25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51QnV0dG9uLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1lbnVJdGVtTGlua01heEhlaWdodChsaW5rU3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sIG1heExpbmVzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQobGlua1N0eWxlLmxpbmVIZWlnaHQsIDEwKSAqIG1heExpbmVzICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdUb3AsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nQm90dG9tLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VNZW51SXRlbUxpbmtXaWR0aChjdXJyZW50TGluazogSFRNTEFuY2hvckVsZW1lbnQsIG1heExpbmVzOiBudW1iZXIsIGxpbmtTdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRMaW5rLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIGNvbnN0IGxpbmtXaWR0aCA9IGN1cnJlbnRMaW5rLm9mZnNldFdpZHRoO1xuICAgICAgICBpZiAobWF4TGluZXMgPT09IDEpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gYCR7bGlua1dpZHRoICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdMZWZ0LCAxMCkgKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1JpZ2h0LCAxMCl9cHhgO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50TGluaywgJ3doaXRlLXNwYWNlJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGV4dFNpemUgPSBjdXJyZW50TGluay50ZXh0Lmxlbmd0aDtcbiAgICAgICAgY29uc3QgbGV0dGVyV2lkdGggPSBNYXRoLmNlaWwobGlua1dpZHRoIC8gdGV4dFNpemUpO1xuICAgICAgICBjb25zdCB3b3Jkc0FycmF5ID0gY3VycmVudExpbmsudGV4dC50cmltKCkuc3BsaXQoJyAnKTtcbiAgICAgICAgY29uc3QgZ29hbFdpZHRoID0gTWF0aC5jZWlsKGxpbmtXaWR0aCAvIG1heExpbmVzKTtcbiAgICAgICAgY29uc3QgZmlyc3RXb3JkID0gd29yZHNBcnJheVswXTtcbiAgICAgICAgbGV0IGNudCA9IDE7XG4gICAgICAgIGxldCB3b3JkV2lkdGggPSBNYXRoLmNlaWwoKGZpcnN0V29yZC5sZW5ndGggKyAxKSAqIGxldHRlcldpZHRoKTtcbiAgICAgICAgd2hpbGUgKHdvcmRXaWR0aCA8IGdvYWxXaWR0aCkge1xuICAgICAgICAgICAgd29yZFdpZHRoICs9IE1hdGguY2VpbCgod29yZHNBcnJheVtjbnRdLmxlbmd0aCArIDEpICogbGV0dGVyV2lkdGgpO1xuICAgICAgICAgICAgY250Kys7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSBgJHt3b3JkV2lkdGggKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0xlZnQsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKX1weGA7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2xhc3NEZXBlbmRpbmdDaGlsZHJlbkNudCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMV9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMSc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMl9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMic7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MM19UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGdWxsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1mdWxsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTdWJtZW51QW55U2VsZWN0aW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VibWVudSAmJiAhIXRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXQsIEJyZWFrcG9pbnRzLlRhYmxldCwgQnJlYWtwb2ludHMuU21hbGxdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPSByZXN1bHQubWF0Y2hlcztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxhXG4gICAgI21lbnVMaW5rXG4gICAgKm5nSWY9XCJocmVmXCJcbiAgICBbaHJlZl09XCJocmVmXCJcbiAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fbGlua1wiXG4gICAgW2NsYXNzLmVjbC1tZW51X19saW5rLS1jdXJyZW50XT1cImlzQ3VycmVudFwiXG4gICAgKGZvY3VzKT1cIm9uSXRlbUZvY3VzKCRldmVudClcIlxuICAgIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbkxpbmtLZXlkb3duKCRldmVudClcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG48YVxuICAgICNtZW51TGlua1xuICAgICpuZ0lmPVwiIWhyZWZcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua1wiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICBjbGFzcz1cImVjbC1tZW51X19saW5rXCJcbiAgICBbY2xhc3MuZWNsLW1lbnVfX2xpbmstLWN1cnJlbnRdPVwiaXNDdXJyZW50XCJcbiAgICAoZm9jdXMpPVwib25JdGVtRm9jdXMoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uTGlua0tleWRvd24oJGV2ZW50KVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYT5cbjxidXR0b25cbiAgICBlY2xCdXR0b25cbiAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzTW9iaWxlQnJlYWtwb2ludFwiXG4gICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2J1dHRvbi1jYXJldFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIChjbGljayk9XCJvbkl0ZW1DYXJldENsaWNrKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uQnV0dG9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvblxuICAgIGVjbEJ1dHRvblxuICAgICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgIWlzTW9iaWxlQnJlYWtwb2ludFwiXG4gICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2J1dHRvbi1jYXJldFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNBcmlhRXhwYW5kZWRcIlxuICAgIChrZXlkb3duKT1cIm9uQnV0dG9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLW1lbnUtbWVnYVwiPjwvbmctY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=