@vendasta/store
Version:
Components and data for Store
69 lines • 22 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ActivationStatus } from '../sales-package';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/list";
import * as i2 from "@vendasta/uikit";
import * as i3 from "@angular/material/icon";
import * as i4 from "@angular/material/button";
import * as i5 from "@angular/common";
import * as i6 from "@angular/material/core";
import * as i7 from "@ngx-translate/core";
export var ListIndent;
(function (ListIndent) {
ListIndent["INDENT_ZERO"] = "indent-zero";
ListIndent["INDENT_ONE"] = "indent-one";
ListIndent["INDENT_TWO"] = "indent-two";
})(ListIndent || (ListIndent = {}));
export class VaPackageDropdownItemComponent {
constructor() {
this.enableDropdown = false;
this.indent = ListIndent.INDENT_ZERO;
this.itemToggled = new EventEmitter();
}
ngOnInit() { }
toggleItem() {
this.itemToggled.emit(null);
}
isActivatedStatus(status) {
return status === ActivationStatus.SUCCESS;
}
isWarningStatus(status) {
return status === ActivationStatus.WARNING;
}
isErrorStatus(status) {
return status === ActivationStatus.ERROR;
}
}
VaPackageDropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: VaPackageDropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
VaPackageDropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: VaPackageDropdownItemComponent, selector: "app-package-dropdown-item", inputs: { title: "title", titleBadge: "titleBadge", titleDescriptor: "titleDescriptor", iconUrl: "iconUrl", secondaryIconUrl: "secondaryIconUrl", secondaryIconName: "secondaryIconName", subtitle: "subtitle", statusItem: "statusItem", enableDropdown: "enableDropdown", indent: "indent", toggleValue: "toggleValue", description: "description" }, outputs: { itemToggled: "itemToggled" }, ngImport: i0, template: "<mat-list-item [ngClass]=\"indent\" class=\"va-dropdown-list-item\">\n <va-icon\n *ngIf=\"!secondaryIconUrl && !secondaryIconName; else dualIcon\"\n mat-list-avatar\n [name]=\"title\"\n [iconUrl]=\"iconUrl\"\n [diameter]=\"40\"\n ></va-icon>\n <h3 mat-line class=\"va-dropdown-list-item__title\">\n {{ title }}\n <va-badge\n *ngIf=\"titleBadge\"\n small\n color=\"blue-solid\"\n class=\"va-dropdown-list-item__title-badge\"\n >\n {{ titleBadge }}\n </va-badge>\n <span\n *ngIf=\"titleDescriptor\"\n class=\"va-dropdown-list-item__title-descriptor\"\n >\n {{ titleDescriptor }}\n </span>\n </h3>\n <p class=\"package-dropdown-font\" mat-line>{{ subtitle }}</p>\n\n <span *ngIf=\"!statusItem\" class=\"va-dropdown-list-item__layout\">\n <p class=\"va-dropdown-list-item__layout va-dropdown-list-item__notice\">\n {{ description }}\n </p>\n <ng-container *ngIf=\"enableDropdown; then dropdownButton\"></ng-container>\n </span>\n\n <span\n *ngIf=\"statusItem\"\n class=\"va-dropdown-list-item__layout va-dropdown-list-item__status\"\n >\n <div\n [ngClass]=\"{\n activated: isActivatedStatus(statusItem.status),\n warning: isWarningStatus(statusItem.status),\n error: isErrorStatus(statusItem.status)\n }\"\n >\n <mat-icon>{{ statusItem.icon }}</mat-icon>\n </div>\n <p\n class=\"va-dropdown-list-item__notice\"\n [ngClass]=\"{\n activated: isActivatedStatus(statusItem.status),\n warning: isWarningStatus(statusItem.status),\n error: isErrorStatus(statusItem.status)\n }\"\n >\n {{ statusItem.text | translate }}\n </p>\n <ng-container *ngIf=\"enableDropdown; then dropdownButton\"></ng-container>\n </span>\n</mat-list-item>\n\n<ng-template #dropdownButton>\n <button\n *ngIf=\"enableDropdown\"\n mat-icon-button\n type=\"button\"\n (click)=\"toggleItem()\"\n >\n <mat-icon\n mat-list-icon\n class=\"dropdown-icon\"\n [ngClass]=\"{\n 'dropdown-icon-rotate-up': !toggleValue,\n 'dropdown-icon-rotate-down': toggleValue\n }\"\n >\n keyboard_arrow_down\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #dualIcon>\n <div class=\"dual-icon\">\n <va-icon\n mat-list-avatar\n [iconUrl]=\"iconUrl\"\n [name]=\"title\"\n [diameter]=\"40\"\n ></va-icon>\n <va-icon\n mat-list-avatar\n class=\"secondary-icon\"\n [iconUrl]=\"secondaryIconUrl\"\n [diameter]=\"20\"\n [name]=\"secondaryIconName\"\n ></va-icon>\n </div>\n</ng-template>\n", styles: [".va-dropdown-list-item{border-bottom:1px solid rgba(0,0,0,.12)}mat-list-item .va-dropdown-list-item__title{font-weight:700}.va-dropdown-list-item__title-badge{padding-bottom:4px}.indent-one{padding-left:30px}.va-dropdown-list-item__title-descriptor{font-size:11px;font-weight:700;font-style:italic}.indent-two{padding-left:30px}.indent-two .mat-list-avatar{margin-left:40px}.dual-icon{position:relative;display:inline-block;order:-1;margin-right:16px}.dual-icon .secondary-icon{position:absolute;border-radius:50%;bottom:-24px;right:-24px}.va-dropdown-list-item__layout{display:flex;flex-direction:row;align-items:center}.va-dropdown-list-item__layout .va-dropdown-list-item__notice{width:-webkit-max-content;width:-moz-max-content;width:max-content;font-style:italic}@media screen and (max-width: 500px){.va-dropdown-list-item__layout p{display:none}}.va-dropdown-list-item__layout mat-icon{padding:0}.va-dropdown-list-item__layout button{padding:0;min-width:0}.va-dropdown-list-item__layout button .dropdown-icon{color:rgba(0,0,0,.54)}.va-dropdown-list-item__layout button .dropdown-icon-rotate-down{transform:rotate(180deg);transition:.4s all ease;pointer-events:none}.va-dropdown-list-item__layout button .dropdown-icon-rotate-up{transform:rotate(0);transition:.4s all ease;pointer-events:none}.va-dropdown-list-item__status{display:flex;flex-direction:row;align-items:center}.va-dropdown-list-item__status p{padding-left:6px;font-size:14px;white-space:nowrap}.va-dropdown-list-item__status .activated{color:#4caf50}.va-dropdown-list-item__status .warning{color:#ffa000}.va-dropdown-list-item__status .error{color:#c62828}\n", ".package-dropdown-font,.product-dropdown-font{color:rgba(0,0,0,.54);font-size:14px;font-weight:400}.package-list-container{border-top:1px solid rgba(0,0,0,.12);padding:0}.package-list-container mat-list{padding:0}.package-dropdown-stencil-display{display:flex;width:100%;flex-grow:1}.package-dropdown-stencil-display va-icon{margin-right:20px}.package-dropdown-stencil-display .stencil-text{width:inherit;display:flex;flex-direction:column;justify-content:center}.package-dropdown-stencil-display .stencil-text .stencil-title{height:32px;width:40%;margin-bottom:5px!important;margin-top:0!important}.package-dropdown-stencil-display .stencil-text .stencil-tagline{height:32px;width:inherit}.product-or-addon-list{background-color:rgba(0,0,0,.04);overflow:hidden}\n"], components: [{ type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i2.IconComponent, selector: "va-icon", inputs: ["iconUrl", "name", "diameter", "backgroundColor", "borderColor", "fontColor"] }, { type: i2.VaBadgeComponent, selector: "va-badge", inputs: ["color"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatListAvatarCssMatStyler, selector: "[mat-list-avatar], [matListAvatar]" }, { type: i6.MatLine, selector: "[mat-line], [matLine]" }, { type: i1.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }], pipes: { "translate": i7.TranslatePipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: VaPackageDropdownItemComponent, decorators: [{
type: Component,
args: [{ selector: 'app-package-dropdown-item', template: "<mat-list-item [ngClass]=\"indent\" class=\"va-dropdown-list-item\">\n <va-icon\n *ngIf=\"!secondaryIconUrl && !secondaryIconName; else dualIcon\"\n mat-list-avatar\n [name]=\"title\"\n [iconUrl]=\"iconUrl\"\n [diameter]=\"40\"\n ></va-icon>\n <h3 mat-line class=\"va-dropdown-list-item__title\">\n {{ title }}\n <va-badge\n *ngIf=\"titleBadge\"\n small\n color=\"blue-solid\"\n class=\"va-dropdown-list-item__title-badge\"\n >\n {{ titleBadge }}\n </va-badge>\n <span\n *ngIf=\"titleDescriptor\"\n class=\"va-dropdown-list-item__title-descriptor\"\n >\n {{ titleDescriptor }}\n </span>\n </h3>\n <p class=\"package-dropdown-font\" mat-line>{{ subtitle }}</p>\n\n <span *ngIf=\"!statusItem\" class=\"va-dropdown-list-item__layout\">\n <p class=\"va-dropdown-list-item__layout va-dropdown-list-item__notice\">\n {{ description }}\n </p>\n <ng-container *ngIf=\"enableDropdown; then dropdownButton\"></ng-container>\n </span>\n\n <span\n *ngIf=\"statusItem\"\n class=\"va-dropdown-list-item__layout va-dropdown-list-item__status\"\n >\n <div\n [ngClass]=\"{\n activated: isActivatedStatus(statusItem.status),\n warning: isWarningStatus(statusItem.status),\n error: isErrorStatus(statusItem.status)\n }\"\n >\n <mat-icon>{{ statusItem.icon }}</mat-icon>\n </div>\n <p\n class=\"va-dropdown-list-item__notice\"\n [ngClass]=\"{\n activated: isActivatedStatus(statusItem.status),\n warning: isWarningStatus(statusItem.status),\n error: isErrorStatus(statusItem.status)\n }\"\n >\n {{ statusItem.text | translate }}\n </p>\n <ng-container *ngIf=\"enableDropdown; then dropdownButton\"></ng-container>\n </span>\n</mat-list-item>\n\n<ng-template #dropdownButton>\n <button\n *ngIf=\"enableDropdown\"\n mat-icon-button\n type=\"button\"\n (click)=\"toggleItem()\"\n >\n <mat-icon\n mat-list-icon\n class=\"dropdown-icon\"\n [ngClass]=\"{\n 'dropdown-icon-rotate-up': !toggleValue,\n 'dropdown-icon-rotate-down': toggleValue\n }\"\n >\n keyboard_arrow_down\n </mat-icon>\n </button>\n</ng-template>\n\n<ng-template #dualIcon>\n <div class=\"dual-icon\">\n <va-icon\n mat-list-avatar\n [iconUrl]=\"iconUrl\"\n [name]=\"title\"\n [diameter]=\"40\"\n ></va-icon>\n <va-icon\n mat-list-avatar\n class=\"secondary-icon\"\n [iconUrl]=\"secondaryIconUrl\"\n [diameter]=\"20\"\n [name]=\"secondaryIconName\"\n ></va-icon>\n </div>\n</ng-template>\n", styles: [".va-dropdown-list-item{border-bottom:1px solid rgba(0,0,0,.12)}mat-list-item .va-dropdown-list-item__title{font-weight:700}.va-dropdown-list-item__title-badge{padding-bottom:4px}.indent-one{padding-left:30px}.va-dropdown-list-item__title-descriptor{font-size:11px;font-weight:700;font-style:italic}.indent-two{padding-left:30px}.indent-two .mat-list-avatar{margin-left:40px}.dual-icon{position:relative;display:inline-block;order:-1;margin-right:16px}.dual-icon .secondary-icon{position:absolute;border-radius:50%;bottom:-24px;right:-24px}.va-dropdown-list-item__layout{display:flex;flex-direction:row;align-items:center}.va-dropdown-list-item__layout .va-dropdown-list-item__notice{width:-webkit-max-content;width:-moz-max-content;width:max-content;font-style:italic}@media screen and (max-width: 500px){.va-dropdown-list-item__layout p{display:none}}.va-dropdown-list-item__layout mat-icon{padding:0}.va-dropdown-list-item__layout button{padding:0;min-width:0}.va-dropdown-list-item__layout button .dropdown-icon{color:rgba(0,0,0,.54)}.va-dropdown-list-item__layout button .dropdown-icon-rotate-down{transform:rotate(180deg);transition:.4s all ease;pointer-events:none}.va-dropdown-list-item__layout button .dropdown-icon-rotate-up{transform:rotate(0);transition:.4s all ease;pointer-events:none}.va-dropdown-list-item__status{display:flex;flex-direction:row;align-items:center}.va-dropdown-list-item__status p{padding-left:6px;font-size:14px;white-space:nowrap}.va-dropdown-list-item__status .activated{color:#4caf50}.va-dropdown-list-item__status .warning{color:#ffa000}.va-dropdown-list-item__status .error{color:#c62828}\n", ".package-dropdown-font,.product-dropdown-font{color:rgba(0,0,0,.54);font-size:14px;font-weight:400}.package-list-container{border-top:1px solid rgba(0,0,0,.12);padding:0}.package-list-container mat-list{padding:0}.package-dropdown-stencil-display{display:flex;width:100%;flex-grow:1}.package-dropdown-stencil-display va-icon{margin-right:20px}.package-dropdown-stencil-display .stencil-text{width:inherit;display:flex;flex-direction:column;justify-content:center}.package-dropdown-stencil-display .stencil-text .stencil-title{height:32px;width:40%;margin-bottom:5px!important;margin-top:0!important}.package-dropdown-stencil-display .stencil-text .stencil-tagline{height:32px;width:inherit}.product-or-addon-list{background-color:rgba(0,0,0,.04);overflow:hidden}\n"] }]
}], propDecorators: { title: [{
type: Input
}], titleBadge: [{
type: Input
}], titleDescriptor: [{
type: Input
}], iconUrl: [{
type: Input
}], secondaryIconUrl: [{
type: Input
}], secondaryIconName: [{
type: Input
}], subtitle: [{
type: Input
}], statusItem: [{
type: Input
}], enableDropdown: [{
type: Input
}], indent: [{
type: Input
}], toggleValue: [{
type: Input
}], description: [{
type: Input
}], itemToggled: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3RvcmUvc3JjL2xpYi9wYWNrYWdlLWRyb3Bkb3duL3BhY2thZ2UtZHJvcGRvd24taXRlbS9wYWNrYWdlLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdG9yZS9zcmMvbGliL3BhY2thZ2UtZHJvcGRvd24vcGFja2FnZS1kcm9wZG93bi1pdGVtL3BhY2thZ2UtZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBRTVFLE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIseUNBQTJCLENBQUE7SUFDM0IsdUNBQXlCLENBQUE7SUFDekIsdUNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCO0FBT0QsTUFBTSxPQUFPLDhCQUE4QjtJQUwzQztRQWNXLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLFdBQU0sR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBRy9CLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FpQnRFO0lBZkMsUUFBUSxLQUFVLENBQUM7SUFFbkIsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUF3QjtRQUN4QyxPQUFPLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUF3QjtRQUN0QyxPQUFPLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUNELGFBQWEsQ0FBQyxNQUF3QjtRQUNwQyxPQUFPLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDM0MsQ0FBQzs7MkhBN0JVLDhCQUE4QjsrR0FBOUIsOEJBQThCLGtjQ2QzQyxrbUZBa0dBOzJGRHBGYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsMkJBQTJCOzhCQUs1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRpb25TdGF0dXMsIFN0YXR1c05vdGlmaWNhdGlvbkl0ZW0gfSBmcm9tICcuLi9zYWxlcy1wYWNrYWdlJztcblxuZXhwb3J0IGVudW0gTGlzdEluZGVudCB7XG4gIElOREVOVF9aRVJPID0gJ2luZGVudC16ZXJvJyxcbiAgSU5ERU5UX09ORSA9ICdpbmRlbnQtb25lJyxcbiAgSU5ERU5UX1RXTyA9ICdpbmRlbnQtdHdvJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXBhY2thZ2UtZHJvcGRvd24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWNrYWdlLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWNrYWdlLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50LnNjc3MnLCAnLi4vcGFja2FnZS1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBWYVBhY2thZ2VEcm9wZG93bkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZUJhZGdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRpdGxlRGVzY3JpcHRvcjogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlY29uZGFyeUljb25Vcmw6IHN0cmluZztcbiAgQElucHV0KCkgc2Vjb25kYXJ5SWNvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgc3RhdHVzSXRlbTogU3RhdHVzTm90aWZpY2F0aW9uSXRlbTtcbiAgQElucHV0KCkgZW5hYmxlRHJvcGRvd24gPSBmYWxzZTtcbiAgQElucHV0KCkgaW5kZW50ID0gTGlzdEluZGVudC5JTkRFTlRfWkVSTztcbiAgQElucHV0KCkgdG9nZ2xlVmFsdWU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBpdGVtVG9nZ2xlZDogRXZlbnRFbWl0dGVyPG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxudWxsPigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICB0b2dnbGVJdGVtKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVRvZ2dsZWQuZW1pdChudWxsKTtcbiAgfVxuXG4gIGlzQWN0aXZhdGVkU3RhdHVzKHN0YXR1czogQWN0aXZhdGlvblN0YXR1cyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXMgPT09IEFjdGl2YXRpb25TdGF0dXMuU1VDQ0VTUztcbiAgfVxuICBpc1dhcm5pbmdTdGF0dXMoc3RhdHVzOiBBY3RpdmF0aW9uU3RhdHVzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1cyA9PT0gQWN0aXZhdGlvblN0YXR1cy5XQVJOSU5HO1xuICB9XG4gIGlzRXJyb3JTdGF0dXMoc3RhdHVzOiBBY3RpdmF0aW9uU3RhdHVzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1cyA9PT0gQWN0aXZhdGlvblN0YXR1cy5FUlJPUjtcbiAgfVxufVxuIiwiPG1hdC1saXN0LWl0ZW0gW25nQ2xhc3NdPVwiaW5kZW50XCIgY2xhc3M9XCJ2YS1kcm9wZG93bi1saXN0LWl0ZW1cIj5cbiAgPHZhLWljb25cbiAgICAqbmdJZj1cIiFzZWNvbmRhcnlJY29uVXJsICYmICFzZWNvbmRhcnlJY29uTmFtZTsgZWxzZSBkdWFsSWNvblwiXG4gICAgbWF0LWxpc3QtYXZhdGFyXG4gICAgW25hbWVdPVwidGl0bGVcIlxuICAgIFtpY29uVXJsXT1cImljb25VcmxcIlxuICAgIFtkaWFtZXRlcl09XCI0MFwiXG4gID48L3ZhLWljb24+XG4gIDxoMyBtYXQtbGluZSBjbGFzcz1cInZhLWRyb3Bkb3duLWxpc3QtaXRlbV9fdGl0bGVcIj5cbiAgICB7eyB0aXRsZSB9fVxuICAgIDx2YS1iYWRnZVxuICAgICAgKm5nSWY9XCJ0aXRsZUJhZGdlXCJcbiAgICAgIHNtYWxsXG4gICAgICBjb2xvcj1cImJsdWUtc29saWRcIlxuICAgICAgY2xhc3M9XCJ2YS1kcm9wZG93bi1saXN0LWl0ZW1fX3RpdGxlLWJhZGdlXCJcbiAgICA+XG4gICAgICB7eyB0aXRsZUJhZGdlIH19XG4gICAgPC92YS1iYWRnZT5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJ0aXRsZURlc2NyaXB0b3JcIlxuICAgICAgY2xhc3M9XCJ2YS1kcm9wZG93bi1saXN0LWl0ZW1fX3RpdGxlLWRlc2NyaXB0b3JcIlxuICAgID5cbiAgICAgIHt7IHRpdGxlRGVzY3JpcHRvciB9fVxuICAgIDwvc3Bhbj5cbiAgPC9oMz5cbiAgPHAgY2xhc3M9XCJwYWNrYWdlLWRyb3Bkb3duLWZvbnRcIiBtYXQtbGluZT57eyBzdWJ0aXRsZSB9fTwvcD5cblxuICA8c3BhbiAqbmdJZj1cIiFzdGF0dXNJdGVtXCIgY2xhc3M9XCJ2YS1kcm9wZG93bi1saXN0LWl0ZW1fX2xheW91dFwiPlxuICAgIDxwIGNsYXNzPVwidmEtZHJvcGRvd24tbGlzdC1pdGVtX19sYXlvdXQgdmEtZHJvcGRvd24tbGlzdC1pdGVtX19ub3RpY2VcIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uIH19XG4gICAgPC9wPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVEcm9wZG93bjsgdGhlbiBkcm9wZG93bkJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInN0YXR1c0l0ZW1cIlxuICAgIGNsYXNzPVwidmEtZHJvcGRvd24tbGlzdC1pdGVtX19sYXlvdXQgdmEtZHJvcGRvd24tbGlzdC1pdGVtX19zdGF0dXNcIlxuICA+XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBhY3RpdmF0ZWQ6IGlzQWN0aXZhdGVkU3RhdHVzKHN0YXR1c0l0ZW0uc3RhdHVzKSxcbiAgICAgICAgd2FybmluZzogaXNXYXJuaW5nU3RhdHVzKHN0YXR1c0l0ZW0uc3RhdHVzKSxcbiAgICAgICAgZXJyb3I6IGlzRXJyb3JTdGF0dXMoc3RhdHVzSXRlbS5zdGF0dXMpXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+e3sgc3RhdHVzSXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8cFxuICAgICAgY2xhc3M9XCJ2YS1kcm9wZG93bi1saXN0LWl0ZW1fX25vdGljZVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGFjdGl2YXRlZDogaXNBY3RpdmF0ZWRTdGF0dXMoc3RhdHVzSXRlbS5zdGF0dXMpLFxuICAgICAgICB3YXJuaW5nOiBpc1dhcm5pbmdTdGF0dXMoc3RhdHVzSXRlbS5zdGF0dXMpLFxuICAgICAgICBlcnJvcjogaXNFcnJvclN0YXR1cyhzdGF0dXNJdGVtLnN0YXR1cylcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIHt7IHN0YXR1c0l0ZW0udGV4dCB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvcD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW5hYmxlRHJvcGRvd247IHRoZW4gZHJvcGRvd25CdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9tYXQtbGlzdC1pdGVtPlxuXG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQnV0dG9uPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJlbmFibGVEcm9wZG93blwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZUl0ZW0oKVwiXG4gID5cbiAgICA8bWF0LWljb25cbiAgICAgIG1hdC1saXN0LWljb25cbiAgICAgIGNsYXNzPVwiZHJvcGRvd24taWNvblwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdkcm9wZG93bi1pY29uLXJvdGF0ZS11cCc6ICF0b2dnbGVWYWx1ZSxcbiAgICAgICAgJ2Ryb3Bkb3duLWljb24tcm90YXRlLWRvd24nOiB0b2dnbGVWYWx1ZVxuICAgICAgfVwiXG4gICAgPlxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkdWFsSWNvbj5cbiAgPGRpdiBjbGFzcz1cImR1YWwtaWNvblwiPlxuICAgIDx2YS1pY29uXG4gICAgICBtYXQtbGlzdC1hdmF0YXJcbiAgICAgIFtpY29uVXJsXT1cImljb25VcmxcIlxuICAgICAgW25hbWVdPVwidGl0bGVcIlxuICAgICAgW2RpYW1ldGVyXT1cIjQwXCJcbiAgICA+PC92YS1pY29uPlxuICAgIDx2YS1pY29uXG4gICAgICBtYXQtbGlzdC1hdmF0YXJcbiAgICAgIGNsYXNzPVwic2Vjb25kYXJ5LWljb25cIlxuICAgICAgW2ljb25VcmxdPVwic2Vjb25kYXJ5SWNvblVybFwiXG4gICAgICBbZGlhbWV0ZXJdPVwiMjBcIlxuICAgICAgW25hbWVdPVwic2Vjb25kYXJ5SWNvbk5hbWVcIlxuICAgID48L3ZhLWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==