desy-angular 12.0.0 → 13.0.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 +10 -9
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +5 -4
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +8 -5
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +11 -6
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +6 -5
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +5 -4
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +4 -3
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +15 -15
- package/esm2022/lib/desy-buttons/interfaces/listbox-item-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/title-data.mjs +1 -1
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +6 -5
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +11 -10
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +10 -9
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +190 -0
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +34 -0
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +4 -3
- package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +5 -4
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +8 -7
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +4 -3
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +8 -7
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +11 -10
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +4 -3
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +6 -5
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +11 -10
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +7 -6
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +8 -7
- package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +8 -7
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +4 -3
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +13 -12
- package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +5 -4
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +12 -9
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +40 -24
- 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/hint-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-input-group-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-radio-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/label-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 +4 -3
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +15 -14
- package/esm2022/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-options.mjs +1 -1
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +2 -2
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +4 -3
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +5 -4
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +4 -2
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +6 -5
- package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +246 -2
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +4 -3
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +15 -14
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +1 -1
- 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-super/header-advanced-super.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +6 -5
- package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +5 -4
- package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +16 -0
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +7 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +8 -5
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +6 -5
- 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/menu-navigation.component.mjs +280 -31
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +6 -5
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +281 -32
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +6 -5
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +7 -6
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +8 -3
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +6 -5
- 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 +2 -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-navigation-item-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-subnav-data.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-items-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item.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 +22 -22
- package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +2 -2
- package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +16 -8
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +26 -5
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +16 -16
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +12 -7
- package/esm2022/lib/desy-tables/interfaces/cell-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/wrapper-data.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +279 -30
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +5 -4
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +4 -3
- package/esm2022/lib/desy-views/components/card/card.component.mjs +4 -3
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +13 -4
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +4 -3
- package/esm2022/lib/desy-views/components/details/details.component.mjs +4 -3
- package/esm2022/lib/desy-views/components/item/item.component.mjs +11 -10
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +280 -32
- package/esm2022/lib/desy-views/components/status/status.component.mjs +283 -32
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +286 -37
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +284 -35
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +281 -33
- package/esm2022/lib/desy-views/desy-views.module.mjs +27 -32
- package/esm2022/lib/desy-views/interfaces/accordion-item.data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/alert-options.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/description-item.data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/status-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/shared/components/accessibility/accessibility-attributes.mjs +78 -0
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +124 -2
- package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +126 -2
- package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +126 -2
- package/esm2022/lib/shared/components/index.mjs +4 -3
- package/esm2022/lib/shared/components/spinner/spinner.component.mjs +329 -0
- package/esm2022/lib/shared/directives/accessibility-directive.mjs +52 -0
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +21 -4
- package/esm2022/lib/shared/interfaces/accessibility-data.mjs +2 -0
- package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +2 -2
- package/esm2022/lib/shared/shared.module.mjs +12 -7
- package/esm2022/lib/shared/sharedExternal.module.mjs +24 -0
- package/esm2022/lib/shared/utils/search-utils.mjs +5 -1
- package/esm2022/public-api.mjs +5 -2
- package/fesm2022/desy-angular.mjs +4273 -965
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/lib/desy-angular.module.d.ts +2 -1
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +2 -0
- package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -3
- package/lib/desy-buttons/desy-buttons.module.d.ts +3 -3
- package/lib/desy-buttons/interfaces/listbox-item-data.d.ts +2 -2
- package/lib/desy-commons/interfaces/title-data.d.ts +2 -2
- package/lib/desy-forms/components/datepicker/datepicker.component.d.ts +31 -0
- package/lib/desy-forms/components/datepicker/datepicker.pipe.d.ts +7 -0
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +5 -5
- package/lib/desy-forms/components/tree/tree.component.d.ts +5 -4
- package/lib/desy-forms/desy-forms.module.d.ts +10 -6
- package/lib/desy-forms/interfaces/error-message-data.d.ts +2 -2
- package/lib/desy-forms/interfaces/fieldset-data.d.ts +2 -2
- package/lib/desy-forms/interfaces/hint-data.d.ts +2 -2
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +3 -3
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +3 -3
- package/lib/desy-forms/interfaces/item-input-group-data.d.ts +3 -3
- package/lib/desy-forms/interfaces/item-radio-data.d.ts +3 -3
- package/lib/desy-forms/interfaces/label-data.d.ts +2 -2
- package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -2
- package/lib/desy-modals/components/modal/modal.component.d.ts +8 -8
- package/lib/desy-modals/interfaces/dialog-options.d.ts +2 -2
- package/lib/desy-modals/interfaces/modal-options.d.ts +4 -4
- package/lib/desy-modals/services/dialog.service.d.ts +1 -1
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +2 -1
- package/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.d.ts +61 -0
- package/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.d.ts +1 -1
- package/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.d.ts +1 -1
- package/lib/desy-nav/components/header-mini/header-mini.component.d.ts +1 -1
- package/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.d.ts +8 -0
- package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +4 -2
- package/lib/desy-nav/components/links-list/links-list.component.d.ts +2 -1
- package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +2 -2
- package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +75 -13
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +3 -3
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +3 -3
- package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +3 -3
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +75 -13
- package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +2 -2
- package/lib/desy-nav/components/notification/notification.component.d.ts +2 -2
- package/lib/desy-nav/desy-nav.module.d.ts +29 -28
- package/lib/desy-nav/interfaces/breadcrumbs.data.d.ts +2 -2
- package/lib/desy-nav/interfaces/error-summary-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/footer-data.d.ts +3 -3
- package/lib/desy-nav/interfaces/footer-logo.d.ts +1 -0
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/header-mobile-text-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/header-navigation-item-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-horizontal-item-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-navigation-item-sub-item.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-navigation.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-vertical-sub-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/menu-vertical-sub-items-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/menubar-item-sub.d.ts +2 -2
- package/lib/desy-nav/interfaces/menubar-item.d.ts +3 -3
- package/lib/desy-nav/interfaces/nav-item.data.d.ts +2 -2
- package/lib/desy-nav/interfaces/notification-items-data.d.ts +2 -2
- package/lib/desy-nav/interfaces/notification-options.d.ts +4 -4
- package/lib/desy-pagination/components/pagination/pagination.component.d.ts +4 -4
- package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +3 -3
- package/lib/desy-pagination/desy-pagination.module.d.ts +3 -1
- package/lib/desy-tables/components/table/table.component.d.ts +3 -0
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -1
- package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +1 -0
- package/lib/desy-tables/interfaces/cell-data.d.ts +2 -2
- package/lib/desy-tables/interfaces/wrapper-data.d.ts +2 -2
- package/lib/desy-views/components/accordion/accordion.component.d.ts +75 -13
- package/lib/desy-views/components/collapsible/collapsible.component.d.ts +5 -1
- package/lib/desy-views/components/item/item.component.d.ts +7 -7
- package/lib/desy-views/components/media-object/media-object.component.d.ts +75 -13
- package/lib/desy-views/components/status/status.component.d.ts +75 -13
- package/lib/desy-views/components/status-item/status-item.component.d.ts +77 -15
- package/lib/desy-views/components/tabs/tabs.component.d.ts +77 -15
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +75 -13
- package/lib/desy-views/desy-views.module.d.ts +30 -31
- package/lib/desy-views/interfaces/accordion-item.data.d.ts +2 -2
- package/lib/desy-views/interfaces/alert-options.d.ts +2 -2
- package/lib/desy-views/interfaces/description-item.data.d.ts +2 -2
- package/lib/desy-views/interfaces/status-data.d.ts +2 -2
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +2 -2
- package/lib/desy-views/interfaces/tabs-panel-data.d.ts +2 -2
- package/lib/desy-views/interfaces/term-definition.data.d.ts +2 -2
- package/lib/shared/components/accessibility/accessibility-attributes.d.ts +1 -0
- package/lib/shared/components/accessibility/accessibility.component.d.ts +78 -17
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +79 -16
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +79 -16
- package/lib/shared/components/index.d.ts +3 -2
- package/lib/shared/components/spinner/spinner.component.d.ts +86 -0
- package/lib/shared/directives/accessibility-directive.d.ts +16 -0
- package/lib/shared/directives/custom-inner-content.directive.d.ts +3 -2
- package/lib/shared/interfaces/accessibility-data.d.ts +77 -0
- package/lib/shared/shared.module.d.ts +4 -3
- package/lib/shared/sharedExternal.module.d.ts +8 -0
- package/package.json +2 -2
- package/public-api.d.ts +4 -1
- package/esm2022/lib/desy-forms/interfaces/accesibility-data.mjs +0 -2
- package/esm2022/lib/desy-pagination/interfaces/index.mjs +0 -2
- package/esm2022/lib/desy-views/components/spinner/spinner.component.mjs +0 -81
- package/esm2022/lib/shared/interfaces/accesibility-data.mjs +0 -2
- package/lib/desy-forms/interfaces/accesibility-data.d.ts +0 -15
- package/lib/desy-pagination/interfaces/index.d.ts +0 -1
- package/lib/desy-views/components/spinner/spinner.component.d.ts +0 -24
- package/lib/shared/interfaces/accesibility-data.d.ts +0 -16
|
@@ -8,7 +8,7 @@ export class NavItemComponent extends ContentBaseComponent {
|
|
|
8
8
|
this.activeChange = new EventEmitter();
|
|
9
9
|
}
|
|
10
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavItemComponent, selector: "desy-nav-item", inputs: { id: "id", active: "active", classes: "classes",
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavItemComponent, selector: "desy-nav-item", inputs: { id: "id", active: "active", classes: "classes", titleModal: "titleModal", href: "href", routerLink: "routerLink", routerLinkActiveClasses: "routerLinkActiveClasses", fragment: "fragment", target: "target", disabled: "disabled", divider: "divider" }, outputs: { clickEvent: "clickEvent", activeChange: "activeChange" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }); }
|
|
12
12
|
}
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavItemComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
@@ -19,7 +19,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
19
19
|
type: Input
|
|
20
20
|
}], classes: [{
|
|
21
21
|
type: Input
|
|
22
|
-
}],
|
|
22
|
+
}], titleModal: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}], href: [{
|
|
25
25
|
type: Input
|
|
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
40
40
|
}], activeChange: [{
|
|
41
41
|
type: Output
|
|
42
42
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUoxRDs7UUFrQlksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQ2xELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQUN0RDsrR0FoQlksZ0JBQWdCO21HQUFoQixnQkFBZ0IscVpDUjdCLCtFQUdBOzs0RkRLYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLaEIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTmF2SXRlbURhdGEsIE5hdkl0ZW1FdmVudERhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1uYXYtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgTmF2SXRlbURhdGEge1xuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3RpdmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZU1vZGFsPzogc3RyaW5nO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rPzogc3RyaW5nfGFueVtdO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlczogc3RyaW5nfHN0cmluZ1tdO1xuICBASW5wdXQoKSBmcmFnbWVudD86IHN0cmluZztcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpdmlkZXI/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxOYXZJdGVtRXZlbnREYXRhPigpO1xuICBAT3V0cHV0KCkgYWN0aXZlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xufVxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -5,8 +5,9 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
import * as i2 from "@angular/router";
|
|
7
7
|
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
8
|
-
import * as i4 from "../../../shared/
|
|
9
|
-
import * as i5 from "../../../shared/pipes/
|
|
8
|
+
import * as i4 from "../../../shared/directives/accessibility-directive";
|
|
9
|
+
import * as i5 from "../../../shared/pipes/make-html-list.pipe";
|
|
10
|
+
import * as i6 from "../../../shared/pipes/external-href.pipe";
|
|
10
11
|
export class NavComponent extends AccessibilityComponent {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
@@ -90,11 +91,11 @@ export class NavComponent extends AccessibilityComponent {
|
|
|
90
91
|
return !item.active && !item.disabled;
|
|
91
92
|
}
|
|
92
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavComponent, selector: "desy-nav", inputs: { hasNav: "hasNav", id: "id", idPrefix: "idPrefix", items: "items", classes: "classes" }, outputs: { clickEvent: "clickEvent" }, queries: [{ propertyName: "itemComponentList", predicate: NavItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NavComponent, selector: "desy-nav", inputs: { hasNav: "hasNav", id: "id", idPrefix: "idPrefix", items: "items", classes: "classes" }, outputs: { clickEvent: "clickEvent" }, queries: [{ propertyName: "itemComponentList", predicate: NavItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle flex-initial ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\" [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle flex-initial ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [desyAppAccessibility]=\"this\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i6.ExternalHrefPipe, name: "externalHref" }] }); }
|
|
94
95
|
}
|
|
95
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavComponent, decorators: [{
|
|
96
97
|
type: Component,
|
|
97
|
-
args: [{ selector: 'desy-nav', template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [
|
|
98
|
+
args: [{ selector: 'desy-nav', template: "<ng-template #innerHtml>\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\n <ng-template #noStrong>\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </ng-template>\n <li>\n <a *ngIf=\"item.href\"\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle flex-initial ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n <a *ngIf=\"!item.href\"\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\" [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\n [attr.id]=\"getItemId(item, i)\"\n [desyAppAccessibility]=\"item\"\n [attr.aria-current]=\"item.active ? 'page' : item.ariaCurrent ? item.ariaCurrent : null\"\n (keydown.arrowUp)=\"movePrevious($event, i)\"\n (keydown.arrowDown)=\"moveNext($event, i)\"\n (click)=\"onClick($event, item)\"\n (keydown.space)=\"simulateClick($event, item, i)\"\n (keydown.enter)=\"simulateClick($event, item, i)\">\n <strong class=\"font-bold\" *ngIf=\"item.active; else noStrong\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </strong>\n <svg *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle flex-initial ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\n </a>\n </li>\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\n <div class=\"sr-only\">Separador</div>\n </li>\n </ng-container>\n</ng-template>\n\n\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\n [class]=\"['text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ul>\n<ng-template #wrapIntoNav>\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\n [id]=\"id\"\n [desyAppAccessibility]=\"this\">\n <ul>\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n </ul>\n </nav>\n</ng-template>\n" }]
|
|
98
99
|
}], propDecorators: { hasNav: [{
|
|
99
100
|
type: Input
|
|
100
101
|
}], id: [{
|
|
@@ -111,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
111
112
|
type: ContentChildren,
|
|
112
113
|
args: [NavItemComponent]
|
|
113
114
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sWUFBYSxTQUFRLHNCQUFzQjtJQUp4RDs7UUFNVyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBTWIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0tBOEY3RDtJQTNGQyxPQUFPLENBQUMsS0FBVSxFQUFFLElBQWlCO1FBQ25DLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFD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LFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RixJQUFJLFFBQVEsRUFBRTtnQkFDWixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWSxFQUFFLElBQWlCLEVBQUUsS0FBYTtRQUMxRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR08sZUFBZSxDQUFDLElBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDOytHQXBHVSxZQUFZO21HQUFaLFlBQVksMk5BU04sZ0JBQWdCLG9EQzVCbkMsb3dQQTZHQTs7NEZEMUZhLFlBQVk7a0JBSnhCLFNBQVM7K0JBQ0UsVUFBVTs4QkFLWCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUM0QixpQkFBaUI7c0JBQW5ELGVBQWU7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBOYXZJdGVtRGF0YSwgTmF2SXRlbUV2ZW50RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmF2SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGhhc05hdiA9IHRydWU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XG4gIEBDb250ZW50Q2hpbGRyZW4oTmF2SXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxOYXZJdGVtQ29tcG9uZW50PjtcblxuICBvbkNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IE5hdkl0ZW1EYXRhKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXNBY3RpdmVDaGFuZ2UgPSBbXTtcbiAgICBpZiAoIWl0ZW0uYWN0aXZlKSB7XG4gICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5nZXRJdGVtTGlzdCgpO1xuICAgIGl0ZW1MaXN0LmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaS5hY3RpdmUgJiYgaSAhPT0gaXRlbSkge1xuICAgICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGkpO1xuICAgICAgfVxuICAgICAgaS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG5cbiAgICAvLyBTZSBlbWl0ZSBlbCBldmVudG8gc8OzbG8gcGFyYSBsb3MgaXRlbXMgY3V5byB2YWxvciBkZSBhY3RpdmUgaGEgc2lkbyBtb2RpZmljYWRvXG4gICAgaXRlbXNBY3RpdmVDaGFuZ2UuZm9yRWFjaChpID0+IHtcbiAgICAgIGlmIChpIGluc3RhbmNlb2YgTmF2SXRlbUNvbXBvbmVudCkge1xuICAgICAgICBpLmFjdGl2ZUNoYW5nZS5lbWl0KGkuYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHsgaXRlbSwgZXZlbnQgfSk7XG4gICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBOYXZJdGVtQ29tcG9uZW50KSB7XG4gICAgICBpdGVtLmNsaWNrRXZlbnQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW1MaXN0KCk6IE5hdkl0ZW1EYXRhW10ge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5pdGVtQ29tcG9uZW50TGlzdCAmJiB0aGlzLml0ZW1Db21wb25lbnRMaXN0Lmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRMaXN0LnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG5cbiAgICByZXR1cm4gaXRlbUxpc3Q7XG4gIH1cblxuICBnZXRJdGVtSWQoaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpZDtcbiAgICBpZiAoaXRlbS5pZCkge1xuICAgICAgaWQgPSBpdGVtLmlkO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArICsraW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJztcbiAgfVxuXG4gIG1vdmVQcmV2aW91cyhldmVudDogRXZlbnQsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbUxpc3QoKTtcbiAgICBsZXQgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IC0gMTtcbiAgICB3aGlsZSAobmV4dEluZGV4ID49IDAgJiYgIXRoaXMuaXNGb2N1c2FibGVJdGVtKGl0ZW1zW25leHRJbmRleF0pKSB7XG4gICAgICBuZXh0SW5kZXgtLTtcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4IDwgaXRlbXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGl0ZW1zW25leHRJbmRleF0sIG5leHRJbmRleCkpO1xuICAgICAgaWYgKGl0ZW1FbGVtKSB7XG4gICAgICAgIGl0ZW1FbGVtLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbW92ZU5leHQoZXZlbnQ6IEV2ZW50LCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1MaXN0KCk7XG4gICAgbGV0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCArIDE7XG4gICAgd2hpbGUgKG5leHRJbmRleCA8IGl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc0ZvY3VzYWJsZUl0ZW0oaXRlbXNbbmV4dEluZGV4XSkpIHtcbiAgICAgIG5leHRJbmRleCsrO1xuICAgIH1cblxuICAgIGlmIChuZXh0SW5kZXggPCBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGl0ZW1FbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoaXRlbXNbbmV4dEluZGV4XSwgbmV4dEluZGV4KSk7XG4gICAgICBpZiAoaXRlbUVsZW0pIHtcbiAgICAgICAgaXRlbUVsZW0uZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaW11bGF0ZUNsaWNrKGV2ZW50OiBFdmVudCwgaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEl0ZW1JZChpdGVtLCBpbmRleCkpO1xuICAgIGVsZW1lbnQ/LmNsaWNrKCk7XG4gIH1cblxuXG4gIHByaXZhdGUgaXNGb2N1c2FibGVJdGVtKGl0ZW06IE5hdkl0ZW1EYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpdGVtLmFjdGl2ZSAmJiAhaXRlbS5kaXNhYmxlZDtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI2lubmVySHRtbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtTGlzdCgpOyBpbmRleCBhcyBpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNub1N0cm9uZz5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGxpPlxuICAgICAgICAgIDxhICpuZ0lmPVwiaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmhyZWYgfCBleHRlcm5hbEhyZWZcIiBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBweC1iYXNlIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncG9pbnRlci1ldmVudHMtbm9uZSc6IGl0ZW0uZGlzYWJsZWR9XCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiBpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRJdGVtSWQoaXRlbSwgaSlcIlxuICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0udGl0bGUgPyBpdGVtLnRpdGxlIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsID8gaXRlbS5hcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5ID8gaXRlbS5hcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzID8gaXRlbS5hcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlID8gaXRlbS5hcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWQgPyBpdGVtLmFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXAgPyBpdGVtLmFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZVByZXZpb3VzKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJzaW11bGF0ZUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIlxuICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJmb250LWJvbGRcIiAqbmdJZj1cIml0ZW0uYWN0aXZlOyBlbHNlIG5vU3Ryb25nXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBtbC1zbSB0ZXh0LW5ldXRyYWwtYmFzZSBmaWxsLWN1cnJlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiID48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwek0yMCA3MGE1MCA1MCAwIDAxNzQuOC00My40IDIuNTEgMi41MSAwIDAxMS4yMyAxLjg0IDIuNDggMi40OCAwIDAxLS43MSAyLjFMMzAuNTQgOTUuMzJhMi41MSAyLjUxIDAgMDEtMy45NC0uNTJBNDkuNjMgNDkuNjMgMCAwMTIwIDcwem0xMDAgMGE1MCA1MCAwIDAxLTc0LjggNDMuNCAyLjUxIDIuNTEgMCAwMS0xLjIzLTEuODQgMi40OCAyLjQ4IDAgMDEuNzEtMi4xbDY0Ljc4LTY0Ljc4YTIuNTEgMi41MSAwIDAxMy45NC41MkE0OS42MyA0OS42MyAwIDAxMTIwIDcwelwiLz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGEgKm5nSWY9XCIhaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCIgW3JvdXRlckxpbmtBY3RpdmVdPVwiaXRlbS5yb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA/IGl0ZW0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXMgOiBbXVwiXG4gICAgICAgICAgICAgICBbY2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBweC1iYXNlIHB5LXNtIGhvdmVyOmJnLXByaW1hcnktYmFzZSBob3Zlcjp0ZXh0LXdoaXRlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjaycsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydwb2ludGVyLWV2ZW50cy1ub25lJzogaXRlbS5kaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiBpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldEl0ZW1JZChpdGVtLCBpKVwiXG4gICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLnRpdGxlID8gaXRlbS50aXRsZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGUgPyBpdGVtLnJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5hcmlhTGFiZWwgPyBpdGVtLmFyaWFMYWJlbCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeSA/IGl0ZW0uYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeSA/IGl0ZW0uYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlbiA/IGl0ZW0uYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLmFyaWFDb250cm9scyA/IGl0ZW0uYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBpdGVtLmFyaWFDdXJyZW50ID8gaXRlbS5hcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uYXJpYUxpdmUgPyBpdGVtLmFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cCA/IGl0ZW0uYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm1vdmVQcmV2aW91cygkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2ltdWxhdGVDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImZvbnQtYm9sZFwiICpuZ0lmPVwiaXRlbS5hY3RpdmU7IGVsc2Ugbm9TdHJvbmdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBtbC1zbSB0ZXh0LW5ldXRyYWwtYmFzZSBmaWxsLWN1cnJlbnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiID48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwek0yMCA3MGE1MCA1MCAwIDAxNzQuOC00My40IDIuNTEgMi41MSAwIDAxMS4yMyAxLjg0IDIuNDggMi40OCAwIDAxLS43MSAyLjFMMzAuNTQgOTUuMzJhMi41MSAyLjUxIDAgMDEtMy45NC0uNTJBNDkuNjMgNDkuNjMgMCAwMTIwIDcwem0xMDAgMGE1MCA1MCAwIDAxLTc0LjggNDMuNCAyLjUxIDIuNTEgMCAwMS0xLjIzLTEuODQgMi40OCAyLjQ4IDAgMDEuNzEtMi4xbDY0Ljc4LTY0Ljc4YTIuNTEgMi41MSAwIDAxMy45NC41MkE0OS42MyA0OS42MyAwIDAxMTIwIDcwelwiLz48L3N2Zz5cbiAgICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nSWY9XCJpdGVtLmRpdmlkZXJcIiBjbGFzcz1cIm15LXNtIGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNyLW9ubHlcIj5TZXBhcmFkb3I8L2Rpdj5cbiAgICA8L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cblxuPHVsICpuZ0lmPVwiIWhhc05hdjsgZWxzZSB3cmFwSW50b05hdlwiXG4gICAgW2NsYXNzXT1cIlsndGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuPC91bD5cbjxuZy10ZW1wbGF0ZSAjd3JhcEludG9OYXY+XG4gIDxuYXYgW2NsYXNzXT1cIlsndGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgW2lkXT1cImlkXCJcbiAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICAgIDx1bD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lckh0bWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7QUFPakUsTUFBTSxPQUFPLFlBQWEsU0FBUSxzQkFBc0I7SUFKeEQ7O1FBTVcsV0FBTSxHQUFHLElBQUksQ0FBQztRQU1iLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztLQThGN0Q7SUEzRkMsT0FBTyxDQUFDLEtBQVUsRUFBRSxJQUFpQjtRQUNuQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDMUIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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RyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEYsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2xCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxJQUFpQixFQUFFLEtBQWE7UUFDMUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUdPLGVBQWUsQ0FBQyxJQUFpQjtRQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQzsrR0FwR1UsWUFBWTttR0FBWixZQUFZLDJOQVNOLGdCQUFnQixvREM1Qm5DLDBxSkFrRUE7OzRGRC9DYSxZQUFZO2tCQUp4QixTQUFTOytCQUNFLFVBQVU7OEJBS1gsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDNEIsaUJBQWlCO3NCQUFuRCxlQUFlO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjY2Vzc2liaWxpdHlDb21wb25lbnRcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTmF2SXRlbURhdGEsIE5hdkl0ZW1FdmVudERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5hdkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25hdi1pdGVtL25hdi1pdGVtLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOYXZDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBoYXNOYXYgPSB0cnVlO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBpdGVtczogTmF2SXRlbURhdGFbXTtcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxOYXZJdGVtRXZlbnREYXRhPigpO1xuICBAQ29udGVudENoaWxkcmVuKE5hdkl0ZW1Db21wb25lbnQpIGl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8TmF2SXRlbUNvbXBvbmVudD47XG5cbiAgb25DbGljayhldmVudDogYW55LCBpdGVtOiBOYXZJdGVtRGF0YSk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zQWN0aXZlQ2hhbmdlID0gW107XG4gICAgaWYgKCFpdGVtLmFjdGl2ZSkge1xuICAgICAgaXRlbXNBY3RpdmVDaGFuZ2UucHVzaChpdGVtKTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtTGlzdCA9IHRoaXMuZ2V0SXRlbUxpc3QoKTtcbiAgICBpdGVtTGlzdC5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKGkuYWN0aXZlICYmIGkgIT09IGl0ZW0pIHtcbiAgICAgICAgaXRlbXNBY3RpdmVDaGFuZ2UucHVzaChpKTtcbiAgICAgIH1cbiAgICAgIGkuYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gICAgaXRlbS5hY3RpdmUgPSB0cnVlO1xuXG4gICAgLy8gU2UgZW1pdGUgZWwgZXZlbnRvIHPDs2xvIHBhcmEgbG9zIGl0ZW1zIGN1eW8gdmFsb3IgZGUgYWN0aXZlIGhhIHNpZG8gbW9kaWZpY2Fkb1xuICAgIGl0ZW1zQWN0aXZlQ2hhbmdlLmZvckVhY2goaSA9PiB7XG4gICAgICBpZiAoaSBpbnN0YW5jZW9mIE5hdkl0ZW1Db21wb25lbnQpIHtcbiAgICAgICAgaS5hY3RpdmVDaGFuZ2UuZW1pdChpLmFjdGl2ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTmF2SXRlbUNvbXBvbmVudCkge1xuICAgICAgaXRlbS5jbGlja0V2ZW50LmVtaXQoeyBpdGVtLCBldmVudCB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtTGlzdCgpOiBOYXZJdGVtRGF0YVtdIHtcbiAgICBjb25zdCBpdGVtTGlzdCA9IHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwID8gdGhpcy5pdGVtQ29tcG9uZW50TGlzdC50b0FycmF5KCkgOiB0aGlzLml0ZW1zO1xuXG4gICAgcmV0dXJuIGl0ZW1MaXN0O1xuICB9XG5cbiAgZ2V0SXRlbUlkKGl0ZW06IE5hdkl0ZW1EYXRhLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaWQ7XG4gICAgaWYgKGl0ZW0uaWQpIHtcbiAgICAgIGlkID0gaXRlbS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWQgPSB0aGlzLmdldElkUHJlZml4KCkgKyAnLScgKyArK2luZGV4O1xuICAgIH1cbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6ICduYXYtaXRlbSc7XG4gIH1cblxuICBtb3ZlUHJldmlvdXMoZXZlbnQ6IEV2ZW50LCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1MaXN0KCk7XG4gICAgbGV0IG5leHRJbmRleCA9IGN1cnJlbnRJbmRleCAtIDE7XG4gICAgd2hpbGUgKG5leHRJbmRleCA+PSAwICYmICF0aGlzLmlzRm9jdXNhYmxlSXRlbShpdGVtc1tuZXh0SW5kZXhdKSkge1xuICAgICAgbmV4dEluZGV4LS07XG4gICAgfVxuXG4gICAgaWYgKG5leHRJbmRleCA8IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgY29uc3QgaXRlbUVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmdldEl0ZW1JZChpdGVtc1tuZXh0SW5kZXhdLCBuZXh0SW5kZXgpKTtcbiAgICAgIGlmIChpdGVtRWxlbSkge1xuICAgICAgICBpdGVtRWxlbS5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1vdmVOZXh0KGV2ZW50OiBFdmVudCwgY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtTGlzdCgpO1xuICAgIGxldCBuZXh0SW5kZXggPSBjdXJyZW50SW5kZXggKyAxO1xuICAgIHdoaWxlIChuZXh0SW5kZXggPCBpdGVtcy5sZW5ndGggJiYgIXRoaXMuaXNGb2N1c2FibGVJdGVtKGl0ZW1zW25leHRJbmRleF0pKSB7XG4gICAgICBuZXh0SW5kZXgrKztcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4IDwgaXRlbXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpdGVtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGl0ZW1zW25leHRJbmRleF0sIG5leHRJbmRleCkpO1xuICAgICAgaWYgKGl0ZW1FbGVtKSB7XG4gICAgICAgIGl0ZW1FbGVtLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2ltdWxhdGVDbGljayhldmVudDogRXZlbnQsIGl0ZW06IE5hdkl0ZW1EYXRhLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoaXRlbSwgaW5kZXgpKTtcbiAgICBlbGVtZW50Py5jbGljaygpO1xuICB9XG5cblxuICBwcml2YXRlIGlzRm9jdXNhYmxlSXRlbShpdGVtOiBOYXZJdGVtRGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXRlbS5hY3RpdmUgJiYgIWl0ZW0uZGlzYWJsZWQ7XG4gIH1cblxufVxuIiwiPG5nLXRlbXBsYXRlICNpbm5lckh0bWw+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbUxpc3QoKTsgaW5kZXggYXMgaVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9TdHJvbmc+XG4gICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxsaT5cbiAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0uaHJlZlwiXG4gICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmIHwgZXh0ZXJuYWxIcmVmXCIgW3RhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgW2NsYXNzXT1cIlsnZmxleCBpdGVtcy1jZW50ZXIgcHgtYmFzZSBweS1zbSBob3ZlcjpiZy1wcmltYXJ5LWJhc2UgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2snLCBpdGVtLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3BvaW50ZXItZXZlbnRzLW5vbmUnOiBpdGVtLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXRlbS5kaXNhYmxlZCA/IC0xIDogaXRlbS50YWJpbmRleFwiXG4gICAgICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwiaXRlbVwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYWN0aXZlID8gJ3BhZ2UnIDogaXRlbS5hcmlhQ3VycmVudCA/IGl0ZW0uYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm1vdmVQcmV2aW91cygkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwibW92ZU5leHQoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2ltdWxhdGVDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJzaW11bGF0ZUNsaWNrKCRldmVudCwgaXRlbSwgaSlcIj5cbiAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZm9udC1ib2xkXCIgKm5nSWY9XCJpdGVtLmFjdGl2ZTsgZWxzZSBub1N0cm9uZ1wiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIml0ZW0uZGlzYWJsZWRcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiBoZWlnaHQ9XCIxZW1cIiB3aWR0aD1cIjFlbVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBjbGFzcz1cImlubGluZS1ibG9jayBhbGlnbi1taWRkbGUgZmxleC1pbml0aWFsIG1sLXNtIHRleHQtbmV1dHJhbC1iYXNlIGZpbGwtY3VycmVudFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCIgPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6TTIwIDcwYTUwIDUwIDAgMDE3NC44LTQzLjQgMi41MSAyLjUxIDAgMDExLjIzIDEuODQgMi40OCAyLjQ4IDAgMDEtLjcxIDIuMUwzMC41NCA5NS4zMmEyLjUxIDIuNTEgMCAwMS0zLjk0LS41MkE0OS42MyA0OS42MyAwIDAxMjAgNzB6bTEwMCAwYTUwIDUwIDAgMDEtNzQuOCA0My40IDIuNTEgMi41MSAwIDAxLTEuMjMtMS44NCAyLjQ4IDIuNDggMCAwMS43MS0yLjFsNjQuNzgtNjQuNzhhMi41MSAyLjUxIDAgMDEzLjk0LjUyQTQ5LjYzIDQ5LjYzIDAgMDExMjAgNzB6XCIvPjwvc3ZnPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8YSAqbmdJZj1cIiFpdGVtLmhyZWZcIlxuICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZXJMaW5rXCIgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIiBbcm91dGVyTGlua0FjdGl2ZV09XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVDbGFzc2VzID8gaXRlbS5yb3V0ZXJMaW5rQWN0aXZlQ2xhc3NlcyA6IFtdXCJcbiAgICAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZsZXggaXRlbXMtY2VudGVyIHB4LWJhc2UgcHktc20gaG92ZXI6YmctcHJpbWFyeS1iYXNlIGhvdmVyOnRleHQtd2hpdGUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrJywgaXRlbS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3BvaW50ZXItZXZlbnRzLW5vbmUnOiBpdGVtLmRpc2FibGVkfVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0uZGlzYWJsZWQgPyAtMSA6IGl0ZW0udGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0SXRlbUlkKGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFjdGl2ZSA/ICdwYWdlJyA6IGl0ZW0uYXJpYUN1cnJlbnQgPyBpdGVtLmFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm1vdmVQcmV2aW91cygkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlTmV4dCgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2ltdWxhdGVDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNpbXVsYXRlQ2xpY2soJGV2ZW50LCBpdGVtLCBpKVwiPlxuICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImZvbnQtYm9sZFwiICpuZ0lmPVwiaXRlbS5hY3RpdmU7IGVsc2Ugbm9TdHJvbmdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIGhlaWdodD1cIjFlbVwiIHdpZHRoPVwiMWVtXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGNsYXNzPVwiaW5saW5lLWJsb2NrIGFsaWduLW1pZGRsZSBmbGV4LWluaXRpYWwgbWwtc20gdGV4dC1uZXV0cmFsLWJhc2UgZmlsbC1jdXJyZW50XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiA+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHpNMjAgNzBhNTAgNTAgMCAwMTc0LjgtNDMuNCAyLjUxIDIuNTEgMCAwMTEuMjMgMS44NCAyLjQ4IDIuNDggMCAwMS0uNzEgMi4xTDMwLjU0IDk1LjMyYTIuNTEgMi41MSAwIDAxLTMuOTQtLjUyQTQ5LjYzIDQ5LjYzIDAgMDEyMCA3MHptMTAwIDBhNTAgNTAgMCAwMS03NC44IDQzLjQgMi41MSAyLjUxIDAgMDEtMS4yMy0xLjg0IDIuNDggMi40OCAwIDAxLjcxLTIuMWw2NC43OC02NC43OGEyLjUxIDIuNTEgMCAwMTMuOTQuNTJBNDkuNjMgNDkuNjMgMCAwMTEyMCA3MHpcIi8+PC9zdmc+XG4gICAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0lmPVwiaXRlbS5kaXZpZGVyXCIgY2xhc3M9XCJteS1zbSBib3JkZXItYiBib3JkZXItbmV1dHJhbC1iYXNlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzci1vbmx5XCI+U2VwYXJhZG9yPC9kaXY+XG4gICAgPC9saT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG5cbjx1bCAqbmdJZj1cIiFoYXNOYXY7IGVsc2Ugd3JhcEludG9OYXZcIlxuICAgIFtjbGFzc109XCJbJ3RleHQtc20nLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuPC91bD5cbjxuZy10ZW1wbGF0ZSAjd3JhcEludG9OYXY+XG4gIDxuYXYgW2NsYXNzXT1cIlsndGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgW2lkXT1cImlkXCJcbiAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICA8dWw+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJIdG1sXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgPC9uYXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -12,8 +12,9 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
import * as i1 from "@angular/common";
|
|
13
13
|
import * as i2 from "@angular/router";
|
|
14
14
|
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
15
|
-
import * as i4 from "../../../shared/
|
|
16
|
-
import * as i5 from "../../../shared/pipes/
|
|
15
|
+
import * as i4 from "../../../shared/directives/accessibility-directive";
|
|
16
|
+
import * as i5 from "../../../shared/pipes/make-html-list.pipe";
|
|
17
|
+
import * as i6 from "../../../shared/pipes/external-href.pipe";
|
|
17
18
|
export class NotificationComponent extends AccessibilityComponent {
|
|
18
19
|
constructor(changeDetectorRef) {
|
|
19
20
|
super();
|
|
@@ -40,7 +41,7 @@ export class NotificationComponent extends AccessibilityComponent {
|
|
|
40
41
|
return this.itemCompontents && this.itemCompontents.length > 0 ? this.itemCompontents.toArray() : this.items;
|
|
41
42
|
}
|
|
42
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NotificationComponent, selector: "desy-notification", inputs: { id: "id", classes: "classes", isOpen: "isOpen", title: "title", description: "description", content: "content", items: "items", icon: "icon", type: "type", isDismissible: "isDismissible", headingLevel: "headingLevel" }, outputs: { isOpenChange: "isOpenChange" }, queries: [{ propertyName: "titleComponent", predicate: TitleComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "itemCompontents", predicate: NotificationItemComponent }], usesInheritance: true, ngImport: i0, template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type==='success' ? 'c-notification c-notification--success' : type==='alert' ? 'c-notification c-notification--alert' : 'c-notification c-notification--primary') \"\n *ngIf=\"isOpen && !isDismissing\"\n @displayNotification\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <div *ngIf=\"iconComponent || icon || type\" class=\"h-full mr-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container *ngIf=\"type && !iconComponent && !icon\">\n <ng-container [ngSwitch]=\"getType()\">\n <svg *ngSwitchCase=\"'success'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"lg:flex flex-1 self-center\">\n <div class=\"lg:flex-1 lg:self-center\">\n <ng-container *ngIf=\"titleComponent || title\" [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h5>\n <p *ngSwitchDefault [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"descriptionComponent || description\">\n <p [class]=\"descriptionComponent ? descriptionComponent.classes : description.classes\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <ul *ngIf=\"(itemCompontents && itemCompontents.length > 0) || items\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item.routerLink || item.href\">\n <a *ngIf=\"item.routerLink\" class=\"c-link\"\n [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.ariaLabel]=\"item.ariaLabel\"\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\n [attr.ariaHidden]=\"item.ariaHidden\"\n [attr.ariaDisabled]=\"item.ariaDisabled\"\n [attr.ariaControls]=\"item.ariaControls\"\n [attr.ariaCurrent]=\"item.ariaCurrent\"\n [attr.ariaLive]=\"item.ariaLive\"\n [attr.ariaExpanded]=\"item.ariaExpanded\"\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <a *ngIf=\"!item.routerLink && item.href\" class=\"c-link\"\n [href]=\"item.href | externalHref\"\n [target]=\"item.target\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.ariaLabel]=\"item.ariaLabel\"\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\n [attr.ariaHidden]=\"item.ariaHidden\"\n [attr.ariaDisabled]=\"item.ariaDisabled\"\n [attr.ariaControls]=\"item.ariaControls\"\n [attr.ariaCurrent]=\"item.ariaCurrent\"\n [attr.ariaLive]=\"item.ariaLive\"\n [attr.ariaExpanded]=\"item.ariaExpanded\"\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n <li *ngIf=\"!item.routerLink && !item.href\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n <p *ngIf=\"contentComponent || content\" [class]=\"['text-sm', contentComponent ? contentComponent.classes : content.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: contentComponent,\n html: content ? content.html : null,\n text: content ? content.text : null\n }\"></ng-container>\n </p>\n </div>\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm\">\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 pointer-events-none\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i5.ExternalHrefPipe, name: "externalHref" }], animations: [
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NotificationComponent, selector: "desy-notification", inputs: { id: "id", classes: "classes", isOpen: "isOpen", titleNotification: "titleNotification", description: "description", content: "content", items: "items", icon: "icon", type: "type", isDismissible: "isDismissible", headingLevel: "headingLevel" }, outputs: { isOpenChange: "isOpenChange" }, queries: [{ propertyName: "titleComponent", predicate: TitleComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "itemCompontents", predicate: NotificationItemComponent }], usesInheritance: true, ngImport: i0, template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type==='success' ? 'c-notification c-notification--success' : type==='alert' ? 'c-notification c-notification--alert' : 'c-notification c-notification--primary') \"\n *ngIf=\"isOpen && !isDismissing\"\n @displayNotification\n [desyAppAccessibility]=\"this\">\n <div *ngIf=\"iconComponent || icon || type\" class=\"h-full mr-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container *ngIf=\"type && !iconComponent && !icon\">\n <ng-container [ngSwitch]=\"getType()\">\n <svg *ngSwitchCase=\"'success'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"lg:flex flex-1 self-center\">\n <div class=\"lg:flex-1 lg:self-center\">\n <ng-container *ngIf=\"titleComponent || titleNotification\" [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h5>\n <p *ngSwitchDefault [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <div *ngIf=\"descriptionComponent || description && description.html\" [ngClass]=\"descriptionComponent?.classes || description?.classes\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"description && description.text && !description.html && !descriptionComponent\" [ngClass]=\"description?.classes\">\n <ng-container *desyCustomInnerContent=\"{\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n <ul *ngIf=\"(itemCompontents && itemCompontents.length > 0) || items\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item.routerLink || item.href\">\n <a *ngIf=\"item.routerLink\" class=\"c-link\"\n [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [desyAppAccessibility]=\"item\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <a *ngIf=\"!item.routerLink && item.href\" class=\"c-link\"\n [href]=\"item.href | externalHref\"\n [target]=\"item.target\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [desyAppAccessibility]=\"item\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n <li *ngIf=\"!item.routerLink && !item.href\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n <div *ngIf=\"contentComponent || content && content.html\" [ngClass]=\"contentComponent?.classes || content?.classes || 'text-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n component: contentComponent,\n html: content ? content.html : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"content && content.text && !content.html && !contentComponent\" [ngClass]=\"content?.classes || 'text-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n text: content ? content.text : null\n }\"></ng-container>\n </p>\n </div>\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm\">\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 pointer-events-none\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }, { kind: "pipe", type: i6.ExternalHrefPipe, name: "externalHref" }], animations: [
|
|
44
45
|
trigger('displayNotification', [
|
|
45
46
|
state('void', style({
|
|
46
47
|
opacity: '0.0',
|
|
@@ -90,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
90
91
|
animate('150ms ease-in')
|
|
91
92
|
])
|
|
92
93
|
])
|
|
93
|
-
], template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type==='success' ? 'c-notification c-notification--success' : type==='alert' ? 'c-notification c-notification--alert' : 'c-notification c-notification--primary') \"\n *ngIf=\"isOpen && !isDismissing\"\n @displayNotification\n [attr.role]=\"role\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-errormessage]=\"ariaErrorMessage\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-disabled]=\"ariaDisabled\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-current]=\"ariaCurrent\"\n [attr.aria-live]=\"ariaLive\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n [attr.tabindex]=\"tabindex\">\n <div *ngIf=\"iconComponent || icon || type\" class=\"h-full mr-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container *ngIf=\"type && !iconComponent && !icon\">\n <ng-container [ngSwitch]=\"getType()\">\n <svg *ngSwitchCase=\"'success'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"lg:flex flex-1 self-center\">\n <div class=\"lg:flex-1 lg:self-center\">\n <ng-container *ngIf=\"titleComponent || title\" [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </h5>\n <p *ngSwitchDefault [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <ng-container *ngIf=\"descriptionComponent || description\">\n <p [class]=\"descriptionComponent ? descriptionComponent.classes : description.classes\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <ul *ngIf=\"(itemCompontents && itemCompontents.length > 0) || items\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item.routerLink || item.href\">\n <a *ngIf=\"item.routerLink\" class=\"c-link\"\n [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.ariaLabel]=\"item.ariaLabel\"\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\n [attr.ariaHidden]=\"item.ariaHidden\"\n [attr.ariaDisabled]=\"item.ariaDisabled\"\n [attr.ariaControls]=\"item.ariaControls\"\n [attr.ariaCurrent]=\"item.ariaCurrent\"\n [attr.ariaLive]=\"item.ariaLive\"\n [attr.ariaExpanded]=\"item.ariaExpanded\"\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <a *ngIf=\"!item.routerLink && item.href\" class=\"c-link\"\n [href]=\"item.href | externalHref\"\n [target]=\"item.target\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.ariaLabel]=\"item.ariaLabel\"\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\n [attr.ariaHidden]=\"item.ariaHidden\"\n [attr.ariaDisabled]=\"item.ariaDisabled\"\n [attr.ariaControls]=\"item.ariaControls\"\n [attr.ariaCurrent]=\"item.ariaCurrent\"\n [attr.ariaLive]=\"item.ariaLive\"\n [attr.ariaExpanded]=\"item.ariaExpanded\"\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"item.tabindex\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n <li *ngIf=\"!item.routerLink && !item.href\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n <p *ngIf=\"contentComponent || content\" [class]=\"['text-sm', contentComponent ? contentComponent.classes : content.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: contentComponent,\n html: content ? content.html : null,\n text: content ? content.text : null\n }\"></ng-container>\n </p>\n </div>\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm\">\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 pointer-events-none\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
|
|
94
|
+
], template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type==='success' ? 'c-notification c-notification--success' : type==='alert' ? 'c-notification c-notification--alert' : 'c-notification c-notification--primary') \"\n *ngIf=\"isOpen && !isDismissing\"\n @displayNotification\n [desyAppAccessibility]=\"this\">\n <div *ngIf=\"iconComponent || icon || type\" class=\"h-full mr-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container *ngIf=\"type && !iconComponent && !icon\">\n <ng-container [ngSwitch]=\"getType()\">\n <svg *ngSwitchCase=\"'success'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"lg:flex flex-1 self-center\">\n <div class=\"lg:flex-1 lg:self-center\">\n <ng-container *ngIf=\"titleComponent || titleNotification\" [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </h5>\n <p *ngSwitchDefault [id]=\"id ? id + '-titleNotification' : null\" tabindex=\"-1\"\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : titleNotification.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: titleNotification ? titleNotification.html : null,\n text: titleNotification ? titleNotification.text : null\n }\"></ng-container>\n </p>\n </ng-container>\n <div *ngIf=\"descriptionComponent || description && description.html\" [ngClass]=\"descriptionComponent?.classes || description?.classes\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"description && description.text && !description.html && !descriptionComponent\" [ngClass]=\"description?.classes\">\n <ng-container *desyCustomInnerContent=\"{\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n <ul *ngIf=\"(itemCompontents && itemCompontents.length > 0) || items\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <li *ngIf=\"item.routerLink || item.href\">\n <a *ngIf=\"item.routerLink\" class=\"c-link\"\n [routerLink]=\"item.routerLink\"\n [fragment]=\"item.fragment\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [desyAppAccessibility]=\"item\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n <a *ngIf=\"!item.routerLink && item.href\" class=\"c-link\"\n [href]=\"item.href | externalHref\"\n [target]=\"item.target\"\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\n [attr.id]=\"item.id ? item.id : null\"\n [desyAppAccessibility]=\"item\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </a>\n </li>\n <li *ngIf=\"!item.routerLink && !item.href\">\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n <div *ngIf=\"contentComponent || content && content.html\" [ngClass]=\"contentComponent?.classes || content?.classes || 'text-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n component: contentComponent,\n html: content ? content.html : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"content && content.text && !content.html && !contentComponent\" [ngClass]=\"content?.classes || 'text-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n text: content ? content.text : null\n }\"></ng-container>\n </p>\n </div>\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm\">\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 pointer-events-none\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
|
|
94
95
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
95
96
|
type: Input
|
|
96
97
|
}], classes: [{
|
|
@@ -99,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
99
100
|
type: Input
|
|
100
101
|
}], isOpenChange: [{
|
|
101
102
|
type: Output
|
|
102
|
-
}],
|
|
103
|
+
}], titleNotification: [{
|
|
103
104
|
type: Input
|
|
104
105
|
}], description: [{
|
|
105
106
|
type: Input
|
|
@@ -131,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
131
132
|
type: ContentChildren,
|
|
132
133
|
args: [NotificationItemComponent]
|
|
133
134
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7O0FBc0I1RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCO0lBaUMvRCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFF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QUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRzJCLGNBQWM7c0JBQTlDLGVBQWU7dUJBQUMsY0FBYztnQkFHUSxvQkFBb0I7c0JBQTFELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUdGLGdCQUFnQjtzQkFBbEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBR0QsYUFBYTtzQkFBNUMsZUFBZTt1QkFBQyxhQUFhO2dCQUVjLGVBQWU7c0JBQTFELGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50RGF0YSwgRGVzY3JpcHRpb25EYXRhLCBJY29uRGF0YSwgVGl0bGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkl0ZW1zRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1ub3RpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Rpc3BsYXlOb3RpZmljYXRpb24nLCBbXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgb3BhY2l0eTogJzAuMCcsXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgb3BhY2l0eTogJzEuMCcsXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGVhc2Utb3V0JylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKCcxNTBtcyBlYXNlLWluJylcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzT3BlbiA9IHRydWU7XG4gIEBPdXRwdXQoKSBpc09wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KCkgdGl0bGU6IFRpdGxlRGF0YTtcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IERlc2NyaXB0aW9uRGF0YTtcbiAgQElucHV0KCkgY29udGVudDogQ29udGVudERhdGE7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOb3RpZmljYXRpb25JdGVtc0RhdGFbXTtcblxuICBASW5wdXQoKSBpY29uOiBJY29uRGF0YTtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBpc0Rpc21pc3NpYmxlOiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkaW5nTGV2ZWw6IG51bWJlcjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oVGl0bGVDb21wb25lbnQpIHRpdGxlQ29tcG9uZW50OiBUaXRsZUNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oRGVzY3JpcHRpb25Db21wb25lbnQpIGRlc2NyaXB0aW9uQ29tcG9uZW50OiBEZXNjcmlwdGlvbkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oQ29udGVudENvbXBvbmVudCkgY29udGVudENvbXBvbmVudDogQ29udGVudENvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oSWNvbkNvbXBvbmVudCkgaWNvbkNvbXBvbmVudDogSWNvbkNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkcmVuKE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQpIGl0ZW1Db21wb250ZW50czogUXVlcnlMaXN0PE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gIGlzRGlzbWlzc2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgLy8gU2UgZW1pdGUgNzVtcyBtw6FzIHRhcmRlIHBhcmEgcG9kZXIgdmlzdWFsaXphciBsYSBhbmltYWNpw7NuIGVuIGN1YWxxdWllciBjYXNvXG4gICAgdGhpcy5pc0Rpc21pc3NpbmcgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0Rpc21pc3NpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH0sIDc1KTtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICBsZXQgdHlwZTogc3RyaW5nO1xuICAgIGlmICh0aGlzLnR5cGUpe1xuICAgICAgdHlwZSA9IHRoaXMudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IE5vdGlmaWNhdGlvbkl0ZW1zRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtQ29tcG9udGVudHMgJiYgdGhpcy5pdGVtQ29tcG9udGVudHMubGVuZ3RoID4gMCA/IHRoaXMuaXRlbUNvbXBvbnRlbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG4gIH1cblxufVxuIiwiPGRpdiBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiIFtjbGFzc109XCIoY2xhc3NlcyA/ICdjLW5vdGlmaWNhdGlvbiAnICsgY2xhc3NlcyA6IHR5cGU9PT0nc3VjY2VzcycgPyAnYy1ub3RpZmljYXRpb24gYy1ub3RpZmljYXRpb24tLXN1Y2Nlc3MnIDogdHlwZT09PSdhbGVydCcgPyAnYy1ub3RpZmljYXRpb24gYy1ub3RpZmljYXRpb24tLWFsZXJ0JyA6ICdjLW5vdGlmaWNhdGlvbiBjLW5vdGlmaWNhdGlvbi0tcHJpbWFyeScpIFwiXG4gICAgICpuZ0lmPVwiaXNPcGVuICYmICFpc0Rpc21pc3NpbmdcIlxuICAgICBAZGlzcGxheU5vdGlmaWNhdGlvblxuICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW5cIlxuICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZFwiXG4gICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50XCJcbiAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlXCJcbiAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWRcIlxuICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cFwiXG4gICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCI+XG4gIDxkaXYgKm5nSWY9XCJpY29uQ29tcG9uZW50IHx8IGljb24gfHwgdHlwZVwiIGNsYXNzPVwiaC1mdWxsIG1yLWJhc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGljb25Db21wb25lbnQsIGh0bWw6IGljb24gPyBpY29uLmh0bWwgOiBudWxsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSAmJiAhaWNvbkNvbXBvbmVudCAmJiAhaWNvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZ2V0VHlwZSgpXCI+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy01IGgtNSB0ZXh0LXN1Y2Nlc3MtZGFya1wiIGFyaWEtbGFiZWw9XCLDiXhpdG9cIiBmb2N1c2FibGU9XCJmYWxzZVwiIHJvbGU9XCJpbWdcIj48cGF0aCBkPVwiTTM5Ljk0IDEyNWExOS44OCAxOS44OCAwIDAxLTE1LjUzLTcuODFMMi40OCA5Mi4yNmExMCAxMCAwIDAxMTUtMTMuMmwyMC41NSAyMy4zOWEyLjUgMi41IDAgMDAzLjY4LjA4bDgxLTg0LjQyYTEwLjAwMiAxMC4wMDIgMCAxMTE0LjUgMTMuNzhsLTgyLjAyIDg2LjMzQTE5LjQxIDE5LjQxIDAgMDEzOS45NCAxMjV6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2FsZXJ0J1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy01IGgtNSB0ZXh0LWFsZXJ0LWJhc2VcIiBhcmlhLWxhYmVsPVwiRXJyb3JcIiBmb2N1c2FibGU9XCJmYWxzZVwiIHJvbGU9XCJpbWdcIj48cGF0aCBkPVwiTTEzOC40MiAxMTguMjlsLTU1LTExMGExNSAxNSAwIDAwLTI2Ljg0IDBsLTU1IDExMEExNSAxNSAwIDAwMTUgMTQwaDExMGExNSAxNSAwIDAwMTMuNDItMjEuNzF6TTYyLjUgNTBhNy41IDcuNSAwIDAxMTUgMHYzMGE3LjUgNy41IDAgMDEtMTUgMHptNy41IDcwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidpbmZvJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy01IGgtNSB0ZXh0LXByaW1hcnktYmFzZVwiIGFyaWEtbGFiZWw9XCJJbmZvcm1hY2nDs25cIiBmb2N1c2FibGU9XCJmYWxzZVwiIHJvbGU9XCJpbWdcIj48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwem03LjUgMTA1YTcuNSA3LjUgMCAwMS0xNSAwVjcwYTcuNSA3LjUgMCAwMTE1IDB6TTcwIDUwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsZzpmbGV4IGZsZXgtMSBzZWxmLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJsZzpmbGV4LTEgbGc6c2VsZi1jZW50ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZUNvbXBvbmVudCB8fCB0aXRsZVwiIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgICAgPGgxICpuZ1N3aXRjaENhc2U9XCIxXCIgW2lkXT1cImlkID8gaWQgKyAnLXRpdGxlJyA6IG51bGxcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZvbnQtYm9sZCBwci1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnLCB0aXRsZUNvbXBvbmVudCA/IHRpdGxlQ29tcG9uZW50LmNsYXNzZXMgOiB0aXRsZS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgICAgaHRtbDogdGl0bGUgPyB0aXRsZS5odG1sIDogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHRpdGxlID8gdGl0bGUudGV4dCA6IG51bGxcbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxoMiAqbmdTd2l0Y2hDYXNlPVwiMlwiIFtpZF09XCJpZCA/IGlkICsgJy10aXRsZScgOiBudWxsXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiWydmb250LWJvbGQgcHItYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6dW5kZXJsaW5lJywgdGl0bGVDb21wb25lbnQgPyB0aXRsZUNvbXBvbmVudC5jbGFzc2VzIDogdGl0bGUuY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aXRsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIGh0bWw6IHRpdGxlID8gdGl0bGUuaHRtbCA6IG51bGwsXG4gICAgICAgICAgICB0ZXh0OiB0aXRsZSA/IHRpdGxlLnRleHQgOiBudWxsXG4gICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2gyPlxuICAgICAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiBbaWRdPVwiaWQgPyBpZCArICctdGl0bGUnIDogbnVsbFwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIlsnZm9udC1ib2xkIHByLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZScsIHRpdGxlQ29tcG9uZW50ID8gdGl0bGVDb21wb25lbnQuY2xhc3NlcyA6IHRpdGxlLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgICBodG1sOiB0aXRsZSA/IHRpdGxlLmh0bWwgOiBudWxsLFxuICAgICAgICAgICAgdGV4dDogdGl0bGUgPyB0aXRsZS50ZXh0IDogbnVsbFxuICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGg0ICpuZ1N3aXRjaENhc2U9XCI0XCIgW2lkXT1cImlkID8gaWQgKyAnLXRpdGxlJyA6IG51bGxcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZvbnQtYm9sZCBwci1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnLCB0aXRsZUNvbXBvbmVudCA/IHRpdGxlQ29tcG9uZW50LmNsYXNzZXMgOiB0aXRsZS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgICAgaHRtbDogdGl0bGUgPyB0aXRsZS5odG1sIDogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHRpdGxlID8gdGl0bGUudGV4dCA6IG51bGxcbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxoNSAqbmdTd2l0Y2hDYXNlPVwiNVwiIFtpZF09XCJpZCA/IGlkICsgJy10aXRsZScgOiBudWxsXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiWydmb250LWJvbGQgcHItYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6dW5kZXJsaW5lJywgdGl0bGVDb21wb25lbnQgPyB0aXRsZUNvbXBvbmVudC5jbGFzc2VzIDogdGl0bGUuY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aXRsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIGh0bWw6IHRpdGxlID8gdGl0bGUuaHRtbCA6IG51bGwsXG4gICAgICAgICAgICB0ZXh0OiB0aXRsZSA/IHRpdGxlLnRleHQgOiBudWxsXG4gICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2g1PlxuICAgICAgICA8cCAqbmdTd2l0Y2hEZWZhdWx0IFtpZF09XCJpZCA/IGlkICsgJy10aXRsZScgOiBudWxsXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgIFtjbGFzc109XCJbJ2ZvbnQtYm9sZCBwci1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnLCB0aXRsZUNvbXBvbmVudCA/IHRpdGxlQ29tcG9uZW50LmNsYXNzZXMgOiB0aXRsZS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgICAgaHRtbDogdGl0bGUgPyB0aXRsZS5odG1sIDogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHRpdGxlID8gdGl0bGUudGV4dCA6IG51bGxcbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlc2NyaXB0aW9uQ29tcG9uZW50IHx8IGRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxwIFtjbGFzc109XCJkZXNjcmlwdGlvbkNvbXBvbmVudCA/IGRlc2NyaXB0aW9uQ29tcG9uZW50LmNsYXNzZXMgOiBkZXNjcmlwdGlvbi5jbGFzc2VzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGVzY3JpcHRpb25Db21wb25lbnQsXG4gICAgICAgICAgICBodG1sOiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgICAgICAgdGV4dDogZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbi50ZXh0IDogbnVsbFxuICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8dWwgKm5nSWY9XCIoaXRlbUNvbXBvbnRlbnRzICYmIGl0ZW1Db21wb250ZW50cy5sZW5ndGggPiAwKSB8fCBpdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5ocmVmXCI+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwiYy1saW5rXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2MtbGluay0tYWxlcnQnOiB0eXBlPT09J2FsZXJ0J31cIlxuICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFMYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhRGVzY3JpYmVkQnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUxhYmVsbGVkQnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhSGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhRGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFDdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhRXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUVycm9yTWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUhhc1BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFpdGVtLnJvdXRlckxpbmsgJiYgaXRlbS5ocmVmXCIgY2xhc3M9XCJjLWxpbmtcIlxuICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmIHwgZXh0ZXJuYWxIcmVmXCJcbiAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjLWxpbmstLWFsZXJ0JzogdHlwZT09PSdhbGVydCd9XCJcbiAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIml0ZW0uaWQgPyBpdGVtLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0ucm9sZVwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYURlc2NyaWJlZEJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFMYWJlbGxlZEJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYURpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFDb250cm9sc109XCJpdGVtLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFMaXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYUV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWFIYXNQb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLnRhYmluZGV4XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwiIWl0ZW0ucm91dGVyTGluayAmJiAhaXRlbS5ocmVmXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdWw+XG4gICAgICA8cCAqbmdJZj1cImNvbnRlbnRDb21wb25lbnQgfHwgY29udGVudFwiIFtjbGFzc109XCJbJ3RleHQtc20nLCBjb250ZW50Q29tcG9uZW50ID8gY29udGVudENvbXBvbmVudC5jbGFzc2VzIDogY29udGVudC5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgIGNvbXBvbmVudDogY29udGVudENvbXBvbmVudCxcbiAgICAgICAgICBodG1sOiBjb250ZW50ID8gY29udGVudC5odG1sIDogbnVsbCxcbiAgICAgICAgICB0ZXh0OiBjb250ZW50ID8gY29udGVudC50ZXh0IDogbnVsbFxuICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGlzbWlzc2libGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIHAtc21cIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGlzbWlzcygpXCIgY2xhc3M9XCJwLXNtIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpib3JkZXItd2FybmluZy1iYXNlIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWJsYWNrIGZvY3VzOnRleHQtYmxhY2sgZm9jdXM6b3V0bGluZS1ub25lXCIgYXJpYS1sYWJlbD1cIlg6IENlcnJhciBub3RpZmljYWNpw7NuXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHBvaW50ZXItZXZlbnRzLW5vbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PHBhdGggZD1cIk04NS45MSA3MS43N2EyLjUgMi41IDAgMDEwLTMuNTRsNDYuMTYtNDYuMTZhMTAgMTAgMCAxMC0xNC4xNC0xNC4xNEw3MS43NyA1NC4wOWEyLjUgMi41IDAgMDEtMy41NCAwTDIyLjA3IDcuOTNBMTAgMTAgMCAwMDcuOTMgMjIuMDdsNDYuMTYgNDYuMTZhMi41IDIuNSAwIDAxMCAzLjU0TDcuOTMgMTE3LjkzYTEwIDEwIDAgMDAxNC4xNCAxNC4xNGw0Ni4xNi00Ni4xNmEyLjUgMi41IDAgMDEzLjU0IDBsNDYuMTYgNDYuMTZhMTAgMTAgMCAwMDE0LjE0LTE0LjE0elwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7OztBQXNCNUYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQWlDL0QsWUFBb0IsaUJBQW9DO1FBQ3RELEtBQUssRUFB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SztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUcyQixjQUFjO3NCQUE5QyxlQUFlO3VCQUFDLGNBQWM7Z0JBR1Esb0JBQW9CO3NCQUExRCxlQUFlO3VCQUFDLG9CQUFvQjtnQkFHRixnQkFBZ0I7c0JBQWxELGVBQWU7dUJBQUMsZ0JBQWdCO2dCQUdELGFBQWE7c0JBQTVDLGVBQWU7dUJBQUMsYUFBYTtnQkFFYyxlQUFlO3NCQUExRCxlQUFlO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzY3JpcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudERhdGEsIERlc2NyaXB0aW9uRGF0YSwgSWNvbkRhdGEsIFRpdGxlRGF0YSB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtc0RhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1pdGVtL25vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdkaXNwbGF5Tm90aWZpY2F0aW9uJywgW1xuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7XG4gICAgICAgIG9wYWNpdHk6ICcwLjAnLFxuICAgICAgfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgIG9wYWNpdHk6ICcxLjAnLFxuICAgICAgfSkpLFxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBhbmltYXRlKCcxNTBtcyBlYXNlLW91dCcpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnMTUwbXMgZWFzZS1pbicpXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBpc09wZW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIHRpdGxlTm90aWZpY2F0aW9uOiBUaXRsZURhdGE7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBEZXNjcmlwdGlvbkRhdGE7XG4gIEBJbnB1dCgpIGNvbnRlbnQ6IENvbnRlbnREYXRhO1xuICBASW5wdXQoKSBpdGVtczogTm90aWZpY2F0aW9uSXRlbXNEYXRhW107XG5cbiAgQElucHV0KCkgaWNvbjogSWNvbkRhdGE7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgaXNEaXNtaXNzaWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsOiBudW1iZXI7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRpdGxlQ29tcG9uZW50KSB0aXRsZUNvbXBvbmVudDogVGl0bGVDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKERlc2NyaXB0aW9uQ29tcG9uZW50KSBkZXNjcmlwdGlvbkNvbXBvbmVudDogRGVzY3JpcHRpb25Db21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKEljb25Db21wb25lbnQpIGljb25Db21wb25lbnQ6IEljb25Db21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9udGVudHM6IFF1ZXJ5TGlzdDxOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50PjtcblxuICBpc0Rpc21pc3NpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBkaXNtaXNzKCk6IHZvaWQge1xuICAgIC8vIFNlIGVtaXRlIDc1bXMgbcOhcyB0YXJkZSBwYXJhIHBvZGVyIHZpc3VhbGl6YXIgbGEgYW5pbWFjacOzbiBlbiBjdWFscXVpZXIgY2Fzb1xuICAgIHRoaXMuaXNEaXNtaXNzaW5nID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNEaXNtaXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9LCA3NSk7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgbGV0IHR5cGU6IHN0cmluZztcbiAgICBpZiAodGhpcy50eXBlKXtcbiAgICAgIHR5cGUgPSB0aGlzLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBnZXRJdGVtcygpOiBOb3RpZmljYXRpb25JdGVtc0RhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbUNvbXBvbnRlbnRzICYmIHRoaXMuaXRlbUNvbXBvbnRlbnRzLmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb250ZW50cy50b0FycmF5KCkgOiB0aGlzLml0ZW1zO1xuICB9XG5cbn1cbiIsIjxkaXYgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIiBbY2xhc3NdPVwiKGNsYXNzZXMgPyAnYy1ub3RpZmljYXRpb24gJyArIGNsYXNzZXMgOiB0eXBlPT09J3N1Y2Nlc3MnID8gJ2Mtbm90aWZpY2F0aW9uIGMtbm90aWZpY2F0aW9uLS1zdWNjZXNzJyA6IHR5cGU9PT0nYWxlcnQnID8gJ2Mtbm90aWZpY2F0aW9uIGMtbm90aWZpY2F0aW9uLS1hbGVydCcgOiAnYy1ub3RpZmljYXRpb24gYy1ub3RpZmljYXRpb24tLXByaW1hcnknKSBcIlxuICAgICAqbmdJZj1cImlzT3BlbiAmJiAhaXNEaXNtaXNzaW5nXCJcbiAgICAgQGRpc3BsYXlOb3RpZmljYXRpb25cbiAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgPGRpdiAqbmdJZj1cImljb25Db21wb25lbnQgfHwgaWNvbiB8fCB0eXBlXCIgY2xhc3M9XCJoLWZ1bGwgbXItYmFzZVwiPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaWNvbkNvbXBvbmVudCwgaHRtbDogaWNvbiA/IGljb24uaHRtbCA6IG51bGwgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlICYmICFpY29uQ29tcG9uZW50ICYmICFpY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJnZXRUeXBlKClcIj5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTUgaC01IHRleHQtc3VjY2Vzcy1kYXJrXCIgYXJpYS1sYWJlbD1cIsOJeGl0b1wiIGZvY3VzYWJsZT1cImZhbHNlXCIgcm9sZT1cImltZ1wiPjxwYXRoIGQ9XCJNMzkuOTQgMTI1YTE5Ljg4IDE5Ljg4IDAgMDEtMTUuNTMtNy44MUwyLjQ4IDkyLjI2YTEwIDEwIDAgMDExNS0xMy4ybDIwLjU1IDIzLjM5YTIuNSAyLjUgMCAwMDMuNjguMDhsODEtODQuNDJhMTAuMDAyIDEwLjAwMiAwIDExMTQuNSAxMy43OGwtODIuMDIgODYuMzNBMTkuNDEgMTkuNDEgMCAwMTM5Ljk0IDEyNXpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCInYWxlcnQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTUgaC01IHRleHQtYWxlcnQtYmFzZVwiIGFyaWEtbGFiZWw9XCJFcnJvclwiIGZvY3VzYWJsZT1cImZhbHNlXCIgcm9sZT1cImltZ1wiPjxwYXRoIGQ9XCJNMTM4LjQyIDExOC4yOWwtNTUtMTEwYTE1IDE1IDAgMDAtMjYuODQgMGwtNTUgMTEwQTE1IDE1IDAgMDAxNSAxNDBoMTEwYTE1IDE1IDAgMDAxMy40Mi0yMS43MXpNNjIuNSA1MGE3LjUgNy41IDAgMDExNSAwdjMwYTcuNSA3LjUgMCAwMS0xNSAwem03LjUgNzBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTUgaC01IHRleHQtcHJpbWFyeS1iYXNlXCIgYXJpYS1sYWJlbD1cIkluZm9ybWFjacOzblwiIGZvY3VzYWJsZT1cImZhbHNlXCIgcm9sZT1cImltZ1wiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTcuNSAxMDVhNy41IDcuNSAwIDAxLTE1IDBWNzBhNy41IDcuNSAwIDAxMTUgMHpNNzAgNTBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImxnOmZsZXggZmxleC0xIHNlbGYtY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImxnOmZsZXgtMSBsZzpzZWxmLWNlbnRlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlQ29tcG9uZW50IHx8IHRpdGxlTm90aWZpY2F0aW9uXCIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgICAgICA8aDEgKm5nU3dpdGNoQ2FzZT1cIjFcIiBbaWRdPVwiaWQgPyBpZCArICctdGl0bGVOb3RpZmljYXRpb24nIDogbnVsbFwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIlsnZm9udC1ib2xkIHByLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZScsIHRpdGxlQ29tcG9uZW50ID8gdGl0bGVDb21wb25lbnQuY2xhc3NlcyA6IHRpdGxlTm90aWZpY2F0aW9uLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgICBodG1sOiB0aXRsZU5vdGlmaWNhdGlvbiA/IHRpdGxlTm90aWZpY2F0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgICAgICAgdGV4dDogdGl0bGVOb3RpZmljYXRpb24gPyB0aXRsZU5vdGlmaWNhdGlvbi50ZXh0IDogbnVsbFxuICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMT5cbiAgICAgICAgPGgyICpuZ1N3aXRjaENhc2U9XCIyXCIgW2lkXT1cImlkID8gaWQgKyAnLXRpdGxlTm90aWZpY2F0aW9uJyA6IG51bGxcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZvbnQtYm9sZCBwci1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnLCB0aXRsZUNvbXBvbmVudCA/IHRpdGxlQ29tcG9uZW50LmNsYXNzZXMgOiB0aXRsZU5vdGlmaWNhdGlvbi5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgICAgaHRtbDogdGl0bGVOb3RpZmljYXRpb24gPyB0aXRsZU5vdGlmaWNhdGlvbi5odG1sIDogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHRpdGxlTm90aWZpY2F0aW9uID8gdGl0bGVOb3RpZmljYXRpb24udGV4dCA6IG51bGxcbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIFtpZF09XCJpZCA/IGlkICsgJy10aXRsZU5vdGlmaWNhdGlvbicgOiBudWxsXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiWydmb250LWJvbGQgcHItYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6dW5kZXJsaW5lJywgdGl0bGVDb21wb25lbnQgPyB0aXRsZUNvbXBvbmVudC5jbGFzc2VzIDogdGl0bGVOb3RpZmljYXRpb24uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgICAgY29tcG9uZW50OiB0aXRsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIGh0bWw6IHRpdGxlTm90aWZpY2F0aW9uID8gdGl0bGVOb3RpZmljYXRpb24uaHRtbCA6IG51bGwsXG4gICAgICAgICAgICB0ZXh0OiB0aXRsZU5vdGlmaWNhdGlvbiA/IHRpdGxlTm90aWZpY2F0aW9uLnRleHQgOiBudWxsXG4gICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8aDQgKm5nU3dpdGNoQ2FzZT1cIjRcIiBbaWRdPVwiaWQgPyBpZCArICctdGl0bGVOb3RpZmljYXRpb24nIDogbnVsbFwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIlsnZm9udC1ib2xkIHByLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZScsIHRpdGxlQ29tcG9uZW50ID8gdGl0bGVDb21wb25lbnQuY2xhc3NlcyA6IHRpdGxlTm90aWZpY2F0aW9uLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgICBodG1sOiB0aXRsZU5vdGlmaWNhdGlvbiA/IHRpdGxlTm90aWZpY2F0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgICAgICAgdGV4dDogdGl0bGVOb3RpZmljYXRpb24gPyB0aXRsZU5vdGlmaWNhdGlvbi50ZXh0IDogbnVsbFxuICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg1ICpuZ1N3aXRjaENhc2U9XCI1XCIgW2lkXT1cImlkID8gaWQgKyAnLXRpdGxlTm90aWZpY2F0aW9uJyA6IG51bGxcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJbJ2ZvbnQtYm9sZCBwci1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnLCB0aXRsZUNvbXBvbmVudCA/IHRpdGxlQ29tcG9uZW50LmNsYXNzZXMgOiB0aXRsZU5vdGlmaWNhdGlvbi5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgICAgaHRtbDogdGl0bGVOb3RpZmljYXRpb24gPyB0aXRsZU5vdGlmaWNhdGlvbi5odG1sIDogbnVsbCxcbiAgICAgICAgICAgIHRleHQ6IHRpdGxlTm90aWZpY2F0aW9uID8gdGl0bGVOb3RpZmljYXRpb24udGV4dCA6IG51bGxcbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDU+XG4gICAgICAgIDxwICpuZ1N3aXRjaERlZmF1bHQgW2lkXT1cImlkID8gaWQgKyAnLXRpdGxlTm90aWZpY2F0aW9uJyA6IG51bGxcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgW2NsYXNzXT1cIlsnZm9udC1ib2xkIHByLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZScsIHRpdGxlQ29tcG9uZW50ID8gdGl0bGVDb21wb25lbnQuY2xhc3NlcyA6IHRpdGxlTm90aWZpY2F0aW9uLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgICBodG1sOiB0aXRsZU5vdGlmaWNhdGlvbiA/IHRpdGxlTm90aWZpY2F0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgICAgICAgdGV4dDogdGl0bGVOb3RpZmljYXRpb24gPyB0aXRsZU5vdGlmaWNhdGlvbi50ZXh0IDogbnVsbFxuICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25Db21wb25lbnQgfHwgZGVzY3JpcHRpb24gJiYgZGVzY3JpcHRpb24uaHRtbFwiIFtuZ0NsYXNzXT1cImRlc2NyaXB0aW9uQ29tcG9uZW50Py5jbGFzc2VzIHx8IGRlc2NyaXB0aW9uPy5jbGFzc2VzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgY29tcG9uZW50OiBkZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgICAgICAgICBodG1sOiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLmh0bWwgOiBudWxsXG4gICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvbiAmJiBkZXNjcmlwdGlvbi50ZXh0ICYmICFkZXNjcmlwdGlvbi5odG1sICYmICFkZXNjcmlwdGlvbkNvbXBvbmVudFwiIFtuZ0NsYXNzXT1cImRlc2NyaXB0aW9uPy5jbGFzc2VzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgdGV4dDogZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbi50ZXh0IDogbnVsbFxuICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3A+XG4gICAgICA8dWwgKm5nSWY9XCIoaXRlbUNvbXBvbnRlbnRzICYmIGl0ZW1Db21wb250ZW50cy5sZW5ndGggPiAwKSB8fCBpdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5ocmVmXCI+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIml0ZW0ucm91dGVyTGlua1wiIGNsYXNzPVwiYy1saW5rXCJcbiAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2MtbGluay0tYWxlcnQnOiB0eXBlPT09J2FsZXJ0J31cIlxuICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXRlbS5yb3V0ZXJMaW5rICYmIGl0ZW0uaHJlZlwiIGNsYXNzPVwiYy1saW5rXCJcbiAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0uaHJlZiB8IGV4dGVybmFsSHJlZlwiXG4gICAgICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYy1saW5rLS1hbGVydCc6IHR5cGU9PT0nYWxlcnQnfVwiXG4gICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCBodG1sOiBpdGVtLmh0bWwsIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCIhaXRlbS5yb3V0ZXJMaW5rICYmICFpdGVtLmhyZWZcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbSwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb250ZW50Q29tcG9uZW50IHx8IGNvbnRlbnQgJiYgY29udGVudC5odG1sXCIgW25nQ2xhc3NdPVwiY29udGVudENvbXBvbmVudD8uY2xhc3NlcyB8fCBjb250ZW50Py5jbGFzc2VzIHx8ICd0ZXh0LXNtJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgIGNvbXBvbmVudDogY29udGVudENvbXBvbmVudCxcbiAgICAgICAgICBodG1sOiBjb250ZW50ID8gY29udGVudC5odG1sIDogbnVsbFxuICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwICpuZ0lmPVwiY29udGVudCAmJiBjb250ZW50LnRleHQgJiYgIWNvbnRlbnQuaHRtbCAmJiAhY29udGVudENvbXBvbmVudFwiIFtuZ0NsYXNzXT1cImNvbnRlbnQ/LmNsYXNzZXMgfHwgJ3RleHQtc20nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgdGV4dDogY29udGVudCA/IGNvbnRlbnQudGV4dCA6IG51bGxcbiAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Rpc21pc3NpYmxlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBwLXNtXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRpc21pc3MoKVwiIGNsYXNzPVwicC1zbSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6Ym9yZGVyLXdhcm5pbmctYmFzZSBmb2N1czpzaGFkb3ctb3V0bGluZS1ibGFjayBmb2N1czp0ZXh0LWJsYWNrIGZvY3VzOm91dGxpbmUtbm9uZVwiIGFyaWEtbGFiZWw9XCJYOiBDZXJyYXIgbm90aWZpY2FjacOzblwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCBwb2ludGVyLWV2ZW50cy1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjxwYXRoIGQ9XCJNODUuOTEgNzEuNzdhMi41IDIuNSAwIDAxMC0zLjU0bDQ2LjE2LTQ2LjE2YTEwIDEwIDAgMTAtMTQuMTQtMTQuMTRMNzEuNzcgNTQuMDlhMi41IDIuNSAwIDAxLTMuNTQgMEwyMi4wNyA3LjkzQTEwIDEwIDAgMDA3LjkzIDIyLjA3bDQ2LjE2IDQ2LjE2YTIuNSAyLjUgMCAwMTAgMy41NEw3LjkzIDExNy45M2ExMCAxMCAwIDAwMTQuMTQgMTQuMTRsNDYuMTYtNDYuMTZhMi41IDIuNSAwIDAxMy41NCAwbDQ2LjE2IDQ2LjE2YTEwIDEwIDAgMDAxNC4xNC0xNC4xNHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@angular/router";
|
|
6
6
|
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
7
|
+
import * as i4 from "../../../shared/directives/accessibility-directive";
|
|
7
8
|
export class SkipLinkComponent extends AccessibilityComponent {
|
|
8
9
|
set html(value) {
|
|
9
10
|
this._html = value;
|
|
@@ -35,14 +36,18 @@ export class SkipLinkComponent extends AccessibilityComponent {
|
|
|
35
36
|
const elem = document.querySelector('#' + fragment);
|
|
36
37
|
if (elem) {
|
|
37
38
|
elem.scrollIntoView({ behavior: 'smooth' });
|
|
39
|
+
const focusableElement = elem.querySelector('button, [tabindex], input, select, textarea, a[href], summary, [contenteditable], [role="button"], [role="link"], [role="checkbox"], [role="radio"], [role="menuitem"], [role="option"], [role="tab"], [role="tabpanel"]');
|
|
40
|
+
if (focusableElement) {
|
|
41
|
+
focusableElement.focus();
|
|
42
|
+
}
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkipLinkComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SkipLinkComponent, selector: "desy-skip-link", inputs: { html: "html", text: "text", fragment: "fragment", classes: "classes", id: "id" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SkipLinkComponent, selector: "desy-skip-link", inputs: { html: "html", text: "text", fragment: "fragment", classes: "classes", id: "id" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n (click)=\"scrollTo(fragment ? fragment : 'content')\">\n <ng-content></ng-content>\n</a>\n\n<a *ngIf=\"!hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n (click)=\"scrollTo(fragment ? fragment : 'content')\">\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }] }); }
|
|
42
47
|
}
|
|
43
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SkipLinkComponent, decorators: [{
|
|
44
49
|
type: Component,
|
|
45
|
-
args: [{ selector: 'desy-skip-link', template: "<a *ngIf=\"hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [
|
|
50
|
+
args: [{ selector: 'desy-skip-link', template: "<a *ngIf=\"hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n (click)=\"scrollTo(fragment ? fragment : 'content')\">\n <ng-content></ng-content>\n</a>\n\n<a *ngIf=\"!hasContent\"\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\n [class]=\"getClassNames()\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\"\n (click)=\"scrollTo(fragment ? fragment : 'content')\">\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n</a>\n" }]
|
|
46
51
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { html: [{
|
|
47
52
|
type: Input
|
|
48
53
|
}], text: [{
|
|
@@ -54,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
54
59
|
}], id: [{
|
|
55
60
|
type: Input
|
|
56
61
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvc2tpcC1saW5rL3NraXAtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL3NraXAtbGluay9za2lwLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQU1wRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsc0JBQXNCO0lBSzNELElBQ0ksSUFBSSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDNUQsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDeEMsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBUUQsWUFBb0IsaUJBQW9DO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRFUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZ4RCxlQUFVLEdBQUcsSUFBSSxDQUFBO0lBSWpCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsc0tBQXNLLENBQUM7UUFDeEwsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNsQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDBOQUEwTixDQUFnQixDQUFDO1lBQ3ZSLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ3BCLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDOytHQWpEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix5S0NQOUIsc29CQWlCQTs7NEZEVmEsaUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLGdCQUFnQjt3R0FTdEIsSUFBSTtzQkFEUCxLQUFLO2dCQVNGLElBQUk7c0JBRFAsS0FBSztnQkFTRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1za2lwLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2tpcC1saW5rLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTa2lwTGlua0NvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIF9odG1sOiBzdHJpbmc7XG4gIF90ZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2V0IGh0bWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2h0bWwgPSB2YWx1ZVxuICAgIHRoaXMuaGFzQ29udGVudCA9IHZhbHVlID8gZmFsc2UgOiB0aGlzLnRleHQgPyBmYWxzZSA6IHRydWVcbiAgfVxuICBnZXQgaHRtbCgpIHtcbiAgICByZXR1cm4gdGhpcy5faHRtbDtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGV4dCA9IHZhbHVlXG4gICAgdGhpcy5oYXNDb250ZW50ID0gdmFsdWUgPyBmYWxzZSA6IHRydWVcbiAgfVxuICBnZXQgdGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGV4dDtcbiAgfVxuXG4gIEBJbnB1dCgpIGZyYWdtZW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICBoYXNDb250ZW50ID0gdHJ1ZVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldENsYXNzTmFtZXMoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NOYW1lcyA9ICdjLXNraXAtbGluayBzci1vbmx5IGFjdGl2ZTpub3Qtc3Itb25seSBmb2N1czpub3Qtc3Itb25seSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgYmxvY2sgcC1iYXNlIGJnLXdhcm5pbmctYmFzZSB0ZXh0LWNlbnRlciB0ZXh0LWJsYWNrIHVuZGVybGluZSc7XG4gICAgaWYgKHRoaXMuY2xhc3Nlcykge1xuICAgICAgY2xhc3NOYW1lcyArPSAnICcgKyB0aGlzLmNsYXNzZXM7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc05hbWVzO1xuICB9XG5cbiAgc2Nyb2xsVG8oZnJhZ21lbnQ6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjJyArIGZyYWdtZW50KTtcbiAgICBpZiAoZWxlbSkge1xuICAgICAgZWxlbS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSBlbGVtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbiwgW3RhYmluZGV4XSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGFbaHJlZl0sIHN1bW1hcnksIFtjb250ZW50ZWRpdGFibGVdLCBbcm9sZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJsaW5rXCJdLCBbcm9sZT1cImNoZWNrYm94XCJdLCBbcm9sZT1cInJhZGlvXCJdLCBbcm9sZT1cIm1lbnVpdGVtXCJdLCBbcm9sZT1cIm9wdGlvblwiXSwgW3JvbGU9XCJ0YWJcIl0sIFtyb2xlPVwidGFicGFuZWxcIl0nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgIGZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPGEgKm5nSWY9XCJoYXNDb250ZW50XCJcbiAgIFtyb3V0ZXJMaW5rXT1cIltdXCIgW2ZyYWdtZW50XT1cImZyYWdtZW50ID8gZnJhZ21lbnQgOiAnY29udGVudCdcIlxuICAgW2NsYXNzXT1cImdldENsYXNzTmFtZXMoKVwiXG4gICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiXG4gICAoY2xpY2spPVwic2Nyb2xsVG8oZnJhZ21lbnQgPyBmcmFnbWVudCA6ICdjb250ZW50JylcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9hPlxuXG48YSAqbmdJZj1cIiFoYXNDb250ZW50XCJcbiAgIFtyb3V0ZXJMaW5rXT1cIltdXCIgW2ZyYWdtZW50XT1cImZyYWdtZW50ID8gZnJhZ21lbnQgOiAnY29udGVudCdcIlxuICAgW2NsYXNzXT1cImdldENsYXNzTmFtZXMoKVwiXG4gICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiXG4gICAoY2xpY2spPVwic2Nyb2xsVG8oZnJhZ21lbnQgPyBmcmFnbWVudCA6ICdjb250ZW50JylcIj5cbiAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogaHRtbCwgdGV4dDogdGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG4iXX0=
|