@churchillliving/se-ui-toolkit 6.53.572 → 6.53.573

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.
@@ -135,11 +135,11 @@ export class CardComponent {
135
135
  this.selectedCard.emit(data);
136
136
  }
137
137
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CardComponent, deps: [{ token: i1.DialogService }, { token: i2.GridService }, { token: i3.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
138
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CardComponent, selector: "se-card", inputs: { data: "data", width: "width", height: "height", card: "card", setCardData: "setCardData" }, outputs: { selectedCard: "selectedCard" }, usesOnChanges: true, ngImport: i0, template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"p-d-flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box p-d-flex p-flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'col-' + card.width\n : 'col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.FormUtilComponent, selector: "se-form-util", inputs: ["stickyActions", "form", "hideSaveButton", "hideCancelButton", "formButtons", "loading", "activeTestMode"], outputs: ["saveForm", "cancelForm", "dropDownChangeEvent", "sectionClickedEvent"] }, { kind: "component", type: i8.fileComponent, selector: "se-file", inputs: ["url", "caption", "width", "height", "id", "name", "type", "allowDownloadFile", "allowEditableCaption", "allowDeleteFile"], outputs: ["onDeleteEvent", "onSaveEvent"] }] }); }
138
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CardComponent, selector: "se-card", inputs: { data: "data", width: "width", height: "height", card: "card", setCardData: "setCardData" }, outputs: { selectedCard: "selectedCard" }, usesOnChanges: true, ngImport: i0, template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"p-d-flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box p-d-flex p-flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'p-col-' + card.width\n : 'p-col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.FormUtilComponent, selector: "se-form-util", inputs: ["stickyActions", "form", "hideSaveButton", "hideCancelButton", "formButtons", "loading", "activeTestMode"], outputs: ["saveForm", "cancelForm", "dropDownChangeEvent", "sectionClickedEvent"] }, { kind: "component", type: i8.fileComponent, selector: "se-file", inputs: ["url", "caption", "width", "height", "id", "name", "type", "allowDownloadFile", "allowEditableCaption", "allowDeleteFile"], outputs: ["onDeleteEvent", "onSaveEvent"] }] }); }
139
139
  }
140
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CardComponent, decorators: [{
141
141
  type: Component,
142
- args: [{ selector: 'se-card', template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"p-d-flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box p-d-flex p-flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'col-' + card.width\n : 'col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"] }]
142
+ args: [{ selector: 'se-card', template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"p-d-flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box p-d-flex p-flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'p-col-' + card.width\n : 'p-col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"] }]
143
143
  }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.GridService }, { type: i3.ConfirmationService }]; }, propDecorators: { selectedCard: [{
144
144
  type: Output
145
145
  }], data: [{
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
153
153
  }], setCardData: [{
154
154
  type: Input
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9jYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sS0FBSyxTQUFTLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLGFBQWE7SUFZeEIsWUFDUyxhQUE0QixFQUMzQixXQUF3QixFQUN4QixtQkFBd0M7UUFGekMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWR4QyxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELGtFQUFrRTtRQUN6RCxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2YsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBSTdCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFPeEIsQ0FBQztJQUVKLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsR0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RELElBQUcsUUFB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QUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN6QyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUI7U0FDRjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUyxFQUFFLEtBQWE7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO2lJQXhJVSxhQUFhO3FIQUFiLGFBQWEscU5DYjFCLGcrREE4REE7OzJGRGpEYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7Z0tBS1QsWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgSUR5bmFtaWNDYXJkLCBJRHluYW1pY0Zvcm0sIElWaWV3Q2FyZFByb3AgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIHV0aWxpdGllcyBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDYXJkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gQE91dHB1dCgpIG9uRGVsZXRlQ2FyZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhcmQ6IGFueTtcbiAgQElucHV0KCkgc2V0Q2FyZERhdGE6IGJvb2xlYW47XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIHNob3dGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5Q2FyZEluZm86IElWaWV3Q2FyZFByb3A7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY2FyZCkge1xuICAgICAgbGV0IHsgZGF0YSwgZm9ybVNlY3Rpb25zLCBjYXJkSW5mbyB9OiBhbnkgPSB0aGlzLmNhcmQ7XG4gICAgICBpZihjYXJkSW5mbyAmJiBPYmplY3Qua2V5cyhjYXJkSW5mbykubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q2FyZEluZm8gPSBjYXJkSW5mbztcbiAgICAgICAgZGF0YSA9IHRoaXMuZ3JpZFNlcnZpY2Uuc2V0RGF0YUZpZWxkcyhkYXRhKTtcbiAgICAgICAgY29uc3QgbmV3QXJyID0gW107XG4gICAgICAgIGRhdGE/LmZvckVhY2goKHJlY29yZCk9PntcbiAgICAgICAgICBpZighT2JqZWN0LmtleXMocmVjb3JkKT8uaW5jbHVkZXMoJ2F6dXJlY29udGFpbmVyaWQnKSl7XG4gICAgICAgICAgICBuZXdBcnIucHVzaCh7Li4ucmVjb3JkLCBibG9iZmlsZXVybDogcmVjb3JkW2NhcmRJbmZvLnVybD8udG9Mb3dlckNhc2UoKV0sIGZpbGVjYXB0aW9uOiByZWNvcmRbY2FyZEluZm8uY2FwdGlvbj8udG9Mb3dlckNhc2UoKV0sIGZpbGVleHRlbnNpb246IHJlY29yZFtjYXJkSW5mby5leHRlbnNpb24/LnRvTG93ZXJDYXNlKCldfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0Fyci5wdXNoKHJlY29yZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhID0gbmV3QXJyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5ncmlkU2VydmljZS5zZXREYXRhRmllbGRzKGRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHsgZm9ybVNlY3Rpb25zIH07XG4gICAgICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RG93bmxvYWQnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dEZWxldGUnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dFZGl0YWJsZUNhcHRpb24nKTtcbiAgICAgIC8vZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24gPSB0aGlzLnNldENhcmRQcm9wVmFsdWUoZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pO1xuICAgICAgLyoqIEluIGNhc2Ugb2Ygd2hlbiB3ZSBhcmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZm9yIHN0YW5kIGFsb25lIHRoZW4gaWYgZm9ybVNlY3Rpb24gaXMgZXhpc3QgaW5cbiAgICAgICAgICB0aGUgdGhpcy5jYXJkIGFuZCB0aGVuIGFkZCBpbiB0aGUgZGF0YSBhcnJheS5cbiAgICAgICovXG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXguZHluYW1pY2Zvcm0pIHtcbiAgICAgICAgICAgIHguZHluYW1pY2Zvcm0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHluYW1pY0Zvcm0pKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXRpbGl0aWVzLnNldENhcmRGaWVsZHNEYXRhKHgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gIHNldENhcmRQcm9wVmFsdWUocHJvcDpzdHJpbmcpe1xuICAgaWYoIXRoaXMuY2FyZFtwcm9wXT8udG9TdHJpbmcoKT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNhcmRbcHJvcF09IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJhZ0FuZERyb3AoZXZlbnQ6IGFueSkge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgZXZlbnQuaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmNhcmQuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICB0aGlzLmNhcmRbJ2NoYW5nZSddID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vblNvcnQpIHtcbiAgICAgIHRoaXMuY2FyZC5vblNvcnQodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVJbWFnZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgbWVzc2FnZTogJ0FyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIEltYWdlPycsXG4gICAgICBoZWFkZXI6ICdEZWxldGUgQ29uZmlybWF0aW9uJyxcbiAgICAgIGljb246ICdwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZScsXG4gICAgICBrZXk6ICdoYW5kbGVjb2x1bW5BY3Rpb25zJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhICYmIGV2ZW50KSB7XG4gICAgICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gYXJyLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybFxuICAgICAgICAgICk7XG4gICAgICAgICAgbGV0IG9iaiA9IGFycltpbmRleF07XG4gICAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy5kYXRhID0gWy4uLmFycl07XG5cbiAgICAgICAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vbkRlbGV0ZSkge1xuICAgICAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZC5vbkRlbGV0ZShvYmopO1xuICAgICAgICAgICAgLy8gdGhpcy5vbkRlbGV0ZUNhcmQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xvc2UoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZVByb3BOYW1lKGNhcmRJbmZvOmFueSl7XG4gICAgaWYodGhpcy5kaXNwbGF5Q2FyZEluZm8gJiYgT2JqZWN0LmtleXModGhpcy5kaXNwbGF5Q2FyZEluZm8pLmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgY2FyZFByb3AgPSB7Li4udGhpcy5kaXNwbGF5Q2FyZEluZm99O1xuICAgICAgY29uc3Qgb2JqID0gey4uLmNhcmRJbmZvLFtjYXJkUHJvcC51cmxdOiBjYXJkSW5mby5ibG9iZmlsZXVybCxbY2FyZFByb3AuY2FwdGlvbl06IGNhcmRJbmZvLmZpbGVjYXB0aW9uLFtjYXJkUHJvcC5leHRlbnNpb25dOiBjYXJkSW5mby5maWxlZXh0ZW5zaW9ufTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYXJkSW5mbztcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FwdGlvbihldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgY29uc3QgaW5kZXggPSBhcnIuZmluZEluZGV4KChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybCk7XG4gICAgICBsZXQgb2JqID0gYXJyW2luZGV4XTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb2JqLmZpbGVjYXB0aW9uID0gZXZlbnQuY2FwdGlvbjtcbiAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSwgb2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLmRhdGEgPSBhcnI7XG4gICAgICAgIHRoaXMuY2FyZFsnY2hhbmdlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQ/Lm9uQ2FwdGlvblNhdmUpIHtcbiAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLm9uQ2FwdGlvblNhdmUob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNsaWNrRXZlbnQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKXtcbiAgICBkYXRhWydpbmRleCddID0gaW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZENhcmQuZW1pdChkYXRhKTtcbiAgfVxuXG59XG4iLCI8IS0tIERpc3BsYXkgRmlsZXMgQ2FyZCAtLT5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiaGFuZGxlY29sdW1uQWN0aW9uc1wiPjwvcC1jb25maXJtRGlhbG9nPlxuPGRpdlxuICBjZGtEcm9wTGlzdFxuICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gIGNsYXNzPVwiZXhhbXBsZS1saXN0XCJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcmFnQW5kRHJvcCgkZXZlbnQpXCJcbj5cbiAgPGRpdiBcbiAgY2xhc3M9XCJwLWQtZmxleCBjYXJkcy13cmFwcGVyXCIgXG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9XCIgXG4gICpuZ0lmPVwiZGF0YVwiIFxuICBbY2xhc3NdPVwiY2FyZCAmJiBjYXJkLmNsYXNzID8gY2FyZC5jbGFzcyA6ICcnXCI+XG4gICAgPGRpdlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2xhc3M9XCJleGFtcGxlLWJveCBwLWQtZmxleCBwLWZsZXgtY29sdW1uIGNhcmRzLXdyYXBwZXJcIlxuICAgICAgW2NsYXNzXT1cIlxuICAgICAgICBjYXJkICYmIGNhcmQud2lkdGggJiYgY2FyZC53aWR0aC5sZW5ndGggPiAwXG4gICAgICAgICAgPyAnY29sLScgKyBjYXJkLndpZHRoXG4gICAgICAgICAgOiAnY29sLTMnXG4gICAgICBcIlxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgZGF0YTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAoY2xpY2spPVwib25DbGlja0V2ZW50KGZpbGUsaSlcIlxuICAgICAgW25nQ2xhc3NdPVwiZmlsZS5zZWxlY3RlZENhcmQgPyBmaWxlLnNlbGVjdGVkQ2FyZCA6ICcnXCJcbiAgICA+XG4gICAgICA8IS0tIHN0YXJ0IGNhcmRzIGltYWdlIGZ1bmN0aW9uYWxpdHkgLS0+XG4gICAgICA8c2UtZmlsZVxuICAgICAgICBbdXJsXT1cImZpbGUuYmxvYmZpbGV1cmxcIlxuICAgICAgICBbdHlwZV09XCJmaWxlLmZpbGVleHRlbnNpb25cIlxuICAgICAgICBbY2FwdGlvbl09XCJmaWxlPy5maWxlY2FwdGlvblwiXG4gICAgICAgIFtoZWlnaHRdPVwiY2FyZD8uaGVpZ2h0XCJcbiAgICAgICAgW2FsbG93RG93bmxvYWRGaWxlXT1cImNhcmQ/LmFsbG93RG93bmxvYWRcIlxuICAgICAgICBbYWxsb3dFZGl0YWJsZUNhcHRpb25dPVwiY2FyZD8uYWxsb3dFZGl0YWJsZUNhcHRpb25cIlxuICAgICAgICBbYWxsb3dEZWxldGVGaWxlXT1cImNhcmQ/LmFsbG93RGVsZXRlXCJcbiAgICAgICAgW25hbWVdPVwiZmlsZS5ibG9iZmlsZXVybFwiXG4gICAgICAgIFtpZF09XCJmaWxlLmZpbGVleHRlbnNpb25cIlxuICAgICAgICAob25EZWxldGVFdmVudCk9XCJkZWxldGVJbWFnZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2F2ZUV2ZW50KT1cInNhdmVDYXB0aW9uKCRldmVudClcIlxuICAgICAgPjwvc2UtZmlsZT5cbiAgICAgIDwhLS0gRW5kIGNhcmRzIGltYWdlIGZ1bmN0aW9uYWxpdHkgLS0+XG5cbiAgICAgIDwhLS0gc3RhcnQgZm9ybSBmdW5jdGlvbmFsaXR5IGluIGNhcmQgLS0+XG4gICAgICA8c2UtZm9ybS11dGlsXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250ZW50XCJcbiAgICAgICAgW2Zvcm1dPVwiZmlsZS5keW5hbWljZm9ybVwiXG4gICAgICAgIFtoaWRlU2F2ZUJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4gICAgICA+PC9zZS1mb3JtLXV0aWw+XG4gICAgICA8IS0tIEVuZCBmb3JtIGZ1bmN0aW9uYWxpdHkgaW4gY2FyZCAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBpbiBjYXNlIG9mIGZvcm0gYW5kIGRhdGEgaXMgZW1wdHkgb3IgbnVsbCAtLT5cbiAgPGRpdiAqbmdJZj1cImR5bmFtaWNGb3JtICYmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA9PSAwKVwiPlxuICAgIDxzZS1mb3JtLXV0aWxcbiAgICAgICpuZ0lmPVwiZHluYW1pY0Zvcm1cIlxuICAgICAgW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuICAgICAgW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4gICAgPjwvc2UtZm9ybS11dGlsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9jYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sS0FBSyxTQUFTLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7QUFRakUsTUFBTSxPQUFPLGFBQWE7SUFZeEIsWUFDUyxhQUE0QixFQUMzQixXQUF3QixFQUN4QixtQkFBd0M7UUFGekMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWR4QyxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELGtFQUFrRTtRQUN6RCxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2YsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBSTdCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFPeEIsQ0FBQztJQUVKLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsR0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RELElBQUcsUUFB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QUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN6QyxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUI7U0FDRjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsSUFBUyxFQUFFLEtBQWE7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO2lJQXhJVSxhQUFhO3FIQUFiLGFBQWEscU5DYjFCLG8rREE4REE7OzJGRGpEYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7Z0tBS1QsWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgSUR5bmFtaWNDYXJkLCBJRHluYW1pY0Zvcm0sIElWaWV3Q2FyZFByb3AgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIHV0aWxpdGllcyBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDYXJkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gQE91dHB1dCgpIG9uRGVsZXRlQ2FyZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhcmQ6IGFueTtcbiAgQElucHV0KCkgc2V0Q2FyZERhdGE6IGJvb2xlYW47XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIHNob3dGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5Q2FyZEluZm86IElWaWV3Q2FyZFByb3A7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY2FyZCkge1xuICAgICAgbGV0IHsgZGF0YSwgZm9ybVNlY3Rpb25zLCBjYXJkSW5mbyB9OiBhbnkgPSB0aGlzLmNhcmQ7XG4gICAgICBpZihjYXJkSW5mbyAmJiBPYmplY3Qua2V5cyhjYXJkSW5mbykubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q2FyZEluZm8gPSBjYXJkSW5mbztcbiAgICAgICAgZGF0YSA9IHRoaXMuZ3JpZFNlcnZpY2Uuc2V0RGF0YUZpZWxkcyhkYXRhKTtcbiAgICAgICAgY29uc3QgbmV3QXJyID0gW107XG4gICAgICAgIGRhdGE/LmZvckVhY2goKHJlY29yZCk9PntcbiAgICAgICAgICBpZighT2JqZWN0LmtleXMocmVjb3JkKT8uaW5jbHVkZXMoJ2F6dXJlY29udGFpbmVyaWQnKSl7XG4gICAgICAgICAgICBuZXdBcnIucHVzaCh7Li4ucmVjb3JkLCBibG9iZmlsZXVybDogcmVjb3JkW2NhcmRJbmZvLnVybD8udG9Mb3dlckNhc2UoKV0sIGZpbGVjYXB0aW9uOiByZWNvcmRbY2FyZEluZm8uY2FwdGlvbj8udG9Mb3dlckNhc2UoKV0sIGZpbGVleHRlbnNpb246IHJlY29yZFtjYXJkSW5mby5leHRlbnNpb24/LnRvTG93ZXJDYXNlKCldfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0Fyci5wdXNoKHJlY29yZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kYXRhID0gbmV3QXJyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5ncmlkU2VydmljZS5zZXREYXRhRmllbGRzKGRhdGEpO1xuICAgICAgfVxuICAgICAgdGhpcy5keW5hbWljRm9ybSA9IHsgZm9ybVNlY3Rpb25zIH07XG4gICAgICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RG93bmxvYWQnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dEZWxldGUnKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFByb3BWYWx1ZSgnYWxsb3dFZGl0YWJsZUNhcHRpb24nKTtcbiAgICAgIC8vZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24gPSB0aGlzLnNldENhcmRQcm9wVmFsdWUoZmlsZXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pO1xuICAgICAgLyoqIEluIGNhc2Ugb2Ygd2hlbiB3ZSBhcmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZm9yIHN0YW5kIGFsb25lIHRoZW4gaWYgZm9ybVNlY3Rpb24gaXMgZXhpc3QgaW5cbiAgICAgICAgICB0aGUgdGhpcy5jYXJkIGFuZCB0aGVuIGFkZCBpbiB0aGUgZGF0YSBhcnJheS5cbiAgICAgICovXG4gICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKCh4OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoIXguZHluYW1pY2Zvcm0pIHtcbiAgICAgICAgICAgIHguZHluYW1pY2Zvcm0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZHluYW1pY0Zvcm0pKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdXRpbGl0aWVzLnNldENhcmRGaWVsZHNEYXRhKHgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxsb3dEZWxldGUsIGFsbG93RWRpdGFibGVDYXB0aW9uIGFuZCBhbGxvd0Rvd25sb2FkXG4gIHNldENhcmRQcm9wVmFsdWUocHJvcDpzdHJpbmcpe1xuICAgaWYoIXRoaXMuY2FyZFtwcm9wXT8udG9TdHJpbmcoKT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNhcmRbcHJvcF09IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJhZ0FuZERyb3AoZXZlbnQ6IGFueSkge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmRhdGEsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgZXZlbnQuaXRlbT8uZWxlbWVudD8ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmNhcmQuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICB0aGlzLmNhcmRbJ2NoYW5nZSddID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vblNvcnQpIHtcbiAgICAgIHRoaXMuY2FyZC5vblNvcnQodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVJbWFnZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgbWVzc2FnZTogJ0FyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIEltYWdlPycsXG4gICAgICBoZWFkZXI6ICdEZWxldGUgQ29uZmlybWF0aW9uJyxcbiAgICAgIGljb246ICdwaSBwaS1leGNsYW1hdGlvbi10cmlhbmdsZScsXG4gICAgICBrZXk6ICdoYW5kbGVjb2x1bW5BY3Rpb25zJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhICYmIGV2ZW50KSB7XG4gICAgICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgICAgIGNvbnN0IGluZGV4ID0gYXJyLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybFxuICAgICAgICAgICk7XG4gICAgICAgICAgbGV0IG9iaiA9IGFycltpbmRleF07XG4gICAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgdGhpcy5kYXRhID0gWy4uLmFycl07XG5cbiAgICAgICAgICBpZiAodGhpcy5jYXJkICYmIHRoaXMuY2FyZC5vbkRlbGV0ZSkge1xuICAgICAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZC5vbkRlbGV0ZShvYmopO1xuICAgICAgICAgICAgLy8gdGhpcy5vbkRlbGV0ZUNhcmQuZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY2xvc2UoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmVwbGFjZVByb3BOYW1lKGNhcmRJbmZvOmFueSl7XG4gICAgaWYodGhpcy5kaXNwbGF5Q2FyZEluZm8gJiYgT2JqZWN0LmtleXModGhpcy5kaXNwbGF5Q2FyZEluZm8pLmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgY2FyZFByb3AgPSB7Li4udGhpcy5kaXNwbGF5Q2FyZEluZm99O1xuICAgICAgY29uc3Qgb2JqID0gey4uLmNhcmRJbmZvLFtjYXJkUHJvcC51cmxdOiBjYXJkSW5mby5ibG9iZmlsZXVybCxbY2FyZFByb3AuY2FwdGlvbl06IGNhcmRJbmZvLmZpbGVjYXB0aW9uLFtjYXJkUHJvcC5leHRlbnNpb25dOiBjYXJkSW5mby5maWxlZXh0ZW5zaW9ufTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYXJkSW5mbztcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FwdGlvbihldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgY29uc3QgaW5kZXggPSBhcnIuZmluZEluZGV4KChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybCk7XG4gICAgICBsZXQgb2JqID0gYXJyW2luZGV4XTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb2JqLmZpbGVjYXB0aW9uID0gZXZlbnQuY2FwdGlvbjtcbiAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSwgb2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLmRhdGEgPSBhcnI7XG4gICAgICAgIHRoaXMuY2FyZFsnY2hhbmdlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQ/Lm9uQ2FwdGlvblNhdmUpIHtcbiAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLm9uQ2FwdGlvblNhdmUob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNsaWNrRXZlbnQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKXtcbiAgICBkYXRhWydpbmRleCddID0gaW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZENhcmQuZW1pdChkYXRhKTtcbiAgfVxuXG59XG4iLCI8IS0tIERpc3BsYXkgRmlsZXMgQ2FyZCAtLT5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiaGFuZGxlY29sdW1uQWN0aW9uc1wiPjwvcC1jb25maXJtRGlhbG9nPlxuPGRpdlxuICBjZGtEcm9wTGlzdFxuICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gIGNsYXNzPVwiZXhhbXBsZS1saXN0XCJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcmFnQW5kRHJvcCgkZXZlbnQpXCJcbj5cbiAgPGRpdiBcbiAgY2xhc3M9XCJwLWQtZmxleCBjYXJkcy13cmFwcGVyXCIgXG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9XCIgXG4gICpuZ0lmPVwiZGF0YVwiIFxuICBbY2xhc3NdPVwiY2FyZCAmJiBjYXJkLmNsYXNzID8gY2FyZC5jbGFzcyA6ICcnXCI+XG4gICAgPGRpdlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2xhc3M9XCJleGFtcGxlLWJveCBwLWQtZmxleCBwLWZsZXgtY29sdW1uIGNhcmRzLXdyYXBwZXJcIlxuICAgICAgW2NsYXNzXT1cIlxuICAgICAgICBjYXJkICYmIGNhcmQud2lkdGggJiYgY2FyZC53aWR0aC5sZW5ndGggPiAwXG4gICAgICAgICAgPyAncC1jb2wtJyArIGNhcmQud2lkdGhcbiAgICAgICAgICA6ICdwLWNvbC0zJ1xuICAgICAgXCJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRhdGE7IGxldCBpID0gaW5kZXhcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tFdmVudChmaWxlLGkpXCJcbiAgICAgIFtuZ0NsYXNzXT1cImZpbGUuc2VsZWN0ZWRDYXJkID8gZmlsZS5zZWxlY3RlZENhcmQgOiAnJ1wiXG4gICAgPlxuICAgICAgPCEtLSBzdGFydCBjYXJkcyBpbWFnZSBmdW5jdGlvbmFsaXR5IC0tPlxuICAgICAgPHNlLWZpbGVcbiAgICAgICAgW3VybF09XCJmaWxlLmJsb2JmaWxldXJsXCJcbiAgICAgICAgW3R5cGVdPVwiZmlsZS5maWxlZXh0ZW5zaW9uXCJcbiAgICAgICAgW2NhcHRpb25dPVwiZmlsZT8uZmlsZWNhcHRpb25cIlxuICAgICAgICBbaGVpZ2h0XT1cImNhcmQ/LmhlaWdodFwiXG4gICAgICAgIFthbGxvd0Rvd25sb2FkRmlsZV09XCJjYXJkPy5hbGxvd0Rvd25sb2FkXCJcbiAgICAgICAgW2FsbG93RWRpdGFibGVDYXB0aW9uXT1cImNhcmQ/LmFsbG93RWRpdGFibGVDYXB0aW9uXCJcbiAgICAgICAgW2FsbG93RGVsZXRlRmlsZV09XCJjYXJkPy5hbGxvd0RlbGV0ZVwiXG4gICAgICAgIFtuYW1lXT1cImZpbGUuYmxvYmZpbGV1cmxcIlxuICAgICAgICBbaWRdPVwiZmlsZS5maWxlZXh0ZW5zaW9uXCJcbiAgICAgICAgKG9uRGVsZXRlRXZlbnQpPVwiZGVsZXRlSW1hZ2UoJGV2ZW50KVwiXG4gICAgICAgIChvblNhdmVFdmVudCk9XCJzYXZlQ2FwdGlvbigkZXZlbnQpXCJcbiAgICAgID48L3NlLWZpbGU+XG4gICAgICA8IS0tIEVuZCBjYXJkcyBpbWFnZSBmdW5jdGlvbmFsaXR5IC0tPlxuXG4gICAgICA8IS0tIHN0YXJ0IGZvcm0gZnVuY3Rpb25hbGl0eSBpbiBjYXJkIC0tPlxuICAgICAgPHNlLWZvcm0tdXRpbFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udGVudFwiXG4gICAgICAgIFtmb3JtXT1cImZpbGUuZHluYW1pY2Zvcm1cIlxuICAgICAgICBbaGlkZVNhdmVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgIFtoaWRlQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuICAgICAgPjwvc2UtZm9ybS11dGlsPlxuICAgICAgPCEtLSBFbmQgZm9ybSBmdW5jdGlvbmFsaXR5IGluIGNhcmQgLS0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gaW4gY2FzZSBvZiBmb3JtIGFuZCBkYXRhIGlzIGVtcHR5IG9yIG51bGwgLS0+XG4gIDxkaXYgKm5nSWY9XCJkeW5hbWljRm9ybSAmJiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggPT0gMClcIj5cbiAgICA8c2UtZm9ybS11dGlsXG4gICAgICAqbmdJZj1cImR5bmFtaWNGb3JtXCJcbiAgICAgIFtmb3JtXT1cImR5bmFtaWNGb3JtXCJcbiAgICAgIFtoaWRlU2F2ZUJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgIFtoaWRlQ2FuY2VsQnV0dG9uXT1cInRydWVcIlxuICAgID48L3NlLWZvcm0tdXRpbD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -92,11 +92,11 @@ export class fileComponent {
92
92
  this.editableCaption = false;
93
93
  }
94
94
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: fileComponent, deps: [{ token: i1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
95
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: fileComponent, selector: "se-file", inputs: { url: "url", caption: "caption", width: "width", height: "height", id: "id", name: "name", type: "type", allowDownloadFile: "allowDownloadFile", allowEditableCaption: "allowEditableCaption", allowDeleteFile: "allowDeleteFile" }, outputs: { onDeleteEvent: "onDeleteEvent", onSaveEvent: "onSaveEvent" }, ngImport: i0, template: "<div class=\"p-d-flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'col-' + width : 'col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"p-d-flex p-flex-column p-ai-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i5.InputText, selector: "[pInputText]" }, { kind: "component", type: i6.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }] }); }
95
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: fileComponent, selector: "se-file", inputs: { url: "url", caption: "caption", width: "width", height: "height", id: "id", name: "name", type: "type", allowDownloadFile: "allowDownloadFile", allowEditableCaption: "allowEditableCaption", allowDeleteFile: "allowDeleteFile" }, outputs: { onDeleteEvent: "onDeleteEvent", onSaveEvent: "onSaveEvent" }, ngImport: i0, template: "<div class=\"p-d-flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'p-col-' + width : 'p-col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"p-d-flex p-flex-column p-ai-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i5.InputText, selector: "[pInputText]" }, { kind: "component", type: i6.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }] }); }
96
96
  }
97
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: fileComponent, decorators: [{
98
98
  type: Component,
99
- args: [{ selector: 'se-file', template: "<div class=\"p-d-flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'col-' + width : 'col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"p-d-flex p-flex-column p-ai-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
99
+ args: [{ selector: 'se-file', template: "<div class=\"p-d-flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'p-col-' + width : 'p-col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"p-d-flex p-flex-column p-ai-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
100
100
  }], ctorParameters: function () { return [{ type: i1.ConfirmationService }]; }, propDecorators: { url: [{
101
101
  type: Input
102
102
  }], caption: [{
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
122
122
  }], allowDeleteFile: [{
123
123
  type: Input
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLGFBQWE7SUFleEIsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFkbkQsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUN4QixrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3pDLG9CQUFlLEdBQVksS0FBSyxDQUFDO0lBRThCLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pC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QWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRVNlbGVjdEZpbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIGZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1cmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG4gIEBPdXRwdXQoKSBvbkRlbGV0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU2F2ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHR5cGU6IGFueTtcbiAgQElucHV0KCkgYWxsb3dEb3dubG9hZEZpbGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd0VkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93RGVsZXRlRmlsZTogYm9vbGVhbiA9IHRydWU7XG4gIGVkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrRmlsZUV4dGVuc2lvbigpO1xuICB9XG5cbiAgY2hlY2tGaWxlRXh0ZW5zaW9uKCkge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICBjYXNlICdqZmlmJzpcbiAgICAgIGNhc2UgJ2pwZyc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gJy5pbWFnZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAneGxzeCc6XG4gICAgICBjYXNlICd4bHMnOlxuICAgICAgY2FzZSAneGxzbSc6XG4gICAgICBjYXNlICd0eHQnOiB7XG4gICAgICAgIHRoaXMudHlwZSA9IEVTZWxlY3RGaWxlVHlwZS5FWENFTDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwZGYnOlxuICAgICAgY2FzZSAnaHRtbCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLlBERjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdkb2MnOlxuICAgICAgY2FzZSAnZG9jeCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLkRPQ1VNRU5UO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgbGluay5jbGljaygpO1xuICB9XG5cbiAgY2FwdGlvbkNsaWNrRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pIHtcbiAgICAgIHRoaXMuZWRpdGFibGVDYXB0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBjYXB0aW9uU2F2ZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgaWYoY2FwdGlvbiAhPT0gbnVsbCl7XG4gICAgICB0aGlzLmNhcHRpb24gPSBjYXB0aW9uO1xuICAgICAgdGhpcy5lZGl0YWJsZUNhcHRpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMub25TYXZlRXZlbnQuZW1pdChvYmopO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVsZXRlRmlsZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgdGhpcy5vbkRlbGV0ZUV2ZW50LmVtaXQob2JqKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmVkaXRhYmxlQ2FwdGlvbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1kLWZsZXggY2FyZHMtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJleGFtcGxlLWJveFwiXG4gICAgW2NsYXNzXT1cIndpZHRoICYmIHdpZHRoLmxlbmd0aCA+IDAgPyAnY29sLScgKyB3aWR0aCA6ICdjb2wtMTInXCJcbiAgPlxuICAgIDxwLWNhcmQgY2xhc3M9XCJjdXN0b20tY2FyZFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBTdGFydCBpbWFnZSBmaWxlIHR5cGUgY2FzZXMgLS0+XG4gICAgICAgIDxkaXYgW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBhbHQ9XCJJbWFnZUNhcmRcIlxuICAgICAgICAgICAgW3NyY109XCJ1cmxcIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIicuaW1hZ2UnXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgfVwiXG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGFsdD1cIkltYWdlQ2FyZFwiXG4gICAgICAgICAgICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3BkZi1maWxlLnBuZ1wiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJy5wZGYnXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBhbHQ9XCJJbWFnZUNhcmRcIlxuICAgICAgICAgICAgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy94bHMucG5nXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInLmV4Y2VsJ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0IH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiSW1hZ2VDYXJkXCJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvZG9jLnBuZ1wiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJy5kb2N1bWVudCdcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBFbmQgaW1hZ2UgZmlsZSB0eXBlIGNhc2VzIC0tPlxuXG4gICAgICAgIDwhLS0gc3RhcnQgY2FwdGlvbiBmdW5jdGlvbmFsaXR5LS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LWNhcHRpb25cIj5cbiAgICAgICAgICA8aDRcbiAgICAgICAgICAgIGNsYXNzPVwiZXhhbXBsZS1ib3hcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcHRpb25DbGlja0V2ZW50KClcIlxuICAgICAgICAgICAgW3RpdGxlXT1cImNhcHRpb25cIlxuICAgICAgICAgICAgKm5nSWY9XCIhZWRpdGFibGVDYXB0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBjYXB0aW9uIH19XG4gICAgICAgICAgPC9oND5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwLWQtZmxleCBwLWZsZXgtY29sdW1uIHAtYWktZW5kXCIgXG4gICAgICAgICAgKm5nSWY9XCJlZGl0YWJsZUNhcHRpb24gJiYgYWxsb3dFZGl0YWJsZUNhcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjYXB0aW9uXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYXB0aW9uXCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgICAoYmx1cik9XCJjYXB0aW9uU2F2ZShpZCwgbmFtZSwgdXJsLCB0eXBlLCBjYXB0aW9uKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25zXCI+XG4gICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwaSBwaS1jaGVja1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhcHRpb25TYXZlKGlkLCBuYW1lLCB1cmwsIHR5cGUsIGNhcHRpb24pXCJcbiAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIChjbGljayk9XCJjYW5jZWwoKVwiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gRW5kIGNhcHRpb24gZnVuY3Rpb25hbGl0eS0tPlxuXG4gICAgICAgICAgPCEtLSBzdGFydCBoZWFkZXIgYWN0aW9uIGJ1dHRvbiBmdW5jdGlvbmFsaXR5IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktYXJyb3ctY2lyY2xlLWRvd25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRGaWxlKHVybClcIlxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dEb3dubG9hZEZpbGVcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktdHJhc2hcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGVGaWxlKGlkLCBuYW1lLCB1cmwsIHR5cGUsIGNhcHRpb24pXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93RGVsZXRlRmlsZVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBFbmQgaGVhZGVyIGFjdGlvbiBidXR0b24gZnVuY3Rpb25hbGl0eSAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3AtY2FyZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLGFBQWE7SUFleEIsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFkbkQsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUN4QixrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3pDLG9CQUFlLEdBQVksS0FBSyxDQUFDO0lBRThCLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pC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QWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRVNlbGVjdEZpbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIGZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1cmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG4gIEBPdXRwdXQoKSBvbkRlbGV0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU2F2ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHR5cGU6IGFueTtcbiAgQElucHV0KCkgYWxsb3dEb3dubG9hZEZpbGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd0VkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93RGVsZXRlRmlsZTogYm9vbGVhbiA9IHRydWU7XG4gIGVkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrRmlsZUV4dGVuc2lvbigpO1xuICB9XG5cbiAgY2hlY2tGaWxlRXh0ZW5zaW9uKCkge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICBjYXNlICdqZmlmJzpcbiAgICAgIGNhc2UgJ2pwZyc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gJy5pbWFnZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAneGxzeCc6XG4gICAgICBjYXNlICd4bHMnOlxuICAgICAgY2FzZSAneGxzbSc6XG4gICAgICBjYXNlICd0eHQnOiB7XG4gICAgICAgIHRoaXMudHlwZSA9IEVTZWxlY3RGaWxlVHlwZS5FWENFTDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwZGYnOlxuICAgICAgY2FzZSAnaHRtbCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLlBERjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdkb2MnOlxuICAgICAgY2FzZSAnZG9jeCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLkRPQ1VNRU5UO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgbGluay5jbGljaygpO1xuICB9XG5cbiAgY2FwdGlvbkNsaWNrRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pIHtcbiAgICAgIHRoaXMuZWRpdGFibGVDYXB0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBjYXB0aW9uU2F2ZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgaWYoY2FwdGlvbiAhPT0gbnVsbCl7XG4gICAgICB0aGlzLmNhcHRpb24gPSBjYXB0aW9uO1xuICAgICAgdGhpcy5lZGl0YWJsZUNhcHRpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMub25TYXZlRXZlbnQuZW1pdChvYmopO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVsZXRlRmlsZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgdGhpcy5vbkRlbGV0ZUV2ZW50LmVtaXQob2JqKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmVkaXRhYmxlQ2FwdGlvbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1kLWZsZXggY2FyZHMtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJleGFtcGxlLWJveFwiXG4gICAgW2NsYXNzXT1cIndpZHRoICYmIHdpZHRoLmxlbmd0aCA+IDAgPyAncC1jb2wtJyArIHdpZHRoIDogJ3AtY29sLTEyJ1wiXG4gID5cbiAgICA8cC1jYXJkIGNsYXNzPVwiY3VzdG9tLWNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS13cmFwcGVyXCI+XG4gICAgICAgIDwhLS0gU3RhcnQgaW1hZ2UgZmlsZSB0eXBlIGNhc2VzIC0tPlxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiSW1hZ2VDYXJkXCJcbiAgICAgICAgICAgIFtzcmNdPVwidXJsXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInLmltYWdlJ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0IH1cIlxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBhbHQ9XCJJbWFnZUNhcmRcIlxuICAgICAgICAgICAgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9wZGYtZmlsZS5wbmdcIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIicucGRmJ1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0IH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiSW1hZ2VDYXJkXCJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMveGxzLnBuZ1wiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJy5leGNlbCdcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGFsdD1cIkltYWdlQ2FyZFwiXG4gICAgICAgICAgICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2RvYy5wbmdcIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIicuZG9jdW1lbnQnXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gRW5kIGltYWdlIGZpbGUgdHlwZSBjYXNlcyAtLT5cblxuICAgICAgICA8IS0tIHN0YXJ0IGNhcHRpb24gZnVuY3Rpb25hbGl0eS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdC1jYXB0aW9uXCI+XG4gICAgICAgICAgPGg0XG4gICAgICAgICAgICBjbGFzcz1cImV4YW1wbGUtYm94XCJcbiAgICAgICAgICAgIChjbGljayk9XCJjYXB0aW9uQ2xpY2tFdmVudCgpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJjYXB0aW9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWVkaXRhYmxlQ2FwdGlvblwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgY2FwdGlvbiB9fVxuICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicC1kLWZsZXggcC1mbGV4LWNvbHVtbiBwLWFpLWVuZFwiIFxuICAgICAgICAgICpuZ0lmPVwiZWRpdGFibGVDYXB0aW9uICYmIGFsbG93RWRpdGFibGVDYXB0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBuYW1lPVwiY2FwdGlvblwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FwdGlvblwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgKGJsdXIpPVwiY2FwdGlvblNhdmUoaWQsIG5hbWUsIHVybCwgdHlwZSwgY2FwdGlvbilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uc1wiPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicGkgcGktY2hlY2tcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXB0aW9uU2F2ZShpZCwgbmFtZSwgdXJsLCB0eXBlLCBjYXB0aW9uKVwiXG4gICAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktdGltZXNcIiAoY2xpY2spPVwiY2FuY2VsKClcIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIEVuZCBjYXB0aW9uIGZ1bmN0aW9uYWxpdHktLT5cblxuICAgICAgICAgIDwhLS0gc3RhcnQgaGVhZGVyIGFjdGlvbiBidXR0b24gZnVuY3Rpb25hbGl0eSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWFycm93LWNpcmNsZS1kb3duXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkRmlsZSh1cmwpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93RG93bmxvYWRGaWxlXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRyYXNoXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRmlsZShpZCwgbmFtZSwgdXJsLCB0eXBlLCBjYXB0aW9uKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd0RlbGV0ZUZpbGVcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gRW5kIGhlYWRlciBhY3Rpb24gYnV0dG9uIGZ1bmN0aW9uYWxpdHkgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9wLWNhcmQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=