@eui/ecl 18.0.0-next.21 → 18.0.0-next.23
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/docs/components/EclAccordionItemComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +25 -142
- package/docs/components/EclGalleryFooterComponent.html +1 -1
- package/docs/components/EclGalleryItemComponent.html +2 -90
- package/docs/components/EclInpageNavigationComponent.html +102 -1
- package/docs/components/EclInpageNavigationItemComponent.html +1 -1
- package/docs/components/EclMenuComponent.html +1 -1
- package/docs/components/EclMenuItemComponent.html +1 -1
- package/docs/components/EclMenuMegaComponent.html +0 -24
- package/docs/components/EclMenuMegaItemComponent.html +66 -2
- package/docs/dependencies.html +1 -1
- package/docs/directives/EclLinkDirective.html +3 -3
- package/docs/index.html +1 -1
- package/docs/js/menu-wc.js +3 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -5
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +1 -1
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +5 -6
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +8 -27
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +18 -76
- package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +2 -2
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +33 -15
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +5 -5
- package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +5 -5
- package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +1 -1
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +9 -12
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +37 -19
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -16
- package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +1 -1
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +1 -1
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +1 -1
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +1 -1
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +1 -1
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +1 -1
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +1 -1
- package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +1 -1
- package/fesm2022/eui-ecl.mjs +854 -889
- package/fesm2022/eui-ecl.mjs.map +4 -4
- package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts +4 -10
- package/lib/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
- package/lib/components/ecl-gallery/ecl-gallery.component.d.ts +15 -38
- package/lib/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
- package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts +10 -2
- package/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link.directive.d.ts +3 -3
- package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +2 -1
- package/lib/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
- package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts +11 -5
- package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
- package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +1 -5
- package/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/docs/classes/EclGalleryDownloadEvent.html +0 -382
|
@@ -3,11 +3,12 @@ import { Subject, fromEvent } from 'rxjs';
|
|
|
3
3
|
import { takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';
|
|
5
5
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
6
|
-
import { EclBaseEvent } from '../../model
|
|
6
|
+
import { EclBaseEvent } from '../../model';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
-
import * as i2 from "../ecl-
|
|
10
|
-
import * as i3 from "
|
|
8
|
+
import * as i1 from "../../services";
|
|
9
|
+
import * as i2 from "../ecl-sticky-container/ecl-sticky-container.component";
|
|
10
|
+
import * as i3 from "../ecl-icon/ecl-icon.component";
|
|
11
|
+
import * as i4 from "@ngx-translate/core";
|
|
11
12
|
export class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {
|
|
12
13
|
constructor(sectionId) {
|
|
13
14
|
super();
|
|
@@ -15,14 +16,27 @@ export class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {
|
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
export class EclInpageNavigationComponent extends ECLBaseDirective {
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
get currentNavigationLinkItem() {
|
|
20
|
+
return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);
|
|
21
|
+
}
|
|
22
|
+
constructor(eclThemeService, renderer) {
|
|
23
|
+
super();
|
|
24
|
+
this.eclThemeService = eclThemeService;
|
|
25
|
+
this.renderer = renderer;
|
|
20
26
|
this.sectionEnter = new EventEmitter();
|
|
21
27
|
this.isButtonExpanded = false;
|
|
28
|
+
this.ICON_SIZE_FOR_EC_THEME_ON = 'xs';
|
|
29
|
+
this.ICON_SIZE_FOR_EU_THEME_ON = 's';
|
|
30
|
+
this.HEADING_ACTIVATED_CLASS = 'ecl-inpage-navigation__heading--active';
|
|
22
31
|
this.destroy$ = new Subject();
|
|
23
32
|
}
|
|
24
|
-
get
|
|
25
|
-
|
|
33
|
+
get sizeIcon() {
|
|
34
|
+
if (this.eclThemeService.isECTheme()) {
|
|
35
|
+
return this.ICON_SIZE_FOR_EC_THEME_ON;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return this.ICON_SIZE_FOR_EU_THEME_ON;
|
|
39
|
+
}
|
|
26
40
|
}
|
|
27
41
|
ngAfterContentInit() {
|
|
28
42
|
this.handleNavigationItemsScroll();
|
|
@@ -64,8 +78,12 @@ export class EclInpageNavigationComponent extends ECLBaseDirective {
|
|
|
64
78
|
handleNavigationLinksHighlight(sectionElements) {
|
|
65
79
|
const currentSectionElement = this.findActiveSectionElement(sectionElements);
|
|
66
80
|
if (currentSectionElement !== this.currentSectionElement) {
|
|
67
|
-
this.currentSectionElement
|
|
68
|
-
|
|
81
|
+
if (this.currentSectionElement) {
|
|
82
|
+
this.renderer.removeClass(this.currentSectionElement, this.HEADING_ACTIVATED_CLASS);
|
|
83
|
+
}
|
|
84
|
+
if (currentSectionElement) {
|
|
85
|
+
this.renderer.addClass(currentSectionElement, this.HEADING_ACTIVATED_CLASS);
|
|
86
|
+
}
|
|
69
87
|
this.currentSectionElement = currentSectionElement;
|
|
70
88
|
this.onSectionScrollTrigger(currentSectionElement);
|
|
71
89
|
const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;
|
|
@@ -92,13 +110,13 @@ export class EclInpageNavigationComponent extends ECLBaseDirective {
|
|
|
92
110
|
hasScrollHitBottom() {
|
|
93
111
|
return window.pageYOffset + window.innerHeight === document.documentElement.scrollHeight;
|
|
94
112
|
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclInpageNavigationComponent, deps:
|
|
96
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclInpageNavigationComponent, selector: "ecl-inpage-navigation", inputs: { eclTitle: "eclTitle", marginTop: "marginTop", marginBottom: "marginBottom" }, outputs: { sectionEnter: "sectionEnter" }, queries: [{ propertyName: "eclNavigationLinkItems", predicate: EclInpageNavigationItemComponent }], usesInheritance: true, ngImport: i0, template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <button\n
|
|
113
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclInpageNavigationComponent, deps: [{ token: i1.EclThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclInpageNavigationComponent, selector: "ecl-inpage-navigation", inputs: { eclTitle: "eclTitle", marginTop: "marginTop", marginBottom: "marginBottom" }, outputs: { sectionEnter: "sectionEnter" }, queries: [{ propertyName: "eclNavigationLinkItems", predicate: EclInpageNavigationItemComponent }], usesInheritance: true, ngImport: i0, template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\" class=\"ecl-inpage-navigation__trigger-icon\"> </ecl-icon>\n </button>\n </div>\n <ul\n id=\"ecl-inpage-navigation-default-list\"\n class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n aria-labelledby=\"ecl-inpage-navigation-trigger\">\n <ng-content></ng-content>\n </ul>\n </div>\n </nav>\n</ecl-sticky-container>\n", styles: ["@media (min-width: 996px){.ecl-inpage-navigation__list{display:block!important}}\n"], dependencies: [{ kind: "component", type: i2.EclStickyContainerComponent, selector: "ecl-sticky-container", inputs: ["isEnabled", "marginTop", "marginBottom"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
97
115
|
}
|
|
98
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclInpageNavigationComponent, decorators: [{
|
|
99
117
|
type: Component,
|
|
100
|
-
args: [{ selector: 'ecl-inpage-navigation', template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <button\n
|
|
101
|
-
}], propDecorators: { eclTitle: [{
|
|
118
|
+
args: [{ selector: 'ecl-inpage-navigation', template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\" class=\"ecl-inpage-navigation__trigger-icon\"> </ecl-icon>\n </button>\n </div>\n <ul\n id=\"ecl-inpage-navigation-default-list\"\n class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n aria-labelledby=\"ecl-inpage-navigation-trigger\">\n <ng-content></ng-content>\n </ul>\n </div>\n </nav>\n</ecl-sticky-container>\n", styles: ["@media (min-width: 996px){.ecl-inpage-navigation__list{display:block!important}}\n"] }]
|
|
119
|
+
}], ctorParameters: () => [{ type: i1.EclThemeService }, { type: i0.Renderer2 }], propDecorators: { eclTitle: [{
|
|
102
120
|
type: Input
|
|
103
121
|
}], marginTop: [{
|
|
104
122
|
type: Input
|
|
@@ -110,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
|
110
128
|
type: ContentChildren,
|
|
111
129
|
args: [EclInpageNavigationItemComponent]
|
|
112
130
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaW5wYWdlLW5hdmlnYXRpb24vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaW5wYWdlLW5hdmlnYXRpb24vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0IsZUFBZSxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUUxRCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsWUFBWTtJQUNsRSxZQUFtQixTQUFpQjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURPLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFcEMsQ0FBQztDQUNKO0FBZUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGdCQUFnQjtJQWJsRTs7UUFrQmMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBd0MsQ0FBQztRQUlsRixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHakIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0tBMkYvRDtJQXpGRyxJQUFJLHlCQUF5QjtRQUN6QixPQUFP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QWUsQ0FBQyxZQUFZLENBQUM7SUFDN0YsQ0FBQzt3SUF0R1EsNEJBQTRCOzRIQUE1Qiw0QkFBNEIsdU9BT3BCLGdDQUFnQyxvRENqQ3JELDRtREFnQ0E7O2tHRE5hLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDSSx1QkFBdUI7OEJBYXhCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRTRDLHNCQUFzQjtzQkFBeEUsZUFBZTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFY2xJbnBhZ2VOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsSW5wYWdlTmF2aWdhdGlvblNlY3Rpb25FbnRlckV2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWlucGFnZS1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5NnB4KSB7XG4gICAgICAgICAgICAgICAgLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbElucGFnZU5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBlY2xUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1hcmdpblRvcDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1hcmdpbkJvdHRvbTogbnVtYmVyO1xuXG4gICAgQE91dHB1dCgpIHNlY3Rpb25FbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsSW5wYWdlTmF2aWdhdGlvblNlY3Rpb25FbnRlckV2ZW50PigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFY2xJbnBhZ2VOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCkgZWNsTmF2aWdhdGlvbkxpbmtJdGVtczogUXVlcnlMaXN0PEVjbElucGFnZU5hdmlnYXRpb25JdGVtQ29tcG9uZW50PjtcblxuICAgIGlzQnV0dG9uRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBjdXJyZW50U2VjdGlvbkVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBnZXQgY3VycmVudE5hdmlnYXRpb25MaW5rSXRlbSgpOiBFY2xJbnBhZ2VOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVjbE5hdmlnYXRpb25MaW5rSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5zZWN0aW9uRWxlbWVudCA9PT0gdGhpcy5jdXJyZW50U2VjdGlvbkVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uSXRlbXNTY3JvbGwoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uSXRlbXNDbGljaygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZEJ1dHRvbkNsaWNrKGV2dCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQnV0dG9uRXhwYW5kZWQgPSAhdGhpcy5pc0J1dHRvbkV4cGFuZGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmF2aWdhdGlvbkl0ZW1zU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyOiBFdmVudFRhcmdldCA9IHdpbmRvdztcbiAgICAgICAgY29uc3Qgc2VjdGlvbkVsZW1lbnRJZHMgPSB0aGlzLmVjbE5hdmlnYXRpb25MaW5rSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnNlY3Rpb25JZCk7XG5cbiAgICAgICAgZnJvbUV2ZW50KHNjcm9sbGFibGVDb250YWluZXIsICdzY3JvbGwnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uRWxlbWVudHM6IEFycmF5PEhUTUxFbGVtZW50PiA9IHNlY3Rpb25FbGVtZW50SWRzLm1hcCgoaWQpID0+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2lkfWApKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb25MaW5rc0hpZ2hsaWdodChzZWN0aW9uRWxlbWVudHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOYXZpZ2F0aW9uSXRlbXNDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xOYXZpZ2F0aW9uTGlua0l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXRlbUNsaWNrLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0TmF2aWdhdGlvbkl0ZW0odGhpcy5lY2xOYXZpZ2F0aW9uTGlua0l0ZW1zLCBpdGVtLnNlY3Rpb25FbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnNlY3Rpb25FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2VjdGlvbkVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzQnV0dG9uRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdE5hdmlnYXRpb25JdGVtKGl0ZW1zOiBRdWVyeUxpc3Q8RWNsSW5wYWdlTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+LCBpdGVtRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgIGl0LmlzQWN0aXZlID0gaXQuc2VjdGlvbkVsZW1lbnQgPT09IGl0ZW1FbGVtZW50ID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU5hdmlnYXRpb25MaW5rc0hpZ2hsaWdodChzZWN0aW9uRWxlbWVudHM6IEFycmF5PEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50U2VjdGlvbkVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5maW5kQWN0aXZlU2VjdGlvbkVsZW1lbnQoc2VjdGlvbkVsZW1lbnRzKTtcblxuICAgICAgICBpZiAoY3VycmVudFNlY3Rpb25FbGVtZW50ICE9PSB0aGlzLmN1cnJlbnRTZWN0aW9uRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VjdGlvbkVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2VjbC1pbnBhZ2UtbmF2aWdhdGlvbl9faGVhZGluZy0tYWN0aXZlJyk7XG4gICAgICAgICAgICBjdXJyZW50U2VjdGlvbkVsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2VjbC1pbnBhZ2UtbmF2aWdhdGlvbl9faGVhZGluZy0tYWN0aXZlJyk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWN0aW9uRWxlbWVudCA9IGN1cnJlbnRTZWN0aW9uRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMub25TZWN0aW9uU2Nyb2xsVHJpZ2dlcihjdXJyZW50U2VjdGlvbkVsZW1lbnQpO1xuXG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uSWQgPSB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTGlua0l0ZW0gPyB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTGlua0l0ZW0uc2VjdGlvbklkIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5zZWN0aW9uRW50ZXIubmV4dChuZXcgRWNsSW5wYWdlTmF2aWdhdGlvblNlY3Rpb25FbnRlckV2ZW50KHNlY3Rpb25JZCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNlY3Rpb25TY3JvbGxUcmlnZ2VyKHNlY3Rpb25FbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVjbE5hdmlnYXRpb25MaW5rSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5pc0FjdGl2ZSA9IGl0ZW0uc2VjdGlvbkVsZW1lbnQgPT09IHNlY3Rpb25FbGVtZW50ID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRBY3RpdmVTZWN0aW9uRWxlbWVudChzZWN0aW9uRWxlbWVudHM6IEFycmF5PEhUTUxFbGVtZW50Pik6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgbGV0IGN1cnJlbnRTZWN0aW9uOiBIVE1MRWxlbWVudDtcblxuICAgICAgICBzZWN0aW9uRWxlbWVudHMuZm9yRWFjaCgoc2VjdGlvbkVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChzZWN0aW9uRWxlbWVudCAmJiBzZWN0aW9uRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPD0gMSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRTZWN0aW9uID0gc2VjdGlvbkVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc1Njcm9sbEhpdEJvdHRvbSgpKSB7XG4gICAgICAgICAgICBjdXJyZW50U2VjdGlvbiA9IHNlY3Rpb25FbGVtZW50c1tzZWN0aW9uRWxlbWVudHMubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VycmVudFNlY3Rpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTY3JvbGxIaXRCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB3aW5kb3cucGFnZVlPZmZzZXQgKyB3aW5kb3cuaW5uZXJIZWlnaHQgPT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfVxufVxuIiwiPGVjbC1zdGlja3ktY29udGFpbmVyIFttYXJnaW5Ub3BdPVwibWFyZ2luVG9wXCIgW21hcmdpbkJvdHRvbV09XCJtYXJnaW5Cb3R0b21cIj5cbiAgICA8bmF2XG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1kZWZhdWx0XCJcbiAgICAgICAgY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25cIlxuICAgICAgICBbY2xhc3MuZWNsLWlucGFnZS1uYXZpZ2F0aW9uLS12aXNpYmxlXT1cImN1cnJlbnRTZWN0aW9uRWxlbWVudFwiPlxuICAgICAgICA8ZGl2IGlkPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWRlZmF1bHRcIiBjbGFzcz1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGVjbFRpdGxlIHx8ICdlY2wuaW5wYWdlLW5hdmlnYXRpb24uUEFHRS1DT05URU5UUycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25fX2JvZHlcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1kZWZhdWx0LXRyaWdnZXJcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWxpc3RcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNCdXR0b25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kQnV0dG9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190cmlnZ2VyLWN1cnJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY3VycmVudE5hdmlnYXRpb25MaW5rSXRlbT8ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwic1wiIHRyYW5zZm9ybT1cInJvdGF0ZS0xODBcIiBjbGFzcz1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdHJpZ2dlci1pY29uXCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgIGlkPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWRlZmF1bHQtbGlzdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpc3RcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpc3QtLXZpc2libGVdPVwiaXNCdXR0b25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0J1dHRvbkV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuPC9lY2wtc3RpY2t5LWNvbnRhaW5lcj5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaW5wYWdlLW5hdmlnYXRpb24vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaW5wYWdlLW5hdmlnYXRpb24vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0IsZUFBZSxFQUFhLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBRzNDLE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxZQUFZO0lBQ2xFLFlBQW1CLFNBQWlCO1FBQ2hDLEtBQUssRUFBRSxDQUFDO1FBRE8sY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUVwQyxDQUFDO0NBQ0o7QUFlRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsZ0JBQWdCO0lBZ0I5RCxJQUFJLHlCQUF5QjtRQUN6QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDMUcsQ0FBQztJ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S0FBSyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGVBQW1DO1FBQ2hFLElBQUksY0FBMkIsQ0FBQztRQUVoQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxjQUFjLEdBQUcsY0FBYyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztZQUM1QixjQUFjLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsT0FBTyxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7SUFDN0YsQ0FBQzt3SUF6SFEsNEJBQTRCOzRIQUE1Qiw0QkFBNEIsdU9BT3BCLGdDQUFnQyxvRENsQ3JELDh2REFrQ0E7O2tHRFBhLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDSSx1QkFBdUI7NEdBYXhCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRTRDLHNCQUFzQjtzQkFBeEUsZUFBZTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVjbElucGFnZU5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtaW5wYWdlLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xCYXNlRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBFY2xUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBFY2xJbnBhZ2VOYXZpZ2F0aW9uU2VjdGlvbkVudGVyRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzZWN0aW9uSWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtaW5wYWdlLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtaW5wYWdlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTk2cHgpIHtcbiAgICAgICAgICAgICAgICAuZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsSW5wYWdlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGVjbFRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXI7XG4gICAgQElucHV0KCkgbWFyZ2luQm90dG9tOiBudW1iZXI7XG5cbiAgICBAT3V0cHV0KCkgc2VjdGlvbkVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xJbnBhZ2VOYXZpZ2F0aW9uU2VjdGlvbkVudGVyRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEVjbElucGFnZU5hdmlnYXRpb25JdGVtQ29tcG9uZW50KSBlY2xOYXZpZ2F0aW9uTGlua0l0ZW1zOiBRdWVyeUxpc3Q8RWNsSW5wYWdlTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgaXNCdXR0b25FeHBhbmRlZCA9IGZhbHNlO1xuICAgIGN1cnJlbnRTZWN0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBJQ09OX1NJWkVfRk9SX0VDX1RIRU1FX09OID0gJ3hzJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IElDT05fU0laRV9GT1JfRVVfVEhFTUVfT04gPSAncyc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBIRUFESU5HX0FDVElWQVRFRF9DTEFTUyA9ICdlY2wtaW5wYWdlLW5hdmlnYXRpb25fX2hlYWRpbmctLWFjdGl2ZSdcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGdldCBjdXJyZW50TmF2aWdhdGlvbkxpbmtJdGVtKCk6IEVjbElucGFnZU5hdmlnYXRpb25JdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsTmF2aWdhdGlvbkxpbmtJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnNlY3Rpb25FbGVtZW50ID09PSB0aGlzLmN1cnJlbnRTZWN0aW9uRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVjbFRoZW1lU2VydmljZTogRWNsVGhlbWVTZXJ2aWNlLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZWNsVGhlbWVTZXJ2aWNlLmlzRUNUaGVtZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5JQ09OX1NJWkVfRk9SX0VDX1RIRU1FX09OO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuSUNPTl9TSVpFX0ZPUl9FVV9USEVNRV9PTjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uSXRlbXNTY3JvbGwoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0aW9uSXRlbXNDbGljaygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZEJ1dHRvbkNsaWNrKGV2dCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQnV0dG9uRXhwYW5kZWQgPSAhdGhpcy5pc0J1dHRvbkV4cGFuZGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmF2aWdhdGlvbkl0ZW1zU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY3JvbGxhYmxlQ29udGFpbmVyOiBFdmVudFRhcmdldCA9IHdpbmRvdztcbiAgICAgICAgY29uc3Qgc2VjdGlvbkVsZW1lbnRJZHMgPSB0aGlzLmVjbE5hdmlnYXRpb25MaW5rSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnNlY3Rpb25JZCk7XG5cbiAgICAgICAgZnJvbUV2ZW50KHNjcm9sbGFibGVDb250YWluZXIsICdzY3JvbGwnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uRWxlbWVudHM6IEFycmF5PEhUTUxFbGVtZW50PiA9IHNlY3Rpb25FbGVtZW50SWRzLm1hcCgoaWQpID0+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke2lkfWApKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb25MaW5rc0hpZ2hsaWdodChzZWN0aW9uRWxlbWVudHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOYXZpZ2F0aW9uSXRlbXNDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xOYXZpZ2F0aW9uTGlua0l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXRlbUNsaWNrLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0TmF2aWdhdGlvbkl0ZW0odGhpcy5lY2xOYXZpZ2F0aW9uTGlua0l0ZW1zLCBpdGVtLnNlY3Rpb25FbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIGlmIChpdGVtLnNlY3Rpb25FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2VjdGlvbkVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzQnV0dG9uRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdE5hdmlnYXRpb25JdGVtKGl0ZW1zOiBRdWVyeUxpc3Q8RWNsSW5wYWdlTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+LCBpdGVtRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgIGl0LmlzQWN0aXZlID0gaXQuc2VjdGlvbkVsZW1lbnQgPT09IGl0ZW1FbGVtZW50ID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU5hdmlnYXRpb25MaW5rc0hpZ2hsaWdodChzZWN0aW9uRWxlbWVudHM6IEFycmF5PEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50U2VjdGlvbkVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5maW5kQWN0aXZlU2VjdGlvbkVsZW1lbnQoc2VjdGlvbkVsZW1lbnRzKTtcblxuICAgICAgICBpZiAoY3VycmVudFNlY3Rpb25FbGVtZW50ICE9PSB0aGlzLmN1cnJlbnRTZWN0aW9uRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNlY3Rpb25FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmN1cnJlbnRTZWN0aW9uRWxlbWVudCwgdGhpcy5IRUFESU5HX0FDVElWQVRFRF9DTEFTUylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTZWN0aW9uRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoY3VycmVudFNlY3Rpb25FbGVtZW50LCB0aGlzLkhFQURJTkdfQUNUSVZBVEVEX0NMQVNTKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VjdGlvbkVsZW1lbnQgPSBjdXJyZW50U2VjdGlvbkVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLm9uU2VjdGlvblNjcm9sbFRyaWdnZXIoY3VycmVudFNlY3Rpb25FbGVtZW50KTtcblxuICAgICAgICAgICAgY29uc3Qgc2VjdGlvbklkID0gdGhpcy5jdXJyZW50TmF2aWdhdGlvbkxpbmtJdGVtID8gdGhpcy5jdXJyZW50TmF2aWdhdGlvbkxpbmtJdGVtLnNlY3Rpb25JZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbkVudGVyLm5leHQobmV3IEVjbElucGFnZU5hdmlnYXRpb25TZWN0aW9uRW50ZXJFdmVudChzZWN0aW9uSWQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25TZWN0aW9uU2Nyb2xsVHJpZ2dlcihzZWN0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lY2xOYXZpZ2F0aW9uTGlua0l0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNBY3RpdmUgPSBpdGVtLnNlY3Rpb25FbGVtZW50ID09PSBzZWN0aW9uRWxlbWVudCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlU2VjdGlvbkVsZW1lbnQoc2VjdGlvbkVsZW1lbnRzOiBBcnJheTxIVE1MRWxlbWVudD4pOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGxldCBjdXJyZW50U2VjdGlvbjogSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgc2VjdGlvbkVsZW1lbnRzLmZvckVhY2goKHNlY3Rpb25FbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoc2VjdGlvbkVsZW1lbnQgJiYgc2VjdGlvbkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDw9IDEpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50U2VjdGlvbiA9IHNlY3Rpb25FbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5oYXNTY3JvbGxIaXRCb3R0b20oKSkge1xuICAgICAgICAgICAgY3VycmVudFNlY3Rpb24gPSBzZWN0aW9uRWxlbWVudHNbc2VjdGlvbkVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRTZWN0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzU2Nyb2xsSGl0Qm90dG9tKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gd2luZG93LnBhZ2VZT2Zmc2V0ICsgd2luZG93LmlubmVySGVpZ2h0ID09PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgIH1cbn1cbiIsIjxlY2wtc3RpY2t5LWNvbnRhaW5lciBbbWFyZ2luVG9wXT1cIm1hcmdpblRvcFwiIFttYXJnaW5Cb3R0b21dPVwibWFyZ2luQm90dG9tXCI+XG4gICAgPG5hdlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb24tZGVmYXVsdFwiXG4gICAgICAgIGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgW2NsYXNzLmVjbC1pbnBhZ2UtbmF2aWdhdGlvbi0tdmlzaWJsZV09XCJjdXJyZW50U2VjdGlvbkVsZW1lbnRcIj5cbiAgICAgICAgPGRpdiBpZD1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbi1kZWZhdWx0XCIgY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICB7eyBlY2xUaXRsZSB8fCAnZWNsLmlucGFnZS1uYXZpZ2F0aW9uLlBBR0UtQ09OVEVOVFMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uX19ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190cmlnZ2VyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWRlZmF1bHQtdHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVjbC1pbnBhZ2UtbmF2aWdhdGlvbl9fdHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb24tbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNCdXR0b25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZEJ1dHRvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25fX3RyaWdnZXItY3VycmVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVudE5hdmlnYXRpb25MaW5rSXRlbT8ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIFtzaXplXT1cInNpemVJY29uXCIgdHJhbnNmb3JtPVwicm90YXRlLTE4MFwiIGNsYXNzPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uX190cmlnZ2VyLWljb25cIj4gPC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgIGlkPVwiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLWRlZmF1bHQtbGlzdFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpc3RcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5lY2wtaW5wYWdlLW5hdmlnYXRpb25fX2xpc3QtLXZpc2libGVdPVwiaXNCdXR0b25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0J1dHRvbkV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJlY2wtaW5wYWdlLW5hdmlnYXRpb24tdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuPC9lY2wtc3RpY2t5LWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';
|
|
4
|
-
import { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';
|
|
5
|
-
import { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';
|
|
6
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import {
|
|
4
|
+
import { EclLinkDirectiveModule } from '../ecl-link';
|
|
5
|
+
import { EclIconComponentModule } from '../ecl-icon';
|
|
6
|
+
import { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';
|
|
7
|
+
import { EclStickyContainerComponentModule } from '../ecl-sticky-container';
|
|
8
8
|
import { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class EclInpageNavigationComponentModule {
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
|
20
20
|
declarations: [EclInpageNavigationComponent, EclInpageNavigationItemComponent],
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWlucGFnZS1uYXZpZ2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaW5wYWdlLW5hdmlnYXRpb24vZWNsLWlucGFnZS1uYXZpZ2F0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPakYsTUFBTSxPQUFPLGtDQUFrQzt3SUFBbEMsa0NBQWtDO3lJQUFsQyxrQ0FBa0MsaUJBRjVCLDRCQUE0QixFQUFFLGdDQUFnQyxhQUZuRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlDQUFpQyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixhQUNoSCw0QkFBNEIsRUFBRSxnQ0FBZ0M7eUlBRy9ELGtDQUFrQyxZQUpqQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGlDQUFpQyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQjs7a0dBSWpILGtDQUFrQztrQkFMOUMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGlDQUFpQyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO29CQUMzSCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxnQ0FBZ0MsQ0FBQztvQkFDekUsWUFBWSxFQUFFLENBQUMsNEJBQTRCLEVBQUUsZ0NBQWdDLENBQUM7aUJBQ2pGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEVjbExpbmtEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi9lY2wtbGluayc7XG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZWNsLWljb24nO1xuaW1wb3J0IHsgRWNsSW5wYWdlTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2VjbC1pbnBhZ2UtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xTdGlja3lDb250YWluZXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9lY2wtc3RpY2t5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBFY2xJbnBhZ2VOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9lY2wtaW5wYWdlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEVjbFN0aWNreUNvbnRhaW5lckNvbXBvbmVudE1vZHVsZSwgRWNsTGlua0RpcmVjdGl2ZU1vZHVsZSwgRWNsSWNvbkNvbXBvbmVudE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0VjbElucGFnZU5hdmlnYXRpb25Db21wb25lbnQsIEVjbElucGFnZU5hdmlnYXRpb25JdGVtQ29tcG9uZW50XSxcbiAgICBkZWNsYXJhdGlvbnM6IFtFY2xJbnBhZ2VOYXZpZ2F0aW9uQ29tcG9uZW50LCBFY2xJbnBhZ2VOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbElucGFnZU5hdmlnYXRpb25Db21wb25lbnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -16,19 +16,19 @@ export class EclLinkDirective extends ECLBaseDirective {
|
|
|
16
16
|
super();
|
|
17
17
|
this.el = el;
|
|
18
18
|
this.isInverted = false;
|
|
19
|
-
this.
|
|
19
|
+
this.isIconOnly = false;
|
|
20
20
|
}
|
|
21
21
|
ngAfterContentInit() {
|
|
22
22
|
if (this.eclIconComponents) {
|
|
23
23
|
setTimeout(() => {
|
|
24
24
|
this.eclIconComponents.forEach((icn) => {
|
|
25
|
-
icn.class = icn.class + ' ecl-link__icon';
|
|
25
|
+
icn.class = icn.class ? icn.class + ' ecl-link__icon' : 'ecl-link__icon';
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-next.3", type: EclLinkDirective, selector: "[eclLink]", inputs: { isInverted: ["isInverted", "isInverted", booleanAttribute],
|
|
31
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-next.3", type: EclLinkDirective, selector: "[eclLink]", inputs: { isInverted: ["isInverted", "isInverted", booleanAttribute], isIconOnly: ["isIconOnly", "isIconOnly", booleanAttribute], isNoVisited: ["isNoVisited", "isNoVisited", booleanAttribute], variant: "variant" }, host: { properties: { "class": "this.cssClasses", "class.ecl-link--icon": "this.hasIcon", "class.ecl-link--no-visited": "this.isLinkNoVisited", "class.ecl-link--inverted": "this.isInverted", "class.ecl-link--icon-only": "this.isIconOnly" } }, queries: [{ propertyName: "eclIconComponents", predicate: i0.forwardRef(() => EclIconComponent) }], usesInheritance: true, ngImport: i0 }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclLinkDirective, decorators: [{
|
|
34
34
|
type: Directive,
|
|
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
|
50
50
|
}, {
|
|
51
51
|
type: HostBinding,
|
|
52
52
|
args: ['class.ecl-link--inverted']
|
|
53
|
-
}],
|
|
53
|
+
}], isIconOnly: [{
|
|
54
54
|
type: Input,
|
|
55
55
|
args: [{ transform: booleanAttribute }]
|
|
56
56
|
}, {
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
|
65
65
|
type: ContentChildren,
|
|
66
66
|
args: [forwardRef(() => EclIconComponent)]
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1saW5rL2VjbC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBYSxnQkFBZ0IsRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFFdEosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3pELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFFbEQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvRyxDQUFDO0lBQ0QsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQ0ksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBU0QsWUFBbUIsRUFBYztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUFQZ0QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBUXJHLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNuQyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO2dCQUM3RSxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7d0lBbkNRLGdCQUFnQjs0SEFBaEIsZ0JBQWdCLDRFQWdCTCxnQkFBZ0IsNENBQ2hCLGdCQUFnQiwrQ0FDaEIsZ0JBQWdCLDBWQUdGLGdCQUFnQjs7a0dBckJ6QyxnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCOytFQUlPLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQUtoQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU0vQixlQUFlO3NCQURsQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFLd0MsVUFBVTtzQkFBMUYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQUcsV0FBVzt1QkFBQywwQkFBMEI7Z0JBQ0csVUFBVTtzQkFBM0YsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQUcsV0FBVzt1QkFBQywyQkFBMkI7Z0JBQ3hDLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLE9BQU87c0JBQWYsS0FBSztnQkFFK0MsaUJBQWlCO3NCQUFyRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBmb3J3YXJkUmVmLCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgYm9vbGVhbkF0dHJpYnV0ZSwgRWxlbWVudFJlZiwgQWZ0ZXJDb250ZW50SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFY2xJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWljb24vZWNsLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlY2xMaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIEVjbExpbmtEaXJlY3RpdmUgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1saW5rJyksIHRoaXMudmFyaWFudCA/IGBlY2wtbGluay0tJHt0aGlzLnZhcmlhbnR9YCA6ICcnXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uJylcbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMgJiYgdGhpcy5lY2xJY29uQ29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpbmstLW5vLXZpc2l0ZWQnKVxuICAgIGdldCBpc0xpbmtOb1Zpc2l0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTm9WaXNpdGVkO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pbnZlcnRlZCcpIGlzSW52ZXJ0ZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtbGluay0taWNvbi1vbmx5JykgaXNJY29uT25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc05vVmlzaXRlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB2YXJpYW50OiAnc3RhbmRhbG9uZScgfCAnY3RhJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEljb25Db21wb25lbnQpKSBlY2xJY29uQ29tcG9uZW50czogUXVlcnlMaXN0PEVjbEljb25Db21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lY2xJY29uQ29tcG9uZW50cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lY2xJY29uQ29tcG9uZW50cy5mb3JFYWNoKChpY24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gaWNuLmNsYXNzID8gaWNuLmNsYXNzICsgJyBlY2wtbGlua19faWNvbicgOiAnZWNsLWxpbmtfX2ljb24nO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -57,7 +57,7 @@ export class EclDescriptionListDefinitionComponent extends ECLBaseDirective {
|
|
|
57
57
|
return this.eclListItems.filter((item, cnt) => cnt < this._maxVisibleItems).pop();
|
|
58
58
|
}
|
|
59
59
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclDescriptionListDefinitionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.3", type: EclDescriptionListDefinitionComponent, selector: "[eclDescriptionListDefinition]", inputs: { variant: "variant" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclListItems", predicate: EclDescriptionListDefinitionItemDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(hasSeeAll) {\n<a eclLink class=\"ecl-description-list__see_more\" href (click)=\"onShowAllItems($event)\">{{\n 'ecl.list.SEE-ALL-ITEMS' | translate\n }}</a>\n}", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "
|
|
60
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.3", type: EclDescriptionListDefinitionComponent, selector: "[eclDescriptionListDefinition]", inputs: { variant: "variant" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclListItems", predicate: EclDescriptionListDefinitionItemDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(hasSeeAll) {\n<a eclLink class=\"ecl-description-list__see_more\" href (click)=\"onShowAllItems($event)\">{{\n 'ecl.list.SEE-ALL-ITEMS' | translate\n }}</a>\n}", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
61
61
|
}
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclDescriptionListDefinitionComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
@@ -296,11 +296,11 @@ export class EclMenuItemComponent extends ECLBaseDirective {
|
|
|
296
296
|
});
|
|
297
297
|
}
|
|
298
298
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ApplicationRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus", menuItemKeydown: "menuItemKeydown" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "attr.role": "this.role", "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMenuMegaComponent), descendants: true }], viewQueries: [{ propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }, { propertyName: "menuButton", first: true, predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"
|
|
299
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclMenuItemComponent, selector: "ecl-menu-item", inputs: { id: "id", label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isCurrent: "isCurrent" }, outputs: { menuItemSelect: "menuItemSelect", menuItemCaret: "menuItemCaret", menuItemHover: "menuItemHover", menuItemHoverOut: "menuItemHoverOut", menuMegaItemSelect: "menuMegaItemSelect", menuItemFocus: "menuItemFocus", menuItemKeydown: "menuItemKeydown" }, host: { listeners: { "mouseenter": "onItemMouseEnter($event)", "mouseleave": "onItemMouseLeave($event)" }, properties: { "attr.role": "this.role", "class": "this.cssClasses", "class.ecl-menu__item--has-children": "this.hasEclChildrenDataAttribute", "attr.aria-haspopup": "this.hasEclChildrenDataAttribute", "attr.aria-expanded": "this.isAriaExpanded" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMenuMegaComponent), descendants: true }], viewQueries: [{ propertyName: "menuLink", first: true, predicate: ["menuLink"], descendants: true }, { propertyName: "menuButton", first: true, predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n #menuLink\n variant=\"standalone\"\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n variant=\"standalone\"\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n isIconOnly\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"ghost\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n isIconOnly\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"ghost\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
300
300
|
}
|
|
301
301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclMenuItemComponent, decorators: [{
|
|
302
302
|
type: Component,
|
|
303
|
-
args: [{ selector: 'ecl-menu-item', encapsulation: ViewEncapsulation.None, template: "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"
|
|
303
|
+
args: [{ selector: 'ecl-menu-item', encapsulation: ViewEncapsulation.None, template: "<a\n #menuLink\n variant=\"standalone\"\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n variant=\"standalone\"\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n isIconOnly\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"ghost\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n isIconOnly\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"ghost\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
304
304
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ApplicationRef }, { type: i1.BreakpointObserver }], propDecorators: { id: [{
|
|
305
305
|
type: Input
|
|
306
306
|
}], label: [{
|
|
@@ -362,4 +362,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3",
|
|
|
362
362
|
type: HostListener,
|
|
363
363
|
args: ['mouseleave', ['$event']]
|
|
364
364
|
}] } });
|
|
365
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBRXZCLHNCQUFzQixHQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBYXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFrQnRELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENB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QkFDaEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXlDakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU10QyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWNsTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbWVudS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBFY2xNZW51SXRlbUNhcmV0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1Gb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtSG92ZXJFdmVudCxcbiAgICBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQsXG4gICAgRWNsTWVudUl0ZW1QYXJlbnRGb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQsXG59IGZyb20gJy4uL2NvbW1vbi9lY2wtbWVudS1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbE1lbnVNZWdhQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLW1lbnUtbWVnYS9lY2wtbWVudS1tZWdhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWNsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWNsLWJ1dHRvbic7XG5pbXBvcnQgeyBLZXlDb2RlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5jb25zdCBlbnVtIENvbFRyaWdnZXIge1xuICAgIENPTDFfVFJJR0dFUiA9IDUsXG4gICAgQ09MMl9UUklHR0VSID0gOSxcbiAgICBDT0wzX1RSSUdHRVIgPSAxMyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRWNsTWVudUl0ZW0sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nIHwgYW55W10gPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBxdWVyeVBhcmFtc0hhbmRsaW5nOiBRdWVyeVBhcmFtc0hhbmRsaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmID0gJyc7XG4gICAgQElucHV0KCkgdGFyZ2V0ID0gJyc7XG4gICAgQElucHV0KCkgaXNDdXJyZW50ID0gZmFsc2U7XG5cbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIGlzRnVsbCA9IGZhbHNlO1xuICAgIGlzSG92ZXJlZCA9IGZhbHNlO1xuICAgIGlzTW9iaWxlQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdGl0ZW0nO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVudV9faXRlbScpLFxuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnQgPyAnZWNsLW1lbnVfX2l0ZW0tLWN1cnJlbnQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPyAnZWNsLW1lbnVfX2l0ZW0tLWV4cGFuZGVkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5nZXRDbGFzc0RlcGVuZGluZ0NoaWxkcmVuQ250KCksXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbE1lbnVNZWdhQ29tcG9uZW50KSkgc3VibWVudTogRWNsTWVudU1lZ2FDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUxpbmsnKSBtZW51TGluazogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZChFY2xCdXR0b25Db21wb25lbnQpIG1lbnVCdXR0b246IEVjbEJ1dHRvbkNvbXBvbmVudDtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1TZWxlY3RFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DYXJldCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1DYXJldEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUhvdmVyRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtSG92ZXJPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU1lZ2FJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbVNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtS2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1LZXlkb3duRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1tZW51X19pdGVtLS1oYXMtY2hpbGRyZW4nKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBnZXQgaGFzRWNsQ2hpbGRyZW5EYXRhQXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGdldCBpc0FyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gPyB0aGlzLmlzSG92ZXJlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnN1Ym1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IEFycmF5PEVjbE1lbnVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuID8gdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMudG9BcnJheSgpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgYXJmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Gb2N1cyhldnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUZvY3VzLm5leHQobmV3IEVjbE1lbnVJdGVtRm9jdXNFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1TZWxlY3QubmV4dChuZXcgRWNsTWVudUl0ZW1TZWxlY3RFdmVudCh0aGlzLCBldnQpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2FyZXRDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNhcmV0Lm5leHQobmV3IEVjbE1lbnVJdGVtQ2FyZXRFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1Nb3VzZUVudGVyKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtSG92ZXIubmV4dChuZXcgRWNsTWVudUl0ZW1Ib3ZlckV2ZW50KHRoaXMsIGV2dCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlck91dC5uZXh0KG5ldyBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQodGhpcywgZXZ0KSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJtZW51KSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudUl0ZW1TZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVNZWdhSXRlbVNlbGVjdC5uZXh0KG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KGl0Lm1lbnVJdGVtLCBpdC5kb21FdmVudCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudU1lZ2FJdGVtUGFyZW50Rm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtUGFyZW50Rm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb2N1c0Zyb21TdWJtZW51KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3VibWVudUFueVNlbGVjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbVN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbU5leHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c0Zyb21QcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CdXR0b25LZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE1lZ2FNZW51SXRlbSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1JJR0hUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19MRUZUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVTQ0FQRToge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtLZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua05leHRGb2N1cyhldnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19SSUdIVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25MaW5rTmV4dEZvY3VzKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfTEVGVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtFc2NhcGUoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrTWVudUl0ZW0obWF4TGluZXM6IG51bWJlciwgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXhMaW5lcyA8IDEpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjdXJyZW50SXRlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY3VycmVudExpbmsgPSB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChpc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJywgJ2ZsZXgtc3RhcnQnKTtcbiAgICAgICAgY29uc3QgbGlua1N0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoY3VycmVudExpbmspO1xuXG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMuZ2V0TWVudUl0ZW1MaW5rTWF4SGVpZ2h0KGxpbmtTdHlsZSwgbWF4TGluZXMpO1xuXG4gICAgICAgIGlmIChjdXJyZW50TGluay5vZmZzZXRIZWlnaHQgPiBtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlTWVudUl0ZW1MaW5rV2lkdGgoY3VycmVudExpbmssIG1heExpbmVzLCBsaW5rU3R5bGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxpbmtFc2NhcGUoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51QnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51TGluay5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Rmlyc3RNZWdhTWVudUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWVudS5zZWxlY3RGaXJzdFN1Ykl0ZW0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua05leHRGb2N1cyhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25CdXR0b25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51QnV0dG9uLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1lbnVJdGVtTGlua01heEhlaWdodChsaW5rU3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sIG1heExpbmVzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQobGlua1N0eWxlLmxpbmVIZWlnaHQsIDEwKSAqIG1heExpbmVzICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdUb3AsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nQm90dG9tLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VNZW51SXRlbUxpbmtXaWR0aChjdXJyZW50TGluazogSFRNTEFuY2hvckVsZW1lbnQsIG1heExpbmVzOiBudW1iZXIsIGxpbmtTdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRMaW5rLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIGNvbnN0IGxpbmtXaWR0aCA9IGN1cnJlbnRMaW5rLm9mZnNldFdpZHRoO1xuICAgICAgICBpZiAobWF4TGluZXMgPT09IDEpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gYCR7bGlua1dpZHRoICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdMZWZ0LCAxMCkgKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1JpZ2h0LCAxMCl9cHhgO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50TGluaywgJ3doaXRlLXNwYWNlJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGV4dFNpemUgPSBjdXJyZW50TGluay50ZXh0Lmxlbmd0aDtcbiAgICAgICAgY29uc3QgbGV0dGVyV2lkdGggPSBNYXRoLmNlaWwobGlua1dpZHRoIC8gdGV4dFNpemUpO1xuICAgICAgICBjb25zdCB3b3Jkc0FycmF5ID0gY3VycmVudExpbmsudGV4dC50cmltKCkuc3BsaXQoJyAnKTtcbiAgICAgICAgY29uc3QgZ29hbFdpZHRoID0gTWF0aC5jZWlsKGxpbmtXaWR0aCAvIG1heExpbmVzKTtcbiAgICAgICAgY29uc3QgZmlyc3RXb3JkID0gd29yZHNBcnJheVswXTtcbiAgICAgICAgbGV0IGNudCA9IDE7XG4gICAgICAgIGxldCB3b3JkV2lkdGggPSBNYXRoLmNlaWwoKGZpcnN0V29yZC5sZW5ndGggKyAxKSAqIGxldHRlcldpZHRoKTtcbiAgICAgICAgd2hpbGUgKHdvcmRXaWR0aCA8IGdvYWxXaWR0aCkge1xuICAgICAgICAgICAgd29yZFdpZHRoICs9IE1hdGguY2VpbCgod29yZHNBcnJheVtjbnRdLmxlbmd0aCArIDEpICogbGV0dGVyV2lkdGgpO1xuICAgICAgICAgICAgY250Kys7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSBgJHt3b3JkV2lkdGggKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0xlZnQsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKX1weGA7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2xhc3NEZXBlbmRpbmdDaGlsZHJlbkNudCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMV9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMSc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMl9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMic7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MM19UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGdWxsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1mdWxsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTdWJtZW51QW55U2VsZWN0aW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VibWVudSAmJiAhIXRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXQsIEJyZWFrcG9pbnRzLlRhYmxldCwgQnJlYWtwb2ludHMuU21hbGxdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPSByZXN1bHQubWF0Y2hlcztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxhXG4gICAgI21lbnVMaW5rXG4gICAgKm5nSWY9XCJocmVmXCJcbiAgICBbaHJlZl09XCJocmVmXCJcbiAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgY2xhc3M9XCJlY2wtbWVudV9fbGlua1wiXG4gICAgW2NsYXNzLmVjbC1tZW51X19saW5rLS1jdXJyZW50XT1cImlzQ3VycmVudFwiXG4gICAgKGZvY3VzKT1cIm9uSXRlbUZvY3VzKCRldmVudClcIlxuICAgIChjbGljayk9XCJvbkl0ZW1DbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbkxpbmtLZXlkb3duKCRldmVudClcIj5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG48L2E+XG48YVxuICAgICNtZW51TGlua1xuICAgICpuZ0lmPVwiIWhyZWZcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua1wiXG4gICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICBjbGFzcz1cImVjbC1tZW51X19saW5rXCJcbiAgICBbY2xhc3MuZWNsLW1lbnVfX2xpbmstLWN1cnJlbnRdPVwiaXNDdXJyZW50XCJcbiAgICAoZm9jdXMpPVwib25JdGVtRm9jdXMoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uTGlua0tleWRvd24oJGV2ZW50KVwiPlxuICAgIHt7IGxhYmVsIH19XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvYT5cbjxidXR0b25cbiAgICBlY2xCdXR0b25cbiAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzTW9iaWxlQnJlYWtwb2ludFwiXG4gICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2J1dHRvbi1jYXJldFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIChjbGljayk9XCJvbkl0ZW1DYXJldENsaWNrKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIm9uQnV0dG9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvblxuICAgIGVjbEJ1dHRvblxuICAgICpuZ0lmPVwiaGFzQ2hpbGRyZW4gJiYgIWlzTW9iaWxlQnJlYWtwb2ludFwiXG4gICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2J1dHRvbi1jYXJldFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNBcmlhRXhwYW5kZWRcIlxuICAgIChrZXlkb3duKT1cIm9uQnV0dG9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLW1lbnUtbWVnYVwiPjwvbmctY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
365
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW1lbnUvZWNsLW1lbnUvZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBRXZCLHNCQUFzQixHQUN6QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBYXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFrQnRELElBQ0ksVUFBVTtRQUNWLE9BQU87WUFDSCxLQUFLLENB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QkFDaEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXlDakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU10QyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWNsTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9lY2wtbWVudS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBFY2xNZW51SXRlbUNhcmV0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1Gb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtSG92ZXJFdmVudCxcbiAgICBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQsXG4gICAgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQsXG4gICAgRWNsTWVudUl0ZW1QYXJlbnRGb2N1c0V2ZW50LFxuICAgIEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQsXG59IGZyb20gJy4uL2NvbW1vbi9lY2wtbWVudS1pdGVtLmV2ZW50JztcbmltcG9ydCB7IEVjbE1lbnVNZWdhQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLW1lbnUtbWVnYS9lY2wtbWVudS1tZWdhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWNsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWNsLWJ1dHRvbic7XG5pbXBvcnQgeyBLZXlDb2RlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5jb25zdCBlbnVtIENvbFRyaWdnZXIge1xuICAgIENPTDFfVFJJR0dFUiA9IDUsXG4gICAgQ09MMl9UUklHR0VSID0gOSxcbiAgICBDT0wzX1RSSUdHRVIgPSAxMyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbWVudS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgRWNsTWVudUl0ZW0sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nIHwgYW55W10gPSBudWxsO1xuICAgIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBxdWVyeVBhcmFtc0hhbmRsaW5nOiBRdWVyeVBhcmFtc0hhbmRsaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKSBocmVmID0gJyc7XG4gICAgQElucHV0KCkgdGFyZ2V0ID0gJyc7XG4gICAgQElucHV0KCkgaXNDdXJyZW50ID0gZmFsc2U7XG5cbiAgICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIGlzRnVsbCA9IGZhbHNlO1xuICAgIGlzSG92ZXJlZCA9IGZhbHNlO1xuICAgIGlzTW9iaWxlQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIGlzVmlzaWJsZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdGl0ZW0nO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtbWVudV9faXRlbScpLFxuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnQgPyAnZWNsLW1lbnVfX2l0ZW0tLWN1cnJlbnQnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPyAnZWNsLW1lbnVfX2l0ZW0tLWV4cGFuZGVkJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5nZXRDbGFzc0RlcGVuZGluZ0NoaWxkcmVuQ250KCksXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEVjbE1lbnVNZWdhQ29tcG9uZW50KSkgc3VibWVudTogRWNsTWVudU1lZ2FDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnbWVudUxpbmsnKSBtZW51TGluazogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZChFY2xCdXR0b25Db21wb25lbnQpIG1lbnVCdXR0b246IEVjbEJ1dHRvbkNvbXBvbmVudDtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1TZWxlY3RFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DYXJldCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1DYXJldEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUhvdmVyRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtSG92ZXJPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbE1lbnVJdGVtSG92ZXJPdXRFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU1lZ2FJdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbVNlbGVjdEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBtZW51SXRlbUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xNZW51SXRlbUZvY3VzRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVJdGVtS2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTWVudUl0ZW1LZXlkb3duRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1tZW51X19pdGVtLS1oYXMtY2hpbGRyZW4nKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBnZXQgaGFzRWNsQ2hpbGRyZW5EYXRhQXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGlsZHJlbiB8fCB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGdldCBpc0FyaWFFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ2hpbGRyZW4gPyB0aGlzLmlzSG92ZXJlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnN1Ym1lbnU7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IEFycmF5PEVjbE1lbnVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NoaWxkcmVuID8gdGhpcy5zdWJtZW51LmVjbE1lbnVNZWdhSXRlbXMudG9BcnJheSgpIDogW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgYXJmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Gb2N1cyhldnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUZvY3VzLm5leHQobmV3IEVjbE1lbnVJdGVtRm9jdXNFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1TZWxlY3QubmV4dChuZXcgRWNsTWVudUl0ZW1TZWxlY3RFdmVudCh0aGlzLCBldnQpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2FyZXRDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbUNhcmV0Lm5leHQobmV3IEVjbE1lbnVJdGVtQ2FyZXRFdmVudCh0aGlzLCBldnQpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1Nb3VzZUVudGVyKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVJdGVtSG92ZXIubmV4dChuZXcgRWNsTWVudUl0ZW1Ib3ZlckV2ZW50KHRoaXMsIGV2dCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICAgIG9uSXRlbU1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudUl0ZW1Ib3Zlck91dC5uZXh0KG5ldyBFY2xNZW51SXRlbUhvdmVyT3V0RXZlbnQodGhpcywgZXZ0KSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJtZW51KSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudUl0ZW1TZWxlY3QucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtU2VsZWN0RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVNZWdhSXRlbVNlbGVjdC5uZXh0KG5ldyBFY2xNZW51SXRlbVNlbGVjdEV2ZW50KGl0Lm1lbnVJdGVtLCBpdC5kb21FdmVudCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUubWVudU1lZ2FJdGVtUGFyZW50Rm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoaXQ6IEVjbE1lbnVJdGVtUGFyZW50Rm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb2N1c0Zyb21TdWJtZW51KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3VibWVudUFueVNlbGVjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbVN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB0aGlzLmlzSG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkZvY3VzRnJvbU5leHQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c0Zyb21QcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTGlua0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CdXR0b25LZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE1lZ2FNZW51SXRlbSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1JJR0hUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19MRUZUOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtGb2N1cygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtS2V5ZG93bi5uZXh0KG5ldyBFY2xNZW51SXRlbUtleWRvd25FdmVudCh0aGlzLCBldnQgYXMgS2V5Ym9hcmRFdmVudCkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVTQ0FQRToge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkxpbmtLZXlkb3duKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICgoZXZ0IGFzIEtleWJvYXJkRXZlbnQpLmtleSkge1xuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX0RPV046IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTGlua05leHRGb2N1cyhldnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkFSUk9XX1VQOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19SSUdIVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub25MaW5rTmV4dEZvY3VzKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfTEVGVDoge1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUl0ZW1LZXlkb3duLm5leHQobmV3IEVjbE1lbnVJdGVtS2V5ZG93bkV2ZW50KHRoaXMsIGV2dCBhcyBLZXlib2FyZEV2ZW50KSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKGV2dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEtleUNvZGUuRVNDQVBFOiB7XG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxpbmtFc2NhcGUoZXZ0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrTWVudUl0ZW0obWF4TGluZXM6IG51bWJlciwgaXNNb2JpbGVCcmVha3BvaW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXhMaW5lcyA8IDEpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjdXJyZW50SXRlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY3VycmVudExpbmsgPSB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChpc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gJzEwMCUnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJywgJ2ZsZXgtc3RhcnQnKTtcbiAgICAgICAgY29uc3QgbGlua1N0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoY3VycmVudExpbmspO1xuXG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMuZ2V0TWVudUl0ZW1MaW5rTWF4SGVpZ2h0KGxpbmtTdHlsZSwgbWF4TGluZXMpO1xuXG4gICAgICAgIGlmIChjdXJyZW50TGluay5vZmZzZXRIZWlnaHQgPiBtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlTWVudUl0ZW1MaW5rV2lkdGgoY3VycmVudExpbmssIG1heExpbmVzLCBsaW5rU3R5bGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudEl0ZW0sICdhbGlnbkl0ZW1zJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxpbmtFc2NhcGUoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51QnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51TGluay5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Rmlyc3RNZWdhTWVudUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWVudS5zZWxlY3RGaXJzdFN1Ykl0ZW0oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVMaW5rLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTGlua05leHRGb2N1cyhldnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMub25CdXR0b25Gb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUtleWRvd24ubmV4dChuZXcgRWNsTWVudUl0ZW1LZXlkb3duRXZlbnQodGhpcywgZXZ0IGFzIEtleWJvYXJkRXZlbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25CdXR0b25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51QnV0dG9uLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1lbnVJdGVtTGlua01heEhlaWdodChsaW5rU3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24sIG1heExpbmVzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQobGlua1N0eWxlLmxpbmVIZWlnaHQsIDEwKSAqIG1heExpbmVzICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdUb3AsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nQm90dG9tLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VNZW51SXRlbUxpbmtXaWR0aChjdXJyZW50TGluazogSFRNTEFuY2hvckVsZW1lbnQsIG1heExpbmVzOiBudW1iZXIsIGxpbmtTdHlsZTogQ1NTU3R5bGVEZWNsYXJhdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGN1cnJlbnRMaW5rLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIGNvbnN0IGxpbmtXaWR0aCA9IGN1cnJlbnRMaW5rLm9mZnNldFdpZHRoO1xuICAgICAgICBpZiAobWF4TGluZXMgPT09IDEpIHtcbiAgICAgICAgICAgIGN1cnJlbnRMaW5rLnN0eWxlLndpZHRoID0gYCR7bGlua1dpZHRoICsgcGFyc2VJbnQobGlua1N0eWxlLnBhZGRpbmdMZWZ0LCAxMCkgKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ1JpZ2h0LCAxMCl9cHhgO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShjdXJyZW50TGluaywgJ3doaXRlLXNwYWNlJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGV4dFNpemUgPSBjdXJyZW50TGluay50ZXh0Lmxlbmd0aDtcbiAgICAgICAgY29uc3QgbGV0dGVyV2lkdGggPSBNYXRoLmNlaWwobGlua1dpZHRoIC8gdGV4dFNpemUpO1xuICAgICAgICBjb25zdCB3b3Jkc0FycmF5ID0gY3VycmVudExpbmsudGV4dC50cmltKCkuc3BsaXQoJyAnKTtcbiAgICAgICAgY29uc3QgZ29hbFdpZHRoID0gTWF0aC5jZWlsKGxpbmtXaWR0aCAvIG1heExpbmVzKTtcbiAgICAgICAgY29uc3QgZmlyc3RXb3JkID0gd29yZHNBcnJheVswXTtcbiAgICAgICAgbGV0IGNudCA9IDE7XG4gICAgICAgIGxldCB3b3JkV2lkdGggPSBNYXRoLmNlaWwoKGZpcnN0V29yZC5sZW5ndGggKyAxKSAqIGxldHRlcldpZHRoKTtcbiAgICAgICAgd2hpbGUgKHdvcmRXaWR0aCA8IGdvYWxXaWR0aCkge1xuICAgICAgICAgICAgd29yZFdpZHRoICs9IE1hdGguY2VpbCgod29yZHNBcnJheVtjbnRdLmxlbmd0aCArIDEpICogbGV0dGVyV2lkdGgpO1xuICAgICAgICAgICAgY250Kys7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudExpbmsuc3R5bGUud2lkdGggPSBgJHt3b3JkV2lkdGggKyBwYXJzZUludChsaW5rU3R5bGUucGFkZGluZ0xlZnQsIDEwKSArIHBhcnNlSW50KGxpbmtTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKX1weGA7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY3VycmVudExpbmssICd3aGl0ZS1zcGFjZScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2xhc3NEZXBlbmRpbmdDaGlsZHJlbkNudCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMV9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMSc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MMl9UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMic7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmxlbmd0aCA8IENvbFRyaWdnZXIuQ09MM19UUklHR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdlY2wtbWVudV9faXRlbS0tY29sMyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGdWxsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2VjbC1tZW51X19pdGVtLS1mdWxsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTdWJtZW51QW55U2VsZWN0aW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VibWVudSAmJiAhIXRoaXMuc3VibWVudS5lY2xNZW51TWVnYUl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5pc0N1cnJlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUoW0JyZWFrcG9pbnRzLkhhbmRzZXQsIEJyZWFrcG9pbnRzLlRhYmxldCwgQnJlYWtwb2ludHMuU21hbGxdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPSByZXN1bHQubWF0Y2hlcztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxhXG4gICAgI21lbnVMaW5rXG4gICAgdmFyaWFudD1cInN0YW5kYWxvbmVcIlxuICAgICpuZ0lmPVwiaHJlZlwiXG4gICAgW2hyZWZdPVwiaHJlZlwiXG4gICAgW3RhcmdldF09XCJ0YXJnZXRcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2xpbmtcIlxuICAgIFtjbGFzcy5lY2wtbWVudV9fbGluay0tY3VycmVudF09XCJpc0N1cnJlbnRcIlxuICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25MaW5rS2V5ZG93bigkZXZlbnQpXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPGFcbiAgICAjbWVudUxpbmtcbiAgICB2YXJpYW50PVwic3RhbmRhbG9uZVwiXG4gICAgKm5nSWY9XCIhaHJlZlwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2xpbmtcIlxuICAgIFtjbGFzcy5lY2wtbWVudV9fbGluay0tY3VycmVudF09XCJpc0N1cnJlbnRcIlxuICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtleWRvd24pPVwib25MaW5rS2V5ZG93bigkZXZlbnQpXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPGJ1dHRvblxuICAgIGVjbEJ1dHRvblxuICAgIGlzSWNvbk9ubHlcbiAgICAqbmdJZj1cImhhc0NoaWxkcmVuICYmIGlzTW9iaWxlQnJlYWtwb2ludFwiXG4gICAgdmFyaWFudD1cImdob3N0XCJcbiAgICBjbGFzcz1cImVjbC1tZW51X19idXR0b24tY2FyZXRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGFyaWEtbGFiZWw9XCJBY2Nlc3MgaXRlbSdzIGNoaWxkcmVuXCJcbiAgICAoY2xpY2spPVwib25JdGVtQ2FyZXRDbGljaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbkJ1dHRvbktleWRvd24oJGV2ZW50KVwiPlxuICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cInhzXCIgdHJhbnNmb3JtPVwicm90YXRlLTE4MFwiIGNsYXNzPVwiZWNsLWJ1dHRvbl9faWNvblwiPjwvZWNsLWljb24+XG48L2J1dHRvbj5cbjxidXR0b25cbiAgICBlY2xCdXR0b25cbiAgICBpc0ljb25Pbmx5XG4gICAgKm5nSWY9XCJoYXNDaGlsZHJlbiAmJiAhaXNNb2JpbGVCcmVha3BvaW50XCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwiZWNsLW1lbnVfX2J1dHRvbi1jYXJldFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgYXJpYS1sYWJlbD1cIkFjY2VzcyBpdGVtJ3MgY2hpbGRyZW5cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNBcmlhRXhwYW5kZWRcIlxuICAgIChrZXlkb3duKT1cIm9uQnV0dG9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwieHNcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgY2xhc3M9XCJlY2wtYnV0dG9uX19pY29uXCI+PC9lY2wtaWNvbj5cbjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLW1lbnUtbWVnYVwiPjwvbmctY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|