@cqa-lib/cqa-ui 1.1.548-gamma.22 → 1.1.548-gamma.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/manage-columns-dialog/manage-columns-dialog.component.mjs +3 -3
- package/esm2020/lib/new-global-variable-dialog/global-variable-tags-input.component.mjs +3 -3
- package/esm2020/lib/new-global-variable-dialog/new-global-variable-dialog.component.mjs +3 -3
- package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +3 -3
- package/fesm2015/cqa-lib-cqa-ui.mjs +8 -8
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +8 -8
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -121,13 +121,13 @@ export class ManageColumnsDialogComponent {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
ManageColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ManageColumnsDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
ManageColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ManageColumnsDialogComponent, selector: "cqa-manage-columns-dialog", inputs: { columns: "columns", lockedColumns: "lockedColumns" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"
|
|
124
|
+
ManageColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ManageColumnsDialogComponent, selector: "cqa-manage-columns-dialog", inputs: { columns: "columns", lockedColumns: "lockedColumns" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"manage-cols-stack\">\n\n <div class=\"manage-cols-drop-list\"\n [dndDropzone]=\"['col']\"\n dndEffectAllowed=\"move\"\n dndDragoverClass=\"dndDragover\"\n (dndDrop)=\"onDndDrop($event)\">\n <div dndPlaceholderRef class=\"manage-cols-placeholder\">Drop here</div>\n <div *ngFor=\"let item of items; let i = index; trackBy: trackByUid\"\n class=\"manage-cols-row\">\n <span class=\"manage-cols-handle\"\n [dndDraggable]=\"item\"\n [dndDisableIf]=\"isLocked(item)\"\n dndType=\"col\"\n dndEffectAllowed=\"move\">\n <mat-icon>drag_indicator</mat-icon>\n </span>\n <cqa-custom-input\n class=\"cqa-flex-1\"\n [value]=\"item.name\"\n [fullWidth]=\"true\"\n [disabled]=\"isLocked(item)\"\n inputInlineStyle=\"font-family: 'Inter', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onRename(i, $event)\">\n </cqa-custom-input>\n <button type=\"button\" class=\"manage-cols-icon-btn\"\n title=\"Move up\"\n [disabled]=\"i === 0\"\n (click)=\"onMove(i, -1)\">\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button type=\"button\" class=\"manage-cols-icon-btn\"\n title=\"Move down\"\n [disabled]=\"i === items.length - 1\"\n (click)=\"onMove(i, 1)\">\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button type=\"button\" class=\"manage-cols-icon-btn manage-cols-icon-btn-danger\"\n title=\"Delete column\"\n [disabled]=\"isLocked(item)\"\n (click)=\"onRemove(i)\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n\n <div class=\"manage-cols-footer\">\n <cqa-custom-input\n class=\"cqa-flex-1\"\n [value]=\"newColName\"\n [fullWidth]=\"true\"\n placeholder=\"New column name (e.g. currency)\"\n inputInlineStyle=\"font-family: 'Inter', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNewColNameChange($event)\"\n (enterPressed)=\"onAdd()\">\n </cqa-custom-input>\n <cqa-button\n variant=\"outlined\"\n icon=\"add\"\n text=\"Add column\"\n [disabled]=\"!canAdd\"\n (clicked)=\"onAdd()\">\n </cqa-button>\n </div>\n\n <span *ngIf=\"columnsError\" class=\"manage-cols-error\">{{ columnsError }}</span>\n\n <div class=\"manage-cols-hint\">\n <strong>Heads up:</strong>\n Deleting a column removes its data from every environment. Renaming keeps the data in place.\n </div>\n\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.CustomInputComponent, selector: "cqa-custom-input", inputs: ["inputId", "label", "type", "placeholder", "value", "disabled", "errors", "required", "ariaLabel", "size", "fullWidth", "maxLength", "showCharCount", "inputInlineStyle", "labelInlineStyle", "showPasswordToggle"], outputs: ["valueChange", "blurred", "focused", "enterPressed"] }, { type: i3.ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "loading", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i4.DndDropzoneDirective, selector: "[dndDropzone]", inputs: ["dndDropzone", "dndEffectAllowed", "dndAllowExternal", "dndHorizontal", "dndDragoverClass", "dndDropzoneDisabledClass", "dndDisableIf", "dndDisableDropIf"], outputs: ["dndDragover", "dndDrop"] }, { type: i4.DndPlaceholderRefDirective, selector: "[dndPlaceholderRef]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.DndDraggableDirective, selector: "[dndDraggable]", inputs: ["dndDraggable", "dndEffectAllowed", "dndType", "dndDraggingClass", "dndDraggingSourceClass", "dndDraggableDisabledClass", "dndDragImageOffsetFunction", "dndDisableIf", "dndDisableDragIf"], outputs: ["dndStart", "dndDrag", "dndEnd", "dndMoved", "dndCopied", "dndLinked", "dndCanceled"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
125
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ManageColumnsDialogComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
|
-
args: [{ selector: 'cqa-manage-columns-dialog', host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"
|
|
127
|
+
args: [{ selector: 'cqa-manage-columns-dialog', host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"manage-cols-stack\">\n\n <div class=\"manage-cols-drop-list\"\n [dndDropzone]=\"['col']\"\n dndEffectAllowed=\"move\"\n dndDragoverClass=\"dndDragover\"\n (dndDrop)=\"onDndDrop($event)\">\n <div dndPlaceholderRef class=\"manage-cols-placeholder\">Drop here</div>\n <div *ngFor=\"let item of items; let i = index; trackBy: trackByUid\"\n class=\"manage-cols-row\">\n <span class=\"manage-cols-handle\"\n [dndDraggable]=\"item\"\n [dndDisableIf]=\"isLocked(item)\"\n dndType=\"col\"\n dndEffectAllowed=\"move\">\n <mat-icon>drag_indicator</mat-icon>\n </span>\n <cqa-custom-input\n class=\"cqa-flex-1\"\n [value]=\"item.name\"\n [fullWidth]=\"true\"\n [disabled]=\"isLocked(item)\"\n inputInlineStyle=\"font-family: 'Inter', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onRename(i, $event)\">\n </cqa-custom-input>\n <button type=\"button\" class=\"manage-cols-icon-btn\"\n title=\"Move up\"\n [disabled]=\"i === 0\"\n (click)=\"onMove(i, -1)\">\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button type=\"button\" class=\"manage-cols-icon-btn\"\n title=\"Move down\"\n [disabled]=\"i === items.length - 1\"\n (click)=\"onMove(i, 1)\">\n <mat-icon>arrow_downward</mat-icon>\n </button>\n <button type=\"button\" class=\"manage-cols-icon-btn manage-cols-icon-btn-danger\"\n title=\"Delete column\"\n [disabled]=\"isLocked(item)\"\n (click)=\"onRemove(i)\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n\n <div class=\"manage-cols-footer\">\n <cqa-custom-input\n class=\"cqa-flex-1\"\n [value]=\"newColName\"\n [fullWidth]=\"true\"\n placeholder=\"New column name (e.g. currency)\"\n inputInlineStyle=\"font-family: 'Inter', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNewColNameChange($event)\"\n (enterPressed)=\"onAdd()\">\n </cqa-custom-input>\n <cqa-button\n variant=\"outlined\"\n icon=\"add\"\n text=\"Add column\"\n [disabled]=\"!canAdd\"\n (clicked)=\"onAdd()\">\n </cqa-button>\n </div>\n\n <span *ngIf=\"columnsError\" class=\"manage-cols-error\">{{ columnsError }}</span>\n\n <div class=\"manage-cols-hint\">\n <strong>Heads up:</strong>\n Deleting a column removes its data from every environment. Renaming keeps the data in place.\n </div>\n\n</div>\n" }]
|
|
128
128
|
}], propDecorators: { columns: [{
|
|
129
129
|
type: Input
|
|
130
130
|
}], lockedColumns: [{
|
|
131
131
|
type: Input
|
|
132
132
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWFuYWdlLWNvbHVtbnMtZGlhbG9nL21hbmFnZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hbmFnZS1jb2x1bW5zLWRpYWxvZy9tYW5hZ2UtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFtQnpELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNVyxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBRS9CLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLGVBQVUsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUF1QixFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRXJFLFlBQU8sR0FBRyxDQUFDLENBQUM7S0FzR3JCO0lBcEdDLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSTtTQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLFFB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QUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3lIQS9HVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix1TkNuQnpDLGd0R0EwRUE7MkZEdkRhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIsUUFFL0IsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTs4QkFHekQsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERuZERyb3BFdmVudCB9IGZyb20gJ25neC1kcmFnLWRyb3AnO1xuXG5pbXBvcnQge1xuICBNYW5hZ2VDb2x1bW5zRGlhbG9nQ29sdW1uLFxuICBNYW5hZ2VDb2x1bW5zRGlhbG9nVmFsdWUsXG59IGZyb20gJy4vbWFuYWdlLWNvbHVtbnMtZGlhbG9nLm1vZGVscyc7XG5cbmludGVyZmFjZSBNYW5hZ2VDb2x1bW5zSXRlbSB7XG4gIHVpZDogbnVtYmVyO1xuICBvcmlnaW5hbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1hbmFnZS1jb2x1bW5zLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnLCBzdHlsZTogJ2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsnIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hbmFnZUNvbHVtbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBsb2NrZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBpdGVtczogTWFuYWdlQ29sdW1uc0l0ZW1bXSA9IFtdO1xuICBwdWJsaWMgbmV3Q29sTmFtZSA9ICcnO1xuICBwdWJsaWMgY29sdW1uc0Vycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgdHJhY2tCeVVpZCA9IChfOiBudW1iZXIsIGl0ZW06IE1hbmFnZUNvbHVtbnNJdGVtKTogbnVtYmVyID0+IGl0ZW0udWlkO1xuXG4gIHByaXZhdGUgbmV4dFVpZCA9IDE7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5pdGlhbCA9IEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSA/IHRoaXMuY29sdW1ucyA6IFtdO1xuICAgIHRoaXMuaXRlbXMgPSBpbml0aWFsLm1hcChuYW1lID0+ICh7XG4gICAgICB1aWQ6IHRoaXMubmV4dFVpZCsrLFxuICAgICAgb3JpZ2luYWxOYW1lOiBuYW1lLFxuICAgICAgbmFtZSxcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNMb2NrZWQoaXRlbTogTWFuYWdlQ29sdW1uc0l0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubG9ja2VkQ29sdW1ucyB8fCB0aGlzLmxvY2tlZENvbHVtbnMubGVuZ3RoID09PSAwKSB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmIChpdGVtLm9yaWdpbmFsTmFtZSAhPSBudWxsICYmIHRoaXMubG9ja2VkQ29sdW1ucy5pbmRleE9mKGl0ZW0ub3JpZ2luYWxOYW1lKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sb2NrZWRDb2x1bW5zLmluZGV4T2YoaXRlbS5uYW1lKSAhPT0gLTE7XG4gIH1cblxuICBwdWJsaWMgb25EbmREcm9wKGV2ZW50OiBEbmREcm9wRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBkcmFnZ2VkID0gZXZlbnQuZGF0YSBhcyBNYW5hZ2VDb2x1bW5zSXRlbSB8IG51bGw7XG4gICAgaWYgKCFkcmFnZ2VkIHx8IGV2ZW50LmluZGV4ID09IG51bGwpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGl0ID0+IGl0LnVpZCA9PT0gZHJhZ2dlZC51aWQpO1xuICAgIGlmIChmcm9tIDwgMCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pdGVtcy5zbGljZSgpO1xuICAgIG5leHQuc3BsaWNlKGZyb20sIDEpO1xuICAgIGNvbnN0IHRvID0gZXZlbnQuaW5kZXggPiBmcm9tID8gZXZlbnQuaW5kZXggLSAxIDogZXZlbnQuaW5kZXg7XG4gICAgbmV4dC5zcGxpY2UodG8sIDAsIGRyYWdnZWQpO1xuICAgIHRoaXMuaXRlbXMgPSBuZXh0O1xuICB9XG5cbiAgcHVibGljIG9uTW92ZShpbmRleDogbnVtYmVyLCBkaXI6IC0xIHwgMSk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGluZGV4ICsgZGlyO1xuICAgIGlmICh0YXJnZXQgPCAwIHx8IHRhcmdldCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pdGVtcy5zbGljZSgpO1xuICAgIFtuZXh0W2luZGV4XSwgbmV4dFt0YXJnZXRdXSA9IFtuZXh0W3RhcmdldF0sIG5leHRbaW5kZXhdXTtcbiAgICB0aGlzLml0ZW1zID0gbmV4dDtcbiAgfVxuXG4gIHB1YmxpYyBvblJlbmFtZShpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zW2luZGV4XSkgeyByZXR1cm47IH1cbiAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0LCBpKSA9PiBpID09PSBpbmRleCA/IHsgLi4uaXQsIG5hbWU6IHZhbHVlIH0gOiBpdCk7XG4gICAgdGhpcy5jb2x1bW5zRXJyb3IgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtc1tpbmRleF07XG4gICAgaWYgKCFpdGVtIHx8IHRoaXMuaXNMb2NrZWQoaXRlbSkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCk7XG4gICAgdGhpcy5jb2x1bW5zRXJyb3IgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uTmV3Q29sTmFtZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uZXdDb2xOYW1lID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb25BZGQoKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9ICh0aGlzLm5ld0NvbE5hbWUgfHwgJycpLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWQgfHwgdGhpcy5pdGVtc0hhc05hbWUodHJpbW1lZCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5pdGVtcyA9IFsuLi50aGlzLml0ZW1zLCB7XG4gICAgICB1aWQ6IHRoaXMubmV4dFVpZCsrLFxuICAgICAgb3JpZ2luYWxOYW1lOiBudWxsLFxuICAgICAgbmFtZTogdHJpbW1lZCxcbiAgICB9XTtcbiAgICB0aGlzLm5ld0NvbE5hbWUgPSAnJztcbiAgICB0aGlzLmNvbHVtbnNFcnJvciA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0cmltbWVkID0gKHRoaXMubmV3Q29sTmFtZSB8fCAnJykudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgICByZXR1cm4gIXRoaXMuaXRlbXNIYXNOYW1lKHRyaW1tZWQpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IE1hbmFnZUNvbHVtbnNEaWFsb2dWYWx1ZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWQ6IE1hbmFnZUNvbHVtbnNEaWFsb2dDb2x1bW5bXSA9IHRoaXMuaXRlbXMubWFwKGl0ID0+ICh7XG4gICAgICBvcmlnaW5hbE5hbWU6IGl0Lm9yaWdpbmFsTmFtZSxcbiAgICAgIG5hbWU6IChpdC5uYW1lIHx8ICcnKS50cmltKCksXG4gICAgfSkpO1xuXG4gICAgaWYgKHRyaW1tZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdBdCBsZWFzdCBvbmUgY29sdW1uIGlzIHJlcXVpcmVkLic7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRyaW1tZWQuc29tZShjID0+IGMubmFtZS5sZW5ndGggPT09IDApKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdDb2x1bW4gbmFtZXMgY2Fubm90IGJlIGVtcHR5Lic7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbG93ZXJlZCA9IHRyaW1tZWQubWFwKGMgPT4gYy5uYW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIGlmIChuZXcgU2V0KGxvd2VyZWQpLnNpemUgIT09IHRyaW1tZWQubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdDb2x1bW4gbmFtZXMgbXVzdCBiZSB1bmlxdWUuJztcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY29sdW1uc0Vycm9yID0gbnVsbDtcbiAgICByZXR1cm4geyBjb2x1bW5zOiB0cmltbWVkIH07XG4gIH1cblxuICBwcml2YXRlIGl0ZW1zSGFzTmFtZShjYW5kaWRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvd2VyZWQgPSBjYW5kaWRhdGUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5zb21lKGl0ID0+IChpdC5uYW1lIHx8ICcnKS50cmltKCkudG9Mb3dlckNhc2UoKSA9PT0gbG93ZXJlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0zIGNxYS13LWZ1bGxcIj5cblxuICA8ZGl2IGNsYXNzPVwibWFuYWdlLWNvbHMtZHJvcC1saXN0IGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTJcIlxuICAgICAgIFtkbmREcm9wem9uZV09XCJbJ2NvbCddXCJcbiAgICAgICBkbmRFZmZlY3RBbGxvd2VkPVwibW92ZVwiXG4gICAgICAgZG5kRHJhZ292ZXJDbGFzcz1cImRuZERyYWdvdmVyXCJcbiAgICAgICAoZG5kRHJvcCk9XCJvbkRuZERyb3AoJGV2ZW50KVwiPlxuICAgIDxkaXYgZG5kUGxhY2Vob2xkZXJSZWYgY2xhc3M9XCJtYW5hZ2UtY29scy1wbGFjZWhvbGRlclwiPkRyb3AgaGVyZTwvZGl2PlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlVaWRcIlxuICAgICAgICAgY2xhc3M9XCJtYW5hZ2UtY29scy1yb3cgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXB4LTIgY3FhLXB5LTEuNSBjcWEtcm91bmRlZC1tZCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItZ3JheS0yMDAgY3FhLWJnLWdyYXktNTBcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWFuYWdlLWNvbHMtaGFuZGxlIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS10ZXh0LWdyYXktNDAwXCJcbiAgICAgICAgICAgIFtkbmREcmFnZ2FibGVdPVwiaXRlbVwiXG4gICAgICAgICAgICBbZG5kRGlzYWJsZUlmXT1cImlzTG9ja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgIGRuZFR5cGU9XCJjb2xcIlxuICAgICAgICAgICAgZG5kRWZmZWN0QWxsb3dlZD1cIm1vdmVcIj5cbiAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiZm9udC1zaXplOjE4cHg7d2lkdGg6MThweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxOHB4O1wiPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxjcWEtY3VzdG9tLWlucHV0XG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtMVwiXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtLm5hbWVcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWQoaXRlbSlcIlxuICAgICAgICBpbnB1dElubGluZVN0eWxlPVwiZm9udC1mYW1pbHk6ICdJbnRlcicsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblJlbmFtZShpLCAkZXZlbnQpXCI+XG4gICAgICA8L2NxYS1jdXN0b20taW5wdXQ+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1hbmFnZS1jb2xzLWljb24tYnRuXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIHVwXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb3ZlKGksIC0xKVwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJtYW5hZ2UtY29scy1pY29uLWJ0blwiXG4gICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBkb3duXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImkgPT09IGl0ZW1zLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb3ZlKGksIDEpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibWFuYWdlLWNvbHMtaWNvbi1idG4gbWFuYWdlLWNvbHMtaWNvbi1idG4tZGFuZ2VyXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJEZWxldGUgY29sdW1uXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlKGkpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtcHQtMyBjcWEtbXQtMSBjcWEtYm9yZGVyLXQgY3FhLWJvcmRlci1kYXNoZWQgY3FhLWJvcmRlci1ncmF5LTIwMFwiPlxuICAgIDxjcWEtY3VzdG9tLWlucHV0XG4gICAgICBjbGFzcz1cImNxYS1mbGV4LTFcIlxuICAgICAgW3ZhbHVlXT1cIm5ld0NvbE5hbWVcIlxuICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiTmV3IGNvbHVtbiBuYW1lIChlLmcuIGN1cnJlbmN5KVwiXG4gICAgICBpbnB1dElubGluZVN0eWxlPVwiZm9udC1mYW1pbHk6ICdJbnRlcicsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1wiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25OZXdDb2xOYW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGVudGVyUHJlc3NlZCk9XCJvbkFkZCgpXCI+XG4gICAgPC9jcWEtY3VzdG9tLWlucHV0PlxuICAgIDxjcWEtYnV0dG9uXG4gICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgYnRuU2l6ZT1cInNtXCJcbiAgICAgIGljb249XCJhZGRcIlxuICAgICAgdGV4dD1cIkFkZCBjb2x1bW5cIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRcIlxuICAgICAgKGNsaWNrZWQpPVwib25BZGQoKVwiPlxuICAgIDwvY3FhLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPHNwYW4gKm5nSWY9XCJjb2x1bW5zRXJyb3JcIiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LXJlZC02MDBcIj57eyBjb2x1bW5zRXJyb3IgfX08L3NwYW4+XG5cbiAgPGRpdiBjbGFzcz1cImNxYS1weC0zIGNxYS1weS0yIGNxYS1yb3VuZGVkLW1kIGNxYS1iZy1wcmltYXJ5LXN1cmZhY2UgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXN1Y2Nlc3MtMTAwIGNxYS10ZXh0LXhzIGNxYS10ZXh0LWdyYXktNzAwXCI+XG4gICAgPHN0cm9uZyBjbGFzcz1cImNxYS10ZXh0LWdyYXktOTAwXCI+SGVhZHMgdXA6PC9zdHJvbmc+XG4gICAgRGVsZXRpbmcgYSBjb2x1bW4gcmVtb3ZlcyBpdHMgZGF0YSBmcm9tIGV2ZXJ5IGVudmlyb25tZW50LiBSZW5hbWluZyBrZWVwcyB0aGUgZGF0YSBpbiBwbGFjZS5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWFuYWdlLWNvbHVtbnMtZGlhbG9nL21hbmFnZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hbmFnZS1jb2x1bW5zLWRpYWxvZy9tYW5hZ2UtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFtQnpELE1BQU0sT0FBTyw0QkFBNEI7SUFMekM7UUFNVyxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBRS9CLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLGVBQVUsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUF1QixFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRXJFLFlBQU8sR0FBRyxDQUFDLENBQUM7S0FzR3JCO0lBcEdDLFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSTtTQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLFFB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QUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7O3lIQS9HVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix1TkNuQnpDLHVxRkF5RUE7MkZEdERhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIsUUFFL0IsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTs4QkFHekQsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERuZERyb3BFdmVudCB9IGZyb20gJ25neC1kcmFnLWRyb3AnO1xuXG5pbXBvcnQge1xuICBNYW5hZ2VDb2x1bW5zRGlhbG9nQ29sdW1uLFxuICBNYW5hZ2VDb2x1bW5zRGlhbG9nVmFsdWUsXG59IGZyb20gJy4vbWFuYWdlLWNvbHVtbnMtZGlhbG9nLm1vZGVscyc7XG5cbmludGVyZmFjZSBNYW5hZ2VDb2x1bW5zSXRlbSB7XG4gIHVpZDogbnVtYmVyO1xuICBvcmlnaW5hbE5hbWU6IHN0cmluZyB8IG51bGw7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1hbmFnZS1jb2x1bW5zLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnLCBzdHlsZTogJ2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsnIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hbmFnZUNvbHVtbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBsb2NrZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBpdGVtczogTWFuYWdlQ29sdW1uc0l0ZW1bXSA9IFtdO1xuICBwdWJsaWMgbmV3Q29sTmFtZSA9ICcnO1xuICBwdWJsaWMgY29sdW1uc0Vycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgdHJhY2tCeVVpZCA9IChfOiBudW1iZXIsIGl0ZW06IE1hbmFnZUNvbHVtbnNJdGVtKTogbnVtYmVyID0+IGl0ZW0udWlkO1xuXG4gIHByaXZhdGUgbmV4dFVpZCA9IDE7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5pdGlhbCA9IEFycmF5LmlzQXJyYXkodGhpcy5jb2x1bW5zKSA/IHRoaXMuY29sdW1ucyA6IFtdO1xuICAgIHRoaXMuaXRlbXMgPSBpbml0aWFsLm1hcChuYW1lID0+ICh7XG4gICAgICB1aWQ6IHRoaXMubmV4dFVpZCsrLFxuICAgICAgb3JpZ2luYWxOYW1lOiBuYW1lLFxuICAgICAgbmFtZSxcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNMb2NrZWQoaXRlbTogTWFuYWdlQ29sdW1uc0l0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubG9ja2VkQ29sdW1ucyB8fCB0aGlzLmxvY2tlZENvbHVtbnMubGVuZ3RoID09PSAwKSB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmIChpdGVtLm9yaWdpbmFsTmFtZSAhPSBudWxsICYmIHRoaXMubG9ja2VkQ29sdW1ucy5pbmRleE9mKGl0ZW0ub3JpZ2luYWxOYW1lKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sb2NrZWRDb2x1bW5zLmluZGV4T2YoaXRlbS5uYW1lKSAhPT0gLTE7XG4gIH1cblxuICBwdWJsaWMgb25EbmREcm9wKGV2ZW50OiBEbmREcm9wRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBkcmFnZ2VkID0gZXZlbnQuZGF0YSBhcyBNYW5hZ2VDb2x1bW5zSXRlbSB8IG51bGw7XG4gICAgaWYgKCFkcmFnZ2VkIHx8IGV2ZW50LmluZGV4ID09IG51bGwpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGl0ID0+IGl0LnVpZCA9PT0gZHJhZ2dlZC51aWQpO1xuICAgIGlmIChmcm9tIDwgMCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pdGVtcy5zbGljZSgpO1xuICAgIG5leHQuc3BsaWNlKGZyb20sIDEpO1xuICAgIGNvbnN0IHRvID0gZXZlbnQuaW5kZXggPiBmcm9tID8gZXZlbnQuaW5kZXggLSAxIDogZXZlbnQuaW5kZXg7XG4gICAgbmV4dC5zcGxpY2UodG8sIDAsIGRyYWdnZWQpO1xuICAgIHRoaXMuaXRlbXMgPSBuZXh0O1xuICB9XG5cbiAgcHVibGljIG9uTW92ZShpbmRleDogbnVtYmVyLCBkaXI6IC0xIHwgMSk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGluZGV4ICsgZGlyO1xuICAgIGlmICh0YXJnZXQgPCAwIHx8IHRhcmdldCA+PSB0aGlzLml0ZW1zLmxlbmd0aCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pdGVtcy5zbGljZSgpO1xuICAgIFtuZXh0W2luZGV4XSwgbmV4dFt0YXJnZXRdXSA9IFtuZXh0W3RhcmdldF0sIG5leHRbaW5kZXhdXTtcbiAgICB0aGlzLml0ZW1zID0gbmV4dDtcbiAgfVxuXG4gIHB1YmxpYyBvblJlbmFtZShpbmRleDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zW2luZGV4XSkgeyByZXR1cm47IH1cbiAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGl0LCBpKSA9PiBpID09PSBpbmRleCA/IHsgLi4uaXQsIG5hbWU6IHZhbHVlIH0gOiBpdCk7XG4gICAgdGhpcy5jb2x1bW5zRXJyb3IgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtc1tpbmRleF07XG4gICAgaWYgKCFpdGVtIHx8IHRoaXMuaXNMb2NrZWQoaXRlbSkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCk7XG4gICAgdGhpcy5jb2x1bW5zRXJyb3IgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uTmV3Q29sTmFtZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uZXdDb2xOYW1lID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb25BZGQoKTogdm9pZCB7XG4gICAgY29uc3QgdHJpbW1lZCA9ICh0aGlzLm5ld0NvbE5hbWUgfHwgJycpLnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWQgfHwgdGhpcy5pdGVtc0hhc05hbWUodHJpbW1lZCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5pdGVtcyA9IFsuLi50aGlzLml0ZW1zLCB7XG4gICAgICB1aWQ6IHRoaXMubmV4dFVpZCsrLFxuICAgICAgb3JpZ2luYWxOYW1lOiBudWxsLFxuICAgICAgbmFtZTogdHJpbW1lZCxcbiAgICB9XTtcbiAgICB0aGlzLm5ld0NvbE5hbWUgPSAnJztcbiAgICB0aGlzLmNvbHVtbnNFcnJvciA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0cmltbWVkID0gKHRoaXMubmV3Q29sTmFtZSB8fCAnJykudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgICByZXR1cm4gIXRoaXMuaXRlbXNIYXNOYW1lKHRyaW1tZWQpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IE1hbmFnZUNvbHVtbnNEaWFsb2dWYWx1ZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWQ6IE1hbmFnZUNvbHVtbnNEaWFsb2dDb2x1bW5bXSA9IHRoaXMuaXRlbXMubWFwKGl0ID0+ICh7XG4gICAgICBvcmlnaW5hbE5hbWU6IGl0Lm9yaWdpbmFsTmFtZSxcbiAgICAgIG5hbWU6IChpdC5uYW1lIHx8ICcnKS50cmltKCksXG4gICAgfSkpO1xuXG4gICAgaWYgKHRyaW1tZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdBdCBsZWFzdCBvbmUgY29sdW1uIGlzIHJlcXVpcmVkLic7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRyaW1tZWQuc29tZShjID0+IGMubmFtZS5sZW5ndGggPT09IDApKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdDb2x1bW4gbmFtZXMgY2Fubm90IGJlIGVtcHR5Lic7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbG93ZXJlZCA9IHRyaW1tZWQubWFwKGMgPT4gYy5uYW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIGlmIChuZXcgU2V0KGxvd2VyZWQpLnNpemUgIT09IHRyaW1tZWQubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNvbHVtbnNFcnJvciA9ICdDb2x1bW4gbmFtZXMgbXVzdCBiZSB1bmlxdWUuJztcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuY29sdW1uc0Vycm9yID0gbnVsbDtcbiAgICByZXR1cm4geyBjb2x1bW5zOiB0cmltbWVkIH07XG4gIH1cblxuICBwcml2YXRlIGl0ZW1zSGFzTmFtZShjYW5kaWRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvd2VyZWQgPSBjYW5kaWRhdGUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5zb21lKGl0ID0+IChpdC5uYW1lIHx8ICcnKS50cmltKCkudG9Mb3dlckNhc2UoKSA9PT0gbG93ZXJlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYW5hZ2UtY29scy1zdGFja1wiPlxuXG4gIDxkaXYgY2xhc3M9XCJtYW5hZ2UtY29scy1kcm9wLWxpc3RcIlxuICAgICAgIFtkbmREcm9wem9uZV09XCJbJ2NvbCddXCJcbiAgICAgICBkbmRFZmZlY3RBbGxvd2VkPVwibW92ZVwiXG4gICAgICAgZG5kRHJhZ292ZXJDbGFzcz1cImRuZERyYWdvdmVyXCJcbiAgICAgICAoZG5kRHJvcCk9XCJvbkRuZERyb3AoJGV2ZW50KVwiPlxuICAgIDxkaXYgZG5kUGxhY2Vob2xkZXJSZWYgY2xhc3M9XCJtYW5hZ2UtY29scy1wbGFjZWhvbGRlclwiPkRyb3AgaGVyZTwvZGl2PlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlVaWRcIlxuICAgICAgICAgY2xhc3M9XCJtYW5hZ2UtY29scy1yb3dcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWFuYWdlLWNvbHMtaGFuZGxlXCJcbiAgICAgICAgICAgIFtkbmREcmFnZ2FibGVdPVwiaXRlbVwiXG4gICAgICAgICAgICBbZG5kRGlzYWJsZUlmXT1cImlzTG9ja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgIGRuZFR5cGU9XCJjb2xcIlxuICAgICAgICAgICAgZG5kRWZmZWN0QWxsb3dlZD1cIm1vdmVcIj5cbiAgICAgICAgPG1hdC1pY29uPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxjcWEtY3VzdG9tLWlucHV0XG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtMVwiXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtLm5hbWVcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2NrZWQoaXRlbSlcIlxuICAgICAgICBpbnB1dElubGluZVN0eWxlPVwiZm9udC1mYW1pbHk6ICdJbnRlcicsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblJlbmFtZShpLCAkZXZlbnQpXCI+XG4gICAgICA8L2NxYS1jdXN0b20taW5wdXQ+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1hbmFnZS1jb2xzLWljb24tYnRuXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIHVwXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb3ZlKGksIC0xKVwiPlxuICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJtYW5hZ2UtY29scy1pY29uLWJ0blwiXG4gICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBkb3duXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImkgPT09IGl0ZW1zLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25Nb3ZlKGksIDEpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19kb3dud2FyZDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibWFuYWdlLWNvbHMtaWNvbi1idG4gbWFuYWdlLWNvbHMtaWNvbi1idG4tZGFuZ2VyXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJEZWxldGUgY29sdW1uXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlKGkpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtYW5hZ2UtY29scy1mb290ZXJcIj5cbiAgICA8Y3FhLWN1c3RvbS1pbnB1dFxuICAgICAgY2xhc3M9XCJjcWEtZmxleC0xXCJcbiAgICAgIFt2YWx1ZV09XCJuZXdDb2xOYW1lXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIk5ldyBjb2x1bW4gbmFtZSAoZS5nLiBjdXJyZW5jeSlcIlxuICAgICAgaW5wdXRJbmxpbmVTdHlsZT1cImZvbnQtZmFtaWx5OiAnSW50ZXInLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTtcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uTmV3Q29sTmFtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChlbnRlclByZXNzZWQpPVwib25BZGQoKVwiPlxuICAgIDwvY3FhLWN1c3RvbS1pbnB1dD5cbiAgICA8Y3FhLWJ1dHRvblxuICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgIGljb249XCJhZGRcIlxuICAgICAgdGV4dD1cIkFkZCBjb2x1bW5cIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRcIlxuICAgICAgKGNsaWNrZWQpPVwib25BZGQoKVwiPlxuICAgIDwvY3FhLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPHNwYW4gKm5nSWY9XCJjb2x1bW5zRXJyb3JcIiBjbGFzcz1cIm1hbmFnZS1jb2xzLWVycm9yXCI+e3sgY29sdW1uc0Vycm9yIH19PC9zcGFuPlxuXG4gIDxkaXYgY2xhc3M9XCJtYW5hZ2UtY29scy1oaW50XCI+XG4gICAgPHN0cm9uZz5IZWFkcyB1cDo8L3N0cm9uZz5cbiAgICBEZWxldGluZyBhIGNvbHVtbiByZW1vdmVzIGl0cyBkYXRhIGZyb20gZXZlcnkgZW52aXJvbm1lbnQuIFJlbmFtaW5nIGtlZXBzIHRoZSBkYXRhIGluIHBsYWNlLlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -112,10 +112,10 @@ export class GlobalVariableTagsInputComponent {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
GlobalVariableTagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: GlobalVariableTagsInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
GlobalVariableTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: GlobalVariableTagsInputComponent, selector: "lib-global-variable-tags-input", inputs: { tags: "tags", availableTags: "availableTags" }, outputs: { tagsChange: "tagsChange" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "tagInputRef", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<div class=\"cqa-
|
|
115
|
+
GlobalVariableTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: GlobalVariableTagsInputComponent, selector: "lib-global-variable-tags-input", inputs: { tags: "tags", availableTags: "availableTags" }, outputs: { tagsChange: "tagsChange" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "tagInputRef", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<div class=\"cqa-gv-tag-row\">\n <!-- Selected tag chips -->\n <span *ngFor=\"let tag of tags; let i = index\" class=\"cqa-gv-tag-chip\">\n <mat-icon>sell</mat-icon>\n <span>{{ tag }}</span>\n <button type=\"button\"\n class=\"cqa-gv-tag-chip-x\"\n (click)=\"removeAt(i)\"\n [attr.aria-label]=\"'Remove tag ' + tag\">\n <mat-icon>close</mat-icon>\n </button>\n </span>\n\n <!-- Inactive: \"+ Add tag\" dashed pill -->\n <button *ngIf=\"!adding\" type=\"button\"\n class=\"cqa-gv-tag-add\"\n (click)=\"beginAdd()\">\n <mat-icon>add</mat-icon>\n <span>Add tag</span>\n </button>\n\n <!-- Active: pill-styled input + suggestion dropdown -->\n <div *ngIf=\"adding\" class=\"cqa-relative\">\n <input #tagInput\n type=\"text\"\n class=\"cqa-gv-tag-input\"\n placeholder=\"Tag\u2026\"\n [value]=\"draft\"\n (input)=\"onDraftChange($any($event.target).value)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\" />\n\n <div *ngIf=\"suggestions.length > 0\" class=\"cqa-gv-tag-suggest\">\n <div *ngFor=\"let s of suggestions\"\n class=\"cqa-gv-tag-suggest-item\"\n (mousedown)=\"onSuggestionMouseDown($event, s)\">\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-1.5\">\n <mat-icon>sell</mat-icon>\n <span>{{ s.name }}</span>\n </span>\n <span *ngIf=\"s.count != null\" class=\"cqa-gv-tag-suggest-count\">{{ s.count }}</span>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: GlobalVariableTagsInputComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
|
-
args: [{ selector: 'lib-global-variable-tags-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"cqa-
|
|
118
|
+
args: [{ selector: 'lib-global-variable-tags-input', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"cqa-gv-tag-row\">\n <!-- Selected tag chips -->\n <span *ngFor=\"let tag of tags; let i = index\" class=\"cqa-gv-tag-chip\">\n <mat-icon>sell</mat-icon>\n <span>{{ tag }}</span>\n <button type=\"button\"\n class=\"cqa-gv-tag-chip-x\"\n (click)=\"removeAt(i)\"\n [attr.aria-label]=\"'Remove tag ' + tag\">\n <mat-icon>close</mat-icon>\n </button>\n </span>\n\n <!-- Inactive: \"+ Add tag\" dashed pill -->\n <button *ngIf=\"!adding\" type=\"button\"\n class=\"cqa-gv-tag-add\"\n (click)=\"beginAdd()\">\n <mat-icon>add</mat-icon>\n <span>Add tag</span>\n </button>\n\n <!-- Active: pill-styled input + suggestion dropdown -->\n <div *ngIf=\"adding\" class=\"cqa-relative\">\n <input #tagInput\n type=\"text\"\n class=\"cqa-gv-tag-input\"\n placeholder=\"Tag\u2026\"\n [value]=\"draft\"\n (input)=\"onDraftChange($any($event.target).value)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\" />\n\n <div *ngIf=\"suggestions.length > 0\" class=\"cqa-gv-tag-suggest\">\n <div *ngFor=\"let s of suggestions\"\n class=\"cqa-gv-tag-suggest-item\"\n (mousedown)=\"onSuggestionMouseDown($event, s)\">\n <span class=\"cqa-inline-flex cqa-items-center cqa-gap-1.5\">\n <mat-icon>sell</mat-icon>\n <span>{{ s.name }}</span>\n </span>\n <span *ngIf=\"s.count != null\" class=\"cqa-gv-tag-suggest-count\">{{ s.count }}</span>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
119
119
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tags: [{
|
|
120
120
|
type: Input
|
|
121
121
|
}], availableTags: [{
|
|
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
126
126
|
type: ViewChild,
|
|
127
127
|
args: ['tagInput']
|
|
128
128
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLXRhZ3MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy9nbG9iYWwtdmFyaWFibGUtdGFncy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nL2dsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qjs7Ozs7Ozs7Ozs7OztHQWFHO0FBT0gsTUFBTSxPQUFPLGdDQUFnQztJQVUzQyxZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVQxQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3BCLGtCQUFhLEdBQThCLEVBQUUsQ0FBQztRQUM3QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUlwRCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUUyQyxDQUFDO0lBRXZELElBQUksV0FBVztRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMs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QUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs2SEFuR1UsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0Msc1dDaEM3QywyNkZBc0RBOzJGRHRCYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7d0dBR3pELElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRWdCLFdBQVc7c0JBQWpDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbiB9IGZyb20gJy4vbmV3LWdsb2JhbC12YXJpYWJsZS1kaWFsb2cubW9kZWxzJztcblxuLyoqXG4gKiBUYWcgY2hpcC1saXN0ICsgYXV0b2NvbXBsZXRlIHVzZWQgYnkgdGhlIE5ldyAvIEVkaXQgR2xvYmFsIFZhcmlhYmxlIGRpYWxvZy5cbiAqIE1pcnJvcnMgdGhlIFJlYWN0IGBUYWdzRWRpdG9yYCBibG9jayBpblxuICogYEVudmlyb25tZW50IGFuZCBEYXRhIE1hbmFnZW1lbnRfQ0QgRGVpc2ducy9zcmMvR2xvYmFsLmpzeDoxNzktMjM3YDpcbiAqXG4gKiAgIFtjaGlwIMOXIOKApl0gIFsrIEFkZCB0YWddICAg4oaQICBpbmFjdGl2ZSBzdGF0ZVxuICogICBbY2hpcCDDlyDigKZdICBbX2lucHV0XyAg4oazIHN1Z2dlc3Rpb25zXSAgIOKGkCAgYWN0aXZlIHN0YXRlXG4gKlxuICogQmVoYXZpb3I6XG4gKiAgIC0gQmFja3NwYWNlIG9uIGFuIGVtcHR5IGlucHV0IHJlbW92ZXMgdGhlIGxhc3QgdGFnLlxuICogICAtIEVudGVyIGNvbW1pdHMgdGhlIHRyaW1tZWQgbG93ZXJjYXNlIHZhbHVlIChjcmVhdGVzIGlmIG5vdCBpbiBhdmFpbGFibGUpLlxuICogICAtIEVzY2FwZSBleGl0cyB0aGUgaW5wdXQgd2l0aG91dCBjb21taXR0aW5nLlxuICogICAtIFN1Z2dlc3Rpb25zIGFyZSBjb21wdXRlZCBmcm9tIGBhdmFpbGFibGVUYWdzYCwgY2FwcGVkIGF0IDQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nbG9iYWwtdmFyaWFibGUtdGFncy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9nbG9iYWwtdmFyaWFibGUtdGFncy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnLCBzdHlsZTogJ2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbFZhcmlhYmxlVGFnc0lucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGFnczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgYXZhaWxhYmxlVGFnczogR2xvYmFsVmFyaWFibGVUYWdPcHRpb25bXSA9IFtdO1xuICBAT3V0cHV0KCkgdGFnc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgQFZpZXdDaGlsZCgndGFnSW5wdXQnKSB0YWdJbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgYWRkaW5nID0gZmFsc2U7XG4gIGRyYWZ0ID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbltdIHtcbiAgICBjb25zdCB0eXBlZCA9IHRoaXMuZHJhZnQudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdGFrZW4gPSBuZXcgU2V0KCh0aGlzLnRhZ3MgPz8gW10pLm1hcCh0ID0+IHQudG9Mb3dlckNhc2UoKSkpO1xuICAgIGNvbnN0IHBvb2wgPSAodGhpcy5hdmFpbGFibGVUYWdzID8/IFtdKS5maWx0ZXIodCA9PiAhdGFrZW4uaGFzKCh0Lm5hbWUgPz8gJycpLnRvTG93ZXJDYXNlKCkpKTtcbiAgICBpZiAodHlwZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gcG9vbC5zbGljZSgwLCA0KTtcbiAgICB9XG4gICAgcmV0dXJuIHBvb2xcbiAgICAgIC5maWx0ZXIodCA9PiAodC5uYW1lID8/ICcnKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgodHlwZWQpKVxuICAgICAgLnNsaWNlKDAsIDQpO1xuICB9XG5cbiAgYmVnaW5BZGQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZHJhZnQgPSAnJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudGFnSW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gIH1cblxuICBvbkRyYWZ0Q2hhbmdlKG5leHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZHJhZnQgPSBuZXh0ID8/ICcnO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuY29tbWl0RHJhZnQoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmNhbmNlbEFkZCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiAhdGhpcy5kcmFmdCAmJiB0aGlzLnRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucmVtb3ZlQXQodGhpcy50YWdzLmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgc3VnZ2VzdGlvbjogR2xvYmFsVmFyaWFibGVUYWdPcHRpb24pOiB2b2lkIHtcbiAgICAvLyBtb3VzZURvd24gYmVhdHMgYmx1ciBzbyB0aGUgY2xpY2sgcmVnaXN0ZXJzIGJlZm9yZSB0aGUgaW5wdXQgbG9zZXMgZm9jdXNcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuY29tbWl0KHN1Z2dlc3Rpb24ubmFtZSk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgLy8gRGVmZXIgc28gc3VnZ2VzdGlvbiBjbGljayBoYXMgYSBjaGFuY2UgdG8gZmlyZSBmaXJzdFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFkZGluZykgeyByZXR1cm47IH1cbiAgICAgIHRoaXMuY29tbWl0RHJhZnQoKTtcbiAgICB9LCAxNTApO1xuICB9XG5cbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSAodGhpcy50YWdzID8/IFtdKS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KTtcbiAgICB0aGlzLnRhZ3MgPSBuZXh0O1xuICAgIHRoaXMudGFnc0NoYW5nZS5lbWl0KG5leHQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21taXREcmFmdCgpOiB2b2lkIHtcbiAgICBjb25zdCByYXcgPSAodGhpcy5kcmFmdCA/PyAnJykudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHRoaXMuY2FuY2VsQWRkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY29tbWl0KHJhdyk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1pdChuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gKG5hbWUgPz8gJycpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICghbm9ybWFsaXplZCkgeyByZXR1cm47IH1cbiAgICBjb25zdCB0YWtlbiA9IG5ldyBTZXQoKHRoaXMudGFncyA/PyBbXSkubWFwKHQgPT4gdC50b0xvd2VyQ2FzZSgpKSk7XG4gICAgaWYgKHRha2VuLmhhcyhub3JtYWxpemVkKSkge1xuICAgICAgdGhpcy5jYW5jZWxBZGQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV4dCA9IFsuLi4odGhpcy50YWdzID8/IFtdKSwgbm9ybWFsaXplZF07XG4gICAgdGhpcy50YWdzID0gbmV4dDtcbiAgICB0aGlzLnRhZ3NDaGFuZ2UuZW1pdChuZXh0KTtcbiAgICB0aGlzLmRyYWZ0ID0gJyc7XG4gICAgdGhpcy5hZGRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuY2VsQWRkKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kcmFmdCA9ICcnO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtd3JhcCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMS41XCI+XG4gIDwhLS0gU2VsZWN0ZWQgdGFnIGNoaXBzIC0tPlxuICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3M7IGxldCBpID0gaW5kZXhcIlxuICAgIGNsYXNzPVwiY3FhLWlubGluZS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0xIGNxYS1weC0yIGNxYS1weS0wLjUgY3FhLXJvdW5kZWQtZnVsbCBjcWEtdGV4dC14cyBjcWEtZm9udC1tZWRpdW1cIlxuICAgIHN0eWxlPVwiYmFja2dyb3VuZDojRkFFOEZGO2NvbG9yOiM2QjIxQTg7XCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LVsxMnB4XSAhY3FhLWgtWzEycHhdICFjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzEycHhdXCI+c2VsbDwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgdGFnIH19PC9zcGFuPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtcm91bmRlZC1mdWxsIGNxYS1jdXJzb3ItcG9pbnRlciBob3ZlcjpjcWEtYmctWyNFOUQ1RkZdXCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwYWRkaW5nOjA7XCJcbiAgICAgIChjbGljayk9XCJyZW1vdmVBdChpKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZW1vdmUgdGFnICcgKyB0YWdcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiFjcWEtdy1bMTJweF0gIWNxYS1oLVsxMnB4XSAhY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxMnB4XVwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuXG4gIDwhLS0gSW5hY3RpdmU6IFwiKyBBZGQgdGFnXCIgcGlsbCAtLT5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFhZGRpbmdcIiB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMSBjcWEtcHgtMiBjcWEtcHktMC41IGNxYS1yb3VuZGVkLWZ1bGwgY3FhLXRleHQteHMgY3FhLWN1cnNvci1wb2ludGVyXCJcbiAgICBzdHlsZT1cImJvcmRlcjoxcHggZGFzaGVkICNENEQ0RDg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojNTI1MjVCO1wiXG4gICAgKGNsaWNrKT1cImJlZ2luQWRkKClcIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctWzEycHhdICFjcWEtaC1bMTJweF0gIWNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTJweF1cIj5hZGQ8L21hdC1pY29uPlxuICAgIDxzcGFuPkFkZCB0YWc8L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDwhLS0gQWN0aXZlOiBpbnB1dCArIHN1Z2dlc3Rpb25zLiBJbnB1dCBtYXRjaGVzIHRoZSBkaWFsb2cncyBvdGhlciBpbnB1dHM6XG4gICAgICAgZnVsbC13aWR0aCByb3csIDFweCBzb2xpZCBib3JkZXIsIHJvdW5kZWQ7IGlucHV0IGJvcmRlciBpdHNlbGYgaXMgdGhlXG4gICAgICAgaW5uZXIgcGlsbCB0aGUgdXNlciB0eXBlcyBpbnRvLiBTdWdnZXN0aW9uIGRyb3Bkb3duIHJlbmRlcnMgYmVsb3cuIC0tPlxuICA8ZGl2ICpuZ0lmPVwiYWRkaW5nXCIgY2xhc3M9XCJjcWEtcmVsYXRpdmVcIiBzdHlsZT1cIm1pbi13aWR0aDoyMDBweDtcIj5cbiAgICA8aW5wdXQgI3RhZ0lucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImNxYS1weC0zIGNxYS1weS0xLjUgY3FhLXJvdW5kZWQtbWQgY3FhLXRleHQtc20gY3FhLW91dGxpbmUtbm9uZSBjcWEtdy1mdWxsXCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyOjFweCBzb2xpZCAjNjM2NkYxO2JveC1zaGFkb3c6MCAwIDAgM3B4IHJnYmEoOTksMTAyLDI0MSwwLjEyKTtcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJUYWfigKZcIlxuICAgICAgW3ZhbHVlXT1cImRyYWZ0XCJcbiAgICAgIChpbnB1dCk9XCJvbkRyYWZ0Q2hhbmdlKCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cblxuICAgIDxkaXYgKm5nSWY9XCJzdWdnZXN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICAgIGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS16LTEwIGNxYS1tdC0xIGNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1tZCBjcWEtc2hhZG93LWxnIGNxYS13LWZ1bGxcIlxuICAgICAgc3R5bGU9XCJib3JkZXI6MXB4IHNvbGlkICNFNUU3RUI7bWF4LWhlaWdodDoyMjBweDtvdmVyZmxvdy15OmF1dG87bGVmdDowO1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcyBvZiBzdWdnZXN0aW9uc1wiXG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1nYXAtMiBjcWEtcHgtMyBjcWEtcHktMiBjcWEtY3Vyc29yLXBvaW50ZXIgaG92ZXI6Y3FhLWJnLVsjRjNGNEY2XVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TdWdnZXN0aW9uTW91c2VEb3duKCRldmVudCwgcylcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaW5saW5lLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXRleHQtc20gY3FhLXRleHQtZ3JheS04MDBcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctWzE0cHhdICFjcWEtaC1bMTRweF0gIWNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMTRweF1cIiBzdHlsZT1cImNvbG9yOiM2QjIxQTg7XCI+c2VsbDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgcy5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwicy5jb3VudCAhPSBudWxsXCIgY2xhc3M9XCJjcWEtdGV4dC1bMTFweF0gY3FhLXRleHQtZ3JheS00MDBcIj57eyBzLmNvdW50IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLXRhZ3MtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy9nbG9iYWwtdmFyaWFibGUtdGFncy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nL2dsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qjs7Ozs7Ozs7Ozs7OztHQWFHO0FBT0gsTUFBTSxPQUFPLGdDQUFnQztJQVUzQyxZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVQxQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3BCLGtCQUFhLEdBQThCLEVBQUUsQ0FBQztRQUM3QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUlwRCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUUyQyxDQUFDO0lBRXZELElBQUksV0FBVztRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMs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QUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs2SEFuR1UsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0Msc1dDaEM3Qyx5L0NBNkNBOzJGRGJhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSxnQ0FBZ0MsbUJBRXpCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTt3R0FHekQsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFFZ0IsV0FBVztzQkFBakMsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdsb2JhbFZhcmlhYmxlVGFnT3B0aW9uIH0gZnJvbSAnLi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy5tb2RlbHMnO1xuXG4vKipcbiAqIFRhZyBjaGlwLWxpc3QgKyBhdXRvY29tcGxldGUgdXNlZCBieSB0aGUgTmV3IC8gRWRpdCBHbG9iYWwgVmFyaWFibGUgZGlhbG9nLlxuICogTWlycm9ycyB0aGUgUmVhY3QgYFRhZ3NFZGl0b3JgIGJsb2NrIGluXG4gKiBgRW52aXJvbm1lbnQgYW5kIERhdGEgTWFuYWdlbWVudF9DRCBEZWlzZ25zL3NyYy9HbG9iYWwuanN4OjE3OS0yMzdgOlxuICpcbiAqICAgW2NoaXAgw5cg4oCmXSAgWysgQWRkIHRhZ10gICDihpAgIGluYWN0aXZlIHN0YXRlXG4gKiAgIFtjaGlwIMOXIOKApl0gIFtfaW5wdXRfICDihrMgc3VnZ2VzdGlvbnNdICAg4oaQICBhY3RpdmUgc3RhdGVcbiAqXG4gKiBCZWhhdmlvcjpcbiAqICAgLSBCYWNrc3BhY2Ugb24gYW4gZW1wdHkgaW5wdXQgcmVtb3ZlcyB0aGUgbGFzdCB0YWcuXG4gKiAgIC0gRW50ZXIgY29tbWl0cyB0aGUgdHJpbW1lZCBsb3dlcmNhc2UgdmFsdWUgKGNyZWF0ZXMgaWYgbm90IGluIGF2YWlsYWJsZSkuXG4gKiAgIC0gRXNjYXBlIGV4aXRzIHRoZSBpbnB1dCB3aXRob3V0IGNvbW1pdHRpbmcuXG4gKiAgIC0gU3VnZ2VzdGlvbnMgYXJlIGNvbXB1dGVkIGZyb20gYGF2YWlsYWJsZVRhZ3NgLCBjYXBwZWQgYXQgNC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjcWEtdWktcm9vdCcsIHN0eWxlOiAnZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOycgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2xvYmFsVmFyaWFibGVUYWdzSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBhdmFpbGFibGVUYWdzOiBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbltdID0gW107XG4gIEBPdXRwdXQoKSB0YWdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBAVmlld0NoaWxkKCd0YWdJbnB1dCcpIHRhZ0lucHV0UmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBhZGRpbmcgPSBmYWxzZTtcbiAgZHJhZnQgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0IHN1Z2dlc3Rpb25zKCk6IEdsb2JhbFZhcmlhYmxlVGFnT3B0aW9uW10ge1xuICAgIGNvbnN0IHR5cGVkID0gdGhpcy5kcmFmdC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB0YWtlbiA9IG5ldyBTZXQoKHRoaXMudGFncyA/PyBbXSkubWFwKHQgPT4gdC50b0xvd2VyQ2FzZSgpKSk7XG4gICAgY29uc3QgcG9vbCA9ICh0aGlzLmF2YWlsYWJsZVRhZ3MgPz8gW10pLmZpbHRlcih0ID0+ICF0YWtlbi5oYXMoKHQubmFtZSA/PyAnJykudG9Mb3dlckNhc2UoKSkpO1xuICAgIGlmICh0eXBlZC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBwb29sLnNsaWNlKDAsIDQpO1xuICAgIH1cbiAgICByZXR1cm4gcG9vbFxuICAgICAgLmZpbHRlcih0ID0+ICh0Lm5hbWUgPz8gJycpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh0eXBlZCkpXG4gICAgICAuc2xpY2UoMCwgNCk7XG4gIH1cblxuICBiZWdpbkFkZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZGluZyA9IHRydWU7XG4gICAgdGhpcy5kcmFmdCA9ICcnO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50YWdJbnB1dFJlZj8ubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKTtcbiAgfVxuXG4gIG9uRHJhZnRDaGFuZ2UobmV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kcmFmdCA9IG5leHQgPz8gJyc7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jb21taXREcmFmdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuY2FuY2VsQWRkKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmICF0aGlzLmRyYWZ0ICYmIHRoaXMudGFncy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5yZW1vdmVBdCh0aGlzLnRhZ3MubGVuZ3RoIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWdnZXN0aW9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBzdWdnZXN0aW9uOiBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbik6IHZvaWQge1xuICAgIC8vIG1vdXNlRG93biBiZWF0cyBibHVyIHNvIHRoZSBjbGljayByZWdpc3RlcnMgYmVmb3JlIHRoZSBpbnB1dCBsb3NlcyBmb2N1c1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5jb21taXQoc3VnZ2VzdGlvbi5uYW1lKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICAvLyBEZWZlciBzbyBzdWdnZXN0aW9uIGNsaWNrIGhhcyBhIGNoYW5jZSB0byBmaXJlIGZpcnN0XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWRkaW5nKSB7IHJldHVybjsgfVxuICAgICAgdGhpcy5jb21taXREcmFmdCgpO1xuICAgIH0sIDE1MCk7XG4gIH1cblxuICByZW1vdmVBdChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dCA9ICh0aGlzLnRhZ3MgPz8gW10pLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpO1xuICAgIHRoaXMudGFncyA9IG5leHQ7XG4gICAgdGhpcy50YWdzQ2hhbmdlLmVtaXQobmV4dCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1pdERyYWZ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJhdyA9ICh0aGlzLmRyYWZ0ID8/ICcnKS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIXJhdykge1xuICAgICAgdGhpcy5jYW5jZWxBZGQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb21taXQocmF3KTtcbiAgfVxuXG4gIHByaXZhdGUgY29tbWl0KG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSAobmFtZSA/PyAnJykudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKCFub3JtYWxpemVkKSB7IHJldHVybjsgfVxuICAgIGNvbnN0IHRha2VuID0gbmV3IFNldCgodGhpcy50YWdzID8/IFtdKS5tYXAodCA9PiB0LnRvTG93ZXJDYXNlKCkpKTtcbiAgICBpZiAodGFrZW4uaGFzKG5vcm1hbGl6ZWQpKSB7XG4gICAgICB0aGlzLmNhbmNlbEFkZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXh0ID0gWy4uLih0aGlzLnRhZ3MgPz8gW10pLCBub3JtYWxpemVkXTtcbiAgICB0aGlzLnRhZ3MgPSBuZXh0O1xuICAgIHRoaXMudGFnc0NoYW5nZS5lbWl0KG5leHQpO1xuICAgIHRoaXMuZHJhZnQgPSAnJztcbiAgICB0aGlzLmFkZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxBZGQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmRyYWZ0ID0gJyc7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZ3YtdGFnLXJvd1wiPlxuICA8IS0tIFNlbGVjdGVkIHRhZyBjaGlwcyAtLT5cbiAgPHNwYW4gKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjcWEtZ3YtdGFnLWNoaXBcIj5cbiAgICA8bWF0LWljb24+c2VsbDwvbWF0LWljb24+XG4gICAgPHNwYW4+e3sgdGFnIH19PC9zcGFuPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImNxYS1ndi10YWctY2hpcC14XCJcbiAgICAgIChjbGljayk9XCJyZW1vdmVBdChpKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZW1vdmUgdGFnICcgKyB0YWdcIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvc3Bhbj5cblxuICA8IS0tIEluYWN0aXZlOiBcIisgQWRkIHRhZ1wiIGRhc2hlZCBwaWxsIC0tPlxuICA8YnV0dG9uICpuZ0lmPVwiIWFkZGluZ1wiIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiY3FhLWd2LXRhZy1hZGRcIlxuICAgIChjbGljayk9XCJiZWdpbkFkZCgpXCI+XG4gICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgPHNwYW4+QWRkIHRhZzwvc3Bhbj5cbiAgPC9idXR0b24+XG5cbiAgPCEtLSBBY3RpdmU6IHBpbGwtc3R5bGVkIGlucHV0ICsgc3VnZ2VzdGlvbiBkcm9wZG93biAtLT5cbiAgPGRpdiAqbmdJZj1cImFkZGluZ1wiIGNsYXNzPVwiY3FhLXJlbGF0aXZlXCI+XG4gICAgPGlucHV0ICN0YWdJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJjcWEtZ3YtdGFnLWlucHV0XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiVGFn4oCmXCJcbiAgICAgIFt2YWx1ZV09XCJkcmFmdFwiXG4gICAgICAoaW5wdXQpPVwib25EcmFmdENoYW5nZSgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIC8+XG5cbiAgICA8ZGl2ICpuZ0lmPVwic3VnZ2VzdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwiY3FhLWd2LXRhZy1zdWdnZXN0XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzIG9mIHN1Z2dlc3Rpb25zXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZ3YtdGFnLXN1Z2dlc3QtaXRlbVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25TdWdnZXN0aW9uTW91c2VEb3duKCRldmVudCwgcylcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaW5saW5lLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEuNVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zZWxsPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBzLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzLmNvdW50ICE9IG51bGxcIiBjbGFzcz1cImNxYS1ndi10YWctc3VnZ2VzdC1jb3VudFwiPnt7IHMuY291bnQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -221,10 +221,10 @@ export class NewGlobalVariableDialogComponent {
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
NewGlobalVariableDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
224
|
-
NewGlobalVariableDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NewGlobalVariableDialogComponent, selector: "cqa-new-global-variable-dialog", inputs: { mode: "mode", initialValue: "initialValue", existingNames: "existingNames", availableTags: "availableTags" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : (isNumber ? 'number' : 'text')\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [required]=\"isValueRequiredVisually\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Tags (optional) \u2014 between Value and Description per design -->\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">\n Tags <span class=\"cqa-text-xs cqa-font-normal cqa-text-gray-500\">(optional \u2014 for filtering & grouping)</span>\n </label>\n <lib-global-variable-tags-input\n
|
|
224
|
+
NewGlobalVariableDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: NewGlobalVariableDialogComponent, selector: "cqa-new-global-variable-dialog", inputs: { mode: "mode", initialValue: "initialValue", existingNames: "existingNames", availableTags: "availableTags" }, host: { styleAttribute: "display:block;width:100%;", classAttribute: "cqa-ui-root" }, ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : (isNumber ? 'number' : 'text')\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [required]=\"isValueRequiredVisually\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Tags (optional) \u2014 between Value and Description per design -->\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">\n Tags <span class=\"cqa-text-xs cqa-font-normal cqa-text-gray-500\">(optional \u2014 for filtering & grouping)</span>\n </label>\n <div class=\"cqa-gv-tag-field\">\n <lib-global-variable-tags-input\n [tags]=\"tags\"\n [availableTags]=\"availableTags\"\n (tagsChange)=\"onTagsChange($event)\">\n </lib-global-variable-tags-input>\n </div>\n </div>\n\n <!-- Description -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-textarea\n label=\"Description\"\n placeholder=\"What is this variable used for?\"\n [value]=\"description\"\n [rows]=\"2\"\n [fullWidth]=\"true\"\n textareaInlineStyle=\"padding: 8px 12px;\"\n (valueChange)=\"onDescriptionChange($event)\">\n </cqa-custom-textarea>\n </div>\n\n</div>\n", components: [{ type: i1.CustomInputComponent, selector: "cqa-custom-input", inputs: ["inputId", "label", "type", "placeholder", "value", "disabled", "errors", "required", "ariaLabel", "size", "fullWidth", "maxLength", "showCharCount", "inputInlineStyle", "labelInlineStyle", "showPasswordToggle"], outputs: ["valueChange", "blurred", "focused", "enterPressed"] }, { type: i2.DropdownButtonComponent, selector: "cqa-dropdown-button", inputs: ["label", "options", "selectedValue", "disabled", "placeholder"], outputs: ["selectionChange", "opened", "closed"] }, { type: i3.PermissionToggleComponent, selector: "cqa-permission-toggle", inputs: ["value", "disabled", "displayOnly", "roTooltip", "rwTooltip"], outputs: ["valueChange"] }, { type: i4.GlobalVariableTagsInputComponent, selector: "lib-global-variable-tags-input", inputs: ["tags", "availableTags"], outputs: ["tagsChange"] }, { type: i5.CustomTextareaComponent, selector: "cqa-custom-textarea", inputs: ["label", "placeholder", "value", "enableMarkdown", "disabled", "errors", "required", "ariaLabel", "size", "fullWidth", "maxLength", "showCharCount", "rows", "cols", "resize", "textareaInlineStyle", "labelInlineStyle"], outputs: ["valueChange", "blurred", "focused"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
225
225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NewGlobalVariableDialogComponent, decorators: [{
|
|
226
226
|
type: Component,
|
|
227
|
-
args: [{ selector: 'cqa-new-global-variable-dialog', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : (isNumber ? 'number' : 'text')\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [required]=\"isValueRequiredVisually\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Tags (optional) \u2014 between Value and Description per design -->\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">\n Tags <span class=\"cqa-text-xs cqa-font-normal cqa-text-gray-500\">(optional \u2014 for filtering & grouping)</span>\n </label>\n <lib-global-variable-tags-input\n
|
|
227
|
+
args: [{ selector: 'cqa-new-global-variable-dialog', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'cqa-ui-root', style: 'display:block;width:100%;' }, template: "<div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-w-full\">\n\n <!-- Name -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-input\n label=\"Name\"\n placeholder=\"e.g. api_key\"\n type=\"text\"\n [value]=\"name\"\n [required]=\"true\"\n [fullWidth]=\"true\"\n [errors]=\"nameErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onNameChange($event)\">\n </cqa-custom-input>\n <span *ngIf=\"!nameError\"\n class=\"cqa-text-xs cqa-text-gray-500 cqa-mt-1\">\n Names must be unique across the entire workspace (primary key \u2014 no duplicates).\n </span>\n </div>\n\n <!-- Type + Permission row -->\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-4\">\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Type</label>\n <cqa-dropdown-button\n [options]=\"typeDropdownOptions\"\n [selectedValue]=\"type\"\n (selectionChange)=\"onTypeChange($event)\">\n </cqa-dropdown-button>\n </div>\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Permission</label>\n <div class=\"cqa-pt-0.5\">\n <cqa-permission-toggle\n [value]=\"readWriteMode\"\n (valueChange)=\"onPermissionChange($event)\">\n </cqa-permission-toggle>\n </div>\n </div>\n </div>\n\n <!-- Value -->\n <div class=\"cqa-flex cqa-flex-col\">\n <ng-container *ngIf=\"isBoolean; else nonBooleanValue\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">Value</label>\n <cqa-dropdown-button\n [options]=\"booleanDropdownOptions\"\n [selectedValue]=\"value\"\n (selectionChange)=\"onBooleanValueChange($event)\">\n </cqa-dropdown-button>\n </ng-container>\n <ng-template #nonBooleanValue>\n <cqa-custom-input\n label=\"Value\"\n [type]=\"isPassword ? 'password' : (isNumber ? 'number' : 'text')\"\n [value]=\"value\"\n [placeholder]=\"valuePlaceholder\"\n [required]=\"isValueRequiredVisually\"\n [fullWidth]=\"true\"\n [errors]=\"valueErrorsArray\"\n inputInlineStyle=\"font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;\"\n (valueChange)=\"onValueChange($event)\">\n </cqa-custom-input>\n </ng-template>\n </div>\n\n <!-- Tags (optional) \u2014 between Value and Description per design -->\n <div class=\"cqa-flex cqa-flex-col\">\n <label class=\"cqa-text-sm cqa-mb-1.5 cqa-font-medium cqa-text-gray-700\">\n Tags <span class=\"cqa-text-xs cqa-font-normal cqa-text-gray-500\">(optional \u2014 for filtering & grouping)</span>\n </label>\n <div class=\"cqa-gv-tag-field\">\n <lib-global-variable-tags-input\n [tags]=\"tags\"\n [availableTags]=\"availableTags\"\n (tagsChange)=\"onTagsChange($event)\">\n </lib-global-variable-tags-input>\n </div>\n </div>\n\n <!-- Description -->\n <div class=\"cqa-flex cqa-flex-col\">\n <cqa-custom-textarea\n label=\"Description\"\n placeholder=\"What is this variable used for?\"\n [value]=\"description\"\n [rows]=\"2\"\n [fullWidth]=\"true\"\n textareaInlineStyle=\"padding: 8px 12px;\"\n (valueChange)=\"onDescriptionChange($event)\">\n </cqa-custom-textarea>\n </div>\n\n</div>\n" }]
|
|
228
228
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { mode: [{
|
|
229
229
|
type: Input
|
|
230
230
|
}], initialValue: [{
|
|
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
234
234
|
}], availableTags: [{
|
|
235
235
|
type: Input
|
|
236
236
|
}] } });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWdsb2JhbC12YXJpYWJsZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFjckcsTUFBTSxPQUFPLGdDQUFnQztJQStCM0MsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE5QjFDLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBRW5DLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQThCLEVBQUUsQ0FBQztRQUU5QyxnQkFBVyxHQUEyQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWxGLHdCQUFtQixHQUFxRDtZQUMvRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN0QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtTQUN6QyxDQUFDO1FBRU8sdUJBQWtCLEdBQUc7WUFDNUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFrQyxFQUFFLElBQUksRUFB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aEMsZ0NBQWdDLG9SQ2Q3QyxxNEdBNEZBOzJGRDlFYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7d0dBR3pELElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHbG9iYWxWYXJpYWJsZURpYWxvZ1ZhbHVlLFxuICBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbixcbiAgR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24sXG4gIEdsb2JhbFZhcmlhYmxlVUlUeXBlLFxufSBmcm9tICcuL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnLCBzdHlsZTogJ2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsnIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ld0dsb2JhbFZhcmlhYmxlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlPzogUGFydGlhbDxHbG9iYWxWYXJpYWJsZURpYWxvZ1ZhbHVlPjtcbiAgQElucHV0KCkgZXhpc3RpbmdOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgYXZhaWxhYmxlVGFnczogR2xvYmFsVmFyaWFibGVUYWdPcHRpb25bXSA9IFtdO1xuXG4gIHJlYWRvbmx5IHR5cGVPcHRpb25zOiBHbG9iYWxWYXJpYWJsZVVJVHlwZVtdID0gWydTdHJpbmcnLCAnTnVtYmVyJywgJ0Jvb2xlYW4nLCAnUGFzc3dvcmQnXTtcblxuICByZWFkb25seSB0eXBlRHJvcGRvd25PcHRpb25zOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBHbG9iYWxWYXJpYWJsZVVJVHlwZSB9W10gPSBbXG4gICAgeyBsYWJlbDogJ1N0cmluZycsIHZhbHVlOiAnU3RyaW5nJyB9LFxuICAgIHsgbGFiZWw6ICdOdW1iZXInLCB2YWx1ZTogJ051bWJlcicgfSxcbiAgICB7IGxhYmVsOiAnQm9vbGVhbicsIHZhbHVlOiAnQm9vbGVhbicgfSxcbiAgICB7IGxhYmVsOiAnUGFzc3dvcmQnLCB2YWx1ZTogJ1Bhc3N3b3JkJyB9LFxuICBdO1xuXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25TZWdtZW50cyA9IFtcbiAgICB7IGxhYmVsOiAnUk8nLCB2YWx1ZTogJ1JPJyBhcyBHbG9iYWxWYXJpYWJsZVVJUGVybWlzc2lvbiwgaWNvbjogJ2xvY2snIH0sXG4gICAgeyBsYWJlbDogJ1JXJywgdmFsdWU6ICdSVycgYXMgR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24sIGljb246ICdlZGl0JyB9LFxuICBdO1xuXG4gIG5hbWUgPSAnJztcbiAgdHlwZTogR2xvYmFsVmFyaWFibGVVSVR5cGUgPSAnU3RyaW5nJztcbiAgdmFsdWUgPSAnJztcbiAgcmVhZFdyaXRlTW9kZTogR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24gPSAnUlcnO1xuICBkZXNjcmlwdGlvbiA9ICcnO1xuICB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuICBwYXNzd29yZFRvdWNoZWQgPSBmYWxzZTtcblxuICBuYW1lRXJyb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICB2YWx1ZUVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLmluaXRpYWxWYWx1ZS5uYW1lID8/ICcnO1xuICAgICAgdGhpcy50eXBlID0gdGhpcy5pbml0aWFsVmFsdWUudHlwZSA/PyAnU3RyaW5nJztcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZS52YWx1ZSA/PyAnJztcbiAgICAgIHRoaXMucmVhZFdyaXRlTW9kZSA9IHRoaXMuaW5pdGlhbFZhbHVlLnJlYWRXcml0ZU1vZGUgPz8gJ1JXJztcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmluaXRpYWxWYWx1ZS5kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgIHRoaXMudGFncyA9IEFycmF5LmlzQXJyYXkodGhpcy5pbml0aWFsVmFsdWUudGFncykgPyBbLi4udGhpcy5pbml0aWFsVmFsdWUudGFnc10gOiBbXTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ0Jvb2xlYW4nICYmIHRoaXMudmFsdWUgIT09ICd0cnVlJyAmJiB0aGlzLnZhbHVlICE9PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gJ2ZhbHNlJztcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2VkaXQnICYmIHRoaXMudHlwZSA9PT0gJ1Bhc3N3b3JkJykge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdlZGl0JyA/ICdFZGl0IGdsb2JhbCB2YXJpYWJsZScgOiAnTmV3IGdsb2JhbCB2YXJpYWJsZSc7XG4gIH1cblxuICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1dvcmtzcGFjZS13aWRlIOKAlCBhY2Nlc3NpYmxlIGZyb20gYW55IHRlc3QgY2FzZSwgYW55IGVudmlyb25tZW50Lic7XG4gIH1cblxuICBnZXQgcHJpbWFyeUJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2VkaXQnID8gJ1NhdmUgY2hhbmdlcycgOiAnQ3JlYXRlIHZhcmlhYmxlJztcbiAgfVxuXG4gIGdldCBpc0Jvb2xlYW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ0Jvb2xlYW4nO1xuICB9XG5cbiAgZ2V0IGlzUGFzc3dvcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ1Bhc3N3b3JkJztcbiAgfVxuXG4gIGdldCBpc051bWJlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnTnVtYmVyJztcbiAgfVxuXG4gIGdldCB2YWx1ZVBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0Jykge1xuICAgICAgcmV0dXJuICfigKLigKLigKLigKLigKLigKIgKGxlYXZlIGJsYW5rIHRvIGtlZXAgZXhpc3RpbmcpJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0IG5hbWVIZWxwZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubmFtZUVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYW1lRXJyb3I7XG4gICAgfVxuICAgIHJldHVybiAnTmFtZXMgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgd29ya3NwYWNlIChwcmltYXJ5IGtleSDigJQgbm8gZHVwbGljYXRlcykuJztcbiAgfVxuXG4gIGdldCBuYW1lRXJyb3JzQXJyYXkoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLm5hbWVFcnJvciA/IFt0aGlzLm5hbWVFcnJvcl0gOiBbXTtcbiAgfVxuXG4gIGdldCB2YWx1ZUVycm9yc0FycmF5KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUVycm9yID8gW3RoaXMudmFsdWVFcnJvcl0gOiBbXTtcbiAgfVxuXG4gIGdldCBib29sZWFuT3B0aW9ucygpOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBsYWJlbDogJ3RydWUnLCB2YWx1ZTogJ3RydWUnIH0sXG4gICAgICB7IGxhYmVsOiAnZmFsc2UnLCB2YWx1ZTogJ2ZhbHNlJyB9LFxuICAgIF07XG4gIH1cblxuICBnZXQgYm9vbGVhbkRyb3Bkb3duT3B0aW9ucygpOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gdGhpcy5ib29sZWFuT3B0aW9ucztcbiAgfVxuXG4gIGdldCBpc1ZhbHVlUmVxdWlyZWRWaXN1YWxseSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0Jvb2xlYW4pIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0JykgeyByZXR1cm4gZmFsc2U7IH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uTmFtZUNoYW5nZShuZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm5hbWUgPSBuZXh0O1xuICAgIHRoaXMubmFtZUVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVHlwZUNoYW5nZShuZXh0OiBHbG9iYWxWYXJpYWJsZVVJVHlwZSk6IHZvaWQge1xuICAgIGlmICghbmV4dCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBwcmV2ID0gdGhpcy50eXBlO1xuICAgIHRoaXMudHlwZSA9IG5leHQ7XG4gICAgaWYgKHByZXYgPT09ICdCb29sZWFuJyAmJiBuZXh0ICE9PSAnQm9vbGVhbicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09ICdCb29sZWFuJyAmJiB0aGlzLnZhbHVlICE9PSAndHJ1ZScgJiYgdGhpcy52YWx1ZSAhPT0gJ2ZhbHNlJykge1xuICAgICAgdGhpcy52YWx1ZSA9ICdmYWxzZSc7XG4gICAgfVxuICAgIGlmIChuZXh0ID09PSAnTnVtYmVyJyAmJiB0aGlzLnZhbHVlICYmICF0aGlzLmlzVmFsaWROdW1iZXIodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG4gICAgaWYgKG5leHQgPT09ICdQYXNzd29yZCcpIHtcbiAgICAgIHRoaXMucGFzc3dvcmRUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdCcpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnZhbHVlRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25QZXJtaXNzaW9uQ2hhbmdlKG5leHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVhZFdyaXRlTW9kZSA9IG5leHQgPT09ICdSTycgPyAnUk8nIDogJ1JXJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UobmV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCkge1xuICAgICAgdGhpcy5wYXNzd29yZFRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25Cb29sZWFuVmFsdWVDaGFuZ2UobmV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5leHQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkRlc2NyaXB0aW9uQ2hhbmdlKG5leHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBuZXh0O1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25UYWdzQ2hhbmdlKG5leHQ6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy50YWdzID0gQXJyYXkuaXNBcnJheShuZXh0KSA/IFsuLi5uZXh0XSA6IFtdO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgaG9zdCAodmlhIERpYWxvZ1JlZi5nZXRDb21wb25lbnRJbnN0YW5jZSgpKSB3aGVuIHRoZSBwcmltYXJ5XG4gICAqIGJ1dHRvbiBpcyBjbGlja2VkLiBSZXR1cm5zIHRoZSBjYXB0dXJlZCB2YWx1ZSB3aGVuIHZhbGlkLCBvciBudWxsIHdoZW4gdGhlXG4gICAqIGZvcm0gaGFzIGVycm9ycyDigJQgaW4gd2hpY2ggY2FzZSB0aGUgaG9zdCBzaG91bGQgbGVhdmUgdGhlIGRpYWxvZyBvcGVuLlxuICAgKi9cbiAgZ2V0VmFsdWUoKTogR2xvYmFsVmFyaWFibGVEaWFsb2dWYWx1ZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWROYW1lID0gdGhpcy5uYW1lLnRyaW0oKTtcblxuICAgIGlmICghdHJpbW1lZE5hbWUpIHtcbiAgICAgIHRoaXMubmFtZUVycm9yID0gJ05hbWUgaXMgcmVxdWlyZWQuJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEdXBsaWNhdGVOYW1lKHRyaW1tZWROYW1lKSkge1xuICAgICAgdGhpcy5uYW1lRXJyb3IgPSAnQSBnbG9iYWwgdmFyaWFibGUgd2l0aCB0aGlzIG5hbWUgYWxyZWFkeSBleGlzdHMg4oCUIG5hbWVzIG11c3QgYmUgdW5pcXVlLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmFtZUVycm9yID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByYXdWYWx1ZSA9ICh0aGlzLnZhbHVlID8/ICcnKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHZhbHVlSXNCbGFuayA9ICF0aGlzLmlzQm9vbGVhbiAmJiByYXdWYWx1ZS50cmltKCkgPT09ICcnO1xuICAgIGNvbnN0IGFsbG93QmxhbmtQYXNzd29yZE9uRWRpdCA9IHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0JyAmJiAhdGhpcy5wYXNzd29yZFRvdWNoZWQ7XG5cbiAgICBpZiAodmFsdWVJc0JsYW5rICYmICFhbGxvd0JsYW5rUGFzc3dvcmRPbkVkaXQpIHtcbiAgICAgIHRoaXMudmFsdWVFcnJvciA9ICdWYWx1ZSBpcyByZXF1aXJlZC4nO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc051bWJlciAmJiByYXdWYWx1ZSAmJiAhdGhpcy5pc1ZhbGlkTnVtYmVyKHJhd1ZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZUVycm9yID0gJ1ZhbHVlIG11c3QgYmUgYSBudW1iZXIuJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZUVycm9yID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYW1lRXJyb3IgfHwgdGhpcy52YWx1ZUVycm9yKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG9taXRQYXNzd29yZFZhbHVlID0gdGhpcy5pc1Bhc3N3b3JkICYmIHRoaXMubW9kZSA9PT0gJ2VkaXQnICYmICF0aGlzLnBhc3N3b3JkVG91Y2hlZDtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0cmltbWVkTmFtZSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHZhbHVlOiBvbWl0UGFzc3dvcmRWYWx1ZSA/IG51bGwgOiB0aGlzLnNlcmlhbGl6ZVZhbHVlKCksXG4gICAgICByZWFkV3JpdGVNb2RlOiB0aGlzLnJlYWRXcml0ZU1vZGUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbiA/IHRoaXMuZGVzY3JpcHRpb24gOiBudWxsLFxuICAgICAgdGFnczogWy4uLnRoaXMudGFnc10sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gJ3RydWUnID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGlzRHVwbGljYXRlTmFtZShjYW5kaWRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gKHRoaXMuZXhpc3RpbmdOYW1lcyA/PyBbXSkubWFwKG4gPT4gKG4gPz8gJycpLnRyaW0oKSk7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2VkaXQnKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbCA9ICh0aGlzLmluaXRpYWxWYWx1ZT8ubmFtZSA/PyAnJykudHJpbSgpO1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZSAhPT0gb3JpZ2luYWwgJiYgZXhpc3RpbmcuaW5jbHVkZXMoY2FuZGlkYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4aXN0aW5nLmluY2x1ZGVzKGNhbmRpZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWROdW1iZXIocmF3OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCB0cmltbWVkID0gcmF3LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWQpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gIU51bWJlci5pc05hTihOdW1iZXIodHJpbW1lZCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNCBjcWEtdy1mdWxsXCI+XG5cbiAgPCEtLSBOYW1lIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgPGNxYS1jdXN0b20taW5wdXRcbiAgICAgIGxhYmVsPVwiTmFtZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cImUuZy4gYXBpX2tleVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbdmFsdWVdPVwibmFtZVwiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgW2Vycm9yc109XCJuYW1lRXJyb3JzQXJyYXlcIlxuICAgICAgaW5wdXRJbmxpbmVTdHlsZT1cImZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTtcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uTmFtZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9jcWEtY3VzdG9tLWlucHV0PlxuICAgIDxzcGFuICpuZ0lmPVwiIW5hbWVFcnJvclwiXG4gICAgICBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LWdyYXktNTAwIGNxYS1tdC0xXCI+XG4gICAgICBOYW1lcyBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGVudGlyZSB3b3Jrc3BhY2UgKHByaW1hcnkga2V5IOKAlCBubyBkdXBsaWNhdGVzKS5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDwhLS0gVHlwZSArIFBlcm1pc3Npb24gcm93IC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIGNxYS1nYXAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2xcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1tYi0xLjUgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktNzAwXCI+VHlwZTwvbGFiZWw+XG4gICAgICA8Y3FhLWRyb3Bkb3duLWJ1dHRvblxuICAgICAgICBbb3B0aW9uc109XCJ0eXBlRHJvcGRvd25PcHRpb25zXCJcbiAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwidHlwZVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25UeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwvY3FhLWRyb3Bkb3duLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbWItMS41IGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTcwMFwiPlBlcm1pc3Npb248L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1wdC0wLjVcIj5cbiAgICAgICAgPGNxYS1wZXJtaXNzaW9uLXRvZ2dsZVxuICAgICAgICAgIFt2YWx1ZV09XCJyZWFkV3JpdGVNb2RlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25QZXJtaXNzaW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9jcWEtcGVybWlzc2lvbi10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBWYWx1ZSAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Jvb2xlYW47IGVsc2Ugbm9uQm9vbGVhblZhbHVlXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbWItMS41IGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTcwMFwiPlZhbHVlPC9sYWJlbD5cbiAgICAgIDxjcWEtZHJvcGRvd24tYnV0dG9uXG4gICAgICAgIFtvcHRpb25zXT1cImJvb2xlYW5Ecm9wZG93bk9wdGlvbnNcIlxuICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Cb29sZWFuVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPC9jcWEtZHJvcGRvd24tYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9uQm9vbGVhblZhbHVlPlxuICAgICAgPGNxYS1jdXN0b20taW5wdXRcbiAgICAgICAgbGFiZWw9XCJWYWx1ZVwiXG4gICAgICAgIFt0eXBlXT1cImlzUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogKGlzTnVtYmVyID8gJ251bWJlcicgOiAndGV4dCcpXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInZhbHVlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbcmVxdWlyZWRdPVwiaXNWYWx1ZVJlcXVpcmVkVmlzdWFsbHlcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZXJyb3JzXT1cInZhbHVlRXJyb3JzQXJyYXlcIlxuICAgICAgICBpbnB1dElubGluZVN0eWxlPVwiZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwvY3FhLWN1c3RvbS1pbnB1dD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8IS0tIFRhZ3MgKG9wdGlvbmFsKSDigJQgYmV0d2VlbiBWYWx1ZSBhbmQgRGVzY3JpcHRpb24gcGVyIGRlc2lnbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1tYi0xLjUgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktNzAwXCI+XG4gICAgICBUYWdzIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLWZvbnQtbm9ybWFsIGNxYS10ZXh0LWdyYXktNTAwXCI+KG9wdGlvbmFsIOKAlCBmb3IgZmlsdGVyaW5nICZhbXA7IGdyb3VwaW5nKTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxsaWItZ2xvYmFsLXZhcmlhYmxlLXRhZ3MtaW5wdXRcbiAgICAgIFt0YWdzXT1cInRhZ3NcIlxuICAgICAgW2F2YWlsYWJsZVRhZ3NdPVwiYXZhaWxhYmxlVGFnc1wiXG4gICAgICAodGFnc0NoYW5nZSk9XCJvblRhZ3NDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDwvbGliLWdsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgPGNxYS1jdXN0b20tdGV4dGFyZWFcbiAgICAgIGxhYmVsPVwiRGVzY3JpcHRpb25cIlxuICAgICAgcGxhY2Vob2xkZXI9XCJXaGF0IGlzIHRoaXMgdmFyaWFibGUgdXNlZCBmb3I/XCJcbiAgICAgIFt2YWx1ZV09XCJkZXNjcmlwdGlvblwiXG4gICAgICBbcm93c109XCIyXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25EZXNjcmlwdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9jcWEtY3VzdG9tLXRleHRhcmVhPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWdsb2JhbC12YXJpYWJsZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFjckcsTUFBTSxPQUFPLGdDQUFnQztJQStCM0MsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE5QjFDLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBRW5DLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQThCLEVBQUUsQ0FBQztRQUU5QyxnQkFBVyxHQUEyQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWxGLHdCQUFtQixHQUFxRDtZQUMvRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN0QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtTQUN6QyxDQUFDO1FBRU8sdUJBQWtCLEdBQUc7WUFDNUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFrQyxFQUFFLElBQUksRUFB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aEMsZ0NBQWdDLG9SQ2Q3QyxtL0dBK0ZBOzJGRGpGYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7d0dBR3pELElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHbG9iYWxWYXJpYWJsZURpYWxvZ1ZhbHVlLFxuICBHbG9iYWxWYXJpYWJsZVRhZ09wdGlvbixcbiAgR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24sXG4gIEdsb2JhbFZhcmlhYmxlVUlUeXBlLFxufSBmcm9tICcuL25ldy1nbG9iYWwtdmFyaWFibGUtZGlhbG9nLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctZ2xvYmFsLXZhcmlhYmxlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnLCBzdHlsZTogJ2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTsnIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ld0dsb2JhbFZhcmlhYmxlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcbiAgQElucHV0KCkgaW5pdGlhbFZhbHVlPzogUGFydGlhbDxHbG9iYWxWYXJpYWJsZURpYWxvZ1ZhbHVlPjtcbiAgQElucHV0KCkgZXhpc3RpbmdOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgYXZhaWxhYmxlVGFnczogR2xvYmFsVmFyaWFibGVUYWdPcHRpb25bXSA9IFtdO1xuXG4gIHJlYWRvbmx5IHR5cGVPcHRpb25zOiBHbG9iYWxWYXJpYWJsZVVJVHlwZVtdID0gWydTdHJpbmcnLCAnTnVtYmVyJywgJ0Jvb2xlYW4nLCAnUGFzc3dvcmQnXTtcblxuICByZWFkb25seSB0eXBlRHJvcGRvd25PcHRpb25zOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBHbG9iYWxWYXJpYWJsZVVJVHlwZSB9W10gPSBbXG4gICAgeyBsYWJlbDogJ1N0cmluZycsIHZhbHVlOiAnU3RyaW5nJyB9LFxuICAgIHsgbGFiZWw6ICdOdW1iZXInLCB2YWx1ZTogJ051bWJlcicgfSxcbiAgICB7IGxhYmVsOiAnQm9vbGVhbicsIHZhbHVlOiAnQm9vbGVhbicgfSxcbiAgICB7IGxhYmVsOiAnUGFzc3dvcmQnLCB2YWx1ZTogJ1Bhc3N3b3JkJyB9LFxuICBdO1xuXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25TZWdtZW50cyA9IFtcbiAgICB7IGxhYmVsOiAnUk8nLCB2YWx1ZTogJ1JPJyBhcyBHbG9iYWxWYXJpYWJsZVVJUGVybWlzc2lvbiwgaWNvbjogJ2xvY2snIH0sXG4gICAgeyBsYWJlbDogJ1JXJywgdmFsdWU6ICdSVycgYXMgR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24sIGljb246ICdlZGl0JyB9LFxuICBdO1xuXG4gIG5hbWUgPSAnJztcbiAgdHlwZTogR2xvYmFsVmFyaWFibGVVSVR5cGUgPSAnU3RyaW5nJztcbiAgdmFsdWUgPSAnJztcbiAgcmVhZFdyaXRlTW9kZTogR2xvYmFsVmFyaWFibGVVSVBlcm1pc3Npb24gPSAnUlcnO1xuICBkZXNjcmlwdGlvbiA9ICcnO1xuICB0YWdzOiBzdHJpbmdbXSA9IFtdO1xuICBwYXNzd29yZFRvdWNoZWQgPSBmYWxzZTtcblxuICBuYW1lRXJyb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICB2YWx1ZUVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLmluaXRpYWxWYWx1ZS5uYW1lID8/ICcnO1xuICAgICAgdGhpcy50eXBlID0gdGhpcy5pbml0aWFsVmFsdWUudHlwZSA/PyAnU3RyaW5nJztcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZS52YWx1ZSA/PyAnJztcbiAgICAgIHRoaXMucmVhZFdyaXRlTW9kZSA9IHRoaXMuaW5pdGlhbFZhbHVlLnJlYWRXcml0ZU1vZGUgPz8gJ1JXJztcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmluaXRpYWxWYWx1ZS5kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgIHRoaXMudGFncyA9IEFycmF5LmlzQXJyYXkodGhpcy5pbml0aWFsVmFsdWUudGFncykgPyBbLi4udGhpcy5pbml0aWFsVmFsdWUudGFnc10gOiBbXTtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ0Jvb2xlYW4nICYmIHRoaXMudmFsdWUgIT09ICd0cnVlJyAmJiB0aGlzLnZhbHVlICE9PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gJ2ZhbHNlJztcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2VkaXQnICYmIHRoaXMudHlwZSA9PT0gJ1Bhc3N3b3JkJykge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdlZGl0JyA/ICdFZGl0IGdsb2JhbCB2YXJpYWJsZScgOiAnTmV3IGdsb2JhbCB2YXJpYWJsZSc7XG4gIH1cblxuICBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1dvcmtzcGFjZS13aWRlIOKAlCBhY2Nlc3NpYmxlIGZyb20gYW55IHRlc3QgY2FzZSwgYW55IGVudmlyb25tZW50Lic7XG4gIH1cblxuICBnZXQgcHJpbWFyeUJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2VkaXQnID8gJ1NhdmUgY2hhbmdlcycgOiAnQ3JlYXRlIHZhcmlhYmxlJztcbiAgfVxuXG4gIGdldCBpc0Jvb2xlYW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ0Jvb2xlYW4nO1xuICB9XG5cbiAgZ2V0IGlzUGFzc3dvcmQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ1Bhc3N3b3JkJztcbiAgfVxuXG4gIGdldCBpc051bWJlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnTnVtYmVyJztcbiAgfVxuXG4gIGdldCB2YWx1ZVBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0Jykge1xuICAgICAgcmV0dXJuICfigKLigKLigKLigKLigKLigKIgKGxlYXZlIGJsYW5rIHRvIGtlZXAgZXhpc3RpbmcpJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0IG5hbWVIZWxwZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubmFtZUVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5uYW1lRXJyb3I7XG4gICAgfVxuICAgIHJldHVybiAnTmFtZXMgbXVzdCBiZSB1bmlxdWUgYWNyb3NzIHRoZSBlbnRpcmUgd29ya3NwYWNlIChwcmltYXJ5IGtleSDigJQgbm8gZHVwbGljYXRlcykuJztcbiAgfVxuXG4gIGdldCBuYW1lRXJyb3JzQXJyYXkoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLm5hbWVFcnJvciA/IFt0aGlzLm5hbWVFcnJvcl0gOiBbXTtcbiAgfVxuXG4gIGdldCB2YWx1ZUVycm9yc0FycmF5KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUVycm9yID8gW3RoaXMudmFsdWVFcnJvcl0gOiBbXTtcbiAgfVxuXG4gIGdldCBib29sZWFuT3B0aW9ucygpOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBsYWJlbDogJ3RydWUnLCB2YWx1ZTogJ3RydWUnIH0sXG4gICAgICB7IGxhYmVsOiAnZmFsc2UnLCB2YWx1ZTogJ2ZhbHNlJyB9LFxuICAgIF07XG4gIH1cblxuICBnZXQgYm9vbGVhbkRyb3Bkb3duT3B0aW9ucygpOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gdGhpcy5ib29sZWFuT3B0aW9ucztcbiAgfVxuXG4gIGdldCBpc1ZhbHVlUmVxdWlyZWRWaXN1YWxseSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0Jvb2xlYW4pIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0JykgeyByZXR1cm4gZmFsc2U7IH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uTmFtZUNoYW5nZShuZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm5hbWUgPSBuZXh0O1xuICAgIHRoaXMubmFtZUVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVHlwZUNoYW5nZShuZXh0OiBHbG9iYWxWYXJpYWJsZVVJVHlwZSk6IHZvaWQge1xuICAgIGlmICghbmV4dCkgeyByZXR1cm47IH1cbiAgICBjb25zdCBwcmV2ID0gdGhpcy50eXBlO1xuICAgIHRoaXMudHlwZSA9IG5leHQ7XG4gICAgaWYgKHByZXYgPT09ICdCb29sZWFuJyAmJiBuZXh0ICE9PSAnQm9vbGVhbicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09ICdCb29sZWFuJyAmJiB0aGlzLnZhbHVlICE9PSAndHJ1ZScgJiYgdGhpcy52YWx1ZSAhPT0gJ2ZhbHNlJykge1xuICAgICAgdGhpcy52YWx1ZSA9ICdmYWxzZSc7XG4gICAgfVxuICAgIGlmIChuZXh0ID09PSAnTnVtYmVyJyAmJiB0aGlzLnZhbHVlICYmICF0aGlzLmlzVmFsaWROdW1iZXIodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB9XG4gICAgaWYgKG5leHQgPT09ICdQYXNzd29yZCcpIHtcbiAgICAgIHRoaXMucGFzc3dvcmRUb3VjaGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnZWRpdCcpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnZhbHVlRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25QZXJtaXNzaW9uQ2hhbmdlKG5leHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVhZFdyaXRlTW9kZSA9IG5leHQgPT09ICdSTycgPyAnUk8nIDogJ1JXJztcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UobmV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHRoaXMuaXNQYXNzd29yZCkge1xuICAgICAgdGhpcy5wYXNzd29yZFRvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25Cb29sZWFuVmFsdWVDaGFuZ2UobmV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5leHQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkRlc2NyaXB0aW9uQ2hhbmdlKG5leHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBuZXh0O1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25UYWdzQ2hhbmdlKG5leHQ6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy50YWdzID0gQXJyYXkuaXNBcnJheShuZXh0KSA/IFsuLi5uZXh0XSA6IFtdO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBieSB0aGUgaG9zdCAodmlhIERpYWxvZ1JlZi5nZXRDb21wb25lbnRJbnN0YW5jZSgpKSB3aGVuIHRoZSBwcmltYXJ5XG4gICAqIGJ1dHRvbiBpcyBjbGlja2VkLiBSZXR1cm5zIHRoZSBjYXB0dXJlZCB2YWx1ZSB3aGVuIHZhbGlkLCBvciBudWxsIHdoZW4gdGhlXG4gICAqIGZvcm0gaGFzIGVycm9ycyDigJQgaW4gd2hpY2ggY2FzZSB0aGUgaG9zdCBzaG91bGQgbGVhdmUgdGhlIGRpYWxvZyBvcGVuLlxuICAgKi9cbiAgZ2V0VmFsdWUoKTogR2xvYmFsVmFyaWFibGVEaWFsb2dWYWx1ZSB8IG51bGwge1xuICAgIGNvbnN0IHRyaW1tZWROYW1lID0gdGhpcy5uYW1lLnRyaW0oKTtcblxuICAgIGlmICghdHJpbW1lZE5hbWUpIHtcbiAgICAgIHRoaXMubmFtZUVycm9yID0gJ05hbWUgaXMgcmVxdWlyZWQuJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEdXBsaWNhdGVOYW1lKHRyaW1tZWROYW1lKSkge1xuICAgICAgdGhpcy5uYW1lRXJyb3IgPSAnQSBnbG9iYWwgdmFyaWFibGUgd2l0aCB0aGlzIG5hbWUgYWxyZWFkeSBleGlzdHMg4oCUIG5hbWVzIG11c3QgYmUgdW5pcXVlLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmFtZUVycm9yID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByYXdWYWx1ZSA9ICh0aGlzLnZhbHVlID8/ICcnKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHZhbHVlSXNCbGFuayA9ICF0aGlzLmlzQm9vbGVhbiAmJiByYXdWYWx1ZS50cmltKCkgPT09ICcnO1xuICAgIGNvbnN0IGFsbG93QmxhbmtQYXNzd29yZE9uRWRpdCA9IHRoaXMuaXNQYXNzd29yZCAmJiB0aGlzLm1vZGUgPT09ICdlZGl0JyAmJiAhdGhpcy5wYXNzd29yZFRvdWNoZWQ7XG5cbiAgICBpZiAodmFsdWVJc0JsYW5rICYmICFhbGxvd0JsYW5rUGFzc3dvcmRPbkVkaXQpIHtcbiAgICAgIHRoaXMudmFsdWVFcnJvciA9ICdWYWx1ZSBpcyByZXF1aXJlZC4nO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc051bWJlciAmJiByYXdWYWx1ZSAmJiAhdGhpcy5pc1ZhbGlkTnVtYmVyKHJhd1ZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZUVycm9yID0gJ1ZhbHVlIG11c3QgYmUgYSBudW1iZXIuJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZUVycm9yID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYW1lRXJyb3IgfHwgdGhpcy52YWx1ZUVycm9yKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG9taXRQYXNzd29yZFZhbHVlID0gdGhpcy5pc1Bhc3N3b3JkICYmIHRoaXMubW9kZSA9PT0gJ2VkaXQnICYmICF0aGlzLnBhc3N3b3JkVG91Y2hlZDtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0cmltbWVkTmFtZSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHZhbHVlOiBvbWl0UGFzc3dvcmRWYWx1ZSA/IG51bGwgOiB0aGlzLnNlcmlhbGl6ZVZhbHVlKCksXG4gICAgICByZWFkV3JpdGVNb2RlOiB0aGlzLnJlYWRXcml0ZU1vZGUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbiA/IHRoaXMuZGVzY3JpcHRpb24gOiBudWxsLFxuICAgICAgdGFnczogWy4uLnRoaXMudGFnc10sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gJ3RydWUnID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGlzRHVwbGljYXRlTmFtZShjYW5kaWRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gKHRoaXMuZXhpc3RpbmdOYW1lcyA/PyBbXSkubWFwKG4gPT4gKG4gPz8gJycpLnRyaW0oKSk7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2VkaXQnKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbCA9ICh0aGlzLmluaXRpYWxWYWx1ZT8ubmFtZSA/PyAnJykudHJpbSgpO1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZSAhPT0gb3JpZ2luYWwgJiYgZXhpc3RpbmcuaW5jbHVkZXMoY2FuZGlkYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4aXN0aW5nLmluY2x1ZGVzKGNhbmRpZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWROdW1iZXIocmF3OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCB0cmltbWVkID0gcmF3LnRyaW0oKTtcbiAgICBpZiAoIXRyaW1tZWQpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gIU51bWJlci5pc05hTihOdW1iZXIodHJpbW1lZCkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNCBjcWEtdy1mdWxsXCI+XG5cbiAgPCEtLSBOYW1lIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgPGNxYS1jdXN0b20taW5wdXRcbiAgICAgIGxhYmVsPVwiTmFtZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cImUuZy4gYXBpX2tleVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbdmFsdWVdPVwibmFtZVwiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgW2Vycm9yc109XCJuYW1lRXJyb3JzQXJyYXlcIlxuICAgICAgaW5wdXRJbmxpbmVTdHlsZT1cImZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTtcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uTmFtZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9jcWEtY3VzdG9tLWlucHV0PlxuICAgIDxzcGFuICpuZ0lmPVwiIW5hbWVFcnJvclwiXG4gICAgICBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LWdyYXktNTAwIGNxYS1tdC0xXCI+XG4gICAgICBOYW1lcyBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGVudGlyZSB3b3Jrc3BhY2UgKHByaW1hcnkga2V5IOKAlCBubyBkdXBsaWNhdGVzKS5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDwhLS0gVHlwZSArIFBlcm1pc3Npb24gcm93IC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIGNxYS1nYXAtNFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2xcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1tYi0xLjUgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktNzAwXCI+VHlwZTwvbGFiZWw+XG4gICAgICA8Y3FhLWRyb3Bkb3duLWJ1dHRvblxuICAgICAgICBbb3B0aW9uc109XCJ0eXBlRHJvcGRvd25PcHRpb25zXCJcbiAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwidHlwZVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25UeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwvY3FhLWRyb3Bkb3duLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbWItMS41IGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTcwMFwiPlBlcm1pc3Npb248L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1wdC0wLjVcIj5cbiAgICAgICAgPGNxYS1wZXJtaXNzaW9uLXRvZ2dsZVxuICAgICAgICAgIFt2YWx1ZV09XCJyZWFkV3JpdGVNb2RlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25QZXJtaXNzaW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9jcWEtcGVybWlzc2lvbi10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBWYWx1ZSAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Jvb2xlYW47IGVsc2Ugbm9uQm9vbGVhblZhbHVlXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbWItMS41IGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTcwMFwiPlZhbHVlPC9sYWJlbD5cbiAgICAgIDxjcWEtZHJvcGRvd24tYnV0dG9uXG4gICAgICAgIFtvcHRpb25zXT1cImJvb2xlYW5Ecm9wZG93bk9wdGlvbnNcIlxuICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Cb29sZWFuVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPC9jcWEtZHJvcGRvd24tYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9uQm9vbGVhblZhbHVlPlxuICAgICAgPGNxYS1jdXN0b20taW5wdXRcbiAgICAgICAgbGFiZWw9XCJWYWx1ZVwiXG4gICAgICAgIFt0eXBlXT1cImlzUGFzc3dvcmQgPyAncGFzc3dvcmQnIDogKGlzTnVtYmVyID8gJ251bWJlcicgOiAndGV4dCcpXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInZhbHVlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbcmVxdWlyZWRdPVwiaXNWYWx1ZVJlcXVpcmVkVmlzdWFsbHlcIlxuICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICBbZXJyb3JzXT1cInZhbHVlRXJyb3JzQXJyYXlcIlxuICAgICAgICBpbnB1dElubGluZVN0eWxlPVwiZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1wiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwvY3FhLWN1c3RvbS1pbnB1dD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8IS0tIFRhZ3MgKG9wdGlvbmFsKSDigJQgYmV0d2VlbiBWYWx1ZSBhbmQgRGVzY3JpcHRpb24gcGVyIGRlc2lnbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1tYi0xLjUgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktNzAwXCI+XG4gICAgICBUYWdzIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLWZvbnQtbm9ybWFsIGNxYS10ZXh0LWdyYXktNTAwXCI+KG9wdGlvbmFsIOKAlCBmb3IgZmlsdGVyaW5nICZhbXA7IGdyb3VwaW5nKTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZ3YtdGFnLWZpZWxkXCI+XG4gICAgICA8bGliLWdsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0XG4gICAgICAgIFt0YWdzXT1cInRhZ3NcIlxuICAgICAgICBbYXZhaWxhYmxlVGFnc109XCJhdmFpbGFibGVUYWdzXCJcbiAgICAgICAgKHRhZ3NDaGFuZ2UpPVwib25UYWdzQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIDwvbGliLWdsb2JhbC12YXJpYWJsZS10YWdzLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCI+XG4gICAgPGNxYS1jdXN0b20tdGV4dGFyZWFcbiAgICAgIGxhYmVsPVwiRGVzY3JpcHRpb25cIlxuICAgICAgcGxhY2Vob2xkZXI9XCJXaGF0IGlzIHRoaXMgdmFyaWFibGUgdXNlZCBmb3I/XCJcbiAgICAgIFt2YWx1ZV09XCJkZXNjcmlwdGlvblwiXG4gICAgICBbcm93c109XCIyXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICB0ZXh0YXJlYUlubGluZVN0eWxlPVwicGFkZGluZzogOHB4IDEycHg7XCJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRlc2NyaXB0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICA8L2NxYS1jdXN0b20tdGV4dGFyZWE+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|