desy-angular 12.0.0 → 12.1.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-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/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/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 +5 -4
- 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.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.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-item/links-list-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +6 -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 +4 -3
- package/esm2022/lib/desy-nav/interfaces/breadcrumbs.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/error-summary-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/footer-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/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 +10 -9
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +5 -4
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +10 -9
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +16 -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 +5 -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/spinner/spinner.component.mjs +276 -28
- 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/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/directives/accessibility-directive.mjs +52 -0
- 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/utils/search-utils.mjs +5 -1
- package/fesm2022/desy-angular.mjs +3524 -525
- package/fesm2022/desy-angular.mjs.map +1 -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/interfaces/listbox-item-data.d.ts +2 -2
- package/lib/desy-commons/interfaces/title-data.d.ts +2 -2
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +5 -5
- 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/header/header-mobileText/header-mobile-text.component.d.ts +61 -0
- package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +2 -2
- 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/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/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 +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/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/spinner/spinner.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/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/directives/accessibility-directive.d.ts +16 -0
- package/lib/shared/interfaces/accessibility-data.d.ts +77 -0
- package/lib/shared/shared.module.d.ts +4 -3
- package/package.json +1 -1
- package/esm2022/lib/desy-forms/interfaces/accesibility-data.mjs +0 -2
- package/esm2022/lib/shared/interfaces/accesibility-data.mjs +0 -2
- package/lib/desy-forms/interfaces/accesibility-data.d.ts +0 -15
- package/lib/shared/interfaces/accesibility-data.d.ts +0 -16
|
@@ -7,6 +7,7 @@ import { SearchUtils } from "../../../../shared/utils/search-utils";
|
|
|
7
7
|
import { AccessibilityComponent } from "../../../../shared/components";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "../../../../shared/directives/accessibility-directive";
|
|
10
11
|
export class TreeCheckboxComponent extends AccessibilityComponent {
|
|
11
12
|
constructor(changeDetector) {
|
|
12
13
|
super();
|
|
@@ -106,7 +107,7 @@ export class TreeCheckboxComponent extends AccessibilityComponent {
|
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
109
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeCheckboxComponent, selector: "desy-tree-checkbox", inputs: { id: "id", name: "name", type: "type", classes: "classes", value: "value", checked: "checked", isIndeterminate: "isIndeterminate", indeterminateChecked: "indeterminateChecked", disabled: "disabled", hasDividers: "hasDividers", describedBy: "describedBy", hasError: "hasError", labelComponent: "labelComponent", hintComponent: "hintComponent" }, outputs: { checkedChange: "checkedChange", indeterminateCheckedChange: "indeterminateCheckedChange" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"classes\" [ngClass]=\"{'border-t border-b border-neutral-base -mb-px': hasDividers}\">\n <div class=\"relative flex items-start py-xs\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [id]=\"id + '-input'\"\n [name]=\"name\"\n [type]=\"type === 'checkbox' ? 'checkbox' : 'radio'\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"hasChanged()\"\n [disabled]=\"disabled ? disabled : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : null\"\n\n [attr.role]=\"role ? role : 'group'\"\n [
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeCheckboxComponent, selector: "desy-tree-checkbox", inputs: { id: "id", name: "name", type: "type", classes: "classes", value: "value", checked: "checked", isIndeterminate: "isIndeterminate", indeterminateChecked: "indeterminateChecked", disabled: "disabled", hasDividers: "hasDividers", describedBy: "describedBy", hasError: "hasError", labelComponent: "labelComponent", hintComponent: "hintComponent" }, outputs: { checkedChange: "checkedChange", indeterminateCheckedChange: "indeterminateCheckedChange" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"classes\" [ngClass]=\"{'border-t border-b border-neutral-base -mb-px': hasDividers}\">\n <div class=\"relative flex items-start py-xs\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [id]=\"id + '-input'\"\n [name]=\"name\"\n [type]=\"type === 'checkbox' ? 'checkbox' : 'radio'\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"hasChanged()\"\n [disabled]=\"disabled ? disabled : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : null\"\n\n [attr.role]=\"role ? role : 'group'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-describedby]=\"itemDescribedBy\"\n\n (keydown.home)=\"preventDefault($event)\"\n (keydown.end)=\"preventDefault($event)\"\n (keydown.arrowup)=\"preventDefault($event)\"\n (keydown.arrowdown)=\"preventDefault($event)\"\n (keydown.arrowright)=\"preventDefault($event)\"\n (keydown.arrowleft)=\"preventDefault($event)\">\n </div>\n <div #contentWrapper class=\"flex-1 pt-0.5 leading-5\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }] }); }
|
|
110
111
|
}
|
|
111
112
|
__decorate([
|
|
112
113
|
DesyOnInputChange('onIdChange'),
|
|
@@ -130,7 +131,7 @@ __decorate([
|
|
|
130
131
|
], TreeCheckboxComponent.prototype, "hintComponent", void 0);
|
|
131
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeCheckboxComponent, decorators: [{
|
|
132
133
|
type: Component,
|
|
133
|
-
args: [{ selector: 'desy-tree-checkbox', template: "<div [class]=\"classes\" [ngClass]=\"{'border-t border-b border-neutral-base -mb-px': hasDividers}\">\n <div class=\"relative flex items-start py-xs\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [id]=\"id + '-input'\"\n [name]=\"name\"\n [type]=\"type === 'checkbox' ? 'checkbox' : 'radio'\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"hasChanged()\"\n [disabled]=\"disabled ? disabled : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : null\"\n\n [attr.role]=\"role ? role : 'group'\"\n [
|
|
134
|
+
args: [{ selector: 'desy-tree-checkbox', template: "<div [class]=\"classes\" [ngClass]=\"{'border-t border-b border-neutral-base -mb-px': hasDividers}\">\n <div class=\"relative flex items-start py-xs\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [id]=\"id + '-input'\"\n [name]=\"name\"\n [type]=\"type === 'checkbox' ? 'checkbox' : 'radio'\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"hasChanged()\"\n [disabled]=\"disabled ? disabled : null\"\n [attr.aria-invalid]=\"hasError ? 'true' : null\"\n\n [attr.role]=\"role ? role : 'group'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-describedby]=\"itemDescribedBy\"\n\n (keydown.home)=\"preventDefault($event)\"\n (keydown.end)=\"preventDefault($event)\"\n (keydown.arrowup)=\"preventDefault($event)\"\n (keydown.arrowdown)=\"preventDefault($event)\"\n (keydown.arrowright)=\"preventDefault($event)\"\n (keydown.arrowleft)=\"preventDefault($event)\">\n </div>\n <div #contentWrapper class=\"flex-1 pt-0.5 leading-5\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
134
135
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElement: [{
|
|
135
136
|
type: ViewChild,
|
|
136
137
|
args: ['input', { static: true }]
|
|
@@ -170,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
170
171
|
}], hintComponent: [{
|
|
171
172
|
type: Input
|
|
172
173
|
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLWNoZWNrYm94L3RyZWUtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1jaGVja2JveC90cmVlLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDL0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7QUFNckUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQXdDL0QsWUFBb0IsY0FBaUM7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUExQjNDLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFNM0QsK0JBQTBCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFPekUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdsQixhQUFRLEdBQUcsS0FB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Q0FBQzs4QkFDaEIsY0FBYzs2REFBQztBQUV4QztJQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDOzhCQUNmLGFBQWE7NERBQUM7NEZBakM1QixxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9CO3dHQUtRLFlBQVk7c0JBQWpELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDVyxjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHcEMsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFFRSxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSwwQkFBMEI7c0JBQW5DLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMYWJlbENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtIaW50Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vaGludC9oaW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtEZXN5T25JbnB1dENoYW5nZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvclwiO1xuaW1wb3J0IHtTZWFyY2hVdGlsc30gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy9zZWFyY2gtdXRpbHNcIjtcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdHJlZS1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29udGVudFdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50V3JhcHBlcjogRWxlbWVudFJlZjtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uSWRDaGFuZ2UnKVxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdyYWRpbyd8J2NoZWNrYm94J3xudWxsfHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG5cbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgaXNJbmRldGVybWluYXRlOiBib29sZWFuO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnc2V0SW5kZXRlcm1pbmF0ZVN0YXR1cycpXG4gIEBJbnB1dCgpIGluZGV0ZXJtaW5hdGVDaGVja2VkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgaW5kZXRlcm1pbmF0ZUNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhhc0RpdmlkZXJzOiBib29sZWFuO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25EZXNjcmliZWRCeUNoYW5nZScpXG4gIEBJbnB1dCgpIGRlc2NyaWJlZEJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvdmVycmlkZUxhYmVsUGFyYW1zJylcbiAgQElucHV0KCkgbGFiZWxDb21wb25lbnQ6IExhYmVsQ29tcG9uZW50O1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb3ZlcnJpZGVIaW50UGFyYW1zJylcbiAgQElucHV0KCkgIGhpbnRDb21wb25lbnQ6IEhpbnRDb21wb25lbnQ7XG5cbiAgaXRlbURlc2NyaWJlZEJ5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfbGFzdEluZGV0ZXJtaW5hdGU7XG4gIHByaXZhdGUgX2hhc0luaXQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9oYXNJbml0ID0gdHJ1ZTtcbiAgICB0aGlzLm9uRGVzY3JpYmVkQnlDaGFuZ2UoKTtcbiAgfVxuXG4gIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBoYXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9oYXNJbml0KSB7XG5cbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gU2UgZXN0YWJsZWNlIGVsIGNhbWJpbyBhIHZpc3VhbGl6YXIgZW4gZWwgaW5wdXRcbiAgICAgIGlmICh0aGlzLmlzSW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBpZiAoaW5wdXQucmVhZE9ubHkpIHtcbiAgICAgICAgICBpbnB1dC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgaW5wdXQucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICAgIGlucHV0LnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKGlucHV0LmluZGV0ZXJtaW5hdGUpO1xuICAgICAgdGhpcy5jaGVja2VkQ2hhbmdlLmVtaXQoaW5wdXQuY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgb25JZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJyaWRlTGFiZWxQYXJhbXMoKTtcbiAgICB0aGlzLm92ZXJyaWRlSGludFBhcmFtcygpO1xuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZVN0YXR1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQpIHtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaW5wdXQucmVhZE9ubHkpIHtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgaW5wdXQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldEluZGV0ZXJtaW5hdGVDaGVja2VkKGluZGV0ZXJtaW5hdGVDaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCA9IGluZGV0ZXJtaW5hdGVDaGVja2VkO1xuICAgIHRoaXMuX2xhc3RJbmRldGVybWluYXRlID0gaW5kZXRlcm1pbmF0ZUNoZWNrZWQ7XG4gICAgdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZENoYW5nZS5lbWl0KGluZGV0ZXJtaW5hdGVDaGVja2VkKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTsgLy8gQXZpc2EgYWwgZWxlbWVudG8gaW5wdXQgcGFyYSBxdWUgYWN0dWFsaWNlIHN1IGVzdGFkb1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgbWF0Y2hlc1RleHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoZWNrYm94VGV4dCA9IHRoaXMuY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICByZXR1cm4gU2VhcmNoVXRpbHMuY29udGFpbnNBbnlXb3JkRnJvbShjaGVja2JveFRleHQsIHZhbHVlKTtcbiAgfVxuXG4gIHByZXZlbnREZWZhdWx0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBnZXRIaW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oaW50Q29tcG9uZW50ID8gdGhpcy5oaW50Q29tcG9uZW50LmlkIDogJyc7XG4gIH1cblxuICBvdmVycmlkZUxhYmVsUGFyYW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxhYmVsQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmxhYmVsQ29tcG9uZW50LmZvciA9IHRoaXMuaWQgKyAnLWlucHV0JztcbiAgICAgIGlmICghdGhpcy5sYWJlbENvbXBvbmVudC5jbGFzc2VzKSB7XG4gICAgICAgIHRoaXMubGFiZWxDb21wb25lbnQuY2xhc3NlcyA9ICdibG9jayByZWxhdGl2ZSAtdG9wLXhzIC1sZWZ0LTggcGwtOCBweS14cyc7XG4gICAgICB9XG4gICAgICB0aGlzLmxhYmVsQ29tcG9uZW50LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZUhpbnRQYXJhbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGludENvbXBvbmVudCkge1xuICAgICAgaWYgKCF0aGlzLmhpbnRDb21wb25lbnQuaWQpIHtcbiAgICAgICAgdGhpcy5oaW50Q29tcG9uZW50LmlkID0gdGhpcy5pZCArICctaXRlbS1oaW50JztcbiAgICAgIH1cbiAgICAgIHRoaXMuaGludENvbXBvbmVudC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHRoaXMub25EZXNjcmliZWRCeUNoYW5nZSgpO1xuICB9XG5cbiAgZ2V0SXRlbURlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmRlc2NyaWJlZEJ5ID8gdGhpcy5kZXNjcmliZWRCeSA6ICcnKSArICcgJyArIHRoaXMuZ2V0SGludElkKCk7XG4gIH1cblxuICBvbkRlc2NyaWJlZEJ5Q2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFyaWFEZXNjcmliZWRCeSkge1xuICAgICAgdGhpcy5pdGVtRGVzY3JpYmVkQnkgPSB0aGlzLmFyaWFEZXNjcmliZWRCeTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtRGVzY3JpYmVkQnkgPSB0aGlzLmdldEl0ZW1EZXNjcmliZWRCeSgpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IFtjbGFzc109XCJjbGFzc2VzXCIgW25nQ2xhc3NdPVwieydib3JkZXItdCBib3JkZXItYiBib3JkZXItbmV1dHJhbC1iYXNlIC1tYi1weCc6IGhhc0RpdmlkZXJzfVwiPlxuICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgZmxleCBpdGVtcy1zdGFydCBweS14c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBteC1zbVwiPlxuICAgICAgPGlucHV0ICNpbnB1dCBjbGFzcz1cInctNiBoLTYgdHJhbnNpdGlvbiBkdXJhdGlvbi0xNTAgZWFzZS1pbi1vdXQgYm9yZGVyLWJsYWNrIGZvY3VzOmJvcmRlci1ibGFjayBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cy1pbnB1dCBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy1vZmZzZXQtMCBmb2N1czpyaW5nLXdhcm5pbmctYmFzZSBkaXNhYmxlZDpiZy1uZXV0cmFsLWJhc2UgZGlzYWJsZWQ6Ym9yZGVyLW5ldXRyYWwtYmFzZSB0ZXh0LXByaW1hcnktYmFzZVwiXG4gICAgICAgICAgICAgW2lkXT1cImlkICsgJy1pbnB1dCdcIlxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgIFt0eXBlXT1cInR5cGUgPT09ICdjaGVja2JveCcgPyAnY2hlY2tib3gnIDogJ3JhZGlvJ1wiXG4gICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAgICAgICAgICAoY2hhbmdlKT1cImhhc0NoYW5nZWQoKVwiXG4gICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkID8gZGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3IgPyAndHJ1ZScgOiBudWxsXCJcblxuICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwicm9sZSA/IHJvbGUgOiAnZ3JvdXAnXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW1EZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiXG5cbiAgICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJwcmV2ZW50RGVmYXVsdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd3VwKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJwcmV2ZW50RGVmYXVsdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd3JpZ2h0KT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93bGVmdCk9XCJwcmV2ZW50RGVmYXVsdCgkZXZlbnQpXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAjY29udGVudFdyYXBwZXIgY2xhc3M9XCJmbGV4LTEgcHQtMC41IGxlYWRpbmctNVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLWNoZWNrYm94L3RyZWUtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1jaGVja2JveC90cmVlLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDL0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7O0FBTXJFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUF3Qy9ELFlBQW9CLGNBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBMUIzQyxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBTTNELCtCQUEwQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBT3pFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXbEIsYUFBUSxHQUFHLEtB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LENBQUM7OEJBQ2hCLGNBQWM7NkRBQUM7QUFFeEM7SUFBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFDZixhQUFhOzREQUFDOzRGQWpDNUIscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG9CQUFvQjt3R0FLUSxZQUFZO3NCQUFqRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1csY0FBYztzQkFBNUQsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUUsZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGFiZWxDb21wb25lbnR9IGZyb20gXCIuLi8uLi9sYWJlbC9sYWJlbC5jb21wb25lbnRcIjtcbmltcG9ydCB7SGludENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2hpbnQvaGludC5jb21wb25lbnRcIjtcbmltcG9ydCB7RGVzeU9uSW5wdXRDaGFuZ2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3JcIjtcbmltcG9ydCB7U2VhcmNoVXRpbHN9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvc2VhcmNoLXV0aWxzXCI7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRyZWUtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1jaGVja2JveC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWY7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbklkQ2hhbmdlJylcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlOiAncmFkaW8nfCdjaGVja2JveCd8bnVsbHx1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcblxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xuXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgpIGlzSW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ3NldEluZGV0ZXJtaW5hdGVTdGF0dXMnKVxuICBASW5wdXQoKSBpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNEaXZpZGVyczogYm9vbGVhbjtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uRGVzY3JpYmVkQnlDaGFuZ2UnKVxuICBASW5wdXQoKSBkZXNjcmliZWRCeTogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNFcnJvciA9IGZhbHNlO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb3ZlcnJpZGVMYWJlbFBhcmFtcycpXG4gIEBJbnB1dCgpIGxhYmVsQ29tcG9uZW50OiBMYWJlbENvbXBvbmVudDtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ292ZXJyaWRlSGludFBhcmFtcycpXG4gIEBJbnB1dCgpICBoaW50Q29tcG9uZW50OiBIaW50Q29tcG9uZW50O1xuXG4gIGl0ZW1EZXNjcmliZWRCeTogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2xhc3RJbmRldGVybWluYXRlO1xuICBwcml2YXRlIF9oYXNJbml0ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faGFzSW5pdCA9IHRydWU7XG4gICAgdGhpcy5vbkRlc2NyaWJlZEJ5Q2hhbmdlKCk7XG4gIH1cblxuICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaGFzQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGFzSW5pdCkge1xuXG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIC8vIFNlIGVzdGFibGVjZSBlbCBjYW1iaW8gYSB2aXN1YWxpemFyIGVuIGVsIGlucHV0XG4gICAgICBpZiAodGhpcy5pc0luZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgaWYgKGlucHV0LnJlYWRPbmx5KSB7XG4gICAgICAgICAgaW5wdXQuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgIGlucHV0LnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoIWlucHV0LmNoZWNrZWQpIHtcbiAgICAgICAgICBpbnB1dC5yZWFkT25seSA9IHRydWU7XG4gICAgICAgICAgaW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRJbmRldGVybWluYXRlQ2hlY2tlZChpbnB1dC5pbmRldGVybWluYXRlKTtcbiAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KGlucHV0LmNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIG9uSWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVycmlkZUxhYmVsUGFyYW1zKCk7XG4gICAgdGhpcy5vdmVycmlkZUhpbnRQYXJhbXMoKTtcbiAgfVxuXG4gIHNldEluZGV0ZXJtaW5hdGVTdGF0dXMoKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0RWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkKSB7XG4gICAgICAgIGlucHV0LnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICAgICAgaW5wdXQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGlucHV0LnJlYWRPbmx5KSB7XG4gICAgICAgIGlucHV0LnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRJbmRldGVybWluYXRlQ2hlY2tlZChpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQgPSBpbmRldGVybWluYXRlQ2hlY2tlZDtcbiAgICB0aGlzLl9sYXN0SW5kZXRlcm1pbmF0ZSA9IGluZGV0ZXJtaW5hdGVDaGVja2VkO1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWRDaGFuZ2UuZW1pdChpbmRldGVybWluYXRlQ2hlY2tlZCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7IC8vIEF2aXNhIGFsIGVsZW1lbnRvIGlucHV0IHBhcmEgcXVlIGFjdHVhbGljZSBzdSBlc3RhZG9cbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG1hdGNoZXNUZXh0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGVja2JveFRleHQgPSB0aGlzLmNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgcmV0dXJuIFNlYXJjaFV0aWxzLmNvbnRhaW5zQW55V29yZEZyb20oY2hlY2tib3hUZXh0LCB2YWx1ZSk7XG4gIH1cblxuICBwcmV2ZW50RGVmYXVsdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgZ2V0SGludElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaGludENvbXBvbmVudCA/IHRoaXMuaGludENvbXBvbmVudC5pZCA6ICcnO1xuICB9XG5cbiAgb3ZlcnJpZGVMYWJlbFBhcmFtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYWJlbENvbXBvbmVudCkge1xuICAgICAgdGhpcy5sYWJlbENvbXBvbmVudC5mb3IgPSB0aGlzLmlkICsgJy1pbnB1dCc7XG4gICAgICBpZiAoIXRoaXMubGFiZWxDb21wb25lbnQuY2xhc3Nlcykge1xuICAgICAgICB0aGlzLmxhYmVsQ29tcG9uZW50LmNsYXNzZXMgPSAnYmxvY2sgcmVsYXRpdmUgLXRvcC14cyAtbGVmdC04IHBsLTggcHkteHMnO1xuICAgICAgfVxuICAgICAgdGhpcy5sYWJlbENvbXBvbmVudC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGVIaW50UGFyYW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhpbnRDb21wb25lbnQpIHtcbiAgICAgIGlmICghdGhpcy5oaW50Q29tcG9uZW50LmlkKSB7XG4gICAgICAgIHRoaXMuaGludENvbXBvbmVudC5pZCA9IHRoaXMuaWQgKyAnLWl0ZW0taGludCc7XG4gICAgICB9XG4gICAgICB0aGlzLmhpbnRDb21wb25lbnQuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICB0aGlzLm9uRGVzY3JpYmVkQnlDaGFuZ2UoKTtcbiAgfVxuXG4gIGdldEl0ZW1EZXNjcmliZWRCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5kZXNjcmliZWRCeSA/IHRoaXMuZGVzY3JpYmVkQnkgOiAnJykgKyAnICcgKyB0aGlzLmdldEhpbnRJZCgpO1xuICB9XG5cbiAgb25EZXNjcmliZWRCeUNoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hcmlhRGVzY3JpYmVkQnkpIHtcbiAgICAgIHRoaXMuaXRlbURlc2NyaWJlZEJ5ID0gdGhpcy5hcmlhRGVzY3JpYmVkQnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbURlc2NyaWJlZEJ5ID0gdGhpcy5nZXRJdGVtRGVzY3JpYmVkQnkoKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3NdPVwiY2xhc3Nlc1wiIFtuZ0NsYXNzXT1cInsnYm9yZGVyLXQgYm9yZGVyLWIgYm9yZGVyLW5ldXRyYWwtYmFzZSAtbWItcHgnOiBoYXNEaXZpZGVyc31cIj5cbiAgPGRpdiBjbGFzcz1cInJlbGF0aXZlIGZsZXggaXRlbXMtc3RhcnQgcHkteHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbXgtc21cIj5cbiAgICAgIDxpbnB1dCAjaW5wdXQgY2xhc3M9XCJ3LTYgaC02IHRyYW5zaXRpb24gZHVyYXRpb24tMTUwIGVhc2UtaW4tb3V0IGJvcmRlci1ibGFjayBmb2N1czpib3JkZXItYmxhY2sgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMtaW5wdXQgZm9jdXM6cmluZy00IGZvY3VzOnJpbmctb2Zmc2V0LTAgZm9jdXM6cmluZy13YXJuaW5nLWJhc2UgZGlzYWJsZWQ6YmctbmV1dHJhbC1iYXNlIGRpc2FibGVkOmJvcmRlci1uZXV0cmFsLWJhc2UgdGV4dC1wcmltYXJ5LWJhc2VcIlxuICAgICAgICAgICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlID09PSAnY2hlY2tib3gnID8gJ2NoZWNrYm94JyA6ICdyYWRpbydcIlxuICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJoYXNDaGFuZ2VkKClcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCA/IGRpc2FibGVkIDogbnVsbFwiXG4gICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yID8gJ3RydWUnIDogbnVsbFwiXG5cbiAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogJ2dyb3VwJ1wiXG4gICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIlxuICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbURlc2NyaWJlZEJ5XCJcblxuICAgICAgICAgICAgIChrZXlkb3duLmhvbWUpPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24uZW5kKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93dXApPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24uYXJyb3dkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwicHJldmVudERlZmF1bHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNjb250ZW50V3JhcHBlciBjbGFzcz1cImZsZXgtMSBwdC0wLjUgbGVhZGluZy01XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { AccessibilityComponent } from "../../../../shared/components";
|
|
3
4
|
import { DesyContentChild } from "../../../../shared/decorators/desy-content-child.decorator";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { DesyOnInputChange } from "../../../../shared/decorators/desy-on-input-change.decorator";
|
|
6
|
+
import { SearchUtils } from "../../../../shared/utils/search-utils";
|
|
6
7
|
import { HintComponent } from "../../hint/hint.component";
|
|
7
8
|
import { LabelComponent } from "../../label/label.component";
|
|
9
|
+
import { ITreeItem } from "../interfaces/itree-item";
|
|
8
10
|
import { TreeCheckboxComponent } from "../tree-checkbox/tree-checkbox.component";
|
|
9
|
-
import {
|
|
10
|
-
import { DesyOnInputChange } from "../../../../shared/decorators/desy-on-input-change.decorator";
|
|
11
|
-
import { SearchUtils } from "../../../../shared/utils/search-utils";
|
|
11
|
+
import { TreeSubComponent } from "../tree-sub/tree-sub.component";
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "@angular/common";
|
|
14
14
|
import * as i2 from "../../../../shared/directives/custom-inner-content.directive";
|
|
15
|
-
import * as i3 from "
|
|
16
|
-
import * as i4 from "
|
|
15
|
+
import * as i3 from "../../../../shared/directives/accessibility-directive";
|
|
16
|
+
import * as i4 from "../tree-checkbox/tree-checkbox.component";
|
|
17
|
+
import * as i5 from "../../../../shared/pipes/make-html-list.pipe";
|
|
17
18
|
export class TreeItemComponent extends AccessibilityComponent {
|
|
18
19
|
static { this._treeItemKeySuffix = 0; }
|
|
19
20
|
constructor(changeDetector, element) {
|
|
@@ -294,12 +295,12 @@ export class TreeItemComponent extends AccessibilityComponent {
|
|
|
294
295
|
return key;
|
|
295
296
|
}
|
|
296
297
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeItemComponent, selector: "desy-tree-item", inputs: { id: "id", name: "name", value: "value", classes: "classes", active: "active", disabled: "disabled",
|
|
298
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeItemComponent, selector: "desy-tree-item", inputs: { id: "id", name: "name", value: "value", classes: "classes", active: "active", disabled: "disabled", titleModal: "titleModal", hasDividers: "hasDividers", isIndeterminate: "isIndeterminate", checked: "checked", expanded: "expanded", indeterminateChecked: "indeterminateChecked" }, outputs: { checkedChange: "checkedChange", expandedChange: "expandedChange", indeterminateCheckedChange: "indeterminateCheckedChange" }, host: { properties: { "attr.desy-tree-item-key": "this.treeItemKey" } }, providers: [
|
|
298
299
|
{
|
|
299
300
|
provide: ITreeItem,
|
|
300
301
|
useExisting: forwardRef(() => TreeItemComponent)
|
|
301
302
|
}
|
|
302
|
-
], queries: [{ propertyName: "sub", predicate: TreeSubComponent }, { propertyName: "hint", predicate: HintComponent }, { propertyName: "label", predicate: LabelComponent }], viewQueries: [{ propertyName: "hiddenWrapper", first: true, predicate: ["hiddenWrapper"], descendants: true }, { propertyName: "checkbox", first: true, predicate: TreeCheckboxComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<li *ngIf=\"allParentsExpanded && !isHidden(); else hidden\"\n [id]=\"id\"\n [class]=\"'c-tree__item focus:outline-none'\"\n [ngClass]=\"{\n 'ml-4': subLevel === 0,\n 'ml-8': subLevel !== 0,\n 'c-tree__item--focus': isFocus && !sub,\n 'c-tree__item--hover': isHover && !sub\n }\"\n (focusin)=\"handleItemFocus(true, !sub)\"\n (focusout)=\"handleItemFocus(false, !sub)\"\n (mouseover)=\"handleItemHover(true, !sub)\"\n (mouseout)=\"handleItemHover(false, !sub)\"\n (keydown.home)=\"handleHome($event, !sub)\"\n (keydown.end)=\"handleEnd($event, !sub)\"\n (keydown.arrowup)=\"handleArrowUp($event, !sub)\"\n (keydown.arrowdown)=\"handleArrowDown($event, !sub)\"\n (keydown.arrowright)=\"handleArrowRight($event, !sub)\"\n (keydown.arrowleft)=\"handleArrowLeft($event, !sub)\"\n role=\"treeitem\"\n [attr.aria-expanded]=\"sub ? (expanded ? 'true' : 'false') : null\"\n [attr.aria-current]=\"isActive() && subLevel === 0 ? 'page' : null\">\n <div *ngIf=\"!sub && subLevel !== 0; else childrenTree\"\n [id]=\"id\"\n [class]=\"['block', classes] | makeHtmlList\"\n [attr.
|
|
303
|
+
], queries: [{ propertyName: "sub", predicate: TreeSubComponent }, { propertyName: "hint", predicate: HintComponent }, { propertyName: "label", predicate: LabelComponent }], viewQueries: [{ propertyName: "hiddenWrapper", first: true, predicate: ["hiddenWrapper"], descendants: true }, { propertyName: "checkbox", first: true, predicate: TreeCheckboxComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<li *ngIf=\"allParentsExpanded && !isHidden(); else hidden\"\n [id]=\"id\"\n [class]=\"'c-tree__item focus:outline-none'\"\n [ngClass]=\"{\n 'ml-4': subLevel === 0,\n 'ml-8': subLevel !== 0,\n 'c-tree__item--focus': isFocus && !sub,\n 'c-tree__item--hover': isHover && !sub\n }\"\n (focusin)=\"handleItemFocus(true, !sub)\"\n (focusout)=\"handleItemFocus(false, !sub)\"\n (mouseover)=\"handleItemHover(true, !sub)\"\n (mouseout)=\"handleItemHover(false, !sub)\"\n (keydown.home)=\"handleHome($event, !sub)\"\n (keydown.end)=\"handleEnd($event, !sub)\"\n (keydown.arrowup)=\"handleArrowUp($event, !sub)\"\n (keydown.arrowdown)=\"handleArrowDown($event, !sub)\"\n (keydown.arrowright)=\"handleArrowRight($event, !sub)\"\n (keydown.arrowleft)=\"handleArrowLeft($event, !sub)\"\n role=\"treeitem\"\n [attr.aria-expanded]=\"sub ? (expanded ? 'true' : 'false') : null\"\n [attr.aria-current]=\"isActive() && subLevel === 0 ? 'page' : null\">\n <div *ngIf=\"!sub && subLevel !== 0; else childrenTree\"\n [id]=\"id\"\n [class]=\"['block', classes] | makeHtmlList\"\n [attr.disabled]=\"disabled || treeDisabled ? 'disabled' : null\"\n\n [attr.role]=\"role ? role : 'tree'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : (disabled || treeDisabled ? 'true' : null)\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : (isActive() ? 'page' : null)\"\n [attr.tabindex]=\"tabindex ? tabindex : (disabled || treeDisabled ? '-1' : null)\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </div>\n</li>\n\n<ng-template #childrenTree>\n <div *ngIf=\"sub; else checkbox\" class=\"w-full h-full\"\n [ngClass]=\"{'c-tree__item--focus': isFocus && sub, 'c-tree__item--hover': isHover && sub}\"\n (focusin)=\"handleItemFocus(true)\"\n (focusout)=\"handleItemFocus(false)\"\n (mouseover)=\"handleItemHover(true)\"\n (mouseout)=\"handleItemHover(false)\"\n (keydown.home)=\"handleHome($event)\"\n (keydown.end)=\"handleEnd($event)\"\n (keydown.arrowup)=\"handleArrowUp($event)\"\n (keydown.arrowdown)=\"handleArrowDown($event)\"\n (keydown.arrowright)=\"handleArrowRight($event)\"\n (keydown.arrowLeft)=\"handleArrowLeft($event)\">\n <div [class]=\"['w-full flex items-center relative focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <span class=\"absolute top-3 -left-4 flex items-center w-4 h-2.5 text-primary-base font-bold\">\n <svg (click)=\"expandSub(false)\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" class=\"c-tree__minus\"><path fill=\"currentColor\" d=\"M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z\"/></svg>\n <svg (click)=\"expandSub(true)\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" class=\"c-tree__plus\"><path fill=\"currentColor\" d=\"M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z\"/></svg>\n </span>\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </div>\n </div>\n\n <ng-container *desyCustomInnerContent=\"{ component: sub }\"></ng-container>\n</ng-template>\n\n<!-- Se incorpora el contenido m\u00EDnimo para funcionar con el objetivo de mejorar el rendimiento -->\n<ng-template #hidden>\n <li class=\"hidden\">\n <div #hiddenWrapper>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-container *desyCustomInnerContent=\"{ component: sub }\"></ng-container>\n </li>\n</ng-template>\n\n<ng-template #checkbox>\n <!--\n El *ngIf=\"name || parentName\" se realiza para no crear el checkbox hasta que se ha ejecutado el configureAllItems.\n Esto puede dar problemas porque, hasta que no se ejecuta esto, el desy-tree-checkbox no cuenta con el type actualizado (por defecto radio).\n Un ejemplo en el que esto puede ser problem\u00E1tico es al ser typo checkbox y darle un valor checked=true a varios los items, ya\n que el type todav\u00EDa no se ha transmitido aqu\u00ED. Como por defecto el type es radio, s\u00F3lo marcar\u00E1 el \u00FAltimo. Posteriormente,\n ya detectar\u00E1 el tipo y permitir\u00E1 seleccionar varios items, pero hasta entonces existe este problema.\n -->\n <desy-tree-checkbox *ngIf=\"name || parentName\"\n [name]=\"name ? name : parentName\"\n [id]=\"getId()\"\n [value]=\"value\"\n [classes]=\"classes\"\n [type]=\"type\"\n [(checked)]=\"checked\" (checkedChange)=\"handleCheckboxChange($event)\"\n [hasError]=\"inheritedHasError\"\n [disabled]=\"disabled || treeDisabled\"\n [hasDividers]=\"hasDividers\"\n [describedBy]=\"[inheritedDescribedBy, hint?.id] | makeHtmlList\"\n [isIndeterminate]=\"isIndeterminate\"\n [(indeterminateChecked)]=\"indeterminateChecked\"\n (indeterminateCheckedChange)=\"handleIndeterminateCheckedChange($event)\"\n\n [labelComponent]=\"label\"\n [hintComponent]=\"hint\"\n\n [role]=\"role\"\n [ariaLabel]=\"ariaLabel\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaHidden]=\"ariaHidden\"\n [ariaDisabled]=\"ariaDisabled\"\n [ariaControls]=\"ariaControls\"\n [ariaCurrent]=\"ariaCurrent\"\n [ariaLive]=\"ariaLive\"\n [ariaExpanded]=\"ariaExpanded\"\n [ariaErrorMessage]=\"ariaErrorMessage\"\n [ariaHasPopup]=\"ariaHasPopup\"\n [ariaModal]=\"ariaModal\"\n [tabindex]=\"tabindex\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </desy-tree-checkbox>\n</ng-template>\n\n<ng-template #content>\n <div class=\"font-bold\" *ngIf=\"isActive(); else contentLabel\">\n <ng-container *ngTemplateOutlet=\"contentLabel\"></ng-container>\n </div>\n <ng-content select=\"desy-hint\"></ng-content>\n</ng-template>\n\n<ng-template #contentLabel>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i4.TreeCheckboxComponent, selector: "desy-tree-checkbox", inputs: ["id", "name", "type", "classes", "value", "checked", "isIndeterminate", "indeterminateChecked", "disabled", "hasDividers", "describedBy", "hasError", "labelComponent", "hintComponent"], outputs: ["checkedChange", "indeterminateCheckedChange"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
303
304
|
}
|
|
304
305
|
__decorate([
|
|
305
306
|
DesyOnInputChange('setDefaultIdRecursive'),
|
|
@@ -324,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
324
325
|
provide: ITreeItem,
|
|
325
326
|
useExisting: forwardRef(() => TreeItemComponent)
|
|
326
327
|
}
|
|
327
|
-
], template: "<li *ngIf=\"allParentsExpanded && !isHidden(); else hidden\"\n [id]=\"id\"\n [class]=\"'c-tree__item focus:outline-none'\"\n [ngClass]=\"{\n 'ml-4': subLevel === 0,\n 'ml-8': subLevel !== 0,\n 'c-tree__item--focus': isFocus && !sub,\n 'c-tree__item--hover': isHover && !sub\n }\"\n (focusin)=\"handleItemFocus(true, !sub)\"\n (focusout)=\"handleItemFocus(false, !sub)\"\n (mouseover)=\"handleItemHover(true, !sub)\"\n (mouseout)=\"handleItemHover(false, !sub)\"\n (keydown.home)=\"handleHome($event, !sub)\"\n (keydown.end)=\"handleEnd($event, !sub)\"\n (keydown.arrowup)=\"handleArrowUp($event, !sub)\"\n (keydown.arrowdown)=\"handleArrowDown($event, !sub)\"\n (keydown.arrowright)=\"handleArrowRight($event, !sub)\"\n (keydown.arrowleft)=\"handleArrowLeft($event, !sub)\"\n role=\"treeitem\"\n [attr.aria-expanded]=\"sub ? (expanded ? 'true' : 'false') : null\"\n [attr.aria-current]=\"isActive() && subLevel === 0 ? 'page' : null\">\n <div *ngIf=\"!sub && subLevel !== 0; else childrenTree\"\n [id]=\"id\"\n [class]=\"['block', classes] | makeHtmlList\"\n [attr.
|
|
328
|
+
], template: "<li *ngIf=\"allParentsExpanded && !isHidden(); else hidden\"\n [id]=\"id\"\n [class]=\"'c-tree__item focus:outline-none'\"\n [ngClass]=\"{\n 'ml-4': subLevel === 0,\n 'ml-8': subLevel !== 0,\n 'c-tree__item--focus': isFocus && !sub,\n 'c-tree__item--hover': isHover && !sub\n }\"\n (focusin)=\"handleItemFocus(true, !sub)\"\n (focusout)=\"handleItemFocus(false, !sub)\"\n (mouseover)=\"handleItemHover(true, !sub)\"\n (mouseout)=\"handleItemHover(false, !sub)\"\n (keydown.home)=\"handleHome($event, !sub)\"\n (keydown.end)=\"handleEnd($event, !sub)\"\n (keydown.arrowup)=\"handleArrowUp($event, !sub)\"\n (keydown.arrowdown)=\"handleArrowDown($event, !sub)\"\n (keydown.arrowright)=\"handleArrowRight($event, !sub)\"\n (keydown.arrowleft)=\"handleArrowLeft($event, !sub)\"\n role=\"treeitem\"\n [attr.aria-expanded]=\"sub ? (expanded ? 'true' : 'false') : null\"\n [attr.aria-current]=\"isActive() && subLevel === 0 ? 'page' : null\">\n <div *ngIf=\"!sub && subLevel !== 0; else childrenTree\"\n [id]=\"id\"\n [class]=\"['block', classes] | makeHtmlList\"\n [attr.disabled]=\"disabled || treeDisabled ? 'disabled' : null\"\n\n [attr.role]=\"role ? role : 'tree'\"\n [desyAppAccessibility]=\"this\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : (disabled || treeDisabled ? 'true' : null)\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : (isActive() ? 'page' : null)\"\n [attr.tabindex]=\"tabindex ? tabindex : (disabled || treeDisabled ? '-1' : null)\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </div>\n</li>\n\n<ng-template #childrenTree>\n <div *ngIf=\"sub; else checkbox\" class=\"w-full h-full\"\n [ngClass]=\"{'c-tree__item--focus': isFocus && sub, 'c-tree__item--hover': isHover && sub}\"\n (focusin)=\"handleItemFocus(true)\"\n (focusout)=\"handleItemFocus(false)\"\n (mouseover)=\"handleItemHover(true)\"\n (mouseout)=\"handleItemHover(false)\"\n (keydown.home)=\"handleHome($event)\"\n (keydown.end)=\"handleEnd($event)\"\n (keydown.arrowup)=\"handleArrowUp($event)\"\n (keydown.arrowdown)=\"handleArrowDown($event)\"\n (keydown.arrowright)=\"handleArrowRight($event)\"\n (keydown.arrowLeft)=\"handleArrowLeft($event)\">\n <div [class]=\"['w-full flex items-center relative focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <span class=\"absolute top-3 -left-4 flex items-center w-4 h-2.5 text-primary-base font-bold\">\n <svg (click)=\"expandSub(false)\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" class=\"c-tree__minus\"><path fill=\"currentColor\" d=\"M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z\"/></svg>\n <svg (click)=\"expandSub(true)\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\" class=\"c-tree__plus\"><path fill=\"currentColor\" d=\"M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z\"/></svg>\n </span>\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </div>\n </div>\n\n <ng-container *desyCustomInnerContent=\"{ component: sub }\"></ng-container>\n</ng-template>\n\n<!-- Se incorpora el contenido m\u00EDnimo para funcionar con el objetivo de mejorar el rendimiento -->\n<ng-template #hidden>\n <li class=\"hidden\">\n <div #hiddenWrapper>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-container *desyCustomInnerContent=\"{ component: sub }\"></ng-container>\n </li>\n</ng-template>\n\n<ng-template #checkbox>\n <!--\n El *ngIf=\"name || parentName\" se realiza para no crear el checkbox hasta que se ha ejecutado el configureAllItems.\n Esto puede dar problemas porque, hasta que no se ejecuta esto, el desy-tree-checkbox no cuenta con el type actualizado (por defecto radio).\n Un ejemplo en el que esto puede ser problem\u00E1tico es al ser typo checkbox y darle un valor checked=true a varios los items, ya\n que el type todav\u00EDa no se ha transmitido aqu\u00ED. Como por defecto el type es radio, s\u00F3lo marcar\u00E1 el \u00FAltimo. Posteriormente,\n ya detectar\u00E1 el tipo y permitir\u00E1 seleccionar varios items, pero hasta entonces existe este problema.\n -->\n <desy-tree-checkbox *ngIf=\"name || parentName\"\n [name]=\"name ? name : parentName\"\n [id]=\"getId()\"\n [value]=\"value\"\n [classes]=\"classes\"\n [type]=\"type\"\n [(checked)]=\"checked\" (checkedChange)=\"handleCheckboxChange($event)\"\n [hasError]=\"inheritedHasError\"\n [disabled]=\"disabled || treeDisabled\"\n [hasDividers]=\"hasDividers\"\n [describedBy]=\"[inheritedDescribedBy, hint?.id] | makeHtmlList\"\n [isIndeterminate]=\"isIndeterminate\"\n [(indeterminateChecked)]=\"indeterminateChecked\"\n (indeterminateCheckedChange)=\"handleIndeterminateCheckedChange($event)\"\n\n [labelComponent]=\"label\"\n [hintComponent]=\"hint\"\n\n [role]=\"role\"\n [ariaLabel]=\"ariaLabel\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaHidden]=\"ariaHidden\"\n [ariaDisabled]=\"ariaDisabled\"\n [ariaControls]=\"ariaControls\"\n [ariaCurrent]=\"ariaCurrent\"\n [ariaLive]=\"ariaLive\"\n [ariaExpanded]=\"ariaExpanded\"\n [ariaErrorMessage]=\"ariaErrorMessage\"\n [ariaHasPopup]=\"ariaHasPopup\"\n [ariaModal]=\"ariaModal\"\n [tabindex]=\"tabindex\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </desy-tree-checkbox>\n</ng-template>\n\n<ng-template #content>\n <div class=\"font-bold\" *ngIf=\"isActive(); else contentLabel\">\n <ng-container *ngTemplateOutlet=\"contentLabel\"></ng-container>\n </div>\n <ng-content select=\"desy-hint\"></ng-content>\n</ng-template>\n\n<ng-template #contentLabel>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n" }]
|
|
328
329
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { hiddenWrapper: [{
|
|
329
330
|
type: ViewChild,
|
|
330
331
|
args: ['hiddenWrapper']
|
|
@@ -340,7 +341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
340
341
|
type: Input
|
|
341
342
|
}], disabled: [{
|
|
342
343
|
type: Input
|
|
343
|
-
}],
|
|
344
|
+
}], titleModal: [{
|
|
344
345
|
type: Input
|
|
345
346
|
}], hasDividers: [{
|
|
346
347
|
type: Input
|
|
@@ -374,4 +375,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
374
375
|
type: HostBinding,
|
|
375
376
|
args: ['attr.desy-tree-item-key']
|
|
376
377
|
}] } });
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUFFLFVBQVUsRUFDM0IsWUFBWSxFQUNaLFVBQVUsRUFBRSxXQUFXLEVBQ3ZCLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBWWxFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxzQkFB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O2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUdFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUc0QixHQUFHO3NCQUFyQyxlQUFlO3VCQUFDLGdCQUFnQjtnQkFHRCxJQUFJO3NCQUFuQyxlQUFlO3VCQUFDLGFBQWE7Z0JBR0csS0FBSztzQkFBckMsZUFBZTt1QkFBQyxjQUFjO2dCQUVHLFFBQVE7c0JBQXpDLFNBQVM7dUJBQUMscUJBQXFCO2dCQVV2QixXQUFXO3NCQURuQixXQUFXO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLCBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yXCI7XG5pbXBvcnQge1RyZWVTdWJDb21wb25lbnR9IGZyb20gXCIuLi90cmVlLXN1Yi90cmVlLXN1Yi5jb21wb25lbnRcIjtcbmltcG9ydCB7SVRyZWVJdGVtfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9pdHJlZS1pdGVtXCI7XG5pbXBvcnQge0hpbnRDb21wb25lbnR9IGZyb20gXCIuLi8uLi9oaW50L2hpbnQuY29tcG9uZW50XCI7XG5pbXBvcnQge0xhYmVsQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vbGFiZWwvbGFiZWwuY29tcG9uZW50XCI7XG5pbXBvcnQge1F1aXRUcmVlSXRlbUZvY3VzT3B0aW9uc30gZnJvbSBcIi4uL2ludGVyZmFjZXMvcXVpdC10cmVlLWl0ZW0tZm9jdXMtb3B0aW9uc1wiO1xuaW1wb3J0IHtUcmVlQ2hlY2tib3hDb21wb25lbnR9IGZyb20gXCIuLi90cmVlLWNoZWNrYm94L3RyZWUtY2hlY2tib3guY29tcG9uZW50XCI7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50c1wiO1xuaW1wb3J0IHtEZXN5T25JbnB1dENoYW5nZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvclwiO1xuaW1wb3J0IHtTZWFyY2hVdGlsc30gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy9zZWFyY2gtdXRpbHNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10cmVlLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSVRyZWVJdGVtLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJlZUl0ZW1Db21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgSVRyZWVJdGVtIHtcblxuICBwcml2YXRlIHN0YXRpYyBfdHJlZUl0ZW1LZXlTdWZmaXggPSAwOyAvLyBTdWZpam8gZXN0w6F0aWNvIHBhcmEgZ2VuZXJhciBzaWVtcHJlIGNsYXZlcyBkaXN0aW50YXNcbiAgQFZpZXdDaGlsZCgnaGlkZGVuV3JhcHBlcicpIGhpZGRlbldyYXBwZXI6IEVsZW1lbnRSZWY7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdzZXREZWZhdWx0SWRSZWN1cnNpdmUnKVxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgaGFzRGl2aWRlcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzSW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgY2hlY2tlZENoYW5nZUZvclRyZWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZVN1YlZhbHVlcyd9KVxuICBAQ29udGVudENoaWxkcmVuKFRyZWVTdWJDb21wb25lbnQpIHN1YjogVHJlZVN1YkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oSGludENvbXBvbmVudCkgaGludDogSGludENvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oTGFiZWxDb21wb25lbnQpIGxhYmVsOiBMYWJlbENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFRyZWVDaGVja2JveENvbXBvbmVudCkgY2hlY2tib3g6IFRyZWVDaGVja2JveENvbXBvbmVudDtcblxuICAvKlxuICAgKiBJZGVudGlmaWNhZG9yIGRlbCB3cmFwcGVyIGRlbCBjb21wb25lbnRlLiBTZSB1dGlsaXphIHBhcmEgcmVjb3JyZXIgZWwgw6FyYm9sIGVuIHNlbnRpZG8gaW52ZXJzbyB5IHF1ZSBjYWRhIGl0ZW1cbiAgICogc2VwYSBjdcOhbCBlcyBzdSBpdGVtL8OhcmJvbCBwYWRyZS5cbiAgICogRXN0byBlcyBuZWNlc2FyaW8geWEgcXVlLCBhIGxhIGhvcmEgZGUgY29uc3RydWlyIHVuIMOhcmJvbCBkaW7DoW1pY28gY29uIHRlbXBsYXRlcyxcbiAgICogZWwgZGVjb3JhZG9yIEBDb250ZW50Q2hpbGRyZW4gbm8gZnVuY2lvbmEgY29ycmVjdGFtZW50ZSB5IG5vIGxvcyBkZXRlY3RhLlxuICAgKiBEZWpvIGVsIGVubGFjZSBkZSB1biBwcm9ibGVtYSBzaW1pbGFyOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMTc1MVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRlc3ktdHJlZS1pdGVtLWtleScpXG4gIHJlYWRvbmx5IHRyZWVJdGVtS2V5OiBzdHJpbmcgPSBUcmVlSXRlbUNvbXBvbmVudC5nZW5lcmF0ZVN0YXRpY0l0ZW1LZXkoKTtcblxuICB0eXBlOiAncmFkaW8nfCdjaGVja2JveCd8bnVsbHx1bmRlZmluZWQ7XG4gIHN1YkxldmVsOiBudW1iZXI7IC8vIE5pdmVsIGRlbnRybyBkZWwgYXJib2wuIDAgc29uIGxvcyBpdGVtcyBhIG5pdmVsIGRlIHJhaXouXG5cbiAgLy8gUHJvcGllZGFkZXMgZGVmaW5pZGFzIHBvciBlbCBjb21wb25lbnRlIMOhcmJvbCBxdWUgZWwgaXRlbSBwdWVkZSB1dGlsaXphciwgc29icmVzY3JpYmlyIG8gYW1wbGlhclxuICBwYXJlbnROYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHRJZDtcbiAgaW5oZXJpdGVkRXhwYW5kZWRGaXJzdExldmVsOiBib29sZWFuO1xuICBpbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudDogYm9vbGVhbjtcbiAgaW5oZXJpdGVkRGVzY3JpYmVkQnk6IHN0cmluZztcbiAgaW5oZXJpdGVkSGFzRXJyb3I6IGJvb2xlYW47XG4gIGFsbFBhcmVudHNFeHBhbmRlZCA9IHRydWU7IC8vIFRydWUgc2kgZWwgZWxlbWVudG8gZXMgdmlzaWJsZSBzZWfDum4gbG9zIGVsZW1lbnRvcyBleHBhbmRpZG9zXG4gIGluaGVyaXRlZE1hdGNoZXNTZWFyY2ggPSB0cnVlOyAvLyBUcnVlIHNpIGVsIGVsZW1lbnRvIGVzIHZpc2libGUgc2Vnw7puIGxvcyBjcml0ZXJpb3MgZGUgYsO6c3F1ZWRhXG4gIG9yZGVySW5UcmVlOiBudW1iZXI7XG4gIHRyZWVEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8vIEV2ZW50byBwYXJhIGVtaXRpciBhbCBjb21wb25lbnRlIGFyYm9sIGN1YW5kbyBzZSBwcmV0ZW5kZSBhYmFuZG9uYXIgZWwgZm9jbyBkZWwgaXRlbVxuICBxdWl0Rm9jdXM6IEV2ZW50RW1pdHRlcjxRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnM+ID0gbmV3IEV2ZW50RW1pdHRlcjxRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnM+KCk7XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc0hvdmVyID0gZmFsc2U7XG4gIHByaXZhdGUgX21hdGNoZXNWYWxpZFRleHQgPSBmYWxzZTsgLy8gVHJ1ZSBzaSBlbCBjb250ZW5pZG8gZGVsIGl0ZW0gZW5jYWphIGNvbiBsb3MgY3JpdGVyaW9zIGRlIGLDunNxdWVkYSB5IHNlIGVzdMOhIGZpbHRyYW5kb1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViICYmIHRoaXMuc3ViLml0ZW1MaXN0KSB7XG4gICAgICB0aGlzLnN1Yi5pdGVtTGlzdC5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnJlZnJlc2hBbGxQYXJlbnRzRXhwYW5kZWRSZWN1cnNpdmUodGhpcy5hbGxQYXJlbnRzRXhwYW5kZWQgJiYgdGhpcy5leHBhbmRlZCkpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHN3aXRjaCAocHJvcE5hbWUpIHtcbiAgICAgICAgICBjYXNlICdjaGVja2VkJzoge1xuICAgICAgICAgICAgLy8gUmVhc2lnbmFtb3MgZWwgdmFsb3IgZGUgY2hlY2tlZCBjdWFuZG8gZGV0ZWN0YW1vcyBlbCBjYW1iaW8gZW4gbGEgZW50cmFkYVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmNoZWNrZWQsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCAmJiB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZFN1Yih0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBNw6l0b2RvcyBleHB1ZXN0b3MgcXVlIHBlcm1pdGVuIGNvbmZpZ3VyYXIgYWwgw610ZW0gZGUgZm9ybWEgZXh0ZXJuYVxuICAgKi9cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94Py5mb2N1cygpO1xuICAgIHRoaXMuaGFuZGxlSXRlbUZvY3VzKHRydWUpO1xuICB9XG5cbiAgc2V0Q2hlY2tlZEF1dG9tYXRpY2FsbHlEZXBlbmRpbmdPbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5zZXRDaGVja2VkQXV0b21hdGljYWxseURlcGVuZGluZ09uQ2hpbGRyZW4oKSk7XG4gICAgICBpZiAodGhpcy5hcmVBbGxDaGlsZHJlbkNoZWNrZWQoKSkge1xuICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCkge1xuICAgICAgICAgIHRoaXMuc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgICB0aGlzLnNldENoZWNrZWQodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNDaGlsZHJlbkNoZWNrZWRPckluZGV0ZXJtaW5hdGUoKSkge1xuICAgICAgICBpZiAoIXRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQpIHtcbiAgICAgICAgICB0aGlzLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICAgIHRoaXMuc2V0Q2hlY2tlZChmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5zZXRJbmRldGVybWluYXRlQ2hlY2tlZChmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5zZXRDaGVja2VkKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hBbGxQYXJlbnRzRXhwYW5kZWRSZWN1cnNpdmUodmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFBhcmVudHNFeHBhbmRlZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5yZWZyZXNoQWxsUGFyZW50c0V4cGFuZGVkUmVjdXJzaXZlKHZhbHVlICYmIHRoaXMuZXhwYW5kZWQpKTtcbiAgICB9XG4gIH1cblxuICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZXhwYW5kU3ViKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5yZWZyZXNoQWxsUGFyZW50c0V4cGFuZGVkUmVjdXJzaXZlKHRoaXMuYWxsUGFyZW50c0V4cGFuZGVkICYmIHZhbHVlKSk7XG4gICAgfVxuICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKlxuICAgKiBHZXN0aW9uIGRlIGV2ZW50b3NcbiAgICovXG5cbiAgaGFuZGxlQ2hlY2tib3hDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2V0Q2hlY2tlZChjaGVja2VkLCBmYWxzZSk7XG4gICAgaWYgKHRoaXMuaW5oZXJpdGVkRXhwYW5kZWRGaXJzdExldmVsICYmIGNoZWNrZWQgJiYgIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuZXhwYW5kU3ViKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlKGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlLmVtaXQoaW5kZXRlcm1pbmF0ZSk7XG4gIH1cblxuICBoYW5kbGVJdGVtRm9jdXModmFsdWUsIGNvbmRpdGlvbj10cnVlKTogdm9pZCB7XG4gICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgdGhpcy5pc0ZvY3VzID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSXRlbUhvdmVyKHZhbHVlLCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIHRoaXMuaXNIb3ZlciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFycm93VXAoZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgbmV4dEVsZW1lbnQ6ICdwcmV2aW91cycsXG4gICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVIb21lKGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5xdWl0Rm9jdXMuZW1pdCh7XG4gICAgICAgIG5leHRFbGVtZW50OiAnZmlyc3QnLFxuICAgICAgICBjdXJyZW50SXRlbTogdGhpc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRW5kKGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5xdWl0Rm9jdXMuZW1pdCh7XG4gICAgICAgIG5leHRFbGVtZW50OiAnbGFzdCcsXG4gICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBcnJvd0Rvd24oZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgbmV4dEVsZW1lbnQ6ICduZXh0JyxcbiAgICAgICAgY3VycmVudEl0ZW06IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFycm93UmlnaHQoZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24gJiYgdGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3Q/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgICBuZXh0RWxlbWVudDogJ2ZpcnN0Q2hpbGQnLFxuICAgICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRTdWIodHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXJyb3dMZWZ0KGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy5leHBhbmRTdWIoZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnN1YkxldmVsID4gMCkge1xuICAgICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgICBuZXh0RWxlbWVudDogJ3BhcmVudCcsXG4gICAgICAgICAgY3VycmVudEl0ZW06IHRoaXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKlxuICAgKiBTZXR0ZXJzIGFuZCBnZXR0ZXJzXG4gICAqL1xuXG4gIHNldENoZWNrZWQoY2hlY2tlZDogYm9vbGVhbiwgaWdub3JlSW5UcmVlOiBib29sZWFuLCBlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudCAmJiB0aGlzLnN1YiAmJiB0aGlzLnN1Yi5pdGVtTGlzdCAmJiAhdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCkge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKGZhbHNlKTtcbiAgICAgICAgKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnNldENoZWNrZWQoY2hlY2tlZCwgdHJ1ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KGNoZWNrZWQpO1xuICAgIH1cblxuICAgIGlmICghaWdub3JlSW5UcmVlKSB7XG4gICAgICB0aGlzLmNoZWNrZWRDaGFuZ2VGb3JUcmVlLmVtaXQoY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoaW5kZXRlcm1pbmF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCA9IGluZGV0ZXJtaW5hdGU7XG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlLmVtaXQoaW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U3ViTGV2ZWwoc3ViTGV2ZWw6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3ViTGV2ZWwgPSBzdWJMZXZlbDtcbiAgICBpZiAodGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3QpIHtcbiAgICAgIHRoaXMuc3ViLml0ZW1MaXN0LmZvckVhY2goaXRlbSA9PiAoaXRlbSBhcyBUcmVlSXRlbUNvbXBvbmVudCkuc2V0U3ViTGV2ZWwoc3ViTGV2ZWwgKyAxKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0T3JkZXJSZWN1cnNpdmVseShvcmRlcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICB0aGlzLm9yZGVySW5UcmVlID0gb3JkZXI7XG4gICAgbGV0IG5ld09yZGVyID0gb3JkZXIgKyAxO1xuICAgIGlmICh0aGlzLnN1YiAmJiB0aGlzLnN1Yi5pdGVtTGlzdCkge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgbmV3T3JkZXIgPSAoaXRlbSBhcyBUcmVlSXRlbUNvbXBvbmVudCkuc2V0T3JkZXJSZWN1cnNpdmVseShuZXdPcmRlcik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09yZGVyO1xuICB9XG5cbiAgc2V0RGVmYXVsdElkKGRlZmF1bHRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kZWZhdWx0SWQgPSBkZWZhdWx0SWQ7XG4gICAgdGhpcy5zZXREZWZhdWx0SWRSZWN1cnNpdmUoKTtcbiAgfVxuXG4gIHNldERlZmF1bHRJZFJlY3Vyc2l2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3QpIHtcbiAgICAgIHRoaXMuc3ViLml0ZW1MaXN0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5zZXREZWZhdWx0SWQoYHN1Yi0ke3RoaXMuZ2V0SWQoKX0tJHtpbmRleH1gKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyB0aGlzLmlkIDogdGhpcy5kZWZhdWx0SWQ7XG4gIH1cblxuICBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaW5oZXJpdGVkTWF0Y2hlc1NlYXJjaCAmJiAoIXRoaXMuc3ViIHx8IHRoaXMuYXJlQWxsQ2hpbGRyZW5IaWRkZW4oKSk7XG4gIH1cblxuICBhcmVBbGxDaGlsZHJlbkhpZGRlbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuc3ViLml0ZW1MaXN0O1xuICAgIHJldHVybiBjaGlsZHJlbi5maW5kSW5kZXgoY2hpbGQgPT4gIShjaGlsZCBhcyBUcmVlSXRlbUNvbXBvbmVudCkuaXNIaWRkZW4oKSkgPCAwO1xuICB9XG5cbiAgYXJlQWxsQ2hpbGRyZW5DaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5zdWIuaXRlbUxpc3Q7XG4gICAgcmV0dXJuIGNoaWxkcmVuLmZpbmRJbmRleChjaGlsZCA9PiAhKGNoaWxkIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5jaGVja2VkKSA8IDA7XG4gIH1cblxuICBoYXNDaGlsZHJlbkNoZWNrZWRPckluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLnN1Yi5pdGVtTGlzdDtcbiAgICByZXR1cm4gY2hpbGRyZW4uZmluZEluZGV4KGNoaWxkID0+IChjaGlsZCBhcyBUcmVlSXRlbUNvbXBvbmVudCkuY2hlY2tlZCB8fCAoY2hpbGQgYXMgVHJlZUl0ZW1Db21wb25lbnQpLmluZGV0ZXJtaW5hdGVDaGVja2VkKSA+PSAwO1xuICB9XG5cbiAgbWF0Y2hlc1RleHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBtYXRjaGVzOiBib29sZWFuO1xuICAgIGlmICh0aGlzLmFsbFBhcmVudHNFeHBhbmRlZCAmJiAhdGhpcy5pc0hpZGRlbigpKSB7XG4gICAgICBtYXRjaGVzID0gdGhpcy5jaGVja2JveD8ubWF0Y2hlc1RleHQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtVGV4dCA9IHRoaXMuaGlkZGVuV3JhcHBlci5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xuICAgICAgbWF0Y2hlcyA9IFNlYXJjaFV0aWxzLmNvbnRhaW5zQW55V29yZEZyb20oaXRlbVRleHQsIHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fbWF0Y2hlc1ZhbGlkVGV4dCA9IHZhbHVlID8gbWF0Y2hlcyA6IGZhbHNlO1xuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgZ2V0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJlZUl0ZW1LZXk7XG4gIH1cblxuICBnZXRQYXJlbnRLZXkoKTogc3RyaW5nIHtcbiAgICBsZXQgcGFyZW50S2V5OiBzdHJpbmc7XG4gICAgbGV0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIHdoaWxlIChwYXJlbnRFbGVtZW50ICYmIHBhcmVudEVsZW1lbnQudGFnTmFtZSAhPT0gJ0JPRFknICYmIHBhcmVudEVsZW1lbnQudGFnTmFtZSAhPT0gJ0RFU1ktVFJFRS1JVEVNJyAmJiBwYXJlbnRFbGVtZW50LnRhZ05hbWUgIT09ICdERVNZLVRSRUUnKSB7XG4gICAgICBwYXJlbnRFbGVtZW50ID0gcGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIGlmIChwYXJlbnRFbGVtZW50LnRhZ05hbWUgPT09ICdCT0RZJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXJlbnQgZm9yIHRyZWUtaXRlbSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50RWxlbWVudC50YWdOYW1lID09PSAnREVTWS1UUkVFJykge1xuICAgICAgcGFyZW50S2V5ID0gJ3Jvb3QnO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnRFbGVtZW50LnRhZ05hbWUgPT09ICdERVNZLVRSRUUtSVRFTScpIHtcbiAgICAgIHBhcmVudEtleSA9IHBhcmVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkZXN5LXRyZWUtaXRlbS1rZXknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50S2V5O1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlIHx8IHRoaXMuX21hdGNoZXNWYWxpZFRleHQ7XG4gIH1cblxuICAvKlxuICAgKiBNw6l0b2RvcyBwcml2YWRvc1xuICAgKi9cblxuICAvKipcbiAgICogR2VuZXJhIHVuYSBjbGF2ZSDDum5pY2EgcGFyYSBlbCBjb21wb25lbnRlXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVN0YXRpY0l0ZW1LZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXkgPSAndHJlZS1pdGVtLWtleS0nICsgVHJlZUl0ZW1Db21wb25lbnQuX3RyZWVJdGVtS2V5U3VmZml4O1xuICAgIFRyZWVJdGVtQ29tcG9uZW50Ll90cmVlSXRlbUtleVN1ZmZpeCsrO1xuICAgIHJldHVybiBrZXk7XG4gIH1cbn1cbiIsIjxsaSAqbmdJZj1cImFsbFBhcmVudHNFeHBhbmRlZCAmJiAhaXNIaWRkZW4oKTsgZWxzZSBoaWRkZW5cIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2NsYXNzXT1cIidjLXRyZWVfX2l0ZW0gZm9jdXM6b3V0bGluZS1ub25lJ1wiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ21sLTQnOiBzdWJMZXZlbCA9PT0gMCxcbiAgICAgICdtbC04Jzogc3ViTGV2ZWwgIT09IDAsXG4gICAgICAnYy10cmVlX19pdGVtLS1mb2N1cyc6IGlzRm9jdXMgJiYgIXN1YixcbiAgICAgICdjLXRyZWVfX2l0ZW0tLWhvdmVyJzogaXNIb3ZlciAmJiAhc3ViXG4gICAgfVwiXG4gICAgKGZvY3VzaW4pPVwiaGFuZGxlSXRlbUZvY3VzKHRydWUsICFzdWIpXCJcbiAgICAoZm9jdXNvdXQpPVwiaGFuZGxlSXRlbUZvY3VzKGZhbHNlLCAhc3ViKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJoYW5kbGVJdGVtSG92ZXIodHJ1ZSwgIXN1YilcIlxuICAgIChtb3VzZW91dCk9XCJoYW5kbGVJdGVtSG92ZXIoZmFsc2UsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5ob21lKT1cImhhbmRsZUhvbWUoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uZW5kKT1cImhhbmRsZUVuZCgkZXZlbnQsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5hcnJvd3VwKT1cImhhbmRsZUFycm93VXAoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uYXJyb3dkb3duKT1cImhhbmRsZUFycm93RG93bigkZXZlbnQsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5hcnJvd3JpZ2h0KT1cImhhbmRsZUFycm93UmlnaHQoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cImhhbmRsZUFycm93TGVmdCgkZXZlbnQsICFzdWIpXCJcbiAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic3ViID8gKGV4cGFuZGVkID8gJ3RydWUnIDogJ2ZhbHNlJykgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXNBY3RpdmUoKSAmJiBzdWJMZXZlbCA9PT0gMCA/ICdwYWdlJyA6IG51bGxcIj5cbiAgPGRpdiAqbmdJZj1cIiFzdWIgJiYgc3ViTGV2ZWwgIT09IDA7IGVsc2UgY2hpbGRyZW5UcmVlXCJcbiAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgIFtjbGFzc109XCJbJ2Jsb2NrJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgIFthdHRyLnRpdGxlXT1cInRpdGxlID8gdGl0bGUgOiBudWxsXCJcbiAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0cmVlRGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG5cbiAgICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogJ3RyZWUnXCJcbiAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IChkaXNhYmxlZCB8fCB0cmVlRGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsKVwiXG4gICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IChpc0FjdGl2ZSgpID8gJ3BhZ2UnIDogbnVsbClcIlxuICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogKGRpc2FibGVkIHx8IHRyZWVEaXNhYmxlZCA/ICctMScgOiBudWxsKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja2JveFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbGk+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRyZW5UcmVlPlxuICA8ZGl2ICpuZ0lmPVwic3ViOyBlbHNlIGNoZWNrYm94XCIgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsXCJcbiAgICAgICBbbmdDbGFzc109XCJ7J2MtdHJlZV9faXRlbS0tZm9jdXMnOiBpc0ZvY3VzICYmIHN1YiwgJ2MtdHJlZV9faXRlbS0taG92ZXInOiBpc0hvdmVyICYmIHN1Yn1cIlxuICAgICAgIChmb2N1c2luKT1cImhhbmRsZUl0ZW1Gb2N1cyh0cnVlKVwiXG4gICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUl0ZW1Gb2N1cyhmYWxzZSlcIlxuICAgICAgIChtb3VzZW92ZXIpPVwiaGFuZGxlSXRlbUhvdmVyKHRydWUpXCJcbiAgICAgICAobW91c2VvdXQpPVwiaGFuZGxlSXRlbUhvdmVyKGZhbHNlKVwiXG4gICAgICAgKGtleWRvd24uaG9tZSk9XCJoYW5kbGVIb21lKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmVuZCk9XCJoYW5kbGVFbmQoJGV2ZW50KVwiXG4gICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJoYW5kbGVBcnJvd1VwKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJoYW5kbGVBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgKGtleWRvd24uYXJyb3dyaWdodCk9XCJoYW5kbGVBcnJvd1JpZ2h0KCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJoYW5kbGVBcnJvd0xlZnQoJGV2ZW50KVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIlsndy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIHJlbGF0aXZlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjayB0ZXh0LWxlZnQnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFic29sdXRlIHRvcC0zIC1sZWZ0LTQgZmxleCBpdGVtcy1jZW50ZXIgdy00IGgtMi41IHRleHQtcHJpbWFyeS1iYXNlIGZvbnQtYm9sZFwiPlxuICAgICAgICA8c3ZnIChjbGljayk9XCJleHBhbmRTdWIoZmFsc2UpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImMtdHJlZV9fbWludXNcIj48cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk05LjI4NiA1LjcxNEguNzE0YS43MTQuNzE0IDAgMDEwLTEuNDI4aDguNTcyYS43MTQuNzE0IDAgMDEwIDEuNDI4elwiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAoY2xpY2spPVwiZXhwYW5kU3ViKHRydWUpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImMtdHJlZV9fcGx1c1wiPjxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTkuMjg2IDQuMjg2SDUuODkzYS4xNzkuMTc5IDAgMDEtLjE3OS0uMTc5Vi43MTRhLjcxNC43MTQgMCAwMC0xLjQyOCAwdjMuMzkzYS4xNzkuMTc5IDAgMDEtLjE3OS4xNzlILjcxNGEuNzE0LjcxNCAwIDAwMCAxLjQyOGgzLjM5M2EuMTc5LjE3OSAwIDAxLjE3OS4xNzl2My4zOTNhLjcxNC43MTQgMCAwMDEuNDI4IDBWNS44OTNhLjE3OS4xNzkgMCAwMS4xNzktLjE3OWgzLjM5M2EuNzE0LjcxNCAwIDAwMC0xLjQyOHpcIi8+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tib3hcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBzdWIgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBTZSBpbmNvcnBvcmEgZWwgY29udGVuaWRvIG3DrW5pbW8gcGFyYSBmdW5jaW9uYXIgY29uIGVsIG9iamV0aXZvIGRlIG1lam9yYXIgZWwgcmVuZGltaWVudG8gLS0+XG48bmctdGVtcGxhdGUgI2hpZGRlbj5cbiAgPGxpIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPGRpdiAjaGlkZGVuV3JhcHBlcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBzdWIgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGVja2JveD5cbiAgPCEtLVxuICAgIEVsICpuZ0lmPVwibmFtZSB8fCBwYXJlbnROYW1lXCIgc2UgcmVhbGl6YSBwYXJhIG5vIGNyZWFyIGVsIGNoZWNrYm94IGhhc3RhIHF1ZSBzZSBoYSBlamVjdXRhZG8gZWwgY29uZmlndXJlQWxsSXRlbXMuXG4gICAgRXN0byBwdWVkZSBkYXIgcHJvYmxlbWFzIHBvcnF1ZSwgaGFzdGEgcXVlIG5vIHNlIGVqZWN1dGEgZXN0bywgZWwgZGVzeS10cmVlLWNoZWNrYm94IG5vIGN1ZW50YSBjb24gZWwgdHlwZSBhY3R1YWxpemFkbyAocG9yIGRlZmVjdG8gcmFkaW8pLlxuICAgIFVuIGVqZW1wbG8gZW4gZWwgcXVlIGVzdG8gcHVlZGUgc2VyIHByb2JsZW3DoXRpY28gZXMgYWwgc2VyIHR5cG8gY2hlY2tib3ggeSBkYXJsZSB1biB2YWxvciBjaGVja2VkPXRydWUgYSB2YXJpb3MgbG9zIGl0ZW1zLCB5YVxuICAgIHF1ZSBlbCB0eXBlIHRvZGF2w61hIG5vIHNlIGhhIHRyYW5zbWl0aWRvIGFxdcOtLiBDb21vIHBvciBkZWZlY3RvIGVsIHR5cGUgZXMgcmFkaW8sIHPDs2xvIG1hcmNhcsOhIGVsIMO6bHRpbW8uIFBvc3Rlcmlvcm1lbnRlLFxuICAgIHlhIGRldGVjdGFyw6EgZWwgdGlwbyB5IHBlcm1pdGlyw6Egc2VsZWNjaW9uYXIgdmFyaW9zIGl0ZW1zLCBwZXJvIGhhc3RhIGVudG9uY2VzIGV4aXN0ZSBlc3RlIHByb2JsZW1hLlxuICAtLT5cbiAgPGRlc3ktdHJlZS1jaGVja2JveCAqbmdJZj1cIm5hbWUgfHwgcGFyZW50TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSA/IG5hbWUgOiBwYXJlbnROYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZ2V0SWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJjbGFzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKGNoZWNrZWQpXT1cImNoZWNrZWRcIiAoY2hlY2tlZENoYW5nZSk9XCJoYW5kbGVDaGVja2JveENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaGFzRXJyb3JdPVwiaW5oZXJpdGVkSGFzRXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0cmVlRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtoYXNEaXZpZGVyc109XCJoYXNEaXZpZGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaWJlZEJ5XT1cIltpbmhlcml0ZWREZXNjcmliZWRCeSwgaGludD8uaWRdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaXNJbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhpbmRldGVybWluYXRlQ2hlY2tlZCldPVwiaW5kZXRlcm1pbmF0ZUNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChpbmRldGVybWluYXRlQ2hlY2tlZENoYW5nZSk9XCJoYW5kbGVJbmRldGVybWluYXRlQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcblxuICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbENvbXBvbmVudF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2hpbnRDb21wb25lbnRdPVwiaGludFwiXG5cbiAgICAgICAgICAgICAgICAgICAgICBbcm9sZV09XCJyb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwiYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJhcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUN1cnJlbnRdPVwiYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJhcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFFeHBhbmRlZF09XCJhcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhRXJyb3JNZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYU1vZGFsXT1cImFyaWFNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kZXN5LXRyZWUtY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIiAqbmdJZj1cImlzQWN0aXZlKCk7IGVsc2UgY29udGVudExhYmVsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRMYWJlbFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1oaW50XCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50TGFiZWw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUFFLFVBQVUsRUFDM0IsWUFBWSxFQUNaLFVBQVUsRUFBRSxXQUFXLEVBQ3ZCLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQVlsRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsc0JB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SztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUVFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSwwQkFBMEI7c0JBQW5DLE1BQU07Z0JBRzRCLEdBQUc7c0JBQXJDLGVBQWU7dUJBQUMsZ0JBQWdCO2dCQUdELElBQUk7c0JBQW5DLGVBQWU7dUJBQUMsYUFBYTtnQkFHRyxLQUFLO3NCQUFyQyxlQUFlO3VCQUFDLGNBQWM7Z0JBRUcsUUFBUTtzQkFBekMsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBVXZCLFdBQVc7c0JBRG5CLFdBQVc7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvclwiO1xuaW1wb3J0IHsgRGVzeU9uSW5wdXRDaGFuZ2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBTZWFyY2hVdGlscyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvc2VhcmNoLXV0aWxzXCI7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2hpbnQvaGludC5jb21wb25lbnRcIjtcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSVRyZWVJdGVtIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvaXRyZWUtaXRlbVwiO1xuaW1wb3J0IHsgUXVpdFRyZWVJdGVtRm9jdXNPcHRpb25zIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcXVpdC10cmVlLWl0ZW0tZm9jdXMtb3B0aW9uc1wiO1xuaW1wb3J0IHsgVHJlZUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSBcIi4uL3RyZWUtY2hlY2tib3gvdHJlZS1jaGVja2JveC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRyZWVTdWJDb21wb25lbnQgfSBmcm9tIFwiLi4vdHJlZS1zdWIvdHJlZS1zdWIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdHJlZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IElUcmVlSXRlbSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVJdGVtQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIElUcmVlSXRlbSB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3RyZWVJdGVtS2V5U3VmZml4ID0gMDsgLy8gU3VmaWpvIGVzdMOhdGljbyBwYXJhIGdlbmVyYXIgc2llbXByZSBjbGF2ZXMgZGlzdGludGFzXG4gIEBWaWV3Q2hpbGQoJ2hpZGRlbldyYXBwZXInKSBoaWRkZW5XcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnc2V0RGVmYXVsdElkUmVjdXJzaXZlJylcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlTW9kYWw6IHN0cmluZztcbiAgQElucHV0KCkgaGFzRGl2aWRlcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzSW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjaGVja2VkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgY2hlY2tlZENoYW5nZUZvclRyZWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZVN1YlZhbHVlcyd9KVxuICBAQ29udGVudENoaWxkcmVuKFRyZWVTdWJDb21wb25lbnQpIHN1YjogVHJlZVN1YkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oSGludENvbXBvbmVudCkgaGludDogSGludENvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oTGFiZWxDb21wb25lbnQpIGxhYmVsOiBMYWJlbENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFRyZWVDaGVja2JveENvbXBvbmVudCkgY2hlY2tib3g6IFRyZWVDaGVja2JveENvbXBvbmVudDtcblxuICAvKlxuICAgKiBJZGVudGlmaWNhZG9yIGRlbCB3cmFwcGVyIGRlbCBjb21wb25lbnRlLiBTZSB1dGlsaXphIHBhcmEgcmVjb3JyZXIgZWwgw6FyYm9sIGVuIHNlbnRpZG8gaW52ZXJzbyB5IHF1ZSBjYWRhIGl0ZW1cbiAgICogc2VwYSBjdcOhbCBlcyBzdSBpdGVtL8OhcmJvbCBwYWRyZS5cbiAgICogRXN0byBlcyBuZWNlc2FyaW8geWEgcXVlLCBhIGxhIGhvcmEgZGUgY29uc3RydWlyIHVuIMOhcmJvbCBkaW7DoW1pY28gY29uIHRlbXBsYXRlcyxcbiAgICogZWwgZGVjb3JhZG9yIEBDb250ZW50Q2hpbGRyZW4gbm8gZnVuY2lvbmEgY29ycmVjdGFtZW50ZSB5IG5vIGxvcyBkZXRlY3RhLlxuICAgKiBEZWpvIGVsIGVubGFjZSBkZSB1biBwcm9ibGVtYSBzaW1pbGFyOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMTc1MVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRlc3ktdHJlZS1pdGVtLWtleScpXG4gIHJlYWRvbmx5IHRyZWVJdGVtS2V5OiBzdHJpbmcgPSBUcmVlSXRlbUNvbXBvbmVudC5nZW5lcmF0ZVN0YXRpY0l0ZW1LZXkoKTtcblxuICB0eXBlOiAncmFkaW8nfCdjaGVja2JveCd8bnVsbHx1bmRlZmluZWQ7XG4gIHN1YkxldmVsOiBudW1iZXI7IC8vIE5pdmVsIGRlbnRybyBkZWwgYXJib2wuIDAgc29uIGxvcyBpdGVtcyBhIG5pdmVsIGRlIHJhaXouXG5cbiAgLy8gUHJvcGllZGFkZXMgZGVmaW5pZGFzIHBvciBlbCBjb21wb25lbnRlIMOhcmJvbCBxdWUgZWwgaXRlbSBwdWVkZSB1dGlsaXphciwgc29icmVzY3JpYmlyIG8gYW1wbGlhclxuICBwYXJlbnROYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHRJZDtcbiAgaW5oZXJpdGVkRXhwYW5kZWRGaXJzdExldmVsOiBib29sZWFuO1xuICBpbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudDogYm9vbGVhbjtcbiAgaW5oZXJpdGVkRGVzY3JpYmVkQnk6IHN0cmluZztcbiAgaW5oZXJpdGVkSGFzRXJyb3I6IGJvb2xlYW47XG4gIGFsbFBhcmVudHNFeHBhbmRlZCA9IHRydWU7IC8vIFRydWUgc2kgZWwgZWxlbWVudG8gZXMgdmlzaWJsZSBzZWfDum4gbG9zIGVsZW1lbnRvcyBleHBhbmRpZG9zXG4gIGluaGVyaXRlZE1hdGNoZXNTZWFyY2ggPSB0cnVlOyAvLyBUcnVlIHNpIGVsIGVsZW1lbnRvIGVzIHZpc2libGUgc2Vnw7puIGxvcyBjcml0ZXJpb3MgZGUgYsO6c3F1ZWRhXG4gIG9yZGVySW5UcmVlOiBudW1iZXI7XG4gIHRyZWVEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8vIEV2ZW50byBwYXJhIGVtaXRpciBhbCBjb21wb25lbnRlIGFyYm9sIGN1YW5kbyBzZSBwcmV0ZW5kZSBhYmFuZG9uYXIgZWwgZm9jbyBkZWwgaXRlbVxuICBxdWl0Rm9jdXM6IEV2ZW50RW1pdHRlcjxRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnM+ID0gbmV3IEV2ZW50RW1pdHRlcjxRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnM+KCk7XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc0hvdmVyID0gZmFsc2U7XG4gIHByaXZhdGUgX21hdGNoZXNWYWxpZFRleHQgPSBmYWxzZTsgLy8gVHJ1ZSBzaSBlbCBjb250ZW5pZG8gZGVsIGl0ZW0gZW5jYWphIGNvbiBsb3MgY3JpdGVyaW9zIGRlIGLDunNxdWVkYSB5IHNlIGVzdMOhIGZpbHRyYW5kb1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViICYmIHRoaXMuc3ViLml0ZW1MaXN0KSB7XG4gICAgICB0aGlzLnN1Yi5pdGVtTGlzdC5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnJlZnJlc2hBbGxQYXJlbnRzRXhwYW5kZWRSZWN1cnNpdmUodGhpcy5hbGxQYXJlbnRzRXhwYW5kZWQgJiYgdGhpcy5leHBhbmRlZCkpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIHN3aXRjaCAocHJvcE5hbWUpIHtcbiAgICAgICAgICBjYXNlICdjaGVja2VkJzoge1xuICAgICAgICAgICAgLy8gUmVhc2lnbmFtb3MgZWwgdmFsb3IgZGUgY2hlY2tlZCBjdWFuZG8gZGV0ZWN0YW1vcyBlbCBjYW1iaW8gZW4gbGEgZW50cmFkYVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmNoZWNrZWQsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCAmJiB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZFN1Yih0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBNw6l0b2RvcyBleHB1ZXN0b3MgcXVlIHBlcm1pdGVuIGNvbmZpZ3VyYXIgYWwgw610ZW0gZGUgZm9ybWEgZXh0ZXJuYVxuICAgKi9cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94Py5mb2N1cygpO1xuICAgIHRoaXMuaGFuZGxlSXRlbUZvY3VzKHRydWUpO1xuICB9XG5cbiAgc2V0Q2hlY2tlZEF1dG9tYXRpY2FsbHlEZXBlbmRpbmdPbkNoaWxkcmVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5zZXRDaGVja2VkQXV0b21hdGljYWxseURlcGVuZGluZ09uQ2hpbGRyZW4oKSk7XG4gICAgICBpZiAodGhpcy5hcmVBbGxDaGlsZHJlbkNoZWNrZWQoKSkge1xuICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCkge1xuICAgICAgICAgIHRoaXMuc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgICB0aGlzLnNldENoZWNrZWQodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNDaGlsZHJlbkNoZWNrZWRPckluZGV0ZXJtaW5hdGUoKSkge1xuICAgICAgICBpZiAoIXRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQpIHtcbiAgICAgICAgICB0aGlzLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICAgIHRoaXMuc2V0Q2hlY2tlZChmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5zZXRJbmRldGVybWluYXRlQ2hlY2tlZChmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5zZXRDaGVja2VkKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hBbGxQYXJlbnRzRXhwYW5kZWRSZWN1cnNpdmUodmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFBhcmVudHNFeHBhbmRlZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5yZWZyZXNoQWxsUGFyZW50c0V4cGFuZGVkUmVjdXJzaXZlKHZhbHVlICYmIHRoaXMuZXhwYW5kZWQpKTtcbiAgICB9XG4gIH1cblxuICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZXhwYW5kU3ViKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5yZWZyZXNoQWxsUGFyZW50c0V4cGFuZGVkUmVjdXJzaXZlKHRoaXMuYWxsUGFyZW50c0V4cGFuZGVkICYmIHZhbHVlKSk7XG4gICAgfVxuICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKlxuICAgKiBHZXN0aW9uIGRlIGV2ZW50b3NcbiAgICovXG5cbiAgaGFuZGxlQ2hlY2tib3hDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2V0Q2hlY2tlZChjaGVja2VkLCBmYWxzZSk7XG4gICAgaWYgKHRoaXMuaW5oZXJpdGVkRXhwYW5kZWRGaXJzdExldmVsICYmIGNoZWNrZWQgJiYgIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuZXhwYW5kU3ViKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlKGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlLmVtaXQoaW5kZXRlcm1pbmF0ZSk7XG4gIH1cblxuICBoYW5kbGVJdGVtRm9jdXModmFsdWUsIGNvbmRpdGlvbj10cnVlKTogdm9pZCB7XG4gICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgdGhpcy5pc0ZvY3VzID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSXRlbUhvdmVyKHZhbHVlLCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIHRoaXMuaXNIb3ZlciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFycm93VXAoZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgbmV4dEVsZW1lbnQ6ICdwcmV2aW91cycsXG4gICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVIb21lKGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5xdWl0Rm9jdXMuZW1pdCh7XG4gICAgICAgIG5leHRFbGVtZW50OiAnZmlyc3QnLFxuICAgICAgICBjdXJyZW50SXRlbTogdGhpc1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRW5kKGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5xdWl0Rm9jdXMuZW1pdCh7XG4gICAgICAgIG5leHRFbGVtZW50OiAnbGFzdCcsXG4gICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBcnJvd0Rvd24oZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgbmV4dEVsZW1lbnQ6ICduZXh0JyxcbiAgICAgICAgY3VycmVudEl0ZW06IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFycm93UmlnaHQoZXZlbnQ6IEV2ZW50LCBjb25kaXRpb249dHJ1ZSk6IHZvaWQge1xuICAgIGlmIChjb25kaXRpb24gJiYgdGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3Q/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgICBuZXh0RWxlbWVudDogJ2ZpcnN0Q2hpbGQnLFxuICAgICAgICAgIGN1cnJlbnRJdGVtOiB0aGlzXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRTdWIodHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQXJyb3dMZWZ0KGV2ZW50OiBFdmVudCwgY29uZGl0aW9uPXRydWUpOiB2b2lkIHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy5leHBhbmRTdWIoZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnN1YkxldmVsID4gMCkge1xuICAgICAgICB0aGlzLnF1aXRGb2N1cy5lbWl0KHtcbiAgICAgICAgICBuZXh0RWxlbWVudDogJ3BhcmVudCcsXG4gICAgICAgICAgY3VycmVudEl0ZW06IHRoaXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKlxuICAgKiBTZXR0ZXJzIGFuZCBnZXR0ZXJzXG4gICAqL1xuXG4gIHNldENoZWNrZWQoY2hlY2tlZDogYm9vbGVhbiwgaWdub3JlSW5UcmVlOiBib29sZWFuLCBlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSBjaGVja2VkO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudCAmJiB0aGlzLnN1YiAmJiB0aGlzLnN1Yi5pdGVtTGlzdCAmJiAhdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCkge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKGZhbHNlKTtcbiAgICAgICAgKGl0ZW0gYXMgVHJlZUl0ZW1Db21wb25lbnQpLnNldENoZWNrZWQoY2hlY2tlZCwgdHJ1ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KGNoZWNrZWQpO1xuICAgIH1cblxuICAgIGlmICghaWdub3JlSW5UcmVlKSB7XG4gICAgICB0aGlzLmNoZWNrZWRDaGFuZ2VGb3JUcmVlLmVtaXQoY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoaW5kZXRlcm1pbmF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCA9IGluZGV0ZXJtaW5hdGU7XG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkQ2hhbmdlLmVtaXQoaW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U3ViTGV2ZWwoc3ViTGV2ZWw6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuc3ViTGV2ZWwgPSBzdWJMZXZlbDtcbiAgICBpZiAodGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3QpIHtcbiAgICAgIHRoaXMuc3ViLml0ZW1MaXN0LmZvckVhY2goaXRlbSA9PiAoaXRlbSBhcyBUcmVlSXRlbUNvbXBvbmVudCkuc2V0U3ViTGV2ZWwoc3ViTGV2ZWwgKyAxKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0T3JkZXJSZWN1cnNpdmVseShvcmRlcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICB0aGlzLm9yZGVySW5UcmVlID0gb3JkZXI7XG4gICAgbGV0IG5ld09yZGVyID0gb3JkZXIgKyAxO1xuICAgIGlmICh0aGlzLnN1YiAmJiB0aGlzLnN1Yi5pdGVtTGlzdCkge1xuICAgICAgdGhpcy5zdWIuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgbmV3T3JkZXIgPSAoaXRlbSBhcyBUcmVlSXRlbUNvbXBvbmVudCkuc2V0T3JkZXJSZWN1cnNpdmVseShuZXdPcmRlcik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09yZGVyO1xuICB9XG5cbiAgc2V0RGVmYXVsdElkKGRlZmF1bHRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kZWZhdWx0SWQgPSBkZWZhdWx0SWQ7XG4gICAgdGhpcy5zZXREZWZhdWx0SWRSZWN1cnNpdmUoKTtcbiAgfVxuXG4gIHNldERlZmF1bHRJZFJlY3Vyc2l2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWIgJiYgdGhpcy5zdWIuaXRlbUxpc3QpIHtcbiAgICAgIHRoaXMuc3ViLml0ZW1MaXN0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIChpdGVtIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5zZXREZWZhdWx0SWQoYHN1Yi0ke3RoaXMuZ2V0SWQoKX0tJHtpbmRleH1gKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyB0aGlzLmlkIDogdGhpcy5kZWZhdWx0SWQ7XG4gIH1cblxuICBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaW5oZXJpdGVkTWF0Y2hlc1NlYXJjaCAmJiAoIXRoaXMuc3ViIHx8IHRoaXMuYXJlQWxsQ2hpbGRyZW5IaWRkZW4oKSk7XG4gIH1cblxuICBhcmVBbGxDaGlsZHJlbkhpZGRlbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuc3ViLml0ZW1MaXN0O1xuICAgIHJldHVybiBjaGlsZHJlbi5maW5kSW5kZXgoY2hpbGQgPT4gIShjaGlsZCBhcyBUcmVlSXRlbUNvbXBvbmVudCkuaXNIaWRkZW4oKSkgPCAwO1xuICB9XG5cbiAgYXJlQWxsQ2hpbGRyZW5DaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5zdWIuaXRlbUxpc3Q7XG4gICAgcmV0dXJuIGNoaWxkcmVuLmZpbmRJbmRleChjaGlsZCA9PiAhKGNoaWxkIGFzIFRyZWVJdGVtQ29tcG9uZW50KS5jaGVja2VkKSA8IDA7XG4gIH1cblxuICBoYXNDaGlsZHJlbkNoZWNrZWRPckluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLnN1Yi5pdGVtTGlzdDtcbiAgICByZXR1cm4gY2hpbGRyZW4uZmluZEluZGV4KGNoaWxkID0+IChjaGlsZCBhcyBUcmVlSXRlbUNvbXBvbmVudCkuY2hlY2tlZCB8fCAoY2hpbGQgYXMgVHJlZUl0ZW1Db21wb25lbnQpLmluZGV0ZXJtaW5hdGVDaGVja2VkKSA+PSAwO1xuICB9XG5cbiAgbWF0Y2hlc1RleHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBtYXRjaGVzOiBib29sZWFuO1xuICAgIGlmICh0aGlzLmFsbFBhcmVudHNFeHBhbmRlZCAmJiAhdGhpcy5pc0hpZGRlbigpKSB7XG4gICAgICBtYXRjaGVzID0gdGhpcy5jaGVja2JveD8ubWF0Y2hlc1RleHQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtVGV4dCA9IHRoaXMuaGlkZGVuV3JhcHBlci5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xuICAgICAgbWF0Y2hlcyA9IFNlYXJjaFV0aWxzLmNvbnRhaW5zQW55V29yZEZyb20oaXRlbVRleHQsIHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fbWF0Y2hlc1ZhbGlkVGV4dCA9IHZhbHVlID8gbWF0Y2hlcyA6IGZhbHNlO1xuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgZ2V0S2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJlZUl0ZW1LZXk7XG4gIH1cblxuICBnZXRQYXJlbnRLZXkoKTogc3RyaW5nIHtcbiAgICBsZXQgcGFyZW50S2V5OiBzdHJpbmc7XG4gICAgbGV0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIHdoaWxlIChwYXJlbnRFbGVtZW50ICYmIHBhcmVudEVsZW1lbnQudGFnTmFtZSAhPT0gJ0JPRFknICYmIHBhcmVudEVsZW1lbnQudGFnTmFtZSAhPT0gJ0RFU1ktVFJFRS1JVEVNJyAmJiBwYXJlbnRFbGVtZW50LnRhZ05hbWUgIT09ICdERVNZLVRSRUUnKSB7XG4gICAgICBwYXJlbnRFbGVtZW50ID0gcGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIGlmIChwYXJlbnRFbGVtZW50LnRhZ05hbWUgPT09ICdCT0RZJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXJlbnQgZm9yIHRyZWUtaXRlbSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50RWxlbWVudC50YWdOYW1lID09PSAnREVTWS1UUkVFJykge1xuICAgICAgcGFyZW50S2V5ID0gJ3Jvb3QnO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnRFbGVtZW50LnRhZ05hbWUgPT09ICdERVNZLVRSRUUtSVRFTScpIHtcbiAgICAgIHBhcmVudEtleSA9IHBhcmVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkZXN5LXRyZWUtaXRlbS1rZXknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50S2V5O1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlIHx8IHRoaXMuX21hdGNoZXNWYWxpZFRleHQ7XG4gIH1cblxuICAvKlxuICAgKiBNw6l0b2RvcyBwcml2YWRvc1xuICAgKi9cblxuICAvKipcbiAgICogR2VuZXJhIHVuYSBjbGF2ZSDDum5pY2EgcGFyYSBlbCBjb21wb25lbnRlXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVN0YXRpY0l0ZW1LZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXkgPSAndHJlZS1pdGVtLWtleS0nICsgVHJlZUl0ZW1Db21wb25lbnQuX3RyZWVJdGVtS2V5U3VmZml4O1xuICAgIFRyZWVJdGVtQ29tcG9uZW50Ll90cmVlSXRlbUtleVN1ZmZpeCsrO1xuICAgIHJldHVybiBrZXk7XG4gIH1cbn1cbiIsIjxsaSAqbmdJZj1cImFsbFBhcmVudHNFeHBhbmRlZCAmJiAhaXNIaWRkZW4oKTsgZWxzZSBoaWRkZW5cIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW2NsYXNzXT1cIidjLXRyZWVfX2l0ZW0gZm9jdXM6b3V0bGluZS1ub25lJ1wiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ21sLTQnOiBzdWJMZXZlbCA9PT0gMCxcbiAgICAgICdtbC04Jzogc3ViTGV2ZWwgIT09IDAsXG4gICAgICAnYy10cmVlX19pdGVtLS1mb2N1cyc6IGlzRm9jdXMgJiYgIXN1YixcbiAgICAgICdjLXRyZWVfX2l0ZW0tLWhvdmVyJzogaXNIb3ZlciAmJiAhc3ViXG4gICAgfVwiXG4gICAgKGZvY3VzaW4pPVwiaGFuZGxlSXRlbUZvY3VzKHRydWUsICFzdWIpXCJcbiAgICAoZm9jdXNvdXQpPVwiaGFuZGxlSXRlbUZvY3VzKGZhbHNlLCAhc3ViKVwiXG4gICAgKG1vdXNlb3Zlcik9XCJoYW5kbGVJdGVtSG92ZXIodHJ1ZSwgIXN1YilcIlxuICAgIChtb3VzZW91dCk9XCJoYW5kbGVJdGVtSG92ZXIoZmFsc2UsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5ob21lKT1cImhhbmRsZUhvbWUoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uZW5kKT1cImhhbmRsZUVuZCgkZXZlbnQsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5hcnJvd3VwKT1cImhhbmRsZUFycm93VXAoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uYXJyb3dkb3duKT1cImhhbmRsZUFycm93RG93bigkZXZlbnQsICFzdWIpXCJcbiAgICAoa2V5ZG93bi5hcnJvd3JpZ2h0KT1cImhhbmRsZUFycm93UmlnaHQoJGV2ZW50LCAhc3ViKVwiXG4gICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cImhhbmRsZUFycm93TGVmdCgkZXZlbnQsICFzdWIpXCJcbiAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic3ViID8gKGV4cGFuZGVkID8gJ3RydWUnIDogJ2ZhbHNlJykgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXNBY3RpdmUoKSAmJiBzdWJMZXZlbCA9PT0gMCA/ICdwYWdlJyA6IG51bGxcIj5cbiAgPGRpdiAqbmdJZj1cIiFzdWIgJiYgc3ViTGV2ZWwgIT09IDA7IGVsc2UgY2hpbGRyZW5UcmVlXCJcbiAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgIFtjbGFzc109XCJbJ2Jsb2NrJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHRyZWVEaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCJcblxuICAgICAgIFthdHRyLnJvbGVdPVwicm9sZSA/IHJvbGUgOiAndHJlZSdcIlxuICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCJcbiAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IChkaXNhYmxlZCB8fCB0cmVlRGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsKVwiXG4gICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50ID8gYXJpYUN1cnJlbnQgOiAoaXNBY3RpdmUoKSA/ICdwYWdlJyA6IG51bGwpXCJcbiAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogKGRpc2FibGVkIHx8IHRyZWVEaXNhYmxlZCA/ICctMScgOiBudWxsKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja2JveFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbGk+XG5cbjxuZy10ZW1wbGF0ZSAjY2hpbGRyZW5UcmVlPlxuICA8ZGl2ICpuZ0lmPVwic3ViOyBlbHNlIGNoZWNrYm94XCIgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsXCJcbiAgICAgICBbbmdDbGFzc109XCJ7J2MtdHJlZV9faXRlbS0tZm9jdXMnOiBpc0ZvY3VzICYmIHN1YiwgJ2MtdHJlZV9faXRlbS0taG92ZXInOiBpc0hvdmVyICYmIHN1Yn1cIlxuICAgICAgIChmb2N1c2luKT1cImhhbmRsZUl0ZW1Gb2N1cyh0cnVlKVwiXG4gICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUl0ZW1Gb2N1cyhmYWxzZSlcIlxuICAgICAgIChtb3VzZW92ZXIpPVwiaGFuZGxlSXRlbUhvdmVyKHRydWUpXCJcbiAgICAgICAobW91c2VvdXQpPVwiaGFuZGxlSXRlbUhvdmVyKGZhbHNlKVwiXG4gICAgICAgKGtleWRvd24uaG9tZSk9XCJoYW5kbGVIb21lKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmVuZCk9XCJoYW5kbGVFbmQoJGV2ZW50KVwiXG4gICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJoYW5kbGVBcnJvd1VwKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJoYW5kbGVBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgKGtleWRvd24uYXJyb3dyaWdodCk9XCJoYW5kbGVBcnJvd1JpZ2h0KCRldmVudClcIlxuICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJoYW5kbGVBcnJvd0xlZnQoJGV2ZW50KVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIlsndy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIHJlbGF0aXZlIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjayB0ZXh0LWxlZnQnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFic29sdXRlIHRvcC0zIC1sZWZ0LTQgZmxleCBpdGVtcy1jZW50ZXIgdy00IGgtMi41IHRleHQtcHJpbWFyeS1iYXNlIGZvbnQtYm9sZFwiPlxuICAgICAgICA8c3ZnIChjbGljayk9XCJleHBhbmRTdWIoZmFsc2UpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImMtdHJlZV9fbWludXNcIj48cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk05LjI4NiA1LjcxNEguNzE0YS43MTQuNzE0IDAgMDEwLTEuNDI4aDguNTcyYS43MTQuNzE0IDAgMDEwIDEuNDI4elwiLz48L3N2Zz5cbiAgICAgICAgPHN2ZyAoY2xpY2spPVwiZXhwYW5kU3ViKHRydWUpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAgMTBcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImMtdHJlZV9fcGx1c1wiPjxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTkuMjg2IDQuMjg2SDUuODkzYS4xNzkuMTc5IDAgMDEtLjE3OS0uMTc5Vi43MTRhLjcxNC43MTQgMCAwMC0xLjQyOCAwdjMuMzkzYS4xNzkuMTc5IDAgMDEtLjE3OS4xNzlILjcxNGEuNzE0LjcxNCAwIDAwMCAxLjQyOGgzLjM5M2EuMTc5LjE3OSAwIDAxLjE3OS4xNzl2My4zOTNhLjcxNC43MTQgMCAwMDEuNDI4IDBWNS44OTNhLjE3OS4xNzkgMCAwMS4xNzktLjE3OWgzLjM5M2EuNzE0LjcxNCAwIDAwMC0xLjQyOHpcIi8+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hlY2tib3hcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBzdWIgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBTZSBpbmNvcnBvcmEgZWwgY29udGVuaWRvIG3DrW5pbW8gcGFyYSBmdW5jaW9uYXIgY29uIGVsIG9iamV0aXZvIGRlIG1lam9yYXIgZWwgcmVuZGltaWVudG8gLS0+XG48bmctdGVtcGxhdGUgI2hpZGRlbj5cbiAgPGxpIGNsYXNzPVwiaGlkZGVuXCI+XG4gICAgPGRpdiAjaGlkZGVuV3JhcHBlcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBzdWIgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGVja2JveD5cbiAgPCEtLVxuICAgIEVsICpuZ0lmPVwibmFtZSB8fCBwYXJlbnROYW1lXCIgc2UgcmVhbGl6YSBwYXJhIG5vIGNyZWFyIGVsIGNoZWNrYm94IGhhc3RhIHF1ZSBzZSBoYSBlamVjdXRhZG8gZWwgY29uZmlndXJlQWxsSXRlbXMuXG4gICAgRXN0byBwdWVkZSBkYXIgcHJvYmxlbWFzIHBvcnF1ZSwgaGFzdGEgcXVlIG5vIHNlIGVqZWN1dGEgZXN0bywgZWwgZGVzeS10cmVlLWNoZWNrYm94IG5vIGN1ZW50YSBjb24gZWwgdHlwZSBhY3R1YWxpemFkbyAocG9yIGRlZmVjdG8gcmFkaW8pLlxuICAgIFVuIGVqZW1wbG8gZW4gZWwgcXVlIGVzdG8gcHVlZGUgc2VyIHByb2JsZW3DoXRpY28gZXMgYWwgc2VyIHR5cG8gY2hlY2tib3ggeSBkYXJsZSB1biB2YWxvciBjaGVja2VkPXRydWUgYSB2YXJpb3MgbG9zIGl0ZW1zLCB5YVxuICAgIHF1ZSBlbCB0eXBlIHRvZGF2w61hIG5vIHNlIGhhIHRyYW5zbWl0aWRvIGFxdcOtLiBDb21vIHBvciBkZWZlY3RvIGVsIHR5cGUgZXMgcmFkaW8sIHPDs2xvIG1hcmNhcsOhIGVsIMO6bHRpbW8uIFBvc3Rlcmlvcm1lbnRlLFxuICAgIHlhIGRldGVjdGFyw6EgZWwgdGlwbyB5IHBlcm1pdGlyw6Egc2VsZWNjaW9uYXIgdmFyaW9zIGl0ZW1zLCBwZXJvIGhhc3RhIGVudG9uY2VzIGV4aXN0ZSBlc3RlIHByb2JsZW1hLlxuICAtLT5cbiAgPGRlc3ktdHJlZS1jaGVja2JveCAqbmdJZj1cIm5hbWUgfHwgcGFyZW50TmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZSA/IG5hbWUgOiBwYXJlbnROYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZ2V0SWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJjbGFzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKGNoZWNrZWQpXT1cImNoZWNrZWRcIiAoY2hlY2tlZENoYW5nZSk9XCJoYW5kbGVDaGVja2JveENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaGFzRXJyb3JdPVwiaW5oZXJpdGVkSGFzRXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCB0cmVlRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtoYXNEaXZpZGVyc109XCJoYXNEaXZpZGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaWJlZEJ5XT1cIltpbmhlcml0ZWREZXNjcmliZWRCeSwgaGludD8uaWRdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICBbaXNJbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhpbmRldGVybWluYXRlQ2hlY2tlZCldPVwiaW5kZXRlcm1pbmF0ZUNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChpbmRldGVybWluYXRlQ2hlY2tlZENoYW5nZSk9XCJoYW5kbGVJbmRldGVybWluYXRlQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcblxuICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbENvbXBvbmVudF09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2hpbnRDb21wb25lbnRdPVwiaGludFwiXG5cbiAgICAgICAgICAgICAgICAgICAgICBbcm9sZV09XCJyb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwiYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJhcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ29udHJvbHNdPVwiYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUN1cnJlbnRdPVwiYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJhcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFFeHBhbmRlZF09XCJhcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhRXJyb3JNZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYU1vZGFsXT1cImFyaWFNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kZXN5LXRyZWUtY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIiAqbmdJZj1cImlzQWN0aXZlKCk7IGVsc2UgY29udGVudExhYmVsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRMYWJlbFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1oaW50XCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50TGFiZWw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { Component, Input, } from '@angular/core';
|
|
2
2
|
import { ContentBaseComponent } from "../../../../shared/components";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../../shared/
|
|
4
|
+
import * as i1 from "../../../../shared/directives/accessibility-directive";
|
|
5
|
+
import * as i2 from "../../../../shared/pipes/make-html-list.pipe";
|
|
5
6
|
export class TreeSubComponent extends ContentBaseComponent {
|
|
6
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeSubComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeSubComponent, selector: "desy-tree-sub", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ul [class]=\"['c-tree__itemgroup', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : 'group'\"\n [
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeSubComponent, selector: "desy-tree-sub", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ul [class]=\"['c-tree__itemgroup', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : 'group'\"\n [desyAppAccessibility]=\"this\">\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i2.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
8
9
|
}
|
|
9
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeSubComponent, decorators: [{
|
|
10
11
|
type: Component,
|
|
11
|
-
args: [{ selector: 'desy-tree-sub', template: "<ng-template #contentTemplate>\n <ul [class]=\"['c-tree__itemgroup', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : 'group'\"\n [
|
|
12
|
+
args: [{ selector: 'desy-tree-sub', template: "<ng-template #contentTemplate>\n <ul [class]=\"['c-tree__itemgroup', classes] | makeHtmlList\"\n [attr.role]=\"role ? role : 'group'\"\n [desyAppAccessibility]=\"this\">\n <ng-content></ng-content>\n </ul>\n</ng-template>\n" }]
|
|
12
13
|
}], propDecorators: { classes: [{
|
|
13
14
|
type: Input
|
|
14
15
|
}] } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zdWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1zdWIvdHJlZS1zdWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1zdWIvdHJlZS1zdWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFNbkUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjsrR0FBN0MsZ0JBQWdCO21HQUFoQixnQkFBZ0IsNEdDWDdCLGdQQU9BOzs0RkRJYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsZUFBZTs4QkFLaEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lUcmVlSXRlbX0gZnJvbSBcIi4uL2ludGVyZmFjZXMvaXRyZWUtaXRlbVwiO1xuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdHJlZS1zdWInLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1zdWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVTdWJDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuXG4gIGl0ZW1MaXN0OiBJVHJlZUl0ZW1bXTtcblxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XG4gIDx1bCBbY2xhc3NdPVwiWydjLXRyZWVfX2l0ZW1ncm91cCcsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgIFthdHRyLnJvbGVdPVwicm9sZSA/IHJvbGUgOiAnZ3JvdXAnXCJcbiAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|