desy-angular 8.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/desy-angular.module.mjs +5 -5
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +4 -4
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +5 -5
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +5 -5
- package/esm2022/lib/desy-commons/components/content/content.component.mjs +4 -4
- package/esm2022/lib/desy-commons/components/description/description.component.mjs +4 -4
- package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +4 -4
- package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +4 -4
- package/esm2022/lib/desy-commons/components/title/title.component.mjs +4 -4
- package/esm2022/lib/desy-commons/desy-commons.module.mjs +5 -5
- package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +5 -40
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +5 -5
- package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +5 -40
- package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +5 -5
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +5 -5
- package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +4 -4
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +5 -5
- package/esm2022/lib/desy-forms/directives/condition.directive.mjs +4 -4
- package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +4 -4
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +4 -4
- package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +4 -4
- package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +4 -4
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +5 -5
- package/esm2022/lib/desy-modals/desy-modals.module.mjs +5 -5
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +4 -4
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +92 -0
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +19 -8
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +4 -6
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +4 -4
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +9 -13
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +18 -4
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +10 -5
- package/esm2022/lib/desy-nav/interfaces/header-mobile-text-data.mjs +2 -0
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +1 -1
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
- package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
- package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +5 -5
- package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +5 -5
- package/esm2022/lib/desy-tables/desy-tables.module.mjs +5 -5
- package/esm2022/lib/desy-tables/directives/cell.directive.mjs +4 -4
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +4 -4
- package/esm2022/lib/desy-tables/directives/row.directive.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +5 -5
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +5 -5
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +21 -0
- package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +21 -0
- package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +21 -0
- package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +21 -0
- package/esm2022/lib/desy-views/components/card/card.component.mjs +47 -0
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +5 -40
- package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/details/details.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/item/item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/status/status.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +12 -16
- package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/desy-views/desy-views.module.mjs +32 -7
- package/esm2022/lib/desy-views/interfaces/tabs-items-data.mjs +1 -1
- package/esm2022/lib/desy-views/services/alert.service.mjs +4 -4
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +4 -4
- package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
- package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
- package/esm2022/lib/shared/components/content-base/content-base.component.mjs +4 -4
- package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
- package/esm2022/lib/shared/directives/attribute-change.directive.mjs +4 -4
- package/esm2022/lib/shared/directives/click-outside.directive.mjs +4 -4
- package/esm2022/lib/shared/directives/content-change.directive.mjs +4 -4
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +4 -4
- package/esm2022/lib/shared/directives/inner-content.directive.mjs +4 -4
- package/esm2022/lib/shared/pipes/external-href.pipe.mjs +4 -4
- package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +4 -4
- package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
- package/esm2022/lib/shared/shared.module.mjs +5 -5
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/desy-angular.mjs +795 -662
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +1 -5
- package/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.d.ts +25 -0
- package/lib/desy-nav/components/header/header.component.d.ts +5 -1
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -2
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +6 -2
- package/lib/desy-nav/desy-nav.module.d.ts +30 -29
- package/lib/desy-nav/interfaces/header-mobile-text-data.d.ts +6 -0
- package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +0 -1
- package/lib/desy-views/components/card/card-sectors/card-left.component.d.ts +10 -0
- package/lib/desy-views/components/card/card-sectors/card-right.component.d.ts +9 -0
- package/lib/desy-views/components/card/card-sectors/card-sub.component.d.ts +10 -0
- package/lib/desy-views/components/card/card-sectors/card-super.component.d.ts +10 -0
- package/lib/desy-views/components/card/card.component.d.ts +18 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -4
- package/lib/desy-views/desy-views.module.d.ts +11 -6
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +1 -0
- package/package.json +2 -2
- package/public-api.d.ts +7 -0
|
@@ -293,8 +293,8 @@ export class TreeItemComponent extends AccessibilityComponent {
|
|
|
293
293
|
TreeItemComponent._treeItemKeySuffix++;
|
|
294
294
|
return key;
|
|
295
295
|
}
|
|
296
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
296
|
+
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", title: "title", 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
298
|
{
|
|
299
299
|
provide: ITreeItem,
|
|
300
300
|
useExisting: forwardRef(() => TreeItemComponent)
|
|
@@ -317,7 +317,7 @@ __decorate([
|
|
|
317
317
|
DesyContentChild(),
|
|
318
318
|
__metadata("design:type", LabelComponent)
|
|
319
319
|
], TreeItemComponent.prototype, "label", void 0);
|
|
320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeItemComponent, decorators: [{
|
|
321
321
|
type: Component,
|
|
322
322
|
args: [{ selector: 'desy-tree-item', providers: [
|
|
323
323
|
{
|
|
@@ -374,4 +374,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
374
374
|
type: HostBinding,
|
|
375
375
|
args: ['attr.desy-tree-item-key']
|
|
376
376
|
}] } });
|
|
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
|
|
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
|
|
@@ -8,12 +8,12 @@ export class TreeItemsGeneratorComponent {
|
|
|
8
8
|
ngOnInit() {
|
|
9
9
|
this.viewContainerRef.createEmbeddedView(this.content);
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeItemsGeneratorComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeItemsGeneratorComponent, selector: "desy-tree-items-generator", inputs: { items: "items", itemTemplate: "itemTemplate" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #content>\n <ng-container *ngIf=\"items && itemTemplate\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {item: item}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeItemsGeneratorComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{ selector: 'desy-tree-items-generator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #content>\n <ng-container *ngIf=\"items && itemTemplate\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {
|
|
16
|
+
args: [{ selector: 'desy-tree-items-generator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #content>\n <ng-container *ngIf=\"items && itemTemplate\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {item: item}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
|
|
17
17
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { content: [{
|
|
18
18
|
type: ViewChild,
|
|
19
19
|
args: ['content', { static: true }]
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
22
22
|
}], itemTemplate: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtcy1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1pdGVtcy1nZW5lcmF0b3IvdHJlZS1pdGVtcy1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1pdGVtcy1nZW5lcmF0b3IvdHJlZS1pdGVtcy1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkIsTUFBTSxPQUFPLDJCQUEyQjtJQU90QyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FYVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw2T0NoQnhDLG9SQU9BOzs0RkRTYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUVwQix1QkFBdUIsQ0FBQyxNQUFNO3VHQUlQLE9BQU87c0JBQTlDLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFN0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmVlSXRlbUNvbXBvbmVudH0gZnJvbSBcIi4uL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdHJlZS1pdGVtcy1nZW5lcmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1pdGVtcy1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbXNHZW5lcmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXTtcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUcmVlSXRlbUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY29udGVudCk7XG4gIH1cblxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbVRlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDoge2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -3,13 +3,13 @@ import { ContentBaseComponent } from "../../../../shared/components";
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../../../shared/pipes/make-html-list.pipe";
|
|
5
5
|
export class TreeSubComponent extends ContentBaseComponent {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
6
|
+
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 [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", dependencies: [{ kind: "pipe", type: i1.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeSubComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
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 [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-modal]=\"ariaModal ? ariaModal : null\"\n [attr.tabindex]=\"tabindex ? tabindex : null\">\n <ng-content></ng-content>\n </ul>\n</ng-template>\n" }]
|
|
12
12
|
}], propDecorators: { classes: [{
|
|
13
13
|
type: Input
|
|
14
14
|
}] } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zdWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1zdWIvdHJlZS1zdWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3RyZWUvdHJlZS1zdWIvdHJlZS1zdWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7OztBQU1uRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9COytHQUE3QyxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw0R0NYN0IsNjlCQWtCQTs7NEZEUGEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJVHJlZUl0ZW19IGZyb20gXCIuLi9pbnRlcmZhY2VzL2l0cmVlLWl0ZW1cIjtcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRyZWUtc3ViJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtc3ViLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUcmVlU3ViQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcblxuICBpdGVtTGlzdDogSVRyZWVJdGVtW107XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICA8dWwgW2NsYXNzXT1cIlsnYy10cmVlX19pdGVtZ3JvdXAnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogJ2dyb3VwJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -284,8 +284,8 @@ export class TreeComponent extends FormFieldComponent {
|
|
|
284
284
|
}
|
|
285
285
|
return list;
|
|
286
286
|
}
|
|
287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
287
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeComponent, selector: "desy-tree", inputs: { idPrefix: "idPrefix", classes: "classes", name: "name", type: "type", describedBy: "describedBy", formGroupClasses: "formGroupClasses", expandedFirstLevel: "expandedFirstLevel", decoupleChildFromParent: "decoupleChildFromParent", disableDefaultSearch: "disableDefaultSearch", searchMatchValues: "searchMatchValues" }, outputs: { searchMatchValuesChange: "searchMatchValuesChange" }, providers: [
|
|
289
289
|
{
|
|
290
290
|
provide: NG_VALUE_ACCESSOR,
|
|
291
291
|
useExisting: forwardRef(() => TreeComponent),
|
|
@@ -309,7 +309,7 @@ __decorate([
|
|
|
309
309
|
DesyContentChild({ onSetCallbackName: 'overrideSearchBarParams' }),
|
|
310
310
|
__metadata("design:type", SearchBarComponent)
|
|
311
311
|
], TreeComponent.prototype, "searchBarComponent", void 0);
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeComponent, decorators: [{
|
|
313
313
|
type: Component,
|
|
314
314
|
args: [{ selector: 'desy-tree', providers: [
|
|
315
315
|
{
|
|
@@ -353,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
353
353
|
type: ViewChild,
|
|
354
354
|
args: ['innerHtml', { static: true }]
|
|
355
355
|
}] } });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFBRSxZQUFZLEVBQzdCLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUFFLFNBQVMsRUFDRixXQUFXLEVBQUUsU0FBUyxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM1RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQWF0RSxNQUFNLE9BQU8sYUFBYyxTQUFRLGtCQUF5QjtJQXFDMUQsWUFBb0IsY0FBaUM7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUEzQjVDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7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eUJBQXlCLEVBQUMsQ0FBQzs4QkFDVCxrQkFBa0I7eURBQUM7MkZBMUJqRSxhQUFhO2tCQVh6QixTQUFTOytCQUNFLFdBQVcsYUFFVjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7NEJBQzVDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUlRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFHb0QsUUFBUTtzQkFBbEUsZUFBZTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR3JCLGlCQUFpQjtzQkFBcEQsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBR0csa0JBQWtCO3NCQUF0RCxlQUFlO3VCQUFDLGtCQUFrQjtnQkFFTyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7VHJlZUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50XCI7XG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yXCI7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7Rm9ybUZpZWxkQ29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tIFwiLi4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50XCI7XG5pbXBvcnQge1F1aXRUcmVlSXRlbUZvY3VzT3B0aW9uc30gZnJvbSBcIi4vaW50ZXJmYWNlcy9xdWl0LXRyZWUtaXRlbS1mb2N1cy1vcHRpb25zXCI7XG5pbXBvcnQge1NlYXJjaEJhckNvbXBvbmVudH0gZnJvbSBcIi4uL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnlbXT4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdyYWRpbyd8J2NoZWNrYm94J3xudWxsfHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGVzY3JpYmVkQnk6IHN0cmluZztcblxuICBASW5wdXQoKSBmb3JtR3JvdXBDbGFzc2VzOiBhbnk7XG5cbiAgQElucHV0KCkgZXhwYW5kZWRGaXJzdExldmVsID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBkaXNhYmxlRGVmYXVsdFNlYXJjaCA9IGZhbHNlO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25TZWFyY2hNYXRjaFZhbHVlc0NoYW5nZScpXG4gIEBJbnB1dCgpIHNlYXJjaE1hdGNoVmFsdWVzOiBzdHJpbmdbXTtcbiAgQE91dHB1dCgpIHNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ2NvbmZpZ3VyZUFsbEl0ZW1zJylcbiAgQENvbnRlbnRDaGlsZHJlbihUcmVlSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBhbGxJdGVtczogUXVlcnlMaXN0PFRyZWVJdGVtQ29tcG9uZW50PjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVGaWVsZHNldFBhcmFtcyd9KVxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlU2VhcmNoQmFyUGFyYW1zJ30pXG4gIEBDb250ZW50Q2hpbGRyZW4oU2VhcmNoQmFyQ29tcG9uZW50KSBzZWFyY2hCYXJDb21wb25lbnQ6IFNlYXJjaEJhckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdpbm5lckh0bWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbm5lckh0bWw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSByb290SXRlbXM6IFRyZWVJdGVtQ29tcG9uZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfYWxsSXRlbUxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RRdWl0Rm9jdXNTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9hbHJlYWR5Q29uZmlndXJpbmdJdGVtcyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMpO1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKHRoaXMuX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9ucyk7XG4gICAgdGhpcy5faXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYWxsSXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHZhbG9yIHBhcmEgYWN0dWFsaXphciBsb3MgaXRlbXNcbiAgICogQE92ZXJyaWRlXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcyh0cnVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHZhbG9yIHBhcmEgYWN0dWFsaXphciBsb3MgaXRlbXNcbiAgICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcygpO1xuICB9XG5cbiAgLypcbiAgICogRXZlbnRvc1xuICAgKi9cblxuICAvKipcbiAgICogQWN0dWFsaXphIGVsIHZhbG9yIGRlbCBjb21wb25lbnRlIGFsIGNoZWNrcXVlYXJzZSB1biDDrXRlbVxuICAgKiBAcGFyYW0gb3JpZ2luSXRlbSDDrXRlbSBtb2RpZmljYWRvXG4gICAqL1xuICB1cGRhdGVWYWx1ZUZyb21JdGVtcyhvcmlnaW5JdGVtPzogVHJlZUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcblxuICAgIC8vIFNpIGVzIHJhZGlvLCBzZSBkZXNhY3RpdmFuIGVsIHJlc3RvIGRlIGl0ZW1zIGN1YW5kbyBzZSBhY3RpdmEgb3RybyBpdGVtXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xuICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gIT09IG9yaWdpbkl0ZW0gJiYgaXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgaXRlbS5zZXRDaGVja2VkKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xuICAgICAgdGhpcy5yb290SXRlbXMuZm9yRWFjaChpdGVtID0+IGl0ZW0uc2V0Q2hlY2tlZEF1dG9tYXRpY2FsbHlEZXBlbmRpbmdPbkNoaWxkcmVuKCkpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSBbXTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0QWxsSXRlbXNJbk9yZGVyKCk7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy52YWx1ZS5wdXNoKGl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2VzdGlvbmEgY3VhbmRvIGVsIGZvY28gYWJhbmRvbmEgdW4gw610ZW0gZGVzZGUgdW4gZXZlbnRvIGRlIHRlY2xhZG8gY29udHJvbGFkb1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgaGFuZGxlSXRlbVF1aXRGb2N1cyhvcHRpb25zOiBRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLm5leHRFbGVtZW50KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0QWxsSXRlbXNJbk9yZGVyKCk7XG4gICAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmlzSGlkZGVuKCkgJiYgIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5hbGxQYXJlbnRzRXhwYW5kZWQpO1xuICAgICAgc3dpdGNoIChvcHRpb25zLm5leHRFbGVtZW50KSB7XG4gICAgICAgIGNhc2UgXCJmaXJzdFwiOlxuICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zWzBdLmZvY3VzKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJsYXN0XCI6XG4gICAgICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInBhcmVudFwiOlxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdWJMZXZlbCA9IG9wdGlvbnMuY3VycmVudEl0ZW0uc3ViTGV2ZWw7XG4gICAgICAgICAgaWYgKGN1cnJlbnRTdWJMZXZlbCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGZvY3VzYWJsZUl0ZW1zLnNsaWNlKDAsIGN1cnJlbnRJdGVtSW5kZXgpLnJldmVyc2UoKS5maW5kKGl0ZW0gPT4gaXRlbS5zdWJMZXZlbCA8IGN1cnJlbnRTdWJMZXZlbCk7XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgIHBhcmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImZpcnN0Q2hpbGRcIjpcbiAgICAgICAgY2FzZSBcIm5leHRcIjpcbiAgICAgICAgICBpZiAob3B0aW9ucy5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUluZGV4IDwgZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBmb2N1c2FibGVJdGVtc1tjdXJyZW50SXRlbUluZGV4ICsgMV0uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJwcmV2aW91c1wiOlxuICAgICAgICAgIGlmIChvcHRpb25zLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gZm9jdXNhYmxlSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gb3B0aW9ucy5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICBpZiAoY3VycmVudEl0ZW1JbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbY3VycmVudEl0ZW1JbmRleCAtIDFdLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFsaXphIGxhIGLDunNxdWVkYSBpbnRlcm5hIGRlIGxvcyBpdGVtcyBlbiBlbCBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB2YWx1ZSB0ZXh0byBkZSBiw7pzcXVlZGFcbiAgICovXG4gIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZURlZmF1bHRTZWFyY2gpIHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSB0aGlzLmFsbEl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0ubWF0Y2hlc1RleHQodmFsdWUpKS5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSBudWxsO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hNYXRjaFZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEV2ZW50b3MgYWwgY2FtYmlhciBwcm9waWVkYWRlc1xuICAgKi9cblxuICAvKipcbiAgICogQ29uZmlndXJhIGxvcyBpdGVtcyBkZWwgw6FyYm9sXG4gICAqL1xuICBjb25maWd1cmVBbGxJdGVtcyhpc1ZhbHVlQ2hhbmdlID0gZmFsc2UpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMpIHtcbiAgICAgIHRoaXMuX2FscmVhZHlDb25maWd1cmluZ0l0ZW1zID0gdHJ1ZTtcblxuICAgICAgLy8gTG8gcmVhbGl6YW1vcyBkZXNkZSB1biBzZXRUaW1lb3V0IHBhcmEgcXVlIHRvZG9zIGxvcyBpbnB1dHMsIHZhbHVlcyB5IGRlbcOhcyB2aXZhbiBlbiBwYXogeSBhcm1vbsOtYVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmFsbEl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9ucyk7XG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RRdWl0Rm9jdXNTdWJzY3JpcHRpb25zKTtcbiAgICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnBhcmVudE5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgICAgICBpdGVtLnR5cGUgPSB0aGlzLnR5cGU7XG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZERlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeUZvckl0ZW1zKCk7XG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCA9IHRoaXMuZXhwYW5kZWRGaXJzdExldmVsO1xuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudCA9IHRoaXMuZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQ7XG4gICAgICAgICAgICBpdGVtLnRyZWVEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgICAgICBpZiAoKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB8fCBpc1ZhbHVlQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlTGlzdCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgICAgICAgICAgIGl0ZW0uc2V0Q2hlY2tlZCghIXZhbHVlTGlzdC5maW5kKHYgPT4gdiA9PT0gaXRlbS52YWx1ZSksIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNoZWNrZWRTdWJzY3JpcHRpb24gPSBpdGVtLmNoZWNrZWRDaGFuZ2VGb3JUcmVlLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbHVlRnJvbUl0ZW1zKGl0ZW0pKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMucHVzaChjaGVja2VkU3Vic2NyaXB0aW9uKTtcblxuICAgICAgICAgICAgY29uc3QgcXVpdEZvY3VzU3Vic2NyaXB0aW9uID0gaXRlbS5xdWl0Rm9jdXMuc3Vic2NyaWJlKG9wdGlvbnMgPT4gdGhpcy5oYW5kbGVJdGVtUXVpdEZvY3VzKG9wdGlvbnMpKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9ucy5wdXNoKHF1aXRGb2N1c1N1YnNjcmlwdGlvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnNldEVycm9ySW5JdGVtcyh0aGlzLmhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpKTtcblxuICAgICAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlRnJvbUl0ZW1zKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMpIHtcbiAgICAgICAgICAgIHRoaXMub25TZWFyY2hNYXRjaFZhbHVlc0NoYW5nZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFsbEl0ZW1zICYmICF0aGlzLl9hbGxJdGVtTGlzdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgIHRoaXMuX2FsbEl0ZW1MaXN0U3Vic2NyaXB0aW9uID0gdGhpcy5hbGxJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbmZpZ3VyZUFsbEl0ZW1zKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2FscmVhZHlDb25maWd1cmluZ0l0ZW1zID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpY2EgbG9zIGl0ZW1zIHZpc2libGVzIHNlZ8O6biBlbCBmaWx0cm8gZGUgYsO6c3F1ZWRhXG4gICAqL1xuICBvblNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbEl0ZW1zKSB7XG4gICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uaW5oZXJpdGVkTWF0Y2hlc1NlYXJjaCA9IHRydWU7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgIT09IG51bGwgJiYgdGhpcy5zZWFyY2hNYXRjaFZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hNYXRjaFZhbHVlcy5maW5kSW5kZXgodmFsdWUgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpIDwgMCkge1xuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWRNYXRjaGVzU2VhcmNoID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEdldHRlcnMgYW5kIHNldHRlcnNcbiAgICovXG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXREZXNjcmliZWRCeSgpOiBzdHJpbmcge1xuICAgIGxldCBkZXNjcmliZWRCeSA9ICcnO1xuICAgIGlmICh0aGlzLmRlc2NyaWJlZEJ5KSB7XG4gICAgICBkZXNjcmliZWRCeSA9IHRoaXMuZGVzY3JpYmVkQnk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzSGludENvbXBvbmVudCgpICYmIHRoaXMuaGludENvbXBvbmVudC5pZCkge1xuICAgICAgZGVzY3JpYmVkQnkgPSBkZXNjcmliZWRCeSArICcgJyArIHRoaXMuaGludENvbXBvbmVudC5pZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSAmJiB0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudC5pZCkge1xuICAgICAgZGVzY3JpYmVkQnkgPSBkZXNjcmliZWRCeSArICcgJyArIHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNjcmliZWRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBlbCB2YWxvciBkZSBkZXNjcmliZWRCeSBxdWUgc2UgdHJhbnNtaXRpcsOhIGEgbG9zIGl0ZW1zXG4gICAqL1xuICBnZXREZXNjcmliZWRCeUZvckl0ZW1zKCk6IHN0cmluZyB7XG4gICAgbGV0IGRlc2NyaWJlZEJ5O1xuICAgIGlmICh0aGlzLmhhc0ZpZWxkc2V0Q29tcG9uZW50KCkpIHtcbiAgICAgIGRlc2NyaWJlZEJ5ID0gdGhpcy5maWVsZHNldENvbXBvbmVudC5kZXNjcmliZWRCeTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVzY3JpYmVkQnkgPSB0aGlzLmdldERlc2NyaWJlZEJ5KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaWJlZEJ5O1xuICB9XG5cbiAgaGFzRmllbGRzZXRDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgc3VwZXIuZ2V0SGludElkKCk7XG4gICAqL1xuICBnZXRIaW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggKyAnLWhpbnQnIDogdGhpcy5oaW50Q29tcG9uZW50Py5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgc3VwZXIuZ2V0SGludElkKCk7XG4gICAqL1xuICBnZXRFcnJvcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4ICsgJy1lcnJvcicgOiB0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudD8uaWQ7XG4gIH1cblxuICAvKlxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWVtcGxhemFyIGVsIGNvbnRlbmlkbyBkZWwgZmllbGRzZXQsIGxhYmVsLCBoaW50IG8gZXJyb3JtZXNzYWdlXG4gICAqL1xuXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XG4gICAgZmllbGRzZXQuZXJyb3JJZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeSgpO1xuICAgIGZpZWxkc2V0LmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlU2VhcmNoQmFyUGFyYW1zKHNlYXJjaGJhcjogU2VhcmNoQmFyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdE9uQ2hhbmdlID0gc2VhcmNoYmFyLm9uQ2hhbmdlO1xuICAgIGNvbnN0IG5ld09uQ2hhbmdlID0gdmFsdWUgPT4ge1xuICAgICAgdGhpcy5vblNlYXJjaCh2YWx1ZSk7XG4gICAgICBkZWZhdWx0T25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICBzZWFyY2hiYXIucmVnaXN0ZXJPbkNoYW5nZShuZXdPbkNoYW5nZSk7XG4gIH1cblxuICAvKipcbiAgICogU2UgbGxhbWEgZGVzZGUgRm9ybUZpZWxkXG4gICAqL1xuICBvdmVycmlkZUhpbnRQYXJhbXMoaGludCk6IHZvaWQge1xuICAgIGhpbnQuaWQgPSB0aGlzLmdldEhpbnRJZCgpO1xuICAgIGhpbnQuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIGxsYW1hIGRlc2RlIEZvcm1GaWVsZFxuICAgKi9cbiAgb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMoZXJyb3JNZXNzYWdlKTogdm9pZCB7XG4gICAgZXJyb3JNZXNzYWdlLmlkID0gdGhpcy5nZXRFcnJvcklkKCk7XG4gICAgdGhpcy5zZXRFcnJvckluSXRlbXModGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSk7XG4gICAgZXJyb3JNZXNzYWdlLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZSBsbGFtYSBkZXNkZSBGb3JtRmllbGRcbiAgICovXG4gIG9uRGVsZXRlRXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMuc2V0RXJyb3JJbkl0ZW1zKHRoaXMuaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KCkpO1xuICB9XG5cbiAgLypcbiAgICogTcOpdG9kb3MgcHJpdmFkb3NcbiAgICovXG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYSBsYSBlc3RydWN0dXJhIGRlbCDDoXJib2xcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYnVpbGRUcmVlKCk6IHZvaWQge1xuXG4gICAgLy8gU2UgY3JlYSB1biBtYXBhIHBhcmEgdGVuZXIgYWNjZXNpYmxlcyBsb3MgaXRlbXMgcG9yIGtleSB5IHNlIGJvcnJhbiBsb3MgbGlzdGFkb3MgZXhpc3RlbnRlc1xuICAgIGNvbnN0IGl0ZW1NYXAgPSB7fVxuICAgIHRoaXMucm9vdEl0ZW1zID0gW107XG4gICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3Qga2V5ID0gaXRlbS5nZXRLZXkoKTtcbiAgICAgIGl0ZW1NYXBba2V5XSA9IGl0ZW07XG4gICAgICBpZiAoaXRlbS5zdWIpIHtcbiAgICAgICAgaXRlbS5zdWIuaXRlbUxpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFNlIGHDsWFkZW4gbG9zIGl0ZW1zIGEgbG9zIGxpc3RhZG9zIGNvcnJlc3BvbmRpZW50ZXNcbiAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnRLZXkgPSBpdGVtLmdldFBhcmVudEtleSgpO1xuICAgICAgaWYgKHBhcmVudEtleSA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgIHRoaXMucm9vdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcmVudEtleSkge1xuICAgICAgICBjb25zdCBzdWIgPSBpdGVtTWFwW3BhcmVudEtleV0uc3ViO1xuICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgc3ViLml0ZW1MaXN0LnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFNlIGNvbmZpZ3VyYW4gbG9zIGl0ZW1zIGRlc2RlIHJvb3RcbiAgICBsZXQgb3JkZXIgPSAwO1xuICAgIHRoaXMucm9vdEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLnNldFN1YkxldmVsKDApO1xuICAgICAgaXRlbS5zZXREZWZhdWx0SWQoYCR7dGhpcy5pZFByZWZpeH0tJHtpbmRleH1gKTtcbiAgICAgIGl0ZW0ucmVmcmVzaEFsbFBhcmVudHNFeHBhbmRlZFJlY3Vyc2l2ZSh0cnVlKTtcbiAgICAgIGlmICghdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xuICAgICAgICBpdGVtLnNldENoZWNrZWRBdXRvbWF0aWNhbGx5RGVwZW5kaW5nT25DaGlsZHJlbigpO1xuICAgICAgfVxuICAgICAgb3JkZXIgPSBpdGVtLnNldE9yZGVyUmVjdXJzaXZlbHkob3JkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpIHRpZW5lIHVuIG1lbnNhamUgZGUgZXJyb3IsIHNlIGluZGljYSBhIGxvcyBpdGVtc1xuICAgKiBAcGFyYW0gaGFzRXJyb3JcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0RXJyb3JJbkl0ZW1zKGhhc0Vycm9yOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5pbmhlcml0ZWRIYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgICAgICBpdGVtLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaW1waWEgdW4gbGlzdGFkbyBkZSBzdWJzY3JpcGNpb25lc1xuICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uTGlzdFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhclN1YnNjcmlwdGlvbnMoc3Vic2NyaXB0aW9uTGlzdDogU3Vic2NyaXB0aW9uW10pOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaXB0aW9uTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBzdWJzY3JpcHRpb25MaXN0LmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgc3Vic2NyaXB0aW9uTGlzdC5zcGxpY2UoMCwgc3Vic2NyaXB0aW9uTGlzdC5sZW5ndGgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldnVlbHZlIGxvcyBpdGVtcyBkZWwgw6FyYm9sIG9yZGVuYWRvc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRBbGxJdGVtc0luT3JkZXIoKTogVHJlZUl0ZW1Db21wb25lbnRbXSB7XG4gICAgbGV0IGxpc3QgPSBbXTtcbiAgICBpZiAodGhpcy5hbGxJdGVtcykge1xuICAgICAgbGlzdCA9IHRoaXMuYWxsSXRlbXMudG9BcnJheSgpLnNvcnQoKGEsIGIpID0+IGEub3JkZXJJblRyZWUgPiBiLm9yZGVySW5UcmVlID8gMSA6IC0xKVxuICAgIH1cbiAgICByZXR1cm4gbGlzdFxuICB9XG4gIFxuXG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjaW5uZXJIdG1sPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZXJyb3ItbWVzc2FnZVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1zZWFyY2gtYmFyXCI+PC9uZy1jb250ZW50PlxuICA8dWwgW2NsYXNzXT1cIlsnYy10cmVlJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6ICd0cmVlJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSB0cmVlIC0tPlxuPGRpdiBbY2xhc3NdPVwiWydjLWZvcm0tZ3JvdXAnLCBmb3JtR3JvdXBDbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgIFtuZ0NsYXNzXT1cInsnYy1mb3JtLWdyb3VwLS1lcnJvcic6IChoYXNFcnJvcnNNZXNzYWdlKCkgfHwgZm9ybUdyb3VwQ2xhc3NlcyA9PT0gJ2MtZm9ybS1ncm91cC0tZXJyb3InKSB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNGaWVsZHNldENvbXBvbmVudCgpOyBlbHNlIGlubmVySHRtbFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZmllbGRzZXRcIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFBRSxZQUFZLEVBQzdCLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxFQUFFLFNBQVMsRUFDRixXQUFXLEVBQUUsU0FBUyxFQUN0QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM1RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQWF0RSxNQUFNLE9BQU8sYUFBYyxTQUFRLGtCQUF5QjtJQXFDMUQsWUFBb0IsY0FBaUM7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUEzQjVDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7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eUJBQXlCLEVBQUMsQ0FBQzs4QkFDVCxrQkFBa0I7eURBQUM7NEZBMUJqRSxhQUFhO2tCQVh6QixTQUFTOytCQUNFLFdBQVcsYUFFVjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7NEJBQzVDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUlRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFHb0QsUUFBUTtzQkFBbEUsZUFBZTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR3JCLGlCQUFpQjtzQkFBcEQsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBR0csa0JBQWtCO3NCQUF0RCxlQUFlO3VCQUFDLGtCQUFrQjtnQkFFTyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7VHJlZUl0ZW1Db21wb25lbnR9IGZyb20gXCIuL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50XCI7XG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yXCI7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7Rm9ybUZpZWxkQ29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tIFwiLi4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50XCI7XG5pbXBvcnQge1F1aXRUcmVlSXRlbUZvY3VzT3B0aW9uc30gZnJvbSBcIi4vaW50ZXJmYWNlcy9xdWl0LXRyZWUtaXRlbS1mb2N1cy1vcHRpb25zXCI7XG5pbXBvcnQge1NlYXJjaEJhckNvbXBvbmVudH0gZnJvbSBcIi4uL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnlbXT4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdyYWRpbyd8J2NoZWNrYm94J3xudWxsfHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGVzY3JpYmVkQnk6IHN0cmluZztcblxuICBASW5wdXQoKSBmb3JtR3JvdXBDbGFzc2VzOiBhbnk7XG5cbiAgQElucHV0KCkgZXhwYW5kZWRGaXJzdExldmVsID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBkaXNhYmxlRGVmYXVsdFNlYXJjaCA9IGZhbHNlO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25TZWFyY2hNYXRjaFZhbHVlc0NoYW5nZScpXG4gIEBJbnB1dCgpIHNlYXJjaE1hdGNoVmFsdWVzOiBzdHJpbmdbXTtcbiAgQE91dHB1dCgpIHNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ2NvbmZpZ3VyZUFsbEl0ZW1zJylcbiAgQENvbnRlbnRDaGlsZHJlbihUcmVlSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBhbGxJdGVtczogUXVlcnlMaXN0PFRyZWVJdGVtQ29tcG9uZW50PjtcblxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVGaWVsZHNldFBhcmFtcyd9KVxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlU2VhcmNoQmFyUGFyYW1zJ30pXG4gIEBDb250ZW50Q2hpbGRyZW4oU2VhcmNoQmFyQ29tcG9uZW50KSBzZWFyY2hCYXJDb21wb25lbnQ6IFNlYXJjaEJhckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdpbm5lckh0bWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbm5lckh0bWw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSByb290SXRlbXM6IFRyZWVJdGVtQ29tcG9uZW50W10gPSBbXTtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfYWxsSXRlbUxpc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfaXRlbUxpc3RRdWl0Rm9jdXNTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9hbHJlYWR5Q29uZmlndXJpbmdJdGVtcyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMpO1xuICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKHRoaXMuX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9ucyk7XG4gICAgdGhpcy5faXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYWxsSXRlbUxpc3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHZhbG9yIHBhcmEgYWN0dWFsaXphciBsb3MgaXRlbXNcbiAgICogQE92ZXJyaWRlXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcyh0cnVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHZhbG9yIHBhcmEgYWN0dWFsaXphciBsb3MgaXRlbXNcbiAgICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gICAgdGhpcy5jb25maWd1cmVBbGxJdGVtcygpO1xuICB9XG5cbiAgLypcbiAgICogRXZlbnRvc1xuICAgKi9cblxuICAvKipcbiAgICogQWN0dWFsaXphIGVsIHZhbG9yIGRlbCBjb21wb25lbnRlIGFsIGNoZWNrcXVlYXJzZSB1biDDrXRlbVxuICAgKiBAcGFyYW0gb3JpZ2luSXRlbSDDrXRlbSBtb2RpZmljYWRvXG4gICAqL1xuICB1cGRhdGVWYWx1ZUZyb21JdGVtcyhvcmlnaW5JdGVtPzogVHJlZUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcblxuICAgIC8vIFNpIGVzIHJhZGlvLCBzZSBkZXNhY3RpdmFuIGVsIHJlc3RvIGRlIGl0ZW1zIGN1YW5kbyBzZSBhY3RpdmEgb3RybyBpdGVtXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEFsbEl0ZW1zSW5PcmRlcigpO1xuICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gIT09IG9yaWdpbkl0ZW0gJiYgaXRlbS5jaGVja2VkKSB7XG4gICAgICAgICAgaXRlbS5zZXRDaGVja2VkKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xuICAgICAgdGhpcy5yb290SXRlbXMuZm9yRWFjaChpdGVtID0+IGl0ZW0uc2V0Q2hlY2tlZEF1dG9tYXRpY2FsbHlEZXBlbmRpbmdPbkNoaWxkcmVuKCkpO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSBbXTtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0QWxsSXRlbXNJbk9yZGVyKCk7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy52YWx1ZS5wdXNoKGl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2VzdGlvbmEgY3VhbmRvIGVsIGZvY28gYWJhbmRvbmEgdW4gw610ZW0gZGVzZGUgdW4gZXZlbnRvIGRlIHRlY2xhZG8gY29udHJvbGFkb1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgaGFuZGxlSXRlbVF1aXRGb2N1cyhvcHRpb25zOiBRdWl0VHJlZUl0ZW1Gb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLm5leHRFbGVtZW50KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0QWxsSXRlbXNJbk9yZGVyKCk7XG4gICAgICBjb25zdCBmb2N1c2FibGVJdGVtcyA9IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmlzSGlkZGVuKCkgJiYgIWl0ZW0uZGlzYWJsZWQgJiYgaXRlbS5hbGxQYXJlbnRzRXhwYW5kZWQpO1xuICAgICAgc3dpdGNoIChvcHRpb25zLm5leHRFbGVtZW50KSB7XG4gICAgICAgIGNhc2UgXCJmaXJzdFwiOlxuICAgICAgICAgIGZvY3VzYWJsZUl0ZW1zWzBdLmZvY3VzKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJsYXN0XCI6XG4gICAgICAgICAgZm9jdXNhYmxlSXRlbXNbZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInBhcmVudFwiOlxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdWJMZXZlbCA9IG9wdGlvbnMuY3VycmVudEl0ZW0uc3ViTGV2ZWw7XG4gICAgICAgICAgaWYgKGN1cnJlbnRTdWJMZXZlbCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGZvY3VzYWJsZUl0ZW1zLnNsaWNlKDAsIGN1cnJlbnRJdGVtSW5kZXgpLnJldmVyc2UoKS5maW5kKGl0ZW0gPT4gaXRlbS5zdWJMZXZlbCA8IGN1cnJlbnRTdWJMZXZlbCk7XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgIHBhcmVudC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImZpcnN0Q2hpbGRcIjpcbiAgICAgICAgY2FzZSBcIm5leHRcIjpcbiAgICAgICAgICBpZiAob3B0aW9ucy5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRJdGVtSW5kZXggPSBmb2N1c2FibGVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBvcHRpb25zLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbUluZGV4IDwgZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBmb2N1c2FibGVJdGVtc1tjdXJyZW50SXRlbUluZGV4ICsgMV0uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJwcmV2aW91c1wiOlxuICAgICAgICAgIGlmIChvcHRpb25zLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gZm9jdXNhYmxlSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gb3B0aW9ucy5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICBpZiAoY3VycmVudEl0ZW1JbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgZm9jdXNhYmxlSXRlbXNbY3VycmVudEl0ZW1JbmRleCAtIDFdLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFsaXphIGxhIGLDunNxdWVkYSBpbnRlcm5hIGRlIGxvcyBpdGVtcyBlbiBlbCBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB2YWx1ZSB0ZXh0byBkZSBiw7pzcXVlZGFcbiAgICovXG4gIG9uU2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZURlZmF1bHRTZWFyY2gpIHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSB0aGlzLmFsbEl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0ubWF0Y2hlc1RleHQodmFsdWUpKS5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgPSBudWxsO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hNYXRjaFZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEV2ZW50b3MgYWwgY2FtYmlhciBwcm9waWVkYWRlc1xuICAgKi9cblxuICAvKipcbiAgICogQ29uZmlndXJhIGxvcyBpdGVtcyBkZWwgw6FyYm9sXG4gICAqL1xuICBjb25maWd1cmVBbGxJdGVtcyhpc1ZhbHVlQ2hhbmdlID0gZmFsc2UpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5fYWxyZWFkeUNvbmZpZ3VyaW5nSXRlbXMpIHtcbiAgICAgIHRoaXMuX2FscmVhZHlDb25maWd1cmluZ0l0ZW1zID0gdHJ1ZTtcblxuICAgICAgLy8gTG8gcmVhbGl6YW1vcyBkZXNkZSB1biBzZXRUaW1lb3V0IHBhcmEgcXVlIHRvZG9zIGxvcyBpbnB1dHMsIHZhbHVlcyB5IGRlbcOhcyB2aXZhbiBlbiBwYXogeSBhcm1vbsOtYVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmFsbEl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RDaGVja2VkU3Vic2NyaXB0aW9ucyk7XG4gICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbnModGhpcy5faXRlbUxpc3RRdWl0Rm9jdXNTdWJzY3JpcHRpb25zKTtcbiAgICAgICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLnBhcmVudE5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgICAgICBpdGVtLnR5cGUgPSB0aGlzLnR5cGU7XG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZERlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeUZvckl0ZW1zKCk7XG4gICAgICAgICAgICBpdGVtLmluaGVyaXRlZEV4cGFuZGVkRmlyc3RMZXZlbCA9IHRoaXMuZXhwYW5kZWRGaXJzdExldmVsO1xuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWREZWNvdXBsZUNoaWxkRnJvbVBhcmVudCA9IHRoaXMuZGVjb3VwbGVDaGlsZEZyb21QYXJlbnQ7XG4gICAgICAgICAgICBpdGVtLnRyZWVEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgICAgICBpZiAoKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPiAwKSB8fCBpc1ZhbHVlQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlTGlzdCA9IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogW107XG4gICAgICAgICAgICAgIGl0ZW0uc2V0Q2hlY2tlZCghIXZhbHVlTGlzdC5maW5kKHYgPT4gdiA9PT0gaXRlbS52YWx1ZSksIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNoZWNrZWRTdWJzY3JpcHRpb24gPSBpdGVtLmNoZWNrZWRDaGFuZ2VGb3JUcmVlLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbHVlRnJvbUl0ZW1zKGl0ZW0pKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0Q2hlY2tlZFN1YnNjcmlwdGlvbnMucHVzaChjaGVja2VkU3Vic2NyaXB0aW9uKTtcblxuICAgICAgICAgICAgY29uc3QgcXVpdEZvY3VzU3Vic2NyaXB0aW9uID0gaXRlbS5xdWl0Rm9jdXMuc3Vic2NyaWJlKG9wdGlvbnMgPT4gdGhpcy5oYW5kbGVJdGVtUXVpdEZvY3VzKG9wdGlvbnMpKTtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1MaXN0UXVpdEZvY3VzU3Vic2NyaXB0aW9ucy5wdXNoKHF1aXRGb2N1c1N1YnNjcmlwdGlvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnNldEVycm9ySW5JdGVtcyh0aGlzLmhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpKTtcblxuICAgICAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlRnJvbUl0ZW1zKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMpIHtcbiAgICAgICAgICAgIHRoaXMub25TZWFyY2hNYXRjaFZhbHVlc0NoYW5nZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFsbEl0ZW1zICYmICF0aGlzLl9hbGxJdGVtTGlzdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgIHRoaXMuX2FsbEl0ZW1MaXN0U3Vic2NyaXB0aW9uID0gdGhpcy5hbGxJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbmZpZ3VyZUFsbEl0ZW1zKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2FscmVhZHlDb25maWd1cmluZ0l0ZW1zID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpY2EgbG9zIGl0ZW1zIHZpc2libGVzIHNlZ8O6biBlbCBmaWx0cm8gZGUgYsO6c3F1ZWRhXG4gICAqL1xuICBvblNlYXJjaE1hdGNoVmFsdWVzQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbEl0ZW1zKSB7XG4gICAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uaW5oZXJpdGVkTWF0Y2hlc1NlYXJjaCA9IHRydWU7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuc2VhcmNoTWF0Y2hWYWx1ZXMgIT09IG51bGwgJiYgdGhpcy5zZWFyY2hNYXRjaFZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hNYXRjaFZhbHVlcy5maW5kSW5kZXgodmFsdWUgPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpIDwgMCkge1xuICAgICAgICAgICAgaXRlbS5pbmhlcml0ZWRNYXRjaGVzU2VhcmNoID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEdldHRlcnMgYW5kIHNldHRlcnNcbiAgICovXG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXREZXNjcmliZWRCeSgpOiBzdHJpbmcge1xuICAgIGxldCBkZXNjcmliZWRCeSA9ICcnO1xuICAgIGlmICh0aGlzLmRlc2NyaWJlZEJ5KSB7XG4gICAgICBkZXNjcmliZWRCeSA9IHRoaXMuZGVzY3JpYmVkQnk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGFzSGludENvbXBvbmVudCgpICYmIHRoaXMuaGludENvbXBvbmVudC5pZCkge1xuICAgICAgZGVzY3JpYmVkQnkgPSBkZXNjcmliZWRCeSArICcgJyArIHRoaXMuaGludENvbXBvbmVudC5pZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSAmJiB0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudC5pZCkge1xuICAgICAgZGVzY3JpYmVkQnkgPSBkZXNjcmliZWRCeSArICcgJyArIHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50LmlkO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNjcmliZWRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBlbCB2YWxvciBkZSBkZXNjcmliZWRCeSBxdWUgc2UgdHJhbnNtaXRpcsOhIGEgbG9zIGl0ZW1zXG4gICAqL1xuICBnZXREZXNjcmliZWRCeUZvckl0ZW1zKCk6IHN0cmluZyB7XG4gICAgbGV0IGRlc2NyaWJlZEJ5O1xuICAgIGlmICh0aGlzLmhhc0ZpZWxkc2V0Q29tcG9uZW50KCkpIHtcbiAgICAgIGRlc2NyaWJlZEJ5ID0gdGhpcy5maWVsZHNldENvbXBvbmVudC5kZXNjcmliZWRCeTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVzY3JpYmVkQnkgPSB0aGlzLmdldERlc2NyaWJlZEJ5KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaWJlZEJ5O1xuICB9XG5cbiAgaGFzRmllbGRzZXRDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgc3VwZXIuZ2V0SGludElkKCk7XG4gICAqL1xuICBnZXRIaW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggKyAnLWhpbnQnIDogdGhpcy5oaW50Q29tcG9uZW50Py5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgc3VwZXIuZ2V0SGludElkKCk7XG4gICAqL1xuICBnZXRFcnJvcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4ICsgJy1lcnJvcicgOiB0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudD8uaWQ7XG4gIH1cblxuICAvKlxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWVtcGxhemFyIGVsIGNvbnRlbmlkbyBkZWwgZmllbGRzZXQsIGxhYmVsLCBoaW50IG8gZXJyb3JtZXNzYWdlXG4gICAqL1xuXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XG4gICAgZmllbGRzZXQuZXJyb3JJZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gdGhpcy5nZXREZXNjcmliZWRCeSgpO1xuICAgIGZpZWxkc2V0LmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlU2VhcmNoQmFyUGFyYW1zKHNlYXJjaGJhcjogU2VhcmNoQmFyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdE9uQ2hhbmdlID0gc2VhcmNoYmFyLm9uQ2hhbmdlO1xuICAgIGNvbnN0IG5ld09uQ2hhbmdlID0gdmFsdWUgPT4ge1xuICAgICAgdGhpcy5vblNlYXJjaCh2YWx1ZSk7XG4gICAgICBkZWZhdWx0T25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgICBzZWFyY2hiYXIucmVnaXN0ZXJPbkNoYW5nZShuZXdPbkNoYW5nZSk7XG4gIH1cblxuICAvKipcbiAgICogU2UgbGxhbWEgZGVzZGUgRm9ybUZpZWxkXG4gICAqL1xuICBvdmVycmlkZUhpbnRQYXJhbXMoaGludCk6IHZvaWQge1xuICAgIGhpbnQuaWQgPSB0aGlzLmdldEhpbnRJZCgpO1xuICAgIGhpbnQuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlIGxsYW1hIGRlc2RlIEZvcm1GaWVsZFxuICAgKi9cbiAgb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMoZXJyb3JNZXNzYWdlKTogdm9pZCB7XG4gICAgZXJyb3JNZXNzYWdlLmlkID0gdGhpcy5nZXRFcnJvcklkKCk7XG4gICAgdGhpcy5zZXRFcnJvckluSXRlbXModGhpcy5oYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKSk7XG4gICAgZXJyb3JNZXNzYWdlLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZSBsbGFtYSBkZXNkZSBGb3JtRmllbGRcbiAgICovXG4gIG9uRGVsZXRlRXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMuc2V0RXJyb3JJbkl0ZW1zKHRoaXMuaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KCkpO1xuICB9XG5cbiAgLypcbiAgICogTcOpdG9kb3MgcHJpdmFkb3NcbiAgICovXG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYSBsYSBlc3RydWN0dXJhIGRlbCDDoXJib2xcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYnVpbGRUcmVlKCk6IHZvaWQge1xuXG4gICAgLy8gU2UgY3JlYSB1biBtYXBhIHBhcmEgdGVuZXIgYWNjZXNpYmxlcyBsb3MgaXRlbXMgcG9yIGtleSB5IHNlIGJvcnJhbiBsb3MgbGlzdGFkb3MgZXhpc3RlbnRlc1xuICAgIGNvbnN0IGl0ZW1NYXAgPSB7fVxuICAgIHRoaXMucm9vdEl0ZW1zID0gW107XG4gICAgdGhpcy5hbGxJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3Qga2V5ID0gaXRlbS5nZXRLZXkoKTtcbiAgICAgIGl0ZW1NYXBba2V5XSA9IGl0ZW07XG4gICAgICBpZiAoaXRlbS5zdWIpIHtcbiAgICAgICAgaXRlbS5zdWIuaXRlbUxpc3QgPSBbXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFNlIGHDsWFkZW4gbG9zIGl0ZW1zIGEgbG9zIGxpc3RhZG9zIGNvcnJlc3BvbmRpZW50ZXNcbiAgICB0aGlzLmFsbEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBwYXJlbnRLZXkgPSBpdGVtLmdldFBhcmVudEtleSgpO1xuICAgICAgaWYgKHBhcmVudEtleSA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgIHRoaXMucm9vdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcmVudEtleSkge1xuICAgICAgICBjb25zdCBzdWIgPSBpdGVtTWFwW3BhcmVudEtleV0uc3ViO1xuICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgc3ViLml0ZW1MaXN0LnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFNlIGNvbmZpZ3VyYW4gbG9zIGl0ZW1zIGRlc2RlIHJvb3RcbiAgICBsZXQgb3JkZXIgPSAwO1xuICAgIHRoaXMucm9vdEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLnNldFN1YkxldmVsKDApO1xuICAgICAgaXRlbS5zZXREZWZhdWx0SWQoYCR7dGhpcy5pZFByZWZpeH0tJHtpbmRleH1gKTtcbiAgICAgIGl0ZW0ucmVmcmVzaEFsbFBhcmVudHNFeHBhbmRlZFJlY3Vyc2l2ZSh0cnVlKTtcbiAgICAgIGlmICghdGhpcy5kZWNvdXBsZUNoaWxkRnJvbVBhcmVudCkge1xuICAgICAgICBpdGVtLnNldENoZWNrZWRBdXRvbWF0aWNhbGx5RGVwZW5kaW5nT25DaGlsZHJlbigpO1xuICAgICAgfVxuICAgICAgb3JkZXIgPSBpdGVtLnNldE9yZGVyUmVjdXJzaXZlbHkob3JkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpIHRpZW5lIHVuIG1lbnNhamUgZGUgZXJyb3IsIHNlIGluZGljYSBhIGxvcyBpdGVtc1xuICAgKiBAcGFyYW0gaGFzRXJyb3JcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0RXJyb3JJbkl0ZW1zKGhhc0Vycm9yOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWxsSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWxsSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5pbmhlcml0ZWRIYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgICAgICBpdGVtLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaW1waWEgdW4gbGlzdGFkbyBkZSBzdWJzY3JpcGNpb25lc1xuICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uTGlzdFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhclN1YnNjcmlwdGlvbnMoc3Vic2NyaXB0aW9uTGlzdDogU3Vic2NyaXB0aW9uW10pOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaXB0aW9uTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBzdWJzY3JpcHRpb25MaXN0LmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgc3Vic2NyaXB0aW9uTGlzdC5zcGxpY2UoMCwgc3Vic2NyaXB0aW9uTGlzdC5sZW5ndGgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldnVlbHZlIGxvcyBpdGVtcyBkZWwgw6FyYm9sIG9yZGVuYWRvc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRBbGxJdGVtc0luT3JkZXIoKTogVHJlZUl0ZW1Db21wb25lbnRbXSB7XG4gICAgbGV0IGxpc3QgPSBbXTtcbiAgICBpZiAodGhpcy5hbGxJdGVtcykge1xuICAgICAgbGlzdCA9IHRoaXMuYWxsSXRlbXMudG9BcnJheSgpLnNvcnQoKGEsIGIpID0+IGEub3JkZXJJblRyZWUgPiBiLm9yZGVySW5UcmVlID8gMSA6IC0xKVxuICAgIH1cbiAgICByZXR1cm4gbGlzdFxuICB9XG4gIFxuXG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjaW5uZXJIdG1sPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZXJyb3ItbWVzc2FnZVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1zZWFyY2gtYmFyXCI+PC9uZy1jb250ZW50PlxuICA8dWwgW2NsYXNzXT1cIlsnYy10cmVlJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6ICd0cmVlJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiYXJpYUxpdmUgPyBhcmlhTGl2ZSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1tb2RhbF09XCJhcmlhTW9kYWwgPyBhcmlhTW9kYWwgOiBudWxsXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSB0cmVlIC0tPlxuPGRpdiBbY2xhc3NdPVwiWydjLWZvcm0tZ3JvdXAnLCBmb3JtR3JvdXBDbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgIFtuZ0NsYXNzXT1cInsnYy1mb3JtLWdyb3VwLS1lcnJvcic6IChoYXNFcnJvcnNNZXNzYWdlKCkgfHwgZm9ybUdyb3VwQ2xhc3NlcyA9PT0gJ2MtZm9ybS1ncm91cC0tZXJyb3InKSB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNGaWVsZHNldENvbXBvbmVudCgpOyBlbHNlIGlubmVySHRtbFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZmllbGRzZXRcIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
@@ -42,8 +42,8 @@ import { TreeItemComponent } from './components/tree/tree-item/tree-item.compone
|
|
|
42
42
|
import { TreeItemsGeneratorComponent } from './components/tree/tree-items-generator/tree-items-generator.component';
|
|
43
43
|
import * as i0 from "@angular/core";
|
|
44
44
|
export class DesyFormsModule {
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
46
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
46
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DesyFormsModule, declarations: [TemplateDrivenWrapperComponent,
|
|
47
47
|
FormFieldComponent,
|
|
48
48
|
HintComponent,
|
|
49
49
|
LabelComponent,
|
|
@@ -114,13 +114,13 @@ export class DesyFormsModule {
|
|
|
114
114
|
TreeItemComponent,
|
|
115
115
|
TreeItemsGeneratorComponent,
|
|
116
116
|
ConditionDirective] }); }
|
|
117
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
117
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyFormsModule, imports: [CommonModule,
|
|
118
118
|
FormsModule,
|
|
119
119
|
ReactiveFormsModule,
|
|
120
120
|
SharedModule,
|
|
121
121
|
DesyCommonsModule] }); }
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyFormsModule, decorators: [{
|
|
124
124
|
type: NgModule,
|
|
125
125
|
args: [{
|
|
126
126
|
declarations: [
|
|
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
204
204
|
],
|
|
205
205
|
}]
|
|
206
206
|
}] });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1mb3Jtcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2Rlc3ktZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDeEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUs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bkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjt3QkFFM0Isa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG4vLyBjb21wb25lbnRlc1xuaW1wb3J0IHsgVGVtcGxhdGVEcml2ZW5XcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlLWRyaXZlbi13cmFwcGVyL3RlbXBsYXRlLWRyaXZlbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hpbnQvaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmllbGRzZXQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IENoYXJhY3RlckNvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudC9jaGFyYWN0ZXItY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JhZGlvcy9yYWRpb3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYWRpb3MvcmFkaW8taXRlbS9yYWRpby1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3gtaXRlbS9jaGVja2JveC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0RGF5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1kYXkvZGF0ZS1pbnB1dC1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1tb250aC9kYXRlLWlucHV0LW1vbnRoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC15ZWFyL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmFzXG5pbXBvcnQgeyBDb25kaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29uZGl0aW9uLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IERlc3lDb21tb25zTW9kdWxlIH0gZnJvbSAnLi4vZGVzeS1jb21tb25zL2Rlc3ktY29tbW9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgSW5wdXRHcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtaXRlbS9pbnB1dC1ncm91cC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1pdGVtL2RhdGUtaW5wdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cERpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtZGl2aWRlci9pbnB1dC1ncm91cC1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1kaXZpZGVyL2RhdGUtaW5wdXQtZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLWlucHV0L2lucHV0LWdyb3VwLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLXNlbGVjdC9pbnB1dC1ncm91cC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24tZ3JvdXAvb3B0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtaXRlbS9zZWxlY3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtY2hlY2tib3gvdHJlZS1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVN1YkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtc3ViL3RyZWUtc3ViLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVJdGVtc0dlbmVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbXMtZ2VuZXJhdG9yL3RyZWUtaXRlbXMtZ2VuZXJhdG9yLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZW1wbGF0ZURyaXZlbldyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIEhpbnRDb21wb25lbnQsXG4gICAgTGFiZWxDb21wb25lbnQsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgIExlZ2VuZENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDaGFyYWN0ZXJDb3VudENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIElucHV0R3JvdXBJdGVtQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dEl0ZW1Db21wb25lbnQsXG4gICAgSW5wdXRHcm91cERpdmlkZXJDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0RGl2aWRlckNvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQsXG4gICAgSW5wdXRHcm91cFNlbGVjdENvbXBvbmVudCxcbiAgICBSYWRpb3NDb21wb25lbnQsXG4gICAgUmFkaW9JdGVtQ29tcG9uZW50LFxuICAgIENoZWNrYm94ZXNDb21wb25lbnQsXG4gICAgQ2hlY2tib3hJdGVtQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIFNlbGVjdEl0ZW1Db21wb25lbnQsXG4gICAgRGF0ZUlucHV0RGF5Q29tcG9uZW50LFxuICAgIERhdGVJbnB1dE1vbnRoQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dFllYXJDb21wb25lbnQsXG4gICAgVHJlZUNvbXBvbmVudCxcbiAgICBUcmVlU3ViQ29tcG9uZW50LFxuICAgIFRyZWVJdGVtQ29tcG9uZW50LFxuICAgIFRyZWVDaGVja2JveENvbXBvbmVudCxcbiAgICBUcmVlSXRlbXNHZW5lcmF0b3JDb21wb25lbnQsXG5cbiAgICBDb25kaXRpb25EaXJlY3RpdmUsXG5cbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBEZXN5Q29tbW9uc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEhpbnRDb21wb25lbnQsXG4gICAgTGFiZWxDb21wb25lbnQsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgIExlZ2VuZENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDaGFyYWN0ZXJDb3VudENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIElucHV0R3JvdXBEaXZpZGVyQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dERpdmlkZXJDb21wb25lbnQsXG4gICAgSW5wdXRHcm91cElucHV0Q29tcG9uZW50LFxuICAgIElucHV0R3JvdXBTZWxlY3RDb21wb25lbnQsXG4gICAgUmFkaW9zQ29tcG9uZW50LFxuICAgIFJhZGlvSXRlbUNvbXBvbmVudCxcbiAgICBDaGVja2JveGVzQ29tcG9uZW50LFxuICAgIENoZWNrYm94SXRlbUNvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXREYXlDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0TW9udGhDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0WWVhckNvbXBvbmVudCxcbiAgICBUcmVlQ29tcG9uZW50LFxuICAgIFRyZWVTdWJDb21wb25lbnQsXG4gICAgVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVHJlZUl0ZW1zR2VuZXJhdG9yQ29tcG9uZW50LFxuXG4gICAgQ29uZGl0aW9uRGlyZWN0aXZlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERlc3lGb3Jtc01vZHVsZSB7IH1cbiJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1mb3Jtcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2Rlc3ktZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDeEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUs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bkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjt3QkFFM0Isa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG4vLyBjb21wb25lbnRlc1xuaW1wb3J0IHsgVGVtcGxhdGVEcml2ZW5XcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlLWRyaXZlbi13cmFwcGVyL3RlbXBsYXRlLWRyaXZlbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hpbnQvaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmllbGRzZXQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IENoYXJhY3RlckNvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYXJhY3Rlci1jb3VudC9jaGFyYWN0ZXItY291bnQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JhZGlvcy9yYWRpb3MuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYWRpb3MvcmFkaW8taXRlbS9yYWRpby1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3gtaXRlbS9jaGVja2JveC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0RGF5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1kYXkvZGF0ZS1pbnB1dC1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1tb250aC9kYXRlLWlucHV0LW1vbnRoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC15ZWFyL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmFzXG5pbXBvcnQgeyBDb25kaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29uZGl0aW9uLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7IERlc3lDb21tb25zTW9kdWxlIH0gZnJvbSAnLi4vZGVzeS1jb21tb25zL2Rlc3ktY29tbW9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgSW5wdXRHcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtaXRlbS9pbnB1dC1ncm91cC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1pdGVtL2RhdGUtaW5wdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cERpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtZGl2aWRlci9pbnB1dC1ncm91cC1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC1kaXZpZGVyL2RhdGUtaW5wdXQtZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLWlucHV0L2lucHV0LWdyb3VwLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLXNlbGVjdC9pbnB1dC1ncm91cC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24tZ3JvdXAvb3B0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtaXRlbS9zZWxlY3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtY2hlY2tib3gvdHJlZS1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVN1YkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtc3ViL3RyZWUtc3ViLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVJdGVtc0dlbmVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlL3RyZWUtaXRlbXMtZ2VuZXJhdG9yL3RyZWUtaXRlbXMtZ2VuZXJhdG9yLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUZW1wbGF0ZURyaXZlbldyYXBwZXJDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIEhpbnRDb21wb25lbnQsXG4gICAgTGFiZWxDb21wb25lbnQsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgIExlZ2VuZENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDaGFyYWN0ZXJDb3VudENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIElucHV0R3JvdXBJdGVtQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dEl0ZW1Db21wb25lbnQsXG4gICAgSW5wdXRHcm91cERpdmlkZXJDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0RGl2aWRlckNvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQsXG4gICAgSW5wdXRHcm91cFNlbGVjdENvbXBvbmVudCxcbiAgICBSYWRpb3NDb21wb25lbnQsXG4gICAgUmFkaW9JdGVtQ29tcG9uZW50LFxuICAgIENoZWNrYm94ZXNDb21wb25lbnQsXG4gICAgQ2hlY2tib3hJdGVtQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIFNlbGVjdEl0ZW1Db21wb25lbnQsXG4gICAgRGF0ZUlucHV0RGF5Q29tcG9uZW50LFxuICAgIERhdGVJbnB1dE1vbnRoQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dFllYXJDb21wb25lbnQsXG4gICAgVHJlZUNvbXBvbmVudCxcbiAgICBUcmVlU3ViQ29tcG9uZW50LFxuICAgIFRyZWVJdGVtQ29tcG9uZW50LFxuICAgIFRyZWVDaGVja2JveENvbXBvbmVudCxcbiAgICBUcmVlSXRlbXNHZW5lcmF0b3JDb21wb25lbnQsXG5cbiAgICBDb25kaXRpb25EaXJlY3RpdmUsXG5cbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBEZXN5Q29tbW9uc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEhpbnRDb21wb25lbnQsXG4gICAgTGFiZWxDb21wb25lbnQsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgIExlZ2VuZENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBDaGFyYWN0ZXJDb3VudENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwQ29tcG9uZW50LFxuICAgIElucHV0R3JvdXBEaXZpZGVyQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dERpdmlkZXJDb21wb25lbnQsXG4gICAgSW5wdXRHcm91cElucHV0Q29tcG9uZW50LFxuICAgIElucHV0R3JvdXBTZWxlY3RDb21wb25lbnQsXG4gICAgUmFkaW9zQ29tcG9uZW50LFxuICAgIFJhZGlvSXRlbUNvbXBvbmVudCxcbiAgICBDaGVja2JveGVzQ29tcG9uZW50LFxuICAgIENoZWNrYm94SXRlbUNvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXREYXlDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0TW9udGhDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0WWVhckNvbXBvbmVudCxcbiAgICBUcmVlQ29tcG9uZW50LFxuICAgIFRyZWVTdWJDb21wb25lbnQsXG4gICAgVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVHJlZUl0ZW1zR2VuZXJhdG9yQ29tcG9uZW50LFxuXG4gICAgQ29uZGl0aW9uRGlyZWN0aXZlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERlc3lGb3Jtc01vZHVsZSB7IH1cbiJdfQ==
|