desy-angular 14.0.1 → 14.2.0
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.
- package/esm2022/lib/desy-angular.module.mjs +2 -2
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +10 -9
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +1 -1
- package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +1 -1
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +18 -19
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +7 -18
- package/esm2022/lib/desy-commons/components/content/content.component.mjs +1 -1
- package/esm2022/lib/desy-commons/components/description/description.component.mjs +2 -2
- package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +3 -3
- package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +1 -1
- package/esm2022/lib/desy-commons/components/title/title.component.mjs +2 -2
- package/esm2022/lib/desy-commons/desy-commons.module.mjs +6 -34
- package/esm2022/lib/desy-commons/interfaces/description-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/divider-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/icon-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/title-data.mjs +1 -1
- package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +12 -9
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +23 -17
- package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +34 -25
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +14 -14
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +3 -3
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +7 -7
- package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +12 -5
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +10 -10
- package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +18 -15
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +7 -5
- package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +20 -16
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +12 -8
- package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +13 -13
- package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +8 -8
- package/esm2022/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +1 -1
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +9 -9
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +37 -34
- package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +5 -5
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +45 -42
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +2 -2
- package/esm2022/lib/desy-forms/directives/condition.directive.mjs +2 -2
- package/esm2022/lib/desy-forms/interfaces/error-message-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/fieldset-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-checkbox-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-radio-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/label-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/legend-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
- package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +11 -7
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +18 -9
- package/esm2022/lib/desy-modals/desy-modals.module.mjs +6 -17
- package/esm2022/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-button-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-icon-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-options.mjs +1 -1
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +6 -6
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +6 -4
- package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +6 -6
- package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +6 -6
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +21 -17
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +11 -15
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +8 -6
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +23 -19
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +9 -17
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +3 -3
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +5 -16
- package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +3 -3
- package/esm2022/lib/desy-nav/interfaces/breadcrumbs.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/error-summary-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/footer-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/footer-logo.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-advanced-logo.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-dropdown-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-mobile-text-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-subnav-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/index.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/nav-item-event.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/nav-item.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/notification-items-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/notification-options.mjs +1 -1
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +17 -12
- package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +2 -2
- package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +2 -2
- package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +6 -35
- package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +10 -6
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +3 -3
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +225 -33
- package/esm2022/lib/desy-tables/desy-tables.module.mjs +5 -22
- package/esm2022/lib/desy-tables/directives/cell.directive.mjs +2 -2
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +6 -3
- package/esm2022/lib/desy-tables/directives/row.directive.mjs +3 -3
- package/esm2022/lib/desy-tables/interfaces/cell-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/head-cell-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/recalculate-table-params.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/row-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/wrapper-data.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +9 -9
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/details/details.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item.component.mjs +6 -6
- package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +5 -5
- package/esm2022/lib/desy-views/components/status/status.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +7 -7
- package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +9 -8
- package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +15 -9
- package/esm2022/lib/desy-views/desy-views.module.mjs +5 -19
- package/esm2022/lib/desy-views/interfaces/description-item.data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/status-icon-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/status-item-title-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/tabs-items-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/tabs-panel-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/term-definition.data.mjs +1 -1
- package/esm2022/lib/desy-views/services/alert.service.mjs +5 -5
- package/esm2022/lib/shared/components/accessibility/accessibility-attributes.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +2 -2
- package/esm2022/lib/shared/components/content-base/content-base.component.mjs +2 -2
- package/esm2022/lib/shared/components/index.mjs +1 -1
- package/esm2022/lib/shared/components/spinner/spinner.component.mjs +5 -5
- package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +2 -2
- package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +7 -3
- package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +2 -2
- package/esm2022/lib/shared/directives/accessibility-directive.mjs +7 -5
- package/esm2022/lib/shared/directives/attribute-change.directive.mjs +5 -5
- package/esm2022/lib/shared/directives/click-outside.directive.mjs +2 -2
- package/esm2022/lib/shared/directives/content-change.directive.mjs +3 -3
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +9 -7
- package/esm2022/lib/shared/directives/inner-content.directive.mjs +2 -2
- package/esm2022/lib/shared/interfaces/accessibility-data.mjs +1 -1
- package/esm2022/lib/shared/pipes/external-href.pipe.mjs +2 -2
- package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +2 -2
- package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +3 -3
- package/esm2022/lib/shared/shared.module.mjs +4 -6
- package/esm2022/lib/shared/sharedExternal.module.mjs +3 -7
- package/esm2022/lib/shared/utils/focus-utils.mjs +2 -3
- package/esm2022/lib/shared/utils/search-utils.mjs +5 -5
- package/esm2022/lib/shared/utils/string-utils.mjs +9 -7
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/desy-angular.mjs +901 -754
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +3 -3
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +2 -1
- package/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +3 -3
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +7 -7
- package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +2 -2
- package/lib/desy-forms/components/tree/tree.component.d.ts +5 -5
- package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
- package/lib/desy-modals/components/dialog/dialog.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +2 -2
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
- package/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.d.ts +2 -2
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/header-mobile-text-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.d.ts +2 -2
- package/lib/desy-nav/interfaces/nav-item-event.data.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +3 -3
- package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +19 -1
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +1 -1
- package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren, } from '@angular/core';
|
|
3
3
|
import { AccessibilityAndTextOrHtmlRequiredComponent } from '../../../shared/components';
|
|
4
4
|
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
5
5
|
import { ListboxLabelComponent } from './listbox-label/listbox-label.component';
|
|
@@ -66,14 +66,14 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
66
66
|
}
|
|
67
67
|
setupItemComponentList() {
|
|
68
68
|
if (this.itemComponentSubscriptions) {
|
|
69
|
-
this.itemComponentSubscriptions.forEach(s => s.unsubscribe());
|
|
69
|
+
this.itemComponentSubscriptions.forEach((s) => s.unsubscribe());
|
|
70
70
|
}
|
|
71
71
|
this.itemComponentSubscriptions = [];
|
|
72
72
|
this.itemList = [];
|
|
73
|
-
this.itemComponentList.forEach(item => {
|
|
73
|
+
this.itemComponentList.forEach((item) => {
|
|
74
74
|
this.itemList.push(item);
|
|
75
75
|
});
|
|
76
|
-
this.itemComponentList.forEach(item => {
|
|
76
|
+
this.itemComponentList.forEach((item) => {
|
|
77
77
|
const subscription = item.itemChange.subscribe(() => this.checkActiveItems());
|
|
78
78
|
this.itemComponentSubscriptions.push(subscription);
|
|
79
79
|
});
|
|
@@ -82,9 +82,7 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
82
82
|
this.changeDetectorRef.detectChanges();
|
|
83
83
|
}
|
|
84
84
|
getActiveItemsData() {
|
|
85
|
-
return this.itemList
|
|
86
|
-
.map((item, index) => item.active ? { item, index } : null)
|
|
87
|
-
.filter(item => item !== null);
|
|
85
|
+
return this.itemList.map((item, index) => (item.active ? { item, index } : null)).filter((item) => item !== null);
|
|
88
86
|
}
|
|
89
87
|
onChangeItemChecked() {
|
|
90
88
|
this.checkActiveItems();
|
|
@@ -92,8 +90,8 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
92
90
|
}
|
|
93
91
|
checkActiveItems() {
|
|
94
92
|
let activeItems = this.itemList
|
|
95
|
-
.map((item, index) => item.active ? { item, index } : null)
|
|
96
|
-
.filter(item => item !== null);
|
|
93
|
+
.map((item, index) => (item.active ? { item, index } : null))
|
|
94
|
+
.filter((item) => item !== null);
|
|
97
95
|
let hasActiveItemChange = false;
|
|
98
96
|
if (this.lastActiveItems && activeItems.length === this.lastActiveItems.length) {
|
|
99
97
|
for (let i = 0; i < activeItems.length; i++) {
|
|
@@ -109,10 +107,10 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
109
107
|
if (this.lastActiveItems && !this.isMultiselectable && hasActiveItemChange) {
|
|
110
108
|
if (activeItems.length !== this.lastActiveItems.length) {
|
|
111
109
|
for (const activeItem of activeItems) {
|
|
112
|
-
if (this.lastActiveItems.findIndex(i => i.index === activeItem.index) >= 0) {
|
|
110
|
+
if (this.lastActiveItems.findIndex((i) => i.index === activeItem.index) >= 0) {
|
|
113
111
|
this.setItemActiveValue(activeItem.index, false);
|
|
114
112
|
}
|
|
115
|
-
activeItems = activeItems.filter(activeItem => activeItem.item.active);
|
|
113
|
+
activeItems = activeItems.filter((activeItem) => activeItem.item.active);
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
}
|
|
@@ -178,7 +176,7 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
178
176
|
}
|
|
179
177
|
selectItem(index) {
|
|
180
178
|
if (!this.isMultiselectable) {
|
|
181
|
-
this.itemList.forEach(item => this.setItemActiveValue(index, false));
|
|
179
|
+
this.itemList.forEach((item) => this.setItemActiveValue(index, false));
|
|
182
180
|
this.setItemActiveValue(index, true);
|
|
183
181
|
}
|
|
184
182
|
else {
|
|
@@ -248,8 +246,9 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
248
246
|
});
|
|
249
247
|
},
|
|
250
248
|
};
|
|
251
|
-
}
|
|
252
|
-
},
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
{
|
|
253
252
|
name: 'hideOnEsc',
|
|
254
253
|
defaultValue: true,
|
|
255
254
|
fn({ hide }) {
|
|
@@ -269,18 +268,18 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
|
|
|
269
268
|
};
|
|
270
269
|
},
|
|
271
270
|
},
|
|
272
|
-
inlinePositioning
|
|
271
|
+
inlinePositioning,
|
|
273
272
|
],
|
|
274
273
|
role: false,
|
|
275
274
|
aria: {
|
|
276
275
|
content: 'auto',
|
|
277
276
|
},
|
|
278
277
|
onShow: this.onListShow.bind(this),
|
|
279
|
-
onHidden: this.onListClose.bind(this)
|
|
278
|
+
onHidden: this.onListClose.bind(this),
|
|
280
279
|
};
|
|
281
280
|
}
|
|
282
281
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
283
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListboxComponent, selector: "desy-listbox", inputs: { id: "id", isMultiselectable: "isMultiselectable", doesChangeButtonText: "doesChangeButtonText", label: "label", classes: "classes", classesContainer: "classesContainer", classesTooltip: "classesTooltip", idPrefix: "idPrefix", disabled: "disabled", items: "items" }, outputs: { itemsChange: "itemsChange", activeItemChange: "activeItemChange" }, queries: [{ propertyName: "labelComponent", predicate: ListboxLabelComponent }, { propertyName: "itemComponentList", predicate: ListboxItemComponent }], viewQueries: [{ propertyName: "listboxButton", first: true, predicate: ["button"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxList", first: true, predicate: ["list"], descendants: true, read: ElementRef }, { propertyName: "listboxContent", first: true, predicate: ["tooltip"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxOptions", predicate: ["option"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div
|
|
282
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ListboxComponent, selector: "desy-listbox", inputs: { id: "id", isMultiselectable: "isMultiselectable", doesChangeButtonText: "doesChangeButtonText", label: "label", classes: "classes", classesContainer: "classesContainer", classesTooltip: "classesTooltip", idPrefix: "idPrefix", disabled: "disabled", items: "items" }, outputs: { itemsChange: "itemsChange", activeItemChange: "activeItemChange" }, queries: [{ propertyName: "labelComponent", predicate: ListboxLabelComponent }, { propertyName: "itemComponentList", predicate: ListboxItemComponent }], viewQueries: [{ propertyName: "listboxButton", first: true, predicate: ["button"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxList", first: true, predicate: ["list"], descendants: true, read: ElementRef }, { propertyName: "listboxContent", first: true, predicate: ["tooltip"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxOptions", predicate: ["option"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"classesContainer ? classesContainer : 'relative'\"\n [attr.id]=\"id ? id : null\">\n <div\n [id]=\"id + '-label'\"\n [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: labelComponent,\n html: label ? getLabelContent(label) : null,\n }\"></ng-container>\n </div>\n <button\n #button\n [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy\n [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [desyAppAccessibility]=\"this\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *ngIf=\"!buttonContentHtml\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"buttonContentHtml || text\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </ng-container>\n </span>\n <svg\n class=\"inline-block -mr-2 align-middle -my-px\"\n viewBox=\"0 0 96 96\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n focusable=\"false\"\n width=\"1.5em\"\n height=\"1.5em\">\n <g>\n <path\n d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\" />\n </g>\n </svg>\n </button>\n <div\n #tooltip\n [class]=\"\n ['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\n \">\n <ul\n *ngIf=\"itemList\"\n #list\n [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-activedescendant]=\"\n lastActiveItems && lastActiveItems.length > 0\n ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index)\n : null\n \">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li\n #option\n *ngIf=\"item\"\n role=\"option\"\n (click)=\"selectItem(index)\"\n [class]=\"\n [\n 'flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black',\n item.classes,\n ] | makeHtmlList\n \"\n [ngClass]=\"{ focused: index === currentFocusIndex }\"\n [attr.aria-label]=\"item.active ? 'true' : item.ariaLabel ? item.ariaLabel : null\"\n [id]=\"getItemId(item, index)\"\n (desyAttributeChange)=\"onChangeItemChecked()\"\n [attributesToCheck]=\"'aria-selected'\"\n [desyAttributeChangeEnabled]=\"items && items.length > 0\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-selected]=\"item.active\">\n <ng-container\n *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AttributeChangeDirective, selector: "[desyAttributeChange]", inputs: ["attributesToCheck", "desyAttributeChangeEnabled"], outputs: ["desyAttributeChange", "desyAttributeChangeMutation"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "directive", type: i5.NgxTippyDirective, selector: "[ngxTippy]", inputs: ["ngxTippy", "tippyProps", "tippyName", "tippyClassName", "tippyContext"] }, { kind: "pipe", type: i6.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
284
283
|
}
|
|
285
284
|
__decorate([
|
|
286
285
|
DesyContentChild(),
|
|
@@ -288,7 +287,7 @@ __decorate([
|
|
|
288
287
|
], ListboxComponent.prototype, "labelComponent", void 0);
|
|
289
288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListboxComponent, decorators: [{
|
|
290
289
|
type: Component,
|
|
291
|
-
args: [{ selector: 'desy-listbox', template: "<div
|
|
290
|
+
args: [{ selector: 'desy-listbox', template: "<div\n [ngClass]=\"classesContainer ? classesContainer : 'relative'\"\n [attr.id]=\"id ? id : null\">\n <div\n [id]=\"id + '-label'\"\n [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: labelComponent,\n html: label ? getLabelContent(label) : null,\n }\"></ng-container>\n </div>\n <button\n #button\n [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy\n [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : ariaDisabled ? ariaDisabled : null\"\n [desyAppAccessibility]=\"this\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *ngIf=\"!buttonContentHtml\">\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"buttonContentHtml || text\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </ng-container>\n </span>\n <svg\n class=\"inline-block -mr-2 align-middle -my-px\"\n viewBox=\"0 0 96 96\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n focusable=\"false\"\n width=\"1.5em\"\n height=\"1.5em\">\n <g>\n <path\n d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\" />\n </g>\n </svg>\n </button>\n <div\n #tooltip\n [class]=\"\n ['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\n \">\n <ul\n *ngIf=\"itemList\"\n #list\n [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-activedescendant]=\"\n lastActiveItems && lastActiveItems.length > 0\n ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index)\n : null\n \">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li\n #option\n *ngIf=\"item\"\n role=\"option\"\n (click)=\"selectItem(index)\"\n [class]=\"\n [\n 'flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black',\n item.classes,\n ] | makeHtmlList\n \"\n [ngClass]=\"{ focused: index === currentFocusIndex }\"\n [attr.aria-label]=\"item.active ? 'true' : item.ariaLabel ? item.ariaLabel : null\"\n [id]=\"getItemId(item, index)\"\n (desyAttributeChange)=\"onChangeItemChecked()\"\n [attributesToCheck]=\"'aria-selected'\"\n [desyAttributeChangeEnabled]=\"items && items.length > 0\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-selected]=\"item.active\">\n <ng-container\n *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>\n" }]
|
|
292
291
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { listboxButton: [{
|
|
293
292
|
type: ViewChild,
|
|
294
293
|
args: ['button', { read: ElementRef, static: true }]
|
|
@@ -332,4 +331,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
332
331
|
}], activeItemChange: [{
|
|
333
332
|
type: Output
|
|
334
333
|
}] } });
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBR3ZGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7O0FBTTNDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSwyQ0FBMkM7YUFFL0QsaUJBQVksR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQXNDeEMsWUFBb0IsaUJBQW9DO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRFUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWpCOUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFC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QUF2RCxlQUFlO3VCQUFDLG9CQUFvQjtnQkFFNUIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0xpc3Rib3hMYWJlbERhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbGlzdGJveC1sYWJlbC1kYXRhJztcbmltcG9ydCB7TGlzdGJveEl0ZW1EYXRhfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xpc3Rib3gtaXRlbS1kYXRhJztcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHtMaXN0Ym94TGFiZWxDb21wb25lbnR9IGZyb20gJy4vbGlzdGJveC1sYWJlbC9saXN0Ym94LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3Rib3hJdGVtQ29tcG9uZW50fSBmcm9tICcuL2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQge2lubGluZVBvc2l0aW9uaW5nfSBmcm9tICd0aXBweS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbGlzdGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaXN0Ym94Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUFuZFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgbGlzdGJveEJ1dHRvbjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94TGlzdDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGxpc3Rib3hDb250ZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveE9wdGlvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveExhYmVsQ29tcG9uZW50KSBsYWJlbENvbXBvbmVudDogTGlzdGJveExhYmVsQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PExpc3Rib3hJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nOyAvLyByZXF1aXJlZFxuICBASW5wdXQoKSBpc011bHRpc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZG9lc0NoYW5nZUJ1dHRvblRleHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhYmVsOiBMaXN0Ym94TGFiZWxEYXRhO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGl0ZW1zOiBMaXN0Ym94SXRlbURhdGFbXTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTsgICAgICAvLyBQcm9waWVkYWRlcyBkZSB0aXBweVxuICBjdXJyZW50Rm9jdXNJbmRleDogbnVtYmVyOyAvLyDDjW5kaWNlIGRlbCBlbGVtZW50byBhY3R1YWwgY29uIGZvY3VzXG4gIGJ1dHRvbkNvbnRlbnRIdG1sOiBzdHJpbmc7IC8vIFB1ZWRlIHNlciBlbCBwYXNhZG8gcG9yIHBhcsOhbWV0cm8gbyBlbCBpdGVtIHNlbGVjY2lvbmFkbyBlbiBjYXNvIGRlIGN1cnJlbnRGb2N1c0luZGV4PXRydWVcbiAgaXNMaXN0VmlzaWJsZSA9IGZhbHNlOyAgICAgLy8gSW5kaWNhIHNpIGxhIGxpc3RhIHNlIGVzdMOhIG1vc3RyYW5kb1xuICBjb250ZW50SW5pdCA9IGZhbHNlOyAgICAgICAvLyBTZSBoYSBpbmljaWFkbyBlbCBjb250ZW5pZG9cbiAgcGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0ID0gZmFsc2U7XG4gIHBlbmRpbmdGb2N1c09uTGlzdCA9IGZhbHNlO1xuXG4gIC8vIGNvbmRpdGlvbmFsSWQgeSBjb25kaXRpb25hbEl0ZW0gcmVwcmVzZW50YW4gZW4gZGVzeS1odG1sIGVsIGl0ZW0gYWN0aXZvLiBBcXXDrSBlcyBtZWpvciBvYnRlbmVybG8gY3VhbmRvIHNlIG5lY2VzaXRhXG4gIGxhc3RBY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdO1xuICBpdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgaXRlbUxpc3Q6IExpc3Rib3hJdGVtRGF0YVtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hDb250ZW50ICYmIHRoaXMubGlzdGJveENvbnRlbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5pbml0VGlwcHkoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaXRlbUxpc3QgPSB0aGlzLml0ZW1zO1xuXG4gICAgICBpZiAodGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5wZW5kaW5nQ2hlY2tBY3RpdmVJdGVtc0FmdGVyVmlld0luaXQpIHtcbiAgICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICAgICAgdGhpcy5wZW5kaW5nQ2hlY2tBY3RpdmVJdGVtc0FmdGVyVmlld0luaXQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGVudEluaXQgPSB0cnVlO1xuICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRoaXMuc2V0dXBJdGVtQ29tcG9uZW50TGlzdCgpO1xuICAgICAgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0dXBJdGVtQ29tcG9uZW50TGlzdCgpO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0ZvY3VzT25MaXN0KSB7XG4gICAgICB0aGlzLnBlbmRpbmdGb2N1c09uTGlzdCA9IGZhbHNlO1xuICAgICAgdGhpcy5saXN0Ym94TGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbiAgXG4gIHByaXZhdGUgc2V0dXBJdGVtQ29tcG9uZW50TGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXRlbUxpc3QgPSBbXTtcbiAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICB0aGlzLml0ZW1MaXN0LnB1c2goaXRlbSk7XG4gICAgfSk7XG4gICAgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gaXRlbS5pdGVtQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKSk7XG4gICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICB9KTtcbiAgICAgIFxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3RpdmVJdGVtc0RhdGEoKTogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtTGlzdFxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uYWN0aXZlID8ge2l0ZW0sIGluZGV4fSA6IG51bGwpXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gbnVsbCk7XG4gIH1cblxuICBvbkNoYW5nZUl0ZW1DaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2hlY2tBY3RpdmVJdGVtcygpOiB2b2lkIHtcbiAgICBsZXQgYWN0aXZlSXRlbXM6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyIH1bXSA9IHRoaXMuaXRlbUxpc3RcbiAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiBpdGVtLmFjdGl2ZSA/IHtpdGVtLCBpbmRleH0gOiBudWxsKVxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IG51bGwpO1xuXG4gICAgLy8gc2UgY29tcHJ1ZWJhIHNpIGFsZ8O6biBpdGVtIGhhIGNhbWJpYWRvIHN1IGVzdGFkbyBkZSBhY3RpdmVcbiAgICBsZXQgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcyAmJiBhY3RpdmVJdGVtcy5sZW5ndGggPT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3RpdmVJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYWN0aXZlSXRlbXNbaV0uaW5kZXggIT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zW2ldLmluZGV4KSB7XG4gICAgICAgICAgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGNhbWJpb3MgZXh0ZXJub3MgeSBlcyBzZWxlY2Npw7NuIMO6bmljYSwgYW51bGFtb3MgbGEgc2VsZWNjacOzbiBhbnRlcmlvclxuICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcyAmJiAhdGhpcy5pc011bHRpc2VsZWN0YWJsZSAmJiBoYXNBY3RpdmVJdGVtQ2hhbmdlKSB7XG4gICAgICBpZiAoYWN0aXZlSXRlbXMubGVuZ3RoICE9PSB0aGlzLmxhc3RBY3RpdmVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBhY3RpdmVJdGVtIG9mIGFjdGl2ZUl0ZW1zKSB7XG4gICAgICAgICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zLmZpbmRJbmRleChpID0+IGkuaW5kZXggPT09IGFjdGl2ZUl0ZW0uaW5kZXgpID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SXRlbUFjdGl2ZVZhbHVlKGFjdGl2ZUl0ZW0uaW5kZXgsIGZhbHNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhY3RpdmVJdGVtcyA9IGFjdGl2ZUl0ZW1zLmZpbHRlcihhY3RpdmVJdGVtID0+IGFjdGl2ZUl0ZW0uaXRlbS5hY3RpdmUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sYXN0QWN0aXZlSXRlbXMgPSBhY3RpdmVJdGVtcztcblxuICAgIC8vIFNlIGNhbWJpYSBlbCBjb250ZW5pZG8gZGVsIGJvdMOzblxuICAgIGlmICh0aGlzLmRvZXNDaGFuZ2VCdXR0b25UZXh0ICYmICF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlICYmIGFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGFjdGl2ZUl0ZW1PcHRpb24gPSB0aGlzLmxpc3Rib3hPcHRpb25zLmZpbmQoKGl0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlSXRlbXNbMF0uaW5kZXgpO1xuICAgICAgaWYgKGFjdGl2ZUl0ZW1PcHRpb24pIHtcbiAgICAgICAgdGhpcy5idXR0b25Db250ZW50SHRtbCA9IGFjdGl2ZUl0ZW1PcHRpb24ubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnV0dG9uQ29udGVudEh0bWwgPSB0aGlzLmh0bWwgPyB0aGlzLmh0bWwgOiBudWxsO1xuICAgIH1cblxuICAgIC8vIFNpIGhheSBjYW1iaW9zLCBzZSBlbWl0ZW5cbiAgICBpZiAoaGFzQWN0aXZlSXRlbUNoYW5nZSkge1xuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbUxpc3QpO1xuICAgICAgdGhpcy5hY3RpdmVJdGVtQ2hhbmdlLmVtaXQoYWN0aXZlSXRlbXMubGVuZ3RoID4gMCA/IGFjdGl2ZUl0ZW1zWzBdLml0ZW0gOiBudWxsKTtcbiAgICB9XG4gIH1cblxuICBvbkxpc3RTaG93KCk6IHZvaWQge1xuICAgIHRoaXMuaXNMaXN0VmlzaWJsZSA9IHRydWU7XG4gICAgaWYgKHRoaXMubGlzdGJveExpc3QpIHtcbiAgICAgIHRoaXMucGVuZGluZ0ZvY3VzT25MaXN0ID0gdHJ1ZTtcbiAgICAgIC8vc2V0VGltZW91dCgoKSA9PiB0aGlzLmxpc3Rib3hMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxuICB9XG5cbiAgb25MaXN0Q2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RWaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBvbkxpc3RGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVJdGVtc0RhdGEgPSB0aGlzLmdldEFjdGl2ZUl0ZW1zRGF0YSgpO1xuICAgIGlmIChhY3RpdmVJdGVtc0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYWN0aXZlRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGFjdGl2ZUl0ZW1zRGF0YVswXS5pdGVtLCBhY3RpdmVJdGVtc0RhdGFbMF0uaW5kZXgpKTtcbiAgICAgIGlmIChhY3RpdmVFbGVtKSB7XG4gICAgICAgIGFjdGl2ZUVsZW0uZm9jdXMoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IGFjdGl2ZUl0ZW1zRGF0YVswXS5pbmRleDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbUxpc3QgJiYgdGhpcy5pdGVtTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gMDtcbiAgICAgIGlmICghdGhpcy5pc011bHRpc2VsZWN0YWJsZSkge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oMCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZWxlbWVudCB0byBmb2N1cycpO1xuICAgIH1cbiAgfVxuXG4gIG1vdmVGb2N1cyhwb3NpdGlvbjogbnVtYmVyLCBldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChwb3NpdGlvbiA+PSAwICYmIHBvc2l0aW9uIDwgdGhpcy5pdGVtTGlzdC5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSBwb3NpdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbShwb3NpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0odGhpcy5jdXJyZW50Rm9jdXNJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgICB0aGlzLml0ZW1MaXN0LmZvckVhY2goaXRlbSA9PiB0aGlzLnNldEl0ZW1BY3RpdmVWYWx1ZShpbmRleCwgZmFsc2UpKTtcbiAgICAgIHRoaXMuc2V0SXRlbUFjdGl2ZVZhbHVlKGluZGV4LCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRJdGVtQWN0aXZlVmFsdWUoaW5kZXgsICF0aGlzLml0ZW1MaXN0W2luZGV4XS5hY3RpdmUpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gaW5kZXg7XG5cbiAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SXRlbUFjdGl2ZVZhbHVlKGluZGV4OiBudW1iZXIsIGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRMaXN0ICE9PSBudWxsICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVhY3RpdmF0ZWRJdGVtID0gdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5nZXQoaW5kZXgpO1xuICAgICAgZGVhY3RpdmF0ZWRJdGVtPy5zZXRBY3RpdmUoYWN0aXZlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlID0gYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIE3DqXRvZG9zIHBhcmEgZmFjaWxpdGFyIGNvbnRlbmlkbyBhbCB0ZW1wbGF0ZVxuICAgKi9cblxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHRoaXMuaWQgKyAnLWxpc3Rib3gtaXRlbSc7XG4gIH1cblxuICBnZXRJdGVtSWQoaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaXRlbUlkOiBzdHJpbmc7XG4gICAgaWYgKGl0ZW0uaWQpIHtcbiAgICAgIGl0ZW1JZCA9IGl0ZW0uaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1JZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKTtcbiAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgaXRlbUlkICs9IGAtJHtpbmRleH1gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXRlbUlkO1xuICB9XG5cbiAgaGFzTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMubGFiZWwgfHwgdGhpcy5sYWJlbENvbXBvbmVudCk7XG4gIH1cblxuICBnZXRMYWJlbENvbnRlbnQobGFiZWw6IExpc3Rib3hMYWJlbERhdGEpOiBzdHJpbmcge1xuICAgIHJldHVybiBsYWJlbC5odG1sID8gbGFiZWwuaHRtbCA6IGA8cD4keyBTdHJpbmdVdGlscy5lc2NhcGVIdG1sKGxhYmVsLnRleHQpIH08L3A+YDtcbiAgfVxuXG4gIGluaXRUaXBweSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50VG9vbHRpcCA9IHRoaXMubGlzdGJveENvbnRlbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBsaXN0Ym94QnV0dG9uRWxlbWVudCA9IHRoaXMubGlzdGJveEJ1dHRvbi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMudGlwcHlQcm9wZXJ0aWVzID0geyAgICAgICAgXG4gICAgICBwbGFjZW1lbnQ6ICdib3R0b20tc3RhcnQnLFxuICAgICAgaW5saW5lUG9zaXRpb25pbmc6IHRydWUsICAgICAgICBcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRUb29sdGlwLFxuICAgICAgYWxsb3dIVE1MOiB0cnVlLCAvLyBNYWtlIHN1cmUgeW91IGFyZSBzYW5pdGl6aW5nIGFueSB1c2VyIGRhdGEgaWYgcmVuZGVyaW5nIEhUTUwgdG8gcHJldmVudCBYU1MgYXR0YWNrcy5cbiAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICBoaWRlT25DbGljazogdHJ1ZSxcbiAgICAgIGludGVyYWN0aXZlOiB0cnVlLFxuICAgICAgYXJyb3c6IGZhbHNlLFxuICAgICAgb2Zmc2V0OiBbMCwgLTEwXSxcbiAgICAgIHRoZW1lOiAnJyxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdoaWRlT25Qb3BwZXJCbHVyJyxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgZm4oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9uQ3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wcm9wcy5oaWRlT25Qb3BwZXJCbHVyICYmXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWluc3RhbmNlLnBvcHBlci5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9LCB7XG4gICAgICAgICAgbmFtZTogJ2hpZGVPbkVzYycsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICAgIGZuKHtoaWRlfSk6IGFueSB7XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBMaXN0Ym94Q29tcG9uZW50LktFWV9DT0RFX0VTQykge1xuICAgICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgICAgICBsaXN0Ym94QnV0dG9uRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9uU2hvdygpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb25IaWRlKCk6IHZvaWQge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpbmxpbmVQb3NpdGlvbmluZ1xuICAgICAgXSxcbiAgICAgIHJvbGU6IGZhbHNlLFxuICAgICAgYXJpYToge1xuICAgICAgICBjb250ZW50OiAnYXV0bycsXG4gICAgICB9LFxuICAgICAgb25TaG93OiB0aGlzLm9uTGlzdFNob3cuYmluZCh0aGlzKSxcbiAgICAgIG9uSGlkZGVuOiB0aGlzLm9uTGlzdENsb3NlLmJpbmQodGhpcylcbiAgICB9O1xuICB9XG4gIFxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJjbGFzc2VzQ29udGFpbmVyID8gY2xhc3Nlc0NvbnRhaW5lciA6ICdyZWxhdGl2ZSdcIiBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiPlxuICA8ZGl2IFtpZF09XCJpZCArICctbGFiZWwnXCIgW2NsYXNzXT1cIlsnbWItc20nLCBsYWJlbENvbXBvbmVudD8uY2xhc3NlcywgbGFiZWw/LmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBsYWJlbENvbXBvbmVudCwgaHRtbDogbGFiZWwgPyBnZXRMYWJlbENvbnRlbnQobGFiZWwpIDogbnVsbCB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8YnV0dG9uICNidXR0b24gW2lkXT1cImlkICsgJy1idXR0b24nXCJcbiAgICAgICAgICBbY2xhc3NdPVwiWydjLWxpc3Rib3gnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgbmd4VGlwcHkgW3RpcHB5UHJvcHNdPVwidGlwcHlQcm9wZXJ0aWVzXCJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIltoYXNMYWJlbCgpID8gaWQgKyAnLWxhYmVsJyA6IG51bGwsIGlkICsgJy1idXR0b24nXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IChhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsKVwiXG4gICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmxpbmUtZmxleCBzZWxmLWNlbnRlciBtYXgtdy14cyBhbGlnbi1taWRkbGUgdHJ1bmNhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJ1dHRvbkNvbnRlbnRIdG1sXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IFxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25Db250ZW50SHRtbHx8dGV4dFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogYnV0dG9uQ29udGVudEh0bWwsIHRleHQ6IHRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgPHN2ZyBjbGFzcz1cImlubGluZS1ibG9jayAtbXItMiAgYWxpZ24tbWlkZGxlIC1teS1weFwiIHZpZXdCb3g9XCIwIDAgOTYgOTZcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjEuNWVtXCIgaGVpZ2h0PVwiMS41ZW1cIj48Zz48cGF0aCBkPVwiTTQ2LjcxIDU4LjAzN2ExLjgyMyAxLjgyMyAwIDAwMi41ODEgMEw2Mi4wNDggNDUuMjhhMS44MjMgMS44MjMgMCAwMC0xLjI5LTMuMTEzSDM1LjI0M2ExLjgyMyAxLjgyMyAwIDAwLTEuMjkxIDMuMTEzelwiLz48L2c+PC9zdmc+XG4gIDwvYnV0dG9uPlxuICA8ZGl2ICN0b29sdGlwIFtjbGFzc109XCJbJ2MtbGlzdGJveF9fdG9vbHRpcCAtbWwtc20gbXQtMiBib3JkZXIgYm9yZGVyLW5ldXRyYWwtYmFzZSBzaGFkb3ctbWQgYmctd2hpdGUnLCBjbGFzc2VzVG9vbHRpcF0gfCBtYWtlSHRtbExpc3RcIj5cbiAgICA8dWwgKm5nSWY9XCJpdGVtTGlzdFwiXG4gICAgICAgICNsaXN0IFtpZF09XCJpZFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkxpc3RGb2N1cygpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJtb3ZlRm9jdXMoY3VycmVudEZvY3VzSW5kZXggLSAxLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cIm1vdmVGb2N1cyhjdXJyZW50Rm9jdXNJbmRleCArIDEsICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5ob21lKT1cIm1vdmVGb2N1cygwLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW5kKT1cIm1vdmVGb2N1cyhpdGVtcy5sZW5ndGggLSAxLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25TcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIG91dGxpbmUtbm9uZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJoYXNMYWJlbCgpID8gaWQgOiAoYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGwpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwiaXNNdWx0aXNlbGVjdGFibGUgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwibGFzdEFjdGl2ZUl0ZW1zICYmIGxhc3RBY3RpdmVJdGVtcy5sZW5ndGggPiAwID8gZ2V0SXRlbUlkKGxhc3RBY3RpdmVJdGVtc1swXS5pdGVtLCBsYXN0QWN0aXZlSXRlbXNbMF0uaW5kZXgpIDogbnVsbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtTGlzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPGxpICNvcHRpb24gKm5nSWY9XCJpdGVtXCIgcm9sZT1cIm9wdGlvblwiIChjbGljayk9XCJzZWxlY3RJdGVtKGluZGV4KVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBwci1iYXNlIHBsLWxnIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmb2N1c2VkJzogaW5kZXggPT09IGN1cnJlbnRGb2N1c0luZGV4fVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYWN0aXZlID8gJ3RydWUnIDogKGl0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsKVwiXG4gICAgICAgICAgICBbaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGluZGV4KVwiXG4gICAgICAgICAgICAoZGVzeUF0dHJpYnV0ZUNoYW5nZSk9XCJvbkNoYW5nZUl0ZW1DaGVja2VkKClcIiBbYXR0cmlidXRlc1RvQ2hlY2tdPVwiJ2FyaWEtc2VsZWN0ZWQnXCIgW2Rlc3lBdHRyaWJ1dGVDaGFuZ2VFbmFibGVkXT1cIml0ZW1zICYmIGl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cIml0ZW1cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLmFjdGl2ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IHRlbXBsYXRlOiBpdGVtWydjb250ZW50J10sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxnQkFDWCxTQUFRLDJDQUEyQzthQUduQyxpQkFBWSxHQUFHLFFBQVEsQUFBWCxDQUFZO0lBdUN4QyxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBakI5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMscUJB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RUFBRTtnQkFJNUMsY0FBYztzQkFEYixlQUFlO3VCQUFDLHFCQUFxQjtnQkFFQyxpQkFBaUI7c0JBQXZELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUU1QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUFuZFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IExpc3Rib3hMYWJlbERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xpc3Rib3gtbGFiZWwtZGF0YSc7XG5pbXBvcnQgeyBMaXN0Ym94SXRlbURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xpc3Rib3gtaXRlbS1kYXRhJztcbmltcG9ydCB7IFN0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQgeyBMaXN0Ym94TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3gtbGFiZWwvbGlzdGJveC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdGJveEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgaW5saW5lUG9zaXRpb25pbmcgfSBmcm9tICd0aXBweS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbGlzdGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveENvbXBvbmVudFxuICBleHRlbmRzIEFjY2Vzc2liaWxpdHlBbmRUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgbGlzdGJveEJ1dHRvbjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94TGlzdDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGxpc3Rib3hDb250ZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveE9wdGlvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveExhYmVsQ29tcG9uZW50KVxuICBsYWJlbENvbXBvbmVudDogTGlzdGJveExhYmVsQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PExpc3Rib3hJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nOyAvLyByZXF1aXJlZFxuICBASW5wdXQoKSBpc011bHRpc2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZG9lc0NoYW5nZUJ1dHRvblRleHQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhYmVsOiBMaXN0Ym94TGFiZWxEYXRhO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGl0ZW1zOiBMaXN0Ym94SXRlbURhdGFbXTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTsgLy8gUHJvcGllZGFkZXMgZGUgdGlwcHlcbiAgY3VycmVudEZvY3VzSW5kZXg6IG51bWJlcjsgLy8gw41uZGljZSBkZWwgZWxlbWVudG8gYWN0dWFsIGNvbiBmb2N1c1xuICBidXR0b25Db250ZW50SHRtbDogc3RyaW5nOyAvLyBQdWVkZSBzZXIgZWwgcGFzYWRvIHBvciBwYXLDoW1ldHJvIG8gZWwgaXRlbSBzZWxlY2Npb25hZG8gZW4gY2FzbyBkZSBjdXJyZW50Rm9jdXNJbmRleD10cnVlXG4gIGlzTGlzdFZpc2libGUgPSBmYWxzZTsgLy8gSW5kaWNhIHNpIGxhIGxpc3RhIHNlIGVzdMOhIG1vc3RyYW5kb1xuICBjb250ZW50SW5pdCA9IGZhbHNlOyAvLyBTZSBoYSBpbmljaWFkbyBlbCBjb250ZW5pZG9cbiAgcGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0ID0gZmFsc2U7XG4gIHBlbmRpbmdGb2N1c09uTGlzdCA9IGZhbHNlO1xuXG4gIC8vIGNvbmRpdGlvbmFsSWQgeSBjb25kaXRpb25hbEl0ZW0gcmVwcmVzZW50YW4gZW4gZGVzeS1odG1sIGVsIGl0ZW0gYWN0aXZvLiBBcXXDrSBlcyBtZWpvciBvYnRlbmVybG8gY3VhbmRvIHNlIG5lY2VzaXRhXG4gIGxhc3RBY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGE7IGluZGV4OiBudW1iZXIgfVtdO1xuICBpdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgaXRlbUxpc3Q6IExpc3Rib3hJdGVtRGF0YVtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hDb250ZW50ICYmIHRoaXMubGlzdGJveENvbnRlbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5pbml0VGlwcHkoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaXRlbUxpc3QgPSB0aGlzLml0ZW1zO1xuXG4gICAgICBpZiAodGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0KSB7XG4gICAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgICAgIHRoaXMucGVuZGluZ0NoZWNrQWN0aXZlSXRlbXNBZnRlclZpZXdJbml0ID0gZmFsc2U7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZW50SW5pdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgKCF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy5zZXR1cEl0ZW1Db21wb25lbnRMaXN0KCk7XG4gICAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cEl0ZW1Db21wb25lbnRMaXN0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0ZvY3VzT25MaXN0KSB7XG4gICAgICB0aGlzLnBlbmRpbmdGb2N1c09uTGlzdCA9IGZhbHNlO1xuICAgICAgdGhpcy5saXN0Ym94TGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwSXRlbUNvbXBvbmVudExpc3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXRlbUxpc3QgPSBbXTtcbiAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcbiAgICB9KTtcbiAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGl0ZW0uaXRlbUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCkpO1xuICAgICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0aXZlSXRlbXNEYXRhKCk6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhOyBpbmRleDogbnVtYmVyIH1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbUxpc3QubWFwKChpdGVtLCBpbmRleCkgPT4gKGl0ZW0uYWN0aXZlID8geyBpdGVtLCBpbmRleCB9IDogbnVsbCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbnVsbCk7XG4gIH1cblxuICBvbkNoYW5nZUl0ZW1DaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2hlY2tBY3RpdmVJdGVtcygpOiB2b2lkIHtcbiAgICBsZXQgYWN0aXZlSXRlbXM6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhOyBpbmRleDogbnVtYmVyIH1bXSA9IHRoaXMuaXRlbUxpc3RcbiAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoaXRlbS5hY3RpdmUgPyB7IGl0ZW0sIGluZGV4IH0gOiBudWxsKSlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwpO1xuXG4gICAgLy8gc2UgY29tcHJ1ZWJhIHNpIGFsZ8O6biBpdGVtIGhhIGNhbWJpYWRvIHN1IGVzdGFkbyBkZSBhY3RpdmVcbiAgICBsZXQgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcyAmJiBhY3RpdmVJdGVtcy5sZW5ndGggPT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3RpdmVJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoYWN0aXZlSXRlbXNbaV0uaW5kZXggIT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zW2ldLmluZGV4KSB7XG4gICAgICAgICAgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGNhbWJpb3MgZXh0ZXJub3MgeSBlcyBzZWxlY2Npw7NuIMO6bmljYSwgYW51bGFtb3MgbGEgc2VsZWNjacOzbiBhbnRlcmlvclxuICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcyAmJiAhdGhpcy5pc011bHRpc2VsZWN0YWJsZSAmJiBoYXNBY3RpdmVJdGVtQ2hhbmdlKSB7XG4gICAgICBpZiAoYWN0aXZlSXRlbXMubGVuZ3RoICE9PSB0aGlzLmxhc3RBY3RpdmVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBhY3RpdmVJdGVtIG9mIGFjdGl2ZUl0ZW1zKSB7XG4gICAgICAgICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zLmZpbmRJbmRleCgoaSkgPT4gaS5pbmRleCA9PT0gYWN0aXZlSXRlbS5pbmRleCkgPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXRJdGVtQWN0aXZlVmFsdWUoYWN0aXZlSXRlbS5pbmRleCwgZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGFjdGl2ZUl0ZW1zID0gYWN0aXZlSXRlbXMuZmlsdGVyKChhY3RpdmVJdGVtKSA9PiBhY3RpdmVJdGVtLml0ZW0uYWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGFzdEFjdGl2ZUl0ZW1zID0gYWN0aXZlSXRlbXM7XG5cbiAgICAvLyBTZSBjYW1iaWEgZWwgY29udGVuaWRvIGRlbCBib3TDs25cbiAgICBpZiAodGhpcy5kb2VzQ2hhbmdlQnV0dG9uVGV4dCAmJiAhdGhpcy5pc011bHRpc2VsZWN0YWJsZSAmJiBhY3RpdmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhY3RpdmVJdGVtT3B0aW9uID0gdGhpcy5saXN0Ym94T3B0aW9ucy5maW5kKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGFjdGl2ZUl0ZW1zWzBdLmluZGV4KTtcbiAgICAgIGlmIChhY3RpdmVJdGVtT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQ29udGVudEh0bWwgPSBhY3RpdmVJdGVtT3B0aW9uLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvbkNvbnRlbnRIdG1sID0gdGhpcy5odG1sID8gdGhpcy5odG1sIDogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBTaSBoYXkgY2FtYmlvcywgc2UgZW1pdGVuXG4gICAgaWYgKGhhc0FjdGl2ZUl0ZW1DaGFuZ2UpIHtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1MaXN0KTtcbiAgICAgIHRoaXMuYWN0aXZlSXRlbUNoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDAgPyBhY3RpdmVJdGVtc1swXS5pdGVtIDogbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgb25MaXN0U2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGlzdFZpc2libGUgPSB0cnVlO1xuICAgIGlmICh0aGlzLmxpc3Rib3hMaXN0KSB7XG4gICAgICB0aGlzLnBlbmRpbmdGb2N1c09uTGlzdCA9IHRydWU7XG4gICAgICAvL3NldFRpbWVvdXQoKCkgPT4gdGhpcy5saXN0Ym94TGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbiAgfVxuXG4gIG9uTGlzdENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNMaXN0VmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgb25MaXN0Rm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlSXRlbXNEYXRhID0gdGhpcy5nZXRBY3RpdmVJdGVtc0RhdGEoKTtcbiAgICBpZiAoYWN0aXZlSXRlbXNEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGFjdGl2ZUVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEl0ZW1JZChhY3RpdmVJdGVtc0RhdGFbMF0uaXRlbSwgYWN0aXZlSXRlbXNEYXRhWzBdLmluZGV4KSk7XG4gICAgICBpZiAoYWN0aXZlRWxlbSkge1xuICAgICAgICBhY3RpdmVFbGVtLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSBhY3RpdmVJdGVtc0RhdGFbMF0uaW5kZXg7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLml0ZW1MaXN0ICYmIHRoaXMuaXRlbUxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IDA7XG4gICAgICBpZiAoIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKDApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIGVsZW1lbnQgdG8gZm9jdXMnKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlRm9jdXMocG9zaXRpb246IG51bWJlciwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAocG9zaXRpb24gPj0gMCAmJiBwb3NpdGlvbiA8IHRoaXMuaXRlbUxpc3QubGVuZ3RoKSB7XG4gICAgICBpZiAodGhpcy5pc011bHRpc2VsZWN0YWJsZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gcG9zaXRpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0ocG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5pc011bHRpc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zZWxlY3RJdGVtKHRoaXMuY3VycmVudEZvY3VzSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc011bHRpc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5pdGVtTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB0aGlzLnNldEl0ZW1BY3RpdmVWYWx1ZShpbmRleCwgZmFsc2UpKTtcbiAgICAgIHRoaXMuc2V0SXRlbUFjdGl2ZVZhbHVlKGluZGV4LCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRJdGVtQWN0aXZlVmFsdWUoaW5kZXgsICF0aGlzLml0ZW1MaXN0W2luZGV4XS5hY3RpdmUpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gaW5kZXg7XG5cbiAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SXRlbUFjdGl2ZVZhbHVlKGluZGV4OiBudW1iZXIsIGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRMaXN0ICE9PSBudWxsICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVhY3RpdmF0ZWRJdGVtID0gdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5nZXQoaW5kZXgpO1xuICAgICAgZGVhY3RpdmF0ZWRJdGVtPy5zZXRBY3RpdmUoYWN0aXZlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlID0gYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIE3DqXRvZG9zIHBhcmEgZmFjaWxpdGFyIGNvbnRlbmlkbyBhbCB0ZW1wbGF0ZVxuICAgKi9cblxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHRoaXMuaWQgKyAnLWxpc3Rib3gtaXRlbSc7XG4gIH1cblxuICBnZXRJdGVtSWQoaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaXRlbUlkOiBzdHJpbmc7XG4gICAgaWYgKGl0ZW0uaWQpIHtcbiAgICAgIGl0ZW1JZCA9IGl0ZW0uaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1JZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKTtcbiAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgaXRlbUlkICs9IGAtJHtpbmRleH1gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXRlbUlkO1xuICB9XG5cbiAgaGFzTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMubGFiZWwgfHwgdGhpcy5sYWJlbENvbXBvbmVudCk7XG4gIH1cblxuICBnZXRMYWJlbENvbnRlbnQobGFiZWw6IExpc3Rib3hMYWJlbERhdGEpOiBzdHJpbmcge1xuICAgIHJldHVybiBsYWJlbC5odG1sID8gbGFiZWwuaHRtbCA6IGA8cD4ke1N0cmluZ1V0aWxzLmVzY2FwZUh0bWwobGFiZWwudGV4dCl9PC9wPmA7XG4gIH1cblxuICBpbml0VGlwcHkoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudFRvb2x0aXAgPSB0aGlzLmxpc3Rib3hDb250ZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgbGlzdGJveEJ1dHRvbkVsZW1lbnQgPSB0aGlzLmxpc3Rib3hCdXR0b24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnRpcHB5UHJvcGVydGllcyA9IHtcbiAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICBpbmxpbmVQb3NpdGlvbmluZzogdHJ1ZSxcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRUb29sdGlwLFxuICAgICAgYWxsb3dIVE1MOiB0cnVlLCAvLyBNYWtlIHN1cmUgeW91IGFyZSBzYW5pdGl6aW5nIGFueSB1c2VyIGRhdGEgaWYgcmVuZGVyaW5nIEhUTUwgdG8gcHJldmVudCBYU1MgYXR0YWNrcy5cbiAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICBoaWRlT25DbGljazogdHJ1ZSxcbiAgICAgIGludGVyYWN0aXZlOiB0cnVlLFxuICAgICAgYXJyb3c6IGZhbHNlLFxuICAgICAgb2Zmc2V0OiBbMCwgLTEwXSxcbiAgICAgIHRoZW1lOiAnJyxcbiAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdoaWRlT25Qb3BwZXJCbHVyJyxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgZm4oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9uQ3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wcm9wcy5oaWRlT25Qb3BwZXJCbHVyICYmXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgJiZcbiAgICAgICAgICAgICAgICAgICAgIWluc3RhbmNlLnBvcHBlci5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdoaWRlT25Fc2MnLFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICBmbih7IGhpZGUgfSk6IGFueSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gTGlzdGJveENvbXBvbmVudC5LRVlfQ09ERV9FU0MpIHtcbiAgICAgICAgICAgICAgICBoaWRlKCk7XG4gICAgICAgICAgICAgICAgbGlzdGJveEJ1dHRvbkVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBvblNob3coKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9uSGlkZSgpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgaW5saW5lUG9zaXRpb25pbmcsXG4gICAgICBdLFxuICAgICAgcm9sZTogZmFsc2UsXG4gICAgICBhcmlhOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdhdXRvJyxcbiAgICAgIH0sXG4gICAgICBvblNob3c6IHRoaXMub25MaXN0U2hvdy5iaW5kKHRoaXMpLFxuICAgICAgb25IaWRkZW46IHRoaXMub25MaXN0Q2xvc2UuYmluZCh0aGlzKSxcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cImNsYXNzZXNDb250YWluZXIgPyBjbGFzc2VzQ29udGFpbmVyIDogJ3JlbGF0aXZlJ1wiXG4gIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCI+XG4gIDxkaXZcbiAgICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gICAgW2NsYXNzXT1cIlsnbWItc20nLCBsYWJlbENvbXBvbmVudD8uY2xhc3NlcywgbGFiZWw/LmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgIGNvbXBvbmVudDogbGFiZWxDb21wb25lbnQsXG4gICAgICAgIGh0bWw6IGxhYmVsID8gZ2V0TGFiZWxDb250ZW50KGxhYmVsKSA6IG51bGwsXG4gICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgI2J1dHRvblxuICAgIFtpZF09XCJpZCArICctYnV0dG9uJ1wiXG4gICAgW2NsYXNzXT1cIlsnYy1saXN0Ym94JywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgIG5neFRpcHB5XG4gICAgW3RpcHB5UHJvcHNdPVwidGlwcHlQcm9wZXJ0aWVzXCJcbiAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIltoYXNMYWJlbCgpID8gaWQgKyAnLWxhYmVsJyA6IG51bGwsIGlkICsgJy1idXR0b24nXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJpbmxpbmUtZmxleCBzZWxmLWNlbnRlciBtYXgtdy14cyBhbGlnbi1taWRkbGUgdHJ1bmNhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYnV0dG9uQ29udGVudEh0bWxcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnV0dG9uQ29udGVudEh0bWwgfHwgdGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBodG1sOiBidXR0b25Db250ZW50SHRtbCwgdGV4dDogdGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgLW1yLTIgYWxpZ24tbWlkZGxlIC1teS1weFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDk2IDk2XCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgIHdpZHRoPVwiMS41ZW1cIlxuICAgICAgaGVpZ2h0PVwiMS41ZW1cIj5cbiAgICAgIDxnPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNDYuNzEgNTguMDM3YTEuODIzIDEuODIzIDAgMDAyLjU4MSAwTDYyLjA0OCA0NS4yOGExLjgyMyAxLjgyMyAwIDAwLTEuMjktMy4xMTNIMzUuMjQzYTEuODIzIDEuODIzIDAgMDAtMS4yOTEgMy4xMTN6XCIgLz5cbiAgICAgIDwvZz5cbiAgICA8L3N2Zz5cbiAgPC9idXR0b24+XG4gIDxkaXZcbiAgICAjdG9vbHRpcFxuICAgIFtjbGFzc109XCJcbiAgICAgIFsnYy1saXN0Ym94X190b29sdGlwIC1tbC1zbSBtdC0yIGJvcmRlciBib3JkZXItbmV1dHJhbC1iYXNlIHNoYWRvdy1tZCBiZy13aGl0ZScsIGNsYXNzZXNUb29sdGlwXSB8IG1ha2VIdG1sTGlzdFxuICAgIFwiPlxuICAgIDx1bFxuICAgICAgKm5nSWY9XCJpdGVtTGlzdFwiXG4gICAgICAjbGlzdFxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIChmb2N1cyk9XCJvbkxpc3RGb2N1cygpXCJcbiAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZUZvY3VzKGN1cnJlbnRGb2N1c0luZGV4IC0gMSwgJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwibW92ZUZvY3VzKGN1cnJlbnRGb2N1c0luZGV4ICsgMSwgJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bi5ob21lKT1cIm1vdmVGb2N1cygwLCAkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duLmVuZCk9XCJtb3ZlRm9jdXMoaXRlbXMubGVuZ3RoIC0gMSwgJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlKCRldmVudClcIlxuICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICBjbGFzcz1cInRleHQtc20gb3V0bGluZS1ub25lXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJoYXNMYWJlbCgpID8gaWQgOiBhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJpc011bHRpc2VsZWN0YWJsZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICBsYXN0QWN0aXZlSXRlbXMgJiYgbGFzdEFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IGdldEl0ZW1JZChsYXN0QWN0aXZlSXRlbXNbMF0uaXRlbSwgbGFzdEFjdGl2ZUl0ZW1zWzBdLmluZGV4KVxuICAgICAgICAgIDogbnVsbFxuICAgICAgXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1MaXN0OyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAjb3B0aW9uXG4gICAgICAgICAgKm5nSWY9XCJpdGVtXCJcbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpbmRleClcIlxuICAgICAgICAgIFtjbGFzc109XCJcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgJ2ZsZXggaXRlbXMtY2VudGVyIHByLWJhc2UgcGwtbGcgcHktc20gaG92ZXI6YmctcHJpbWFyeS1iYXNlIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrJyxcbiAgICAgICAgICAgICAgaXRlbS5jbGFzc2VzLFxuICAgICAgICAgICAgXSB8IG1ha2VIdG1sTGlzdFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBmb2N1c2VkOiBpbmRleCA9PT0gY3VycmVudEZvY3VzSW5kZXggfVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFjdGl2ZSA/ICd0cnVlJyA6IGl0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICBbaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGluZGV4KVwiXG4gICAgICAgICAgKGRlc3lBdHRyaWJ1dGVDaGFuZ2UpPVwib25DaGFuZ2VJdGVtQ2hlY2tlZCgpXCJcbiAgICAgICAgICBbYXR0cmlidXRlc1RvQ2hlY2tdPVwiJ2FyaWEtc2VsZWN0ZWQnXCJcbiAgICAgICAgICBbZGVzeUF0dHJpYnV0ZUNoYW5nZUVuYWJsZWRdPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cIml0ZW1cIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5hY3RpdmVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgdGVtcGxhdGU6IGl0ZW1bJ2NvbnRlbnQnXSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -53,11 +53,11 @@ export class PillComponent extends AccessibilityAndContentRequiredComponent {
|
|
|
53
53
|
return PillComponent.TYPE_SPAN;
|
|
54
54
|
}
|
|
55
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PillComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PillComponent, selector: "desy-pill", inputs: { type: "type", href: "href", target: "target", fragment: "fragment", routerLink: "routerLink", routerLinkActiveClasses: "routerLinkActiveClasses", classes: "classes", id: "id" }, outputs: { clickEvent: "clickEvent" }, host: { properties: { "attr.tabindex": "this.hostTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PillComponent, selector: "desy-pill", inputs: { type: "type", href: "href", target: "target", fragment: "fragment", routerLink: "routerLink", routerLinkActiveClasses: "routerLinkActiveClasses", classes: "classes", id: "id" }, outputs: { clickEvent: "clickEvent" }, host: { properties: { "attr.tabindex": "this.hostTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getType()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\n <a\n *ngIf=\"routerLink\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [href]=\"href | externalHref\"\n [class]=\"getClassNames()\"\n [attr.target]=\"target ? target : null\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n\n <span\n *ngSwitchCase=\"staticElementTypeSpan\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.InnerContentDirective, selector: "[desyInnerContent]", inputs: ["desyInnerContent", "isHtml", "deleteContentIfEmpty"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }] }); }
|
|
57
57
|
}
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PillComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
|
-
args: [{ selector: 'desy-pill', template: "<ng-template #contentTemplate>\n
|
|
60
|
+
args: [{ selector: 'desy-pill', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-container [ngSwitch]=\"getType()\">\n <ng-container *ngSwitchCase=\"staticElementTypeA\">\n <!-- routerLink modifica href, por eso se duplica para que no convivan en un mismo html -->\n <a\n *ngIf=\"routerLink\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [routerLink]=\"routerLink\"\n [routerLinkActive]=\"routerLinkActiveClasses ? routerLinkActiveClasses : []\"\n [fragment]=\"fragment\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n\n <a\n *ngIf=\"!routerLink\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [href]=\"href | externalHref\"\n [class]=\"getClassNames()\"\n [attr.target]=\"target ? target : null\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </a>\n </ng-container>\n\n <button\n *ngSwitchCase=\"staticElementTypeButton\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n\n <span\n *ngSwitchCase=\"staticElementTypeSpan\"\n data-module=\"c-pill\"\n (click)=\"onClick($event)\"\n [desyInnerContent]=\"html ? html : text\"\n [isHtml]=\"isHtml\"\n [deleteContentIfEmpty]=\"false\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </span>\n</ng-container>\n" }]
|
|
61
61
|
}], propDecorators: { type: [{
|
|
62
62
|
type: Input
|
|
63
63
|
}], href: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
80
80
|
type: HostBinding,
|
|
81
81
|
args: ['attr.tabindex']
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9waWxsL3BpbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvcGlsbC9waWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBTXRGLE1BQU0sT0FBTyxhQUFjLFNBQVEsd0NBQXdDO0lBSjNFOztRQWtCWSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVILGlCQUFZLEdBQUcsSUFBSSxDQUFDO0tBNkM1RDthQTVEd0IsV0FBTSxHQUFXLEdBQUcsQUFBZCxDQUFlO2FBQ3JCLGdCQUFXLEdBQVcsUUFBUSxBQUFuQixDQUFvQjthQUMvQixjQUFTLEdBQVcsTUFBTSxBQUFqQixDQUFrQjtJQWlCbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUM5QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQzsrR0E1RFUsYUFBYTttR0FBYixhQUFhLDJXQ1AxQixzcUVBaUVBOzs0RkQxRGEsYUFBYTtrQkFKekIsU0FBUzsrQkFDRSxXQUFXOzhCQVFaLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVnQyxZQUFZO3NCQUFsRCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUFuZENvbnRlbnRSZXF1aXJlZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1waWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpbGwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQaWxsQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUFuZENvbnRlbnRSZXF1aXJlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9BOiBzdHJpbmcgPSAnYSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9CVVRUT046IHN0cmluZyA9ICdidXR0b24nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfU1BBTjogc3RyaW5nID0gJ3NwYW4nO1xuXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZzsgLy8gJ2EnLCAnYnV0dG9uJyBvICdzcGFuJ1xuICBASW5wdXQoKSBocmVmOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhcmdldDogc3RyaW5nO1xuICBASW5wdXQoKSBmcmFnbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rOiBzdHJpbmcgfCBhbnlbXTtcbiAgQElucHV0KCkgcm91dGVyTGlua0FjdGl2ZUNsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgcmVhZG9ubHkgaG9zdFRhYkluZGV4ID0gbnVsbDsgLy8gRml4IHBhcmEgZXZpdGFyIGVsIHRhYi1pbmRleCBhZ3JlZ2FkbyBwb3Igcm91dGVyTGluayBlbiBlbCBob3N0XG5cbiAgaXNIdG1sOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNIdG1sID0gQm9vbGVhbih0aGlzLmh0bWwpO1xuICB9XG5cbiAgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIGxldCB0eXBlOiBzdHJpbmc7XG4gICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgdHlwZSA9IHRoaXMudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICAgIHR5cGUgPSBQaWxsQ29tcG9uZW50LlRZUEVfQTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBQaWxsQ29tcG9uZW50LlRZUEVfU1BBTjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBnZXRDbGFzc05hbWVzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNsYXNzTmFtZXMgPSAnYy1waWxsJztcbiAgICBpZiAodGhpcy5jbGFzc2VzKSB7XG4gICAgICBjbGFzc05hbWVzICs9ICcgJyArIHRoaXMuY2xhc3NlcztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gIH1cblxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVBKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFBpbGxDb21wb25lbnQuVFlQRV9BO1xuICB9XG5cbiAgZ2V0IHN0YXRpY0VsZW1lbnRUeXBlQnV0dG9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFBpbGxDb21wb25lbnQuVFlQRV9CVVRUT047XG4gIH1cblxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVTcGFuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFBpbGxDb21wb25lbnQuVFlQRV9TUEFOO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZ2V0VHlwZSgpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN0YXRpY0VsZW1lbnRUeXBlQVwiPlxuICAgIDwhLS0gcm91dGVyTGluayBtb2RpZmljYSBocmVmLCBwb3IgZXNvIHNlIGR1cGxpY2EgcGFyYSBxdWUgbm8gY29udml2YW4gZW4gdW4gbWlzbW8gaHRtbCAtLT5cbiAgICA8YVxuICAgICAgKm5nSWY9XCJyb3V0ZXJMaW5rXCJcbiAgICAgIGRhdGEtbW9kdWxlPVwiYy1waWxsXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgW2Rlc3lJbm5lckNvbnRlbnRdPVwiaHRtbCA/IGh0bWwgOiB0ZXh0XCJcbiAgICAgIFtpc0h0bWxdPVwiaXNIdG1sXCJcbiAgICAgIFtkZWxldGVDb250ZW50SWZFbXB0eV09XCJmYWxzZVwiXG4gICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cInJvdXRlckxpbmtBY3RpdmVDbGFzc2VzID8gcm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgW2NsYXNzXT1cImdldENsYXNzTmFtZXMoKVwiXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cblxuICAgIDxhXG4gICAgICAqbmdJZj1cIiFyb3V0ZXJMaW5rXCJcbiAgICAgIGRhdGEtbW9kdWxlPVwiYy1waWxsXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgW2Rlc3lJbm5lckNvbnRlbnRdPVwiaHRtbCA/IGh0bWwgOiB0ZXh0XCJcbiAgICAgIFtpc0h0bWxdPVwiaXNIdG1sXCJcbiAgICAgIFtkZWxldGVDb250ZW50SWZFbXB0eV09XCJmYWxzZVwiXG4gICAgICBbaHJlZl09XCJocmVmIHwgZXh0ZXJuYWxIcmVmXCJcbiAgICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIlxuICAgICAgW2F0dHIudGFyZ2V0XT1cInRhcmdldCA/IHRhcmdldCA6IG51bGxcIlxuICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxidXR0b25cbiAgICAqbmdTd2l0Y2hDYXNlPVwic3RhdGljRWxlbWVudFR5cGVCdXR0b25cIlxuICAgIGRhdGEtbW9kdWxlPVwiYy1waWxsXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICBbZGVzeUlubmVyQ29udGVudF09XCJodG1sID8gaHRtbCA6IHRleHRcIlxuICAgIFtpc0h0bWxdPVwiaXNIdG1sXCJcbiAgICBbZGVsZXRlQ29udGVudElmRW1wdHldPVwiZmFsc2VcIlxuICAgIFtjbGFzc109XCJnZXRDbGFzc05hbWVzKClcIlxuICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcbiAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwic3RhdGljRWxlbWVudFR5cGVTcGFuXCJcbiAgICBkYXRhLW1vZHVsZT1cImMtcGlsbFwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgW2Rlc3lJbm5lckNvbnRlbnRdPVwiaHRtbCA/IGh0bWwgOiB0ZXh0XCJcbiAgICBbaXNIdG1sXT1cImlzSHRtbFwiXG4gICAgW2RlbGV0ZUNvbnRlbnRJZkVtcHR5XT1cImZhbHNlXCJcbiAgICBbY2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs
CHANGED
|
@@ -3,15 +3,15 @@ import { AccessibilityComponent } from '../../../../shared/components';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ToggleOffStateComponent extends AccessibilityComponent {
|
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleOffStateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleOffStateComponent, selector: "desy-toggle-off-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOffState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOffState>\n
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleOffStateComponent, selector: "desy-toggle-off-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOffState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOffState>\n <ng-content></ng-content>\n</ng-template>\n" }); }
|
|
7
7
|
}
|
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleOffStateComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
|
-
args: [{ selector: 'desy-toggle-off-state', template: "<ng-template #contentTemplateOffState>\n
|
|
10
|
+
args: [{ selector: 'desy-toggle-off-state', template: "<ng-template #contentTemplateOffState>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
11
11
|
}], propDecorators: { content: [{
|
|
12
12
|
type: ViewChild,
|
|
13
13
|
args: ['contentTemplateOffState', { static: true }]
|
|
14
14
|
}], classes: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9mZi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLW9mZi1zdGF0ZS90b2dnbGUtb2ZmLXN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUtb2ZmLXN0YXRlL3RvZ2dsZS1vZmYtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQU12RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsc0JBQXNCOytHQUF0RCx1QkFBdUI7bUdBQXZCLHVCQUF1QixzUENQcEMsdUZBR0E7OzRGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBSXVCLE9BQU87c0JBQTlELFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUU3QyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9nZ2xlLW9mZi1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtb2ZmLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlT2ZmU3RhdGVDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnY29udGVudFRlbXBsYXRlT2ZmU3RhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50O1xuXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlT2ZmU3RhdGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs
CHANGED
|
@@ -3,15 +3,15 @@ import { AccessibilityComponent } from '../../../../shared/components';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ToggleOnStateComponent extends AccessibilityComponent {
|
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleOnStateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleOnStateComponent, selector: "desy-toggle-on-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOnState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOnState>\n
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleOnStateComponent, selector: "desy-toggle-on-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOnState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOnState>\n <ng-content></ng-content>\n</ng-template>\n" }); }
|
|
7
7
|
}
|
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleOnStateComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
|
-
args: [{ selector: 'desy-toggle-on-state', template: "<ng-template #contentTemplateOnState>\n
|
|
10
|
+
args: [{ selector: 'desy-toggle-on-state', template: "<ng-template #contentTemplateOnState>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
11
11
|
}], propDecorators: { content: [{
|
|
12
12
|
type: ViewChild,
|
|
13
13
|
args: ['contentTemplateOnState', { static: true }]
|
|
14
14
|
}], classes: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUtb24tc3RhdGUvdG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUtb24tc3RhdGUvdG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHNCQUFzQjsrR0FBckQsc0JBQXNCO21HQUF0QixzQkFBc0Isb1BDUG5DLHNGQUdBOzs0RkRJYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUl1QixPQUFPO3NCQUE3RCxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFNUMsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRvZ2dsZS1vbi1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtb24tc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVPblN0YXRlQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZU9uU3RhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50O1xuXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlT25TdGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -20,7 +20,7 @@ export class ToggleComponent extends AccessibilityComponent {
|
|
|
20
20
|
this.clickEvent.emit(event);
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleComponent, selector: "desy-toggle", inputs: { id: "id", isSwitch: "isSwitch", pressed: "pressed", classes: "classes", isExpandible: "isExpandible", cfg: "cfg" }, outputs: { clickEvent: "clickEvent", pressedChange: "pressedChange" }, host: { properties: { "class.relative": "this.cfg" } }, queries: [{ propertyName: "contentTemplateOnState", predicate: ToggleOnStateComponent }, { propertyName: "contentTemplateOffState", predicate: ToggleOffStateComponent }], usesInheritance: true, ngImport: i0, template: "<!-- toggle -->\n
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleComponent, selector: "desy-toggle", inputs: { id: "id", isSwitch: "isSwitch", pressed: "pressed", classes: "classes", isExpandible: "isExpandible", cfg: "cfg" }, outputs: { clickEvent: "clickEvent", pressedChange: "pressedChange" }, host: { properties: { "class.relative": "this.cfg" } }, queries: [{ propertyName: "contentTemplateOnState", predicate: ToggleOnStateComponent }, { propertyName: "contentTemplateOffState", predicate: ToggleOffStateComponent }], usesInheritance: true, ngImport: i0, template: "<!-- toggle -->\n<button\n *ngIf=\"isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? classes + ' ' + contentTemplateOnState?.classes : classes + ' ' + contentTemplateOffState?.classes\"\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\n [attr.aria-pressed]=\"!isExpandible ? (pressed ? 'true' : 'false') : null\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"'switch'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-expanded]=\"isExpandible ? (pressed ? 'true' : 'false') : null\">\n <span\n [class]=\"pressed ? 'hidden' : ''\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container>\n </span>\n <span\n [class]=\"pressed ? '' : 'hidden'\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container>\n </span>\n</button>\n\n<button\n *ngIf=\"!isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? classes + ' ' + contentTemplateOnState?.classes : classes + ' ' + contentTemplateOffState?.classes\"\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <span\n [class]=\"pressed ? 'hidden' : ''\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container>\n </span>\n <span\n [class]=\"pressed ? '' : 'hidden'\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container>\n </span>\n</button>\n<!-- /toggle -->\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }] }); }
|
|
24
24
|
}
|
|
25
25
|
__decorate([
|
|
26
26
|
DesyContentChild(),
|
|
@@ -32,7 +32,7 @@ __decorate([
|
|
|
32
32
|
], ToggleComponent.prototype, "contentTemplateOffState", void 0);
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'desy-toggle', template: "<!-- toggle -->\n
|
|
35
|
+
args: [{ selector: 'desy-toggle', template: "<!-- toggle -->\n<button\n *ngIf=\"isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? classes + ' ' + contentTemplateOnState?.classes : classes + ' ' + contentTemplateOffState?.classes\"\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\n [attr.aria-pressed]=\"!isExpandible ? (pressed ? 'true' : 'false') : null\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"'switch'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-expanded]=\"isExpandible ? (pressed ? 'true' : 'false') : null\">\n <span\n [class]=\"pressed ? 'hidden' : ''\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container>\n </span>\n <span\n [class]=\"pressed ? '' : 'hidden'\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container>\n </span>\n</button>\n\n<button\n *ngIf=\"!isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? classes + ' ' + contentTemplateOnState?.classes : classes + ' ' + contentTemplateOffState?.classes\"\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <span\n [class]=\"pressed ? 'hidden' : ''\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container>\n </span>\n <span\n [class]=\"pressed ? '' : 'hidden'\"\n class=\"pointer-events-none\">\n <ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container>\n </span>\n</button>\n<!-- /toggle -->\n" }]
|
|
36
36
|
}], propDecorators: { id: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}], isSwitch: [{
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
59
59
|
type: ContentChildren,
|
|
60
60
|
args: [ToggleOffStateComponent]
|
|
61
61
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBTXJGLE1BQU0sT0FBTyxlQUFnQixTQUFRLHNCQUFzQjtJQUozRDs7UUFXMEMsUUFBRyxHQUFHLElBQUksQ0FBQztRQUV6QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0tBZXRFO0lBTEMsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBeEJVLGVBQWU7bUdBQWYsZUFBZSx1VkFhVCxzQkFBc0IsMERBSXRCLHVCQUF1QixvREMzQjFDLHduREE0Q0E7O0FEcEJFO0lBRkMsZ0JBQWdCLEVBQUU7OEJBRUssc0JBQXNCOytEQUFDO0FBSS9DO0lBRkMsZ0JBQWdCLEVBQUU7OEJBRU0sdUJBQXVCO2dFQUFDOzRGQWxCdEMsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxhQUFhOzhCQUlkLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFa0MsR0FBRztzQkFBMUMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBRTVCLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFJUCxzQkFBc0I7c0JBRHJCLGVBQWU7dUJBQUMsc0JBQXNCO2dCQUt2Qyx1QkFBdUI7c0JBRHRCLGVBQWU7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQgeyBUb2dnbGVPZmZTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdG9nZ2xlLW9mZi1zdGF0ZS90b2dnbGUtb2ZmLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVPblN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi90b2dnbGUtb24tc3RhdGUvdG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBpc1N3aXRjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgcHJlc3NlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBpc0V4cGFuZGlibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZWxhdGl2ZScpIGNmZyA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwcmVzc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUb2dnbGVPblN0YXRlQ29tcG9uZW50KVxuICBjb250ZW50VGVtcGxhdGVPblN0YXRlOiBUb2dnbGVPblN0YXRlQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUb2dnbGVPZmZTdGF0ZUNvbXBvbmVudClcbiAgY29udGVudFRlbXBsYXRlT2ZmU3RhdGU6IFRvZ2dsZU9mZlN0YXRlQ29tcG9uZW50O1xuXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJlc3NlZCA9ICF0aGlzLnByZXNzZWQ7XG4gICAgdGhpcy5wcmVzc2VkQ2hhbmdlLmVtaXQodGhpcy5wcmVzc2VkKTtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjwhLS0gdG9nZ2xlIC0tPlxuPGJ1dHRvblxuICAqbmdJZj1cImlzU3dpdGNoXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gIFt0eXBlXT1cIididXR0b24nXCJcbiAgW2NsYXNzXT1cInByZXNzZWQgPyBjbGFzc2VzICsgJyAnICsgY29udGVudFRlbXBsYXRlT25TdGF0ZT8uY2xhc3NlcyA6IGNsYXNzZXMgKyAnICcgKyBjb250ZW50VGVtcGxhdGVPZmZTdGF0ZT8uY2xhc3Nlc1wiXG4gIFthdHRyLmFyaWEtY2hlY2tlZF09XCJwcmVzc2VkID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gIFthdHRyLmFyaWEtcHJlc3NlZF09XCIhaXNFeHBhbmRpYmxlID8gKHByZXNzZWQgPyAndHJ1ZScgOiAnZmFsc2UnKSA6IG51bGxcIlxuICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gIFthdHRyLnJvbGVdPVwiJ3N3aXRjaCdcIlxuICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiXG4gIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNFeHBhbmRpYmxlID8gKHByZXNzZWQgPyAndHJ1ZScgOiAnZmFsc2UnKSA6IG51bGxcIj5cbiAgPHNwYW5cbiAgICBbY2xhc3NdPVwicHJlc3NlZCA/ICdoaWRkZW4nIDogJydcIlxuICAgIGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVPZmZTdGF0ZT8uY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgW2NsYXNzXT1cInByZXNzZWQgPyAnJyA6ICdoaWRkZW4nXCJcbiAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlT25TdGF0ZT8uY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG48L2J1dHRvbj5cblxuPGJ1dHRvblxuICAqbmdJZj1cIiFpc1N3aXRjaFwiXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICBbdHlwZV09XCInYnV0dG9uJ1wiXG4gIFtjbGFzc109XCJwcmVzc2VkID8gY2xhc3NlcyArICcgJyArIGNvbnRlbnRUZW1wbGF0ZU9uU3RhdGU/LmNsYXNzZXMgOiBjbGFzc2VzICsgJyAnICsgY29udGVudFRlbXBsYXRlT2ZmU3RhdGU/LmNsYXNzZXNcIlxuICBbYXR0ci5hcmlhLXByZXNzZWRdPVwicHJlc3NlZCA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gIDxzcGFuXG4gICAgW2NsYXNzXT1cInByZXNzZWQgPyAnaGlkZGVuJyA6ICcnXCJcbiAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlT2ZmU3RhdGU/LmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgIFtjbGFzc109XCJwcmVzc2VkID8gJycgOiAnaGlkZGVuJ1wiXG4gICAgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZU9uU3RhdGU/LmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9idXR0b24+XG48IS0tIC90b2dnbGUgLS0+XG4iXX0=
|