@hestia-earth/ui-components 0.28.0 → 0.28.2
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/common/collapsible-box/collapsible-box.component.d.ts +9 -0
- package/common/index.d.ts +1 -0
- package/common/resized.directive.d.ts +1 -1
- package/esm2022/common/collapsible-box/collapsible-box.component.mjs +22 -0
- package/esm2022/common/drawer-container/drawer-container.component.mjs +3 -3
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/navigation-menu/navigation-menu.component.mjs +3 -3
- package/esm2022/common/resized.directive.mjs +1 -1
- package/esm2022/common/responsive.service.mjs +2 -2
- package/esm2022/cycles/cycles-nodes/cycles-nodes.component.mjs +3 -3
- package/esm2022/files/files-error-summary/files-error-summary-item/files-error-summary-item.component.mjs +36 -0
- package/esm2022/files/files-error-summary/files-error-summary.component.mjs +62 -0
- package/esm2022/files/files-error-summary/files-error-summary.model.mjs +53 -0
- package/esm2022/files/files-error.model.mjs +11 -5
- package/esm2022/files/files-upload-errors/files-upload-errors.component.mjs +1 -1
- package/esm2022/files/index.mjs +3 -2
- package/esm2022/impact-assessments/impact-assessments-products/impact-assessments-products.component.mjs +3 -3
- package/esm2022/schema/schema-validation.model.mjs +9 -2
- package/esm2022/sites/sites-nodes/sites-nodes.component.mjs +3 -3
- package/fesm2022/hestia-earth-ui-components.mjs +177 -61
- package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
- package/files/files-error-summary/files-error-summary-item/files-error-summary-item.component.d.ts +22 -0
- package/files/files-error-summary/files-error-summary.component.d.ts +37 -0
- package/files/{files-error-summary.model.d.ts → files-error-summary/files-error-summary.model.d.ts} +10 -5
- package/files/files-upload-errors/files-upload-errors.component.d.ts +20 -20
- package/files/index.d.ts +2 -1
- package/package.json +1 -1
- package/schema/schema-validation.model.d.ts +1 -0
- package/svg-icons/far-magnifier-v2.svg +3 -0
- package/svg-icons/icons.json +5 -1
- package/esm2022/files/files-error-summary.model.mjs +0 -52
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CollapsibleBoxComponent {
|
|
3
|
+
protected readonly faAngleUp: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
4
|
+
protected readonly faAngleDown: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
5
|
+
protected readonly hostClass = "box";
|
|
6
|
+
readonly open: import("@angular/core").ModelSignal<boolean>;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CollapsibleBoxComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CollapsibleBoxComponent, "he-collapsible-box", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["[box-title]", "[box-content]"], true, never>;
|
|
9
|
+
}
|
package/common/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export { BlankNodeStateComponent } from './blank-node-state/blank-node-state.com
|
|
|
15
15
|
export { BlankNodeStateNoticeComponent } from './blank-node-state-notice/blank-node-state-notice.component';
|
|
16
16
|
export { BlankNodeValueDeltaComponent } from './blank-node-value-delta/blank-node-value-delta.component';
|
|
17
17
|
export { ClipboardComponent } from './clipboard/clipboard.component';
|
|
18
|
+
export { CollapsibleBoxComponent } from './collapsible-box/collapsible-box.component';
|
|
18
19
|
export { DataTableComponent } from './data-table/data-table.component';
|
|
19
20
|
export { DrawerContainerComponent } from './drawer-container/drawer-container.component';
|
|
20
21
|
export { IssueConfirmComponent } from './issue-confirm/issue-confirm.component';
|
|
@@ -11,7 +11,7 @@ export declare class ResizedDirective implements OnInit, OnDestroy {
|
|
|
11
11
|
private readonly zone;
|
|
12
12
|
private observer;
|
|
13
13
|
private oldRect?;
|
|
14
|
-
protected resized: import("@angular/core").OutputEmitterRef<ResizedEvent>;
|
|
14
|
+
protected readonly resized: import("@angular/core").OutputEmitterRef<ResizedEvent>;
|
|
15
15
|
constructor();
|
|
16
16
|
ngOnInit(): void;
|
|
17
17
|
ngOnDestroy(): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, HostBinding, model } from '@angular/core';
|
|
2
|
+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
|
3
|
+
import { faAngleDown, faAngleUp } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CollapsibleBoxComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.faAngleUp = faAngleUp;
|
|
8
|
+
this.faAngleDown = faAngleDown;
|
|
9
|
+
this.hostClass = 'box';
|
|
10
|
+
this.open = model(true);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CollapsibleBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: CollapsibleBoxComponent, isStandalone: true, selector: "he-collapsible-box", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"is-flex is-flex-direction-column is-gap-24\">\n <div>\n <div class=\"columns is-mobile is-vcentered has-text-secondary is-my-0\">\n <div class=\"column is-py-0\">\n <h2 class=\"has-text-weight-bold\">\n <ng-content select=\"[box-title]\"></ng-content>\n </h2>\n </div>\n <div class=\"column is-py-0 is-narrow\" (click)=\"open.set(!open())\" pointer>\n <fa-icon [icon]=\"open() ? faAngleUp : faAngleDown\"></fa-icon>\n </div>\n </div>\n\n <hr class=\"section-divider w-100 is-mt-2 is-mb-0\" />\n </div>\n\n @if (open()) {\n <ng-content select=\"[box-content]\"></ng-content>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CollapsibleBoxComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'he-collapsible-box', standalone: true, imports: [FaIconComponent], template: "<div class=\"is-flex is-flex-direction-column is-gap-24\">\n <div>\n <div class=\"columns is-mobile is-vcentered has-text-secondary is-my-0\">\n <div class=\"column is-py-0\">\n <h2 class=\"has-text-weight-bold\">\n <ng-content select=\"[box-title]\"></ng-content>\n </h2>\n </div>\n <div class=\"column is-py-0 is-narrow\" (click)=\"open.set(!open())\" pointer>\n <fa-icon [icon]=\"open() ? faAngleUp : faAngleDown\"></fa-icon>\n </div>\n </div>\n\n <hr class=\"section-divider w-100 is-mt-2 is-mb-0\" />\n </div>\n\n @if (open()) {\n <ng-content select=\"[box-content]\"></ng-content>\n }\n</div>\n" }]
|
|
18
|
+
}], propDecorators: { hostClass: [{
|
|
19
|
+
type: HostBinding,
|
|
20
|
+
args: ['class']
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vY29sbGFwc2libGUtYm94L2NvbGxhcHNpYmxlLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2NvbGxhcHNpYmxlLWJveC9jb2xsYXBzaWJsZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVMzRSxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUXFCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFHMUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVyQixTQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BDOytHQVJZLHVCQUF1QjttR0FBdkIsdUJBQXVCLHFTQ1hwQyw0cEJBb0JBLDBERGJZLGVBQWU7OzRGQUlkLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzhCQVNQLFNBQVM7c0JBRDNCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUFuZ2xlRG93biwgZmFBbmdsZVVwIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtY29sbGFwc2libGUtYm94JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ZhSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xsYXBzaWJsZS1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sbGFwc2libGUtYm94LmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzaWJsZUJveENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBmYUFuZ2xlVXAgPSBmYUFuZ2xlVXA7XG4gIHByb3RlY3RlZCByZWFkb25seSBmYUFuZ2xlRG93biA9IGZhQW5nbGVEb3duO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdENsYXNzID0gJ2JveCc7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4gPSBtb2RlbCh0cnVlKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJpcy1mbGV4IGlzLWZsZXgtZGlyZWN0aW9uLWNvbHVtbiBpcy1nYXAtMjRcIj5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpcy1tb2JpbGUgaXMtdmNlbnRlcmVkIGhhcy10ZXh0LXNlY29uZGFyeSBpcy1teS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLXB5LTBcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiaGFzLXRleHQtd2VpZ2h0LWJvbGRcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm94LXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1weS0wIGlzLW5hcnJvd1wiIChjbGljayk9XCJvcGVuLnNldCghb3BlbigpKVwiIHBvaW50ZXI+XG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cIm9wZW4oKSA/IGZhQW5nbGVVcCA6IGZhQW5nbGVEb3duXCI+PC9mYS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8aHIgY2xhc3M9XCJzZWN0aW9uLWRpdmlkZXIgdy0xMDAgaXMtbXQtMiBpcy1tYi0wXCIgLz5cbiAgPC9kaXY+XG5cbiAgQGlmIChvcGVuKCkpIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm94LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -130,7 +130,7 @@ export class DrawerContainerComponent {
|
|
|
130
130
|
return parseInt(padding, 10) + parseInt(margin, 10);
|
|
131
131
|
}
|
|
132
132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DrawerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: DrawerContainerComponent, isStandalone: true, selector: "he-drawer-container", inputs: { compactBreakpoint: { classPropertyName: "compactBreakpoint", publicName: "compactBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, contentPaddingStyles: { classPropertyName: "contentPaddingStyles", publicName: "contentPaddingStyles", isSignal: true, isRequired: false, transformFunction: null }, menuOverlap: { classPropertyName: "menuOverlap", publicName: "menuOverlap", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, drawerHeaderTemplate: { classPropertyName: "drawerHeaderTemplate", publicName: "drawerHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, drawerMenuHeaderTemplate: { classPropertyName: "drawerMenuHeaderTemplate", publicName: "drawerMenuHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, compactHeaderClass: { classPropertyName: "compactHeaderClass", publicName: "compactHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, minMenuDistance: { classPropertyName: "minMenuDistance", publicName: "minMenuDistance", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { width: "widthChange", opened: "opened", closed: "closed" }, host: { listeners: { "window:mouseup": "stopResizing()" }, properties: { "class": "hostClass()", "attr.drawer-position": "position()", "attr.drawer-state": "menuState()" } }, providers: [sidenavStore], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 shell__menuContent--container\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div\n [class.is-resizing]=\"isHoldingToggle()\"\n [@reduceWidth]=\"reduceAnimation()\"\n class=\"shell__content | h-100 w-100 is-flex is-justify-content-flex-end\">\n <div\n [class.disable-animation]=\"disableAnimation()\"\n [class.disable-transform-x]=\"hasModal()\"\n class=\"shell__content--body | w-100\">\n <div #contentContainer [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--sidenav-width: 256px;--menu-width: var(--sidenav-width);--menu-transition-time: .15s;--drawer-width: var(--sidenav-width);--drawer-toogle-position: -20px;--reduce-animation-width: calc(100% - var(--sidenav-width) - 1em);--sidenav-side-transform: -1;--contentTransitionX: 0}:host-context([drawer-position=right]){--sidenav-side-transform: 1}:host-context([drawer-position=right]) aside{right:0;order:1}:host-context([drawer-position=right]) aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context([drawer-position=right]) aside .shell__menuContent--toggle{left:var(--drawer-toogle-position);border-radius:9px 0 0 9px}@media screen and (min-width:
|
|
133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: DrawerContainerComponent, isStandalone: true, selector: "he-drawer-container", inputs: { compactBreakpoint: { classPropertyName: "compactBreakpoint", publicName: "compactBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, contentPaddingStyles: { classPropertyName: "contentPaddingStyles", publicName: "contentPaddingStyles", isSignal: true, isRequired: false, transformFunction: null }, menuOverlap: { classPropertyName: "menuOverlap", publicName: "menuOverlap", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, drawerHeaderTemplate: { classPropertyName: "drawerHeaderTemplate", publicName: "drawerHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, drawerMenuHeaderTemplate: { classPropertyName: "drawerMenuHeaderTemplate", publicName: "drawerMenuHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, compactHeaderClass: { classPropertyName: "compactHeaderClass", publicName: "compactHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, minMenuDistance: { classPropertyName: "minMenuDistance", publicName: "minMenuDistance", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { width: "widthChange", opened: "opened", closed: "closed" }, host: { listeners: { "window:mouseup": "stopResizing()" }, properties: { "class": "hostClass()", "attr.drawer-position": "position()", "attr.drawer-state": "menuState()" } }, providers: [sidenavStore], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 shell__menuContent--container\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div\n [class.is-resizing]=\"isHoldingToggle()\"\n [@reduceWidth]=\"reduceAnimation()\"\n class=\"shell__content | h-100 w-100 is-flex is-justify-content-flex-end\">\n <div\n [class.disable-animation]=\"disableAnimation()\"\n [class.disable-transform-x]=\"hasModal()\"\n class=\"shell__content--body | w-100\">\n <div #contentContainer [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--sidenav-width: 256px;--menu-width: var(--sidenav-width);--menu-transition-time: .15s;--drawer-width: var(--sidenav-width);--drawer-toogle-position: -20px;--reduce-animation-width: calc(100% - var(--sidenav-width) - 1em);--sidenav-side-transform: -1;--contentTransitionX: 0}:host-context([drawer-position=right]){--sidenav-side-transform: 1}:host-context([drawer-position=right]) aside{right:0;order:1}:host-context([drawer-position=right]) aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context([drawer-position=right]) aside .shell__menuContent--toggle{left:var(--drawer-toogle-position);border-radius:9px 0 0 9px}@media screen and (min-width: 1024px) and (max-width: 1215px){:host-context([drawer-state=open]) ::ng-deep .content-screen-padding{padding-inline-start:2rem}}:host{position:relative;max-height:100%;display:flex;justify-content:space-between;transform:translate(calc(-1px * var(--sidenav-width)))}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width);padding:24px 12px}:host aside .shell__menuContent--container{overflow-y:auto}:host aside .shell__menuContent--toggle{position:absolute;top:calc(50% - 24px);right:var(--drawer-toogle-position);background:#dbe3ea;border-radius:0 9px 9px 0;cursor:pointer;border:none;width:20px;height:48px;overflow:hidden;display:flex;justify-content:center;align-items:center}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.disable-transform-x{position:absolute;left:var(--contentTransitionX)}.disable-animation{transition:none!important}.shell__content--body{container-type:inline-size}.shell__content--body:not(.disable-transform-x){transition:none;transform:translate(var(--contentTransitionX))}.shell__content:not(.is-resizing) .shell__content--body:not(.disable-transform-x){transition:transform .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "component", type: NavigationMenuComponent, selector: "he-navigation-menu", inputs: ["links", "sticky", "collapsible", "routerLinkMatchOptions"], outputs: ["closed"] }], animations: [...HE_SIDE_MENU_ANIMATION, ...HE_REDUCE_WIDTH_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
134
134
|
}
|
|
135
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DrawerContainerComponent, decorators: [{
|
|
136
136
|
type: Component,
|
|
@@ -147,9 +147,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
147
147
|
'[class]': 'hostClass()',
|
|
148
148
|
'[attr.drawer-position]': 'position()',
|
|
149
149
|
'[attr.drawer-state]': 'menuState()'
|
|
150
|
-
}, providers: [sidenavStore], template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 shell__menuContent--container\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div\n [class.is-resizing]=\"isHoldingToggle()\"\n [@reduceWidth]=\"reduceAnimation()\"\n class=\"shell__content | h-100 w-100 is-flex is-justify-content-flex-end\">\n <div\n [class.disable-animation]=\"disableAnimation()\"\n [class.disable-transform-x]=\"hasModal()\"\n class=\"shell__content--body | w-100\">\n <div #contentContainer [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--sidenav-width: 256px;--menu-width: var(--sidenav-width);--menu-transition-time: .15s;--drawer-width: var(--sidenav-width);--drawer-toogle-position: -20px;--reduce-animation-width: calc(100% - var(--sidenav-width) - 1em);--sidenav-side-transform: -1;--contentTransitionX: 0}:host-context([drawer-position=right]){--sidenav-side-transform: 1}:host-context([drawer-position=right]) aside{right:0;order:1}:host-context([drawer-position=right]) aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context([drawer-position=right]) aside .shell__menuContent--toggle{left:var(--drawer-toogle-position);border-radius:9px 0 0 9px}@media screen and (min-width:
|
|
150
|
+
}, providers: [sidenavStore], template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 shell__menuContent--container\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div\n [class.is-resizing]=\"isHoldingToggle()\"\n [@reduceWidth]=\"reduceAnimation()\"\n class=\"shell__content | h-100 w-100 is-flex is-justify-content-flex-end\">\n <div\n [class.disable-animation]=\"disableAnimation()\"\n [class.disable-transform-x]=\"hasModal()\"\n class=\"shell__content--body | w-100\">\n <div #contentContainer [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--sidenav-width: 256px;--menu-width: var(--sidenav-width);--menu-transition-time: .15s;--drawer-width: var(--sidenav-width);--drawer-toogle-position: -20px;--reduce-animation-width: calc(100% - var(--sidenav-width) - 1em);--sidenav-side-transform: -1;--contentTransitionX: 0}:host-context([drawer-position=right]){--sidenav-side-transform: 1}:host-context([drawer-position=right]) aside{right:0;order:1}:host-context([drawer-position=right]) aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context([drawer-position=right]) aside .shell__menuContent--toggle{left:var(--drawer-toogle-position);border-radius:9px 0 0 9px}@media screen and (min-width: 1024px) and (max-width: 1215px){:host-context([drawer-state=open]) ::ng-deep .content-screen-padding{padding-inline-start:2rem}}:host{position:relative;max-height:100%;display:flex;justify-content:space-between;transform:translate(calc(-1px * var(--sidenav-width)))}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width);padding:24px 12px}:host aside .shell__menuContent--container{overflow-y:auto}:host aside .shell__menuContent--toggle{position:absolute;top:calc(50% - 24px);right:var(--drawer-toogle-position);background:#dbe3ea;border-radius:0 9px 9px 0;cursor:pointer;border:none;width:20px;height:48px;overflow:hidden;display:flex;justify-content:center;align-items:center}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.disable-transform-x{position:absolute;left:var(--contentTransitionX)}.disable-animation{transition:none!important}.shell__content--body{container-type:inline-size}.shell__content--body:not(.disable-transform-x){transition:none;transform:translate(var(--contentTransitionX))}.shell__content:not(.is-resizing) .shell__content--body:not(.disable-transform-x){transition:transform .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"] }]
|
|
151
151
|
}], ctorParameters: () => [], propDecorators: { stopResizing: [{
|
|
152
152
|
type: HostListener,
|
|
153
153
|
args: ['window:mouseup']
|
|
154
154
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWMsTUFB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QUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQS9LVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrdUVBRnhCLENBQUMsWUFBWSxDQUFDLDJIQVFpRCxVQUFVLDZDQy9EdEYscThGQWdGQSwwckZENUNJLGdCQUFnQixvSkFDaEIsZUFBZSw0TUFDZixPQUFPLG1GQUNQLFdBQVcsK0JBQ1gsV0FBVyxvTkFDWCxlQUFlLDhEQUNmLGlCQUFpQixnRUFDakIsdUJBQXVCLDRJQUtiLENBQUMsR0FBRyxzQkFBc0IsRUFBRSxHQUFHLHlCQUF5QixDQUFDOzs0RkFTMUQsd0JBQXdCO2tCQXpCcEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3FCQUN4QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQyxRQUUvRDt3QkFDSixTQUFTLEVBQUUsYUFBYTt3QkFDeEIsd0JBQXdCLEVBQUUsWUFBWTt3QkFDdEMscUJBQXFCLEVBQUUsYUFBYTtxQkFDckMsYUFDVSxDQUFDLFlBQVksQ0FBQzt3REErSXpCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZhSWNvbkNvbXBvbmVudCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhQ2hldnJvbkRvd24sIGZhQ2hldnJvbkxlZnQsIGZhQ2hldnJvblJpZ2h0LCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgdHlwZSB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBvdXRwdXRGcm9tT2JzZXJ2YWJsZSwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBhbmltYXRpb25GcmFtZVNjaGVkdWxlciwgY29tYmluZUxhdGVzdCwgRU1QVFksIGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC13ZWJzdG9yYWdlJztcblxuaW1wb3J0IHsgSEVfUkVEVUNFX1dJRFRIX0FOSU1BVElPTiwgSEVfU0lERV9NRU5VX0FOSU1BVElPTiB9IGZyb20gJy4vZHJhd2VyLWNvbnRhaW5lci5hbmltYXRpb25zJztcbmltcG9ydCB7IHNpZGVuYXZTdG9yZSwgaW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9zaWRlbmF2LnN0b3JlJztcbmltcG9ydCB7IElOYXZpZ2F0aW9uTWVudUxpbmssIE5hdmlnYXRpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1tZW51L25hdmlnYXRpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZUJyZWFrcG9pbnQsIFJlc3BvbnNpdmVTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzcG9uc2l2ZS5zZXJ2aWNlJztcblxuY29uc3Qgc3RvcmFnZUtleSA9ICdoZS1kcmF3ZXItY29udGFpbmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtZHJhd2VyLWNvbnRhaW5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEZhSWNvbkNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duLFxuICAgIE5nYkRyb3Bkb3duTWVudSxcbiAgICBOZ2JEcm9wZG93blRvZ2dsZSxcbiAgICBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFsuLi5IRV9TSURFX01FTlVfQU5JTUFUSU9OLCAuLi5IRV9SRURVQ0VfV0lEVEhfQU5JTUFUSU9OXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzXSc6ICdob3N0Q2xhc3MoKScsXG4gICAgJ1thdHRyLmRyYXdlci1wb3NpdGlvbl0nOiAncG9zaXRpb24oKScsXG4gICAgJ1thdHRyLmRyYXdlci1zdGF0ZV0nOiAnbWVudVN0YXRlKCknXG4gIH0sXG4gIHByb3ZpZGVyczogW3NpZGVuYXZTdG9yZV1cbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTdG9yZSA9IGluamVjdChzaWRlbmF2U3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmVTZXJ2aWNlID0gaW5qZWN0KFJlc3BvbnNpdmVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50Q29udGFpbmVyID0gdmlld0NoaWxkKCdjb250ZW50Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51U3RhdGUgPSBzaWduYWw8J29wZW4nIHwgJ2Nsb3NlJz4oJ2Nsb3NlJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBleHBhbmRlZCA9IHNpZ25hbChpbml0aWFsU3RhdGUuZXhwYW5kZWQpO1xuXG4gIC8qKlxuICAgKiBUaGUgYnJlYWtwb2ludCBhdCB3aGljaCB0aGUgZHJhd2VyIHdpbGwgbm8gbG9uZ2VyIGJlIGNvbXBhY3QuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHdpZHRoIGluIHBpeGVscy5cbiAgICogSWYgJ25vbmUnIGlzIHByb3ZpZGVkLCB0aGUgZHJhd2VyIHdpbGwgbmV2ZXIgYmUgY29tcGFjdC5cbiAgICogSWYgYSBicmVha3BvaW50IG5hbWUgaXMgcHJvdmlkZWQsIHRoZSBkcmF3ZXIgd2lsbCBiZSBjb21wYWN0IHVudGlsIHRoYXQgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgJ3RhYmxldCcgLSB0aGUgZHJhd2VyIHdpbGwgYmUgY29tcGFjdCB1bnRpbCB0aGUgdGFibGV0IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFjdEJyZWFrcG9pbnQgPSBpbnB1dDxSZXNwb25zaXZlQnJlYWtwb2ludD4oJ3RhYmxldCcpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDwnbGVmdCcgfCAncmlnaHQnPihpbml0aWFsU3RhdGUuc2lkZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtaW4gPSBpbnB1dDxudW1iZXI+KGluaXRpYWxTdGF0ZS5taW5XaWR0aCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCA9IG1vZGVsPG51bWJlcj4oaW5pdGlhbFN0YXRlLndpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1heFdpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc2l6YWJsZSA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudFBhZGRpbmdTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51T3ZlcmxhcCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlua3MgPSBpbnB1dDxJTmF2aWdhdGlvbk1lbnVMaW5rW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlckhlYWRlclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0SGVhZGVyQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzWyduZ0NsYXNzJ10+KG51bGwpO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgbWVudSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbk1lbnVEaXN0YW5jZSA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1pbk1lbnVEaXN0YW5jZSk7XG4gIC8qKlxuICAgKiBHaXZpbmcgYW4gaWQgdG8gdGhlIG1lbnUgc28gdGhhdCBpdCBjYW4gc3RvcmUgdGhlIHJlc2l6ZWQgcG9zaXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbnB1dCgnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm1lbnVTdGF0ZSkucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09ICdvcGVuJyksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0b09ic2VydmFibGUodGhpcy5tZW51U3RhdGUpLnBpcGUoXG4gICAgICBza2lwKDEpLFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlID09PSAnY2xvc2UnKSxcbiAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgIClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFDaGV2cm9uVXAgPSBmYUNoZXZyb25VcDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhQ2hldnJvbkRvd24gPSBmYUNoZXZyb25Eb3duO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbdGhpcy5saW5rcygpPy5sZW5ndGggPiAwLCAhIXRoaXMuZHJhd2VySGVhZGVyVGVtcGxhdGUoKSwgISF0aGlzLmRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXS5zb21lKEJvb2xlYW4pXG4gICk7XG5cbiAgLyoqXG4gICAqIERldGVjdCBzaG93aW5nIG1vZGFsIHdpdGhpbiB0aGUgY29udGVudCBvZiB0aGUgZHJhd2VyIGNvbnRhaW5lciwgd2hpY2ggYnJlYWtzIHRoZSBsYXlvdXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTW9kYWwgPSB0b1NpZ25hbChcbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbW9kYWwnKS5sZW5ndGggPiAwKVxuICAgIClcbiAgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVBbmltYXRpb24gPSB0b1NpZ25hbCh0b09ic2VydmFibGUodGhpcy5oYXNNb2RhbCkucGlwZShkZWxheSgxMDAwKSkpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0NvbXBhY3QgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy5jb21wYWN0QnJlYWtwb2ludCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChicmVha3BvaW50ID0+XG4gICAgICAgIHRoaXMucmVzcG9uc2l2ZVNlcnZpY2UuaXNBYm92ZUJyZWFrcG9pbnQkKGJyZWFrcG9pbnQpLnBpcGUobWFwKGlzQWJvdmVCcmVha3BvaW50ID0+ICFpc0Fib3ZlQnJlYWtwb2ludCkpXG4gICAgICApXG4gICAgKVxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdENsYXNzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbJ2lzLWZsZXgnLCB0aGlzLmlzQ29tcGFjdCgpID8gJ2lzLWZsZXgtZGlyZWN0aW9uLWNvbHVtbicgOiAnJywgdGhpcy5yZXNpemFibGUoKSA/ICdpcy1yZXNpemFibGUnIDogJyddLmpvaW4oJyAnKVxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNIb2xkaW5nVG9nZ2xlID0gdGhpcy5zaWRlbmF2U3RvcmUuaXNSZXNpemluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF91cGRhdGVTaWRlbmF2RXZlbnQkID0gdG9PYnNlcnZhYmxlKHRoaXMuc2lkZW5hdlN0b3JlLmlzUmVzaXppbmcpLnBpcGUoXG4gICAgc3dpdGNoTWFwKGxpc3RlbiA9PiAobGlzdGVuID8gKGZyb21FdmVudCh3aW5kb3csICdtb3VzZW1vdmUnKSBhcyBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+KSA6IEVNUFRZKSksXG4gICAgdGhyb3R0bGVUaW1lKDAsIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyKVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50Q29udGFpbmVyJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRDb250YWluZXIpLnBpcGUoZmlsdGVyKHggPT4gISF4KSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hvc3RDb21wb25lbnRXaWR0aCQgPSBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShzdGFydFdpdGgod2luZG93LmlubmVyV2lkdGgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNPdmVybGFwcGluZyQgPSB0b09ic2VydmFibGUodGhpcy5zaWRlbmF2U3RvcmUuaXNNZW51T3ZlcmxhcHBpbmcpO1xuXG4gIC8qKlxuICAgKiB3ZSB1c2UgY29tYmluZUxhdGVzdCBpbnN0ZWFkIG9mIGNvbXB1dGVkIHRvIGF2b2lkIHRoZSBhbmltYXRpb24gZmxpY2tlcmluZyAod2FpdCBmb3IgYWxsIHNvdXJjZXMgdG8gZW1pdClcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZWR1Y2VBbmltYXRpb24gPSB0b1NpZ25hbChcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmV4cGFuZGVkKSxcbiAgICAgIHRoaXMuX2lzT3ZlcmxhcHBpbmckLFxuICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNDb21wYWN0KSxcbiAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnZpc2libGUpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2V4cGFuZGVkLCBpc092ZXJsYXBwaW5nLCBpc0NvbXBhY3QsIHZpc2libGVdKSA9PlxuICAgICAgICBbZXhwYW5kZWQsICFpc092ZXJsYXBwaW5nLCAhaXNDb21wYWN0LCB2aXNpYmxlXS5ldmVyeShCb29sZWFuKSA/ICdyZWR1Y2VkJyA6ICdmdWxsJ1xuICAgICAgKVxuICAgIClcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudENvbnRhaW5lclBhZGRpbmckID0gdGhpcy5faG9zdENvbXBvbmVudFdpZHRoJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9jb250ZW50Q29udGFpbmVyJC5waXBlKG1hcCh0aGlzLl9nZXRDb250ZW50TGVmdFNpZGVTcGFjZSkpKVxuICApO1xuXG4gIHByaXZhdGUgc3RvcmFnZUtleSA9IGNvbXB1dGVkKCgpID0+IFtzdG9yYWdlS2V5LCB0aGlzLmlkKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCctJykpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldFNpZGUodGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc2V0TWluV2lkdGgodGhpcy5taW4pO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1heFdpZHRoKHRoaXMubWF4KTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRXaWR0aCh0aGlzLndpZHRoKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS51cGRhdGVSZXNpemluZyh0aGlzLl91cGRhdGVTaWRlbmF2RXZlbnQkKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRDb250ZW50Q29udGFpbmVyU3BhY2luZyh0aGlzLl9jb250ZW50Q29udGFpbmVyUGFkZGluZyQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldEV4cGFuZGVkKHRoaXMuZXhwYW5kZWQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1pbk1lbnVEaXN0YW5jZSh0aGlzLm1pbk1lbnVEaXN0YW5jZSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6YWJsZSgpKSB7XG4gICAgICAgICAgY29uc3QgeyB3aWR0aCB9ID0gSlNPTi5wYXJzZSh0aGlzLmxvY2FsU3RvcmFnZS5yZXRyaWV2ZSh0aGlzLnN0b3JhZ2VLZXkoKSkgfHwgJ3t9Jyk7XG4gICAgICAgICAgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMud2lkdGguc2V0KHdpZHRoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXppbmcoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVzaXphYmxlKCkpIHJldHVybjtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zdGFydFJlc2l6aW5nKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwJylcbiAgc3RvcFJlc2l6aW5nKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnN0b3BSZXNpemluZygpO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnN0b3JlKHRoaXMuc3RvcmFnZUtleSgpLCBKU09OLnN0cmluZ2lmeSh7IHdpZHRoOiB0aGlzLnNpZGVuYXZTdG9yZS53aWR0aCgpIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVJY29uKCkge1xuICAgIHJldHVybiAodGhpcy5leHBhbmRlZCgpICYmIHRoaXMucG9zaXRpb24oKSA9PT0gJ2xlZnQnKSB8fCAoIXRoaXMuZXhwYW5kZWQoKSAmJiB0aGlzLnBvc2l0aW9uKCkgPT09ICdyaWdodCcpXG4gICAgICA/IGZhQ2hldnJvbkxlZnRcbiAgICAgIDogZmFDaGV2cm9uUmlnaHQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTWVudSgpIHtcbiAgICBpZiAodGhpcy5zaWRlbmF2U3RvcmUuaGFzTWVudVdpZHRoQ2hhbmdlZCgpICYmIHRoaXMuZXhwYW5kZWQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5leHBhbmRlZCgpID8gdGhpcy5oaWRlTWVudSgpIDogdGhpcy5zaG93TWVudSgpO1xuICB9XG5cbiAgcHVibGljIGhpZGVNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93TWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGNvbnN0IGRpZE9wZW4gPSBldmVudC50b1N0YXRlICE9PSAnaGlkZGVuJztcbiAgICB0aGlzLm1lbnVTdGF0ZS5zZXQoZGlkT3BlbiA/ICdvcGVuJyA6ICdjbG9zZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29udGVudExlZnRTaWRlU3BhY2UoZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBjb25zdCBwYWRkaW5nID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudC5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKTtcbiAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi1sZWZ0Jyk7XG4gICAgcmV0dXJuIHBhcnNlSW50KHBhZGRpbmcsIDEwKSArIHBhcnNlSW50KG1hcmdpbiwgMTApO1xuICB9XG59XG4iLCJAaWYgKHZpc2libGUoKSkge1xuICBAaWYgKGlzQ29tcGFjdCgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImNvbXBhY3QtaGVhZGVyXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbXBhY3RIZWFkZXJDbGFzcygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpcy1mbGV4IGlzLWFsaWduLWl0ZW1zLWZsZXgtc3RhcnQgaXMtanVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4gdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXMtZmxleCBpcy1mbGV4LWdyb3ctMSBpcy1qdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYmV0d2VlbiBpcy1mbGV4LWRpcmVjdGlvbi1jb2x1bW5cIj5cbiAgICAgICAgICAgIEBpZiAoZHJhd2VySGVhZGVyVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlckhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgQGlmIChsaW5rcygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duICNvcHRpb25EZD1cIm5nYkRyb3Bkb3duXCIgY29udGFpbmVyPVwiYm9keVwiIHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb21wYWN0LWhlYWRlci0tYnRuIGJ1dHRvbiBpcy1zbWFsbCBpcy1uby1zaGFkb3dcIlxuICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJkcmF3ZXItbWVudVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIE1lbnVcblxuICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbXBhY3QtaGVhZGVyLS1idG5fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwib3B0aW9uRGQuaXNPcGVuKCkgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBpZD1cImRyYXdlci1tZW51XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnQgbmF2aWdhdGlvbi1tZW51LWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICA8aGUtbmF2aWdhdGlvbi1tZW51IChjbG9zZWQpPVwib3B0aW9uRGQuY2xvc2UoKVwiIFtsaW5rc109XCJsaW5rcygpXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxhc2lkZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzaGVsbF9fbWVudUNvbnRlbnQgfCBoLTEwMFwiXG4gICAgICAgIChAc2lkZU1lbnUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIlxuICAgICAgICBbQHNpZGVNZW51XT1cImV4cGFuZGVkKCkgPyAnZnVsbCcgOiAnaGlkZGVuJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDAgc2hlbGxfX21lbnVDb250ZW50LS1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGRyYXdlckhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VySGVhZGVyVGVtcGxhdGUoKVwiIC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChsaW5rcygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8aGUtbmF2aWdhdGlvbi1tZW51IFtsaW5rc109XCJsaW5rcygpXCI+XG4gICAgICAgICAgICAgIEBpZiAoZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG91dGVyLWNvbnRlbnQgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2hlLW5hdmlnYXRpb24tbWVudT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXppbmcoJGV2ZW50KVwiIGNsYXNzPVwic2hlbGxfX21lbnVDb250ZW50LS10b2dnbGVcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJ0b2dnbGVJY29uKClcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXNpZGU+XG4gIH1cbn1cblxuPGRpdlxuICBbY2xhc3MuaXMtcmVzaXppbmddPVwiaXNIb2xkaW5nVG9nZ2xlKClcIlxuICBbQHJlZHVjZVdpZHRoXT1cInJlZHVjZUFuaW1hdGlvbigpXCJcbiAgY2xhc3M9XCJzaGVsbF9fY29udGVudCB8IGgtMTAwIHctMTAwIGlzLWZsZXggaXMtanVzdGlmeS1jb250ZW50LWZsZXgtZW5kXCI+XG4gIDxkaXZcbiAgICBbY2xhc3MuZGlzYWJsZS1hbmltYXRpb25dPVwiZGlzYWJsZUFuaW1hdGlvbigpXCJcbiAgICBbY2xhc3MuZGlzYWJsZS10cmFuc2Zvcm0teF09XCJoYXNNb2RhbCgpXCJcbiAgICBjbGFzcz1cInNoZWxsX19jb250ZW50LS1ib2R5IHwgdy0xMDBcIj5cbiAgICA8ZGl2ICNjb250ZW50Q29udGFpbmVyIFtjbGFzc05hbWVdPVwiY29udGVudFBhZGRpbmdTdHlsZXMoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RyYXdlci1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWMsTUFB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QUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQS9LVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrdUVBRnhCLENBQUMsWUFBWSxDQUFDLDJIQVFpRCxVQUFVLDZDQy9EdEYscThGQWdGQSwyckZENUNJLGdCQUFnQixvSkFDaEIsZUFBZSw0TUFDZixPQUFPLG1GQUNQLFdBQVcsK0JBQ1gsV0FBVyxvTkFDWCxlQUFlLDhEQUNmLGlCQUFpQixnRUFDakIsdUJBQXVCLDRJQUtiLENBQUMsR0FBRyxzQkFBc0IsRUFBRSxHQUFHLHlCQUF5QixDQUFDOzs0RkFTMUQsd0JBQXdCO2tCQXpCcEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3FCQUN4QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQyxRQUUvRDt3QkFDSixTQUFTLEVBQUUsYUFBYTt3QkFDeEIsd0JBQXdCLEVBQUUsWUFBWTt3QkFDdEMscUJBQXFCLEVBQUUsYUFBYTtxQkFDckMsYUFDVSxDQUFDLFlBQVksQ0FBQzt3REErSXpCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZhSWNvbkNvbXBvbmVudCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhQ2hldnJvbkRvd24sIGZhQ2hldnJvbkxlZnQsIGZhQ2hldnJvblJpZ2h0LCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgdHlwZSB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBvdXRwdXRGcm9tT2JzZXJ2YWJsZSwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBhbmltYXRpb25GcmFtZVNjaGVkdWxlciwgY29tYmluZUxhdGVzdCwgRU1QVFksIGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC13ZWJzdG9yYWdlJztcblxuaW1wb3J0IHsgSEVfUkVEVUNFX1dJRFRIX0FOSU1BVElPTiwgSEVfU0lERV9NRU5VX0FOSU1BVElPTiB9IGZyb20gJy4vZHJhd2VyLWNvbnRhaW5lci5hbmltYXRpb25zJztcbmltcG9ydCB7IHNpZGVuYXZTdG9yZSwgaW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9zaWRlbmF2LnN0b3JlJztcbmltcG9ydCB7IElOYXZpZ2F0aW9uTWVudUxpbmssIE5hdmlnYXRpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1tZW51L25hdmlnYXRpb24tbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZUJyZWFrcG9pbnQsIFJlc3BvbnNpdmVTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzcG9uc2l2ZS5zZXJ2aWNlJztcblxuY29uc3Qgc3RvcmFnZUtleSA9ICdoZS1kcmF3ZXItY29udGFpbmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtZHJhd2VyLWNvbnRhaW5lcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIEZhSWNvbkNvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duLFxuICAgIE5nYkRyb3Bkb3duTWVudSxcbiAgICBOZ2JEcm9wZG93blRvZ2dsZSxcbiAgICBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFsuLi5IRV9TSURFX01FTlVfQU5JTUFUSU9OLCAuLi5IRV9SRURVQ0VfV0lEVEhfQU5JTUFUSU9OXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzXSc6ICdob3N0Q2xhc3MoKScsXG4gICAgJ1thdHRyLmRyYXdlci1wb3NpdGlvbl0nOiAncG9zaXRpb24oKScsXG4gICAgJ1thdHRyLmRyYXdlci1zdGF0ZV0nOiAnbWVudVN0YXRlKCknXG4gIH0sXG4gIHByb3ZpZGVyczogW3NpZGVuYXZTdG9yZV1cbn0pXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTdG9yZSA9IGluamVjdChzaWRlbmF2U3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNpdmVTZXJ2aWNlID0gaW5qZWN0KFJlc3BvbnNpdmVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50Q29udGFpbmVyID0gdmlld0NoaWxkKCdjb250ZW50Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51U3RhdGUgPSBzaWduYWw8J29wZW4nIHwgJ2Nsb3NlJz4oJ2Nsb3NlJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBleHBhbmRlZCA9IHNpZ25hbChpbml0aWFsU3RhdGUuZXhwYW5kZWQpO1xuXG4gIC8qKlxuICAgKiBUaGUgYnJlYWtwb2ludCBhdCB3aGljaCB0aGUgZHJhd2VyIHdpbGwgbm8gbG9uZ2VyIGJlIGNvbXBhY3QuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgYXMgdGhlIHdpZHRoIGluIHBpeGVscy5cbiAgICogSWYgJ25vbmUnIGlzIHByb3ZpZGVkLCB0aGUgZHJhd2VyIHdpbGwgbmV2ZXIgYmUgY29tcGFjdC5cbiAgICogSWYgYSBicmVha3BvaW50IG5hbWUgaXMgcHJvdmlkZWQsIHRoZSBkcmF3ZXIgd2lsbCBiZSBjb21wYWN0IHVudGlsIHRoYXQgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgJ3RhYmxldCcgLSB0aGUgZHJhd2VyIHdpbGwgYmUgY29tcGFjdCB1bnRpbCB0aGUgdGFibGV0IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFjdEJyZWFrcG9pbnQgPSBpbnB1dDxSZXNwb25zaXZlQnJlYWtwb2ludD4oJ3RhYmxldCcpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDwnbGVmdCcgfCAncmlnaHQnPihpbml0aWFsU3RhdGUuc2lkZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtaW4gPSBpbnB1dDxudW1iZXI+KGluaXRpYWxTdGF0ZS5taW5XaWR0aCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCA9IG1vZGVsPG51bWJlcj4oaW5pdGlhbFN0YXRlLndpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1heFdpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc2l6YWJsZSA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudFBhZGRpbmdTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51T3ZlcmxhcCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlua3MgPSBpbnB1dDxJTmF2aWdhdGlvbk1lbnVMaW5rW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlckhlYWRlclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0SGVhZGVyQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzWyduZ0NsYXNzJ10+KG51bGwpO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgbWVudSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbk1lbnVEaXN0YW5jZSA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1pbk1lbnVEaXN0YW5jZSk7XG4gIC8qKlxuICAgKiBHaXZpbmcgYW4gaWQgdG8gdGhlIG1lbnUgc28gdGhhdCBpdCBjYW4gc3RvcmUgdGhlIHJlc2l6ZWQgcG9zaXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbnB1dCgnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm1lbnVTdGF0ZSkucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09ICdvcGVuJyksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0b09ic2VydmFibGUodGhpcy5tZW51U3RhdGUpLnBpcGUoXG4gICAgICBza2lwKDEpLFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlID09PSAnY2xvc2UnKSxcbiAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgIClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFDaGV2cm9uVXAgPSBmYUNoZXZyb25VcDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhQ2hldnJvbkRvd24gPSBmYUNoZXZyb25Eb3duO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbdGhpcy5saW5rcygpPy5sZW5ndGggPiAwLCAhIXRoaXMuZHJhd2VySGVhZGVyVGVtcGxhdGUoKSwgISF0aGlzLmRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXS5zb21lKEJvb2xlYW4pXG4gICk7XG5cbiAgLyoqXG4gICAqIERldGVjdCBzaG93aW5nIG1vZGFsIHdpdGhpbiB0aGUgY29udGVudCBvZiB0aGUgZHJhd2VyIGNvbnRhaW5lciwgd2hpY2ggYnJlYWtzIHRoZSBsYXlvdXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzTW9kYWwgPSB0b1NpZ25hbChcbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbW9kYWwnKS5sZW5ndGggPiAwKVxuICAgIClcbiAgKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVBbmltYXRpb24gPSB0b1NpZ25hbCh0b09ic2VydmFibGUodGhpcy5oYXNNb2RhbCkucGlwZShkZWxheSgxMDAwKSkpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0NvbXBhY3QgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy5jb21wYWN0QnJlYWtwb2ludCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChicmVha3BvaW50ID0+XG4gICAgICAgIHRoaXMucmVzcG9uc2l2ZVNlcnZpY2UuaXNBYm92ZUJyZWFrcG9pbnQkKGJyZWFrcG9pbnQpLnBpcGUobWFwKGlzQWJvdmVCcmVha3BvaW50ID0+ICFpc0Fib3ZlQnJlYWtwb2ludCkpXG4gICAgICApXG4gICAgKVxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdENsYXNzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbJ2lzLWZsZXgnLCB0aGlzLmlzQ29tcGFjdCgpID8gJ2lzLWZsZXgtZGlyZWN0aW9uLWNvbHVtbicgOiAnJywgdGhpcy5yZXNpemFibGUoKSA/ICdpcy1yZXNpemFibGUnIDogJyddLmpvaW4oJyAnKVxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNIb2xkaW5nVG9nZ2xlID0gdGhpcy5zaWRlbmF2U3RvcmUuaXNSZXNpemluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF91cGRhdGVTaWRlbmF2RXZlbnQkID0gdG9PYnNlcnZhYmxlKHRoaXMuc2lkZW5hdlN0b3JlLmlzUmVzaXppbmcpLnBpcGUoXG4gICAgc3dpdGNoTWFwKGxpc3RlbiA9PiAobGlzdGVuID8gKGZyb21FdmVudCh3aW5kb3csICdtb3VzZW1vdmUnKSBhcyBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+KSA6IEVNUFRZKSksXG4gICAgdGhyb3R0bGVUaW1lKDAsIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyKVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50Q29udGFpbmVyJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRDb250YWluZXIpLnBpcGUoZmlsdGVyKHggPT4gISF4KSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hvc3RDb21wb25lbnRXaWR0aCQgPSBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShzdGFydFdpdGgod2luZG93LmlubmVyV2lkdGgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNPdmVybGFwcGluZyQgPSB0b09ic2VydmFibGUodGhpcy5zaWRlbmF2U3RvcmUuaXNNZW51T3ZlcmxhcHBpbmcpO1xuXG4gIC8qKlxuICAgKiB3ZSB1c2UgY29tYmluZUxhdGVzdCBpbnN0ZWFkIG9mIGNvbXB1dGVkIHRvIGF2b2lkIHRoZSBhbmltYXRpb24gZmxpY2tlcmluZyAod2FpdCBmb3IgYWxsIHNvdXJjZXMgdG8gZW1pdClcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZWR1Y2VBbmltYXRpb24gPSB0b1NpZ25hbChcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmV4cGFuZGVkKSxcbiAgICAgIHRoaXMuX2lzT3ZlcmxhcHBpbmckLFxuICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNDb21wYWN0KSxcbiAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnZpc2libGUpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2V4cGFuZGVkLCBpc092ZXJsYXBwaW5nLCBpc0NvbXBhY3QsIHZpc2libGVdKSA9PlxuICAgICAgICBbZXhwYW5kZWQsICFpc092ZXJsYXBwaW5nLCAhaXNDb21wYWN0LCB2aXNpYmxlXS5ldmVyeShCb29sZWFuKSA/ICdyZWR1Y2VkJyA6ICdmdWxsJ1xuICAgICAgKVxuICAgIClcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudENvbnRhaW5lclBhZGRpbmckID0gdGhpcy5faG9zdENvbXBvbmVudFdpZHRoJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9jb250ZW50Q29udGFpbmVyJC5waXBlKG1hcCh0aGlzLl9nZXRDb250ZW50TGVmdFNpZGVTcGFjZSkpKVxuICApO1xuXG4gIHByaXZhdGUgc3RvcmFnZUtleSA9IGNvbXB1dGVkKCgpID0+IFtzdG9yYWdlS2V5LCB0aGlzLmlkKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCctJykpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldFNpZGUodGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc2V0TWluV2lkdGgodGhpcy5taW4pO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1heFdpZHRoKHRoaXMubWF4KTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRXaWR0aCh0aGlzLndpZHRoKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS51cGRhdGVSZXNpemluZyh0aGlzLl91cGRhdGVTaWRlbmF2RXZlbnQkKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRDb250ZW50Q29udGFpbmVyU3BhY2luZyh0aGlzLl9jb250ZW50Q29udGFpbmVyUGFkZGluZyQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldEV4cGFuZGVkKHRoaXMuZXhwYW5kZWQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1pbk1lbnVEaXN0YW5jZSh0aGlzLm1pbk1lbnVEaXN0YW5jZSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6YWJsZSgpKSB7XG4gICAgICAgICAgY29uc3QgeyB3aWR0aCB9ID0gSlNPTi5wYXJzZSh0aGlzLmxvY2FsU3RvcmFnZS5yZXRyaWV2ZSh0aGlzLnN0b3JhZ2VLZXkoKSkgfHwgJ3t9Jyk7XG4gICAgICAgICAgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMud2lkdGguc2V0KHdpZHRoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXppbmcoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVzaXphYmxlKCkpIHJldHVybjtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zdGFydFJlc2l6aW5nKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwJylcbiAgc3RvcFJlc2l6aW5nKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnN0b3BSZXNpemluZygpO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnN0b3JlKHRoaXMuc3RvcmFnZUtleSgpLCBKU09OLnN0cmluZ2lmeSh7IHdpZHRoOiB0aGlzLnNpZGVuYXZTdG9yZS53aWR0aCgpIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVJY29uKCkge1xuICAgIHJldHVybiAodGhpcy5leHBhbmRlZCgpICYmIHRoaXMucG9zaXRpb24oKSA9PT0gJ2xlZnQnKSB8fCAoIXRoaXMuZXhwYW5kZWQoKSAmJiB0aGlzLnBvc2l0aW9uKCkgPT09ICdyaWdodCcpXG4gICAgICA/IGZhQ2hldnJvbkxlZnRcbiAgICAgIDogZmFDaGV2cm9uUmlnaHQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTWVudSgpIHtcbiAgICBpZiAodGhpcy5zaWRlbmF2U3RvcmUuaGFzTWVudVdpZHRoQ2hhbmdlZCgpICYmIHRoaXMuZXhwYW5kZWQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5leHBhbmRlZCgpID8gdGhpcy5oaWRlTWVudSgpIDogdGhpcy5zaG93TWVudSgpO1xuICB9XG5cbiAgcHVibGljIGhpZGVNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93TWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGNvbnN0IGRpZE9wZW4gPSBldmVudC50b1N0YXRlICE9PSAnaGlkZGVuJztcbiAgICB0aGlzLm1lbnVTdGF0ZS5zZXQoZGlkT3BlbiA/ICdvcGVuJyA6ICdjbG9zZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29udGVudExlZnRTaWRlU3BhY2UoZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBjb25zdCBwYWRkaW5nID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudC5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKTtcbiAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi1sZWZ0Jyk7XG4gICAgcmV0dXJuIHBhcnNlSW50KHBhZGRpbmcsIDEwKSArIHBhcnNlSW50KG1hcmdpbiwgMTApO1xuICB9XG59XG4iLCJAaWYgKHZpc2libGUoKSkge1xuICBAaWYgKGlzQ29tcGFjdCgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImNvbXBhY3QtaGVhZGVyXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbXBhY3RIZWFkZXJDbGFzcygpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpcy1mbGV4IGlzLWFsaWduLWl0ZW1zLWZsZXgtc3RhcnQgaXMtanVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4gdy0xMDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXMtZmxleCBpcy1mbGV4LWdyb3ctMSBpcy1qdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYmV0d2VlbiBpcy1mbGV4LWRpcmVjdGlvbi1jb2x1bW5cIj5cbiAgICAgICAgICAgIEBpZiAoZHJhd2VySGVhZGVyVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlckhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgQGlmIChsaW5rcygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duICNvcHRpb25EZD1cIm5nYkRyb3Bkb3duXCIgY29udGFpbmVyPVwiYm9keVwiIHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb21wYWN0LWhlYWRlci0tYnRuIGJ1dHRvbiBpcy1zbWFsbCBpcy1uby1zaGFkb3dcIlxuICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJkcmF3ZXItbWVudVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIE1lbnVcblxuICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbXBhY3QtaGVhZGVyLS1idG5fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgW2ljb25dPVwib3B0aW9uRGQuaXNPcGVuKCkgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBpZD1cImRyYXdlci1tZW51XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnQgbmF2aWdhdGlvbi1tZW51LWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgICA8aGUtbmF2aWdhdGlvbi1tZW51IChjbG9zZWQpPVwib3B0aW9uRGQuY2xvc2UoKVwiIFtsaW5rc109XCJsaW5rcygpXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxhc2lkZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzaGVsbF9fbWVudUNvbnRlbnQgfCBoLTEwMFwiXG4gICAgICAgIChAc2lkZU1lbnUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIlxuICAgICAgICBbQHNpZGVNZW51XT1cImV4cGFuZGVkKCkgPyAnZnVsbCcgOiAnaGlkZGVuJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDAgc2hlbGxfX21lbnVDb250ZW50LS1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGRyYXdlckhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VySGVhZGVyVGVtcGxhdGUoKVwiIC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChsaW5rcygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8aGUtbmF2aWdhdGlvbi1tZW51IFtsaW5rc109XCJsaW5rcygpXCI+XG4gICAgICAgICAgICAgIEBpZiAoZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG91dGVyLWNvbnRlbnQgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2hlLW5hdmlnYXRpb24tbWVudT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXppbmcoJGV2ZW50KVwiIGNsYXNzPVwic2hlbGxfX21lbnVDb250ZW50LS10b2dnbGVcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJ0b2dnbGVJY29uKClcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXNpZGU+XG4gIH1cbn1cblxuPGRpdlxuICBbY2xhc3MuaXMtcmVzaXppbmddPVwiaXNIb2xkaW5nVG9nZ2xlKClcIlxuICBbQHJlZHVjZVdpZHRoXT1cInJlZHVjZUFuaW1hdGlvbigpXCJcbiAgY2xhc3M9XCJzaGVsbF9fY29udGVudCB8IGgtMTAwIHctMTAwIGlzLWZsZXggaXMtanVzdGlmeS1jb250ZW50LWZsZXgtZW5kXCI+XG4gIDxkaXZcbiAgICBbY2xhc3MuZGlzYWJsZS1hbmltYXRpb25dPVwiZGlzYWJsZUFuaW1hdGlvbigpXCJcbiAgICBbY2xhc3MuZGlzYWJsZS10cmFuc2Zvcm0teF09XCJoYXNNb2RhbCgpXCJcbiAgICBjbGFzcz1cInNoZWxsX19jb250ZW50LS1ib2R5IHwgdy0xMDBcIj5cbiAgICA8ZGl2ICNjb250ZW50Q29udGFpbmVyIFtjbGFzc05hbWVdPVwiY29udGVudFBhZGRpbmdTdHlsZXMoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RyYXdlci1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/common/index.mjs
CHANGED
|
@@ -15,6 +15,7 @@ export { BlankNodeStateComponent } from './blank-node-state/blank-node-state.com
|
|
|
15
15
|
export { BlankNodeStateNoticeComponent } from './blank-node-state-notice/blank-node-state-notice.component';
|
|
16
16
|
export { BlankNodeValueDeltaComponent } from './blank-node-value-delta/blank-node-value-delta.component';
|
|
17
17
|
export { ClipboardComponent } from './clipboard/clipboard.component';
|
|
18
|
+
export { CollapsibleBoxComponent } from './collapsible-box/collapsible-box.component';
|
|
18
19
|
export { DataTableComponent } from './data-table/data-table.component';
|
|
19
20
|
export { DrawerContainerComponent } from './drawer-container/drawer-container.component';
|
|
20
21
|
export { IssueConfirmComponent } from './issue-confirm/issue-confirm.component';
|
|
@@ -60,4 +61,4 @@ export { SortByPipe } from './sort-by.pipe';
|
|
|
60
61
|
export * from './sort-select/sort-select.component';
|
|
61
62
|
export { ShelfDialogComponent } from './shelf-dialog/shelf-dialog.component';
|
|
62
63
|
export { NavigationMenuComponent } from './navigation-menu/navigation-menu.component';
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUF1QixNQUFNLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2xvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG91bmQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZDMtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWx0YS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ3MtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBzLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3BsdXJhbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3J4anMtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90aG91c2FuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEJsYW5rTm9kZVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLXN0YXRlL2JsYW5rLW5vZGUtc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7IEJsYW5rTm9kZVN0YXRlTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS9ibGFuay1ub2RlLXN0YXRlLW5vdGljZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmxhbmtOb2RlVmFsdWVEZWx0YUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS12YWx1ZS1kZWx0YS9ibGFuay1ub2RlLXZhbHVlLWRlbHRhLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDbGlwYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQuY29tcG9uZW50JztcbmV4cG9ydCB7IENvbGxhcHNpYmxlQm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1ib3gvY29sbGFwc2libGUtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJhd2VyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3ZXItY29udGFpbmVyL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IElzc3VlQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vaXNzdWUtY29uZmlybS9pc3N1ZS1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBMaW5rS2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBNYXBzRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4vbWFwcy1kcmF3aW5nL21hcHMtZHJhd2luZy5jb21wb25lbnQnO1xuZXhwb3J0IHsgTWFwc0RyYXdpbmdDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9tYXBzLWRyYXdpbmctY29uZmlybS9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2JpbGUtc2hlbGwvbW9iaWxlLXNoZWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tbWVudS9uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUG9wb3ZlckNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29uZmlybS9wb3BvdmVyLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNjaGVtYVZlcnNpb25MaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9zY2hlbWEtdmVyc2lvbi1saW5rL3NjaGVtYS12ZXJzaW9uLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaEV4dGVuZENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWV4dGVuZC9zZWFyY2gtZXh0ZW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsL3NoZWxsLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa2VsZXRvblRleHRDb21wb25lbnQgfSBmcm9tICcuL3NrZWxldG9uLXRleHQvc2tlbGV0b24tdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU29jaWFsVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vc29jaWFsLXRhZ3Mvc29jaWFsLXRhZ3MuY29tcG9uZW50JztcbmV4cG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgVW5pdENvbnZlcnRlckNvbXBvbmVudCB9IGZyb20gJy4vdW5pdC1jb252ZXJ0ZXIvdW5pdC1jb252ZXJ0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEFwcGx5UHVyZVBpcGUgfSBmcm9tICcuL2FwcGx5LXB1cmUucGlwZSc7XG5leHBvcnQgeyBCaW5kT25jZURpcmVjdGl2ZSB9IGZyb20gJy4vYmluZC1vbmNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBDYXBpdGFsaXplUGlwZSB9IGZyb20gJy4vY2FwaXRhbGl6ZS5waXBlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4vY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ29tcG91bmREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvdW5kLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBDb21wb3VuZFBpcGUgfSBmcm9tICcuL2NvbXBvdW5kLnBpcGUnO1xuZXhwb3J0IHsgRGVmYXVsdFBpcGUgfSBmcm9tICcuL2RlZmF1bHQucGlwZSc7XG5leHBvcnQgeyBFbGxpcHNpc1BpcGUgfSBmcm9tICcuL2VsbGlwc2lzLnBpcGUnO1xuZXhwb3J0IHsgRmlsZVNpemVQaXBlIH0gZnJvbSAnLi9maWxlLXNpemUucGlwZSc7XG5leHBvcnQgeyBHZXRQaXBlIH0gZnJvbSAnLi9nZXQucGlwZSc7XG5leHBvcnQgeyBJc0FycmF5UGlwZSB9IGZyb20gJy4vaXMtYXJyYXkucGlwZSc7XG5leHBvcnQgeyBJc09iamVjdFBpcGUgfSBmcm9tICcuL2lzLW9iamVjdC5waXBlJztcbmV4cG9ydCB7IEtleVRvTGFiZWxQaXBlIH0gZnJvbSAnLi9rZXktdG8tbGFiZWwucGlwZSc7XG5leHBvcnQgeyBLZXlzUGlwZSB9IGZyb20gJy4va2V5cy5waXBlJztcbmV4cG9ydCB7IE5vRXh0UGlwZSB9IGZyb20gJy4vbm8tZXh0LnBpcGUnO1xuZXhwb3J0IHsgUGx1cmFsaXplUGlwZSB9IGZyb20gJy4vcGx1cmFsaXplLnBpcGUnO1xuZXhwb3J0IHsgUHJlY2lzaW9uUGlwZSB9IGZyb20gJy4vcHJlY2lzaW9uLnBpcGUnO1xuZXhwb3J0IHsgUmVtb3ZlTWFya2Rvd25QaXBlIH0gZnJvbSAnLi9yZW1vdmUtbWFya2Rvd24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFJlc3BvbnNpdmVTZXJ2aWNlIH0gZnJvbSAnLi9yZXNwb25zaXZlLnNlcnZpY2UnO1xuZXhwb3J0IHsgVGFnc0lucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi90YWdzLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBUaG91c2FuZFN1ZmZpeGVzUGlwZSB9IGZyb20gJy4vdGhvdXNhbmQtc3VmZml4ZXMucGlwZSc7XG5leHBvcnQgeyBUaW1lc1BpcGUgfSBmcm9tICcuL3RpbWVzLnBpcGUnO1xuZXhwb3J0IHsgVW5jYXBpdGFsaXplUGlwZSB9IGZyb20gJy4vdW5jYXBpdGFsaXplLnBpcGUnO1xuZXhwb3J0IHsgU29ydEJ5UGlwZSB9IGZyb20gJy4vc29ydC1ieS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1zZWxlY3Qvc29ydC1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7IFNoZWxmRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zaGVsZi1kaWFsb2cvc2hlbGYtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudCwgSU5hdmlnYXRpb25NZW51TGluayB9IGZyb20gJy4vbmF2aWdhdGlvbi1tZW51L25hdmlnYXRpb24tbWVudS5jb21wb25lbnQnO1xuIl19
|