@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
88 lines • 15.6 kB
JavaScript
import { Component, Inject } from '@angular/core';
import { AbstractTaskViewComponent, AllowedNetsService, AllowedNetsServiceFactory, NAE_BASE_FILTER, SearchService, SimpleFilter, TaskEvent, TaskViewService, UserFilterConstants, } from '@netgrif/components-core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { localAllowedNetsFactory } from '../../side-menu/content-components/save-filter/save-filter.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@netgrif/components-core";
import * as i3 from "@angular/router";
import * as i4 from "@ngbracket/ngx-layout";
import * as i5 from "../../view/task-view/task-panel-list/task-list.component";
import * as i6 from "@ngx-translate/core";
export function saveBaseFilterFactory(dialogControl) {
if (!dialogControl) {
throw new Error('NewFilterCaseId was not provided in the sidemenu injectio data');
}
const injectedData = dialogControl;
return {
filter: SimpleFilter.fromTaskQuery({
case: { id: injectedData.newFilterCaseId },
transitionId: UserFilterConstants.NEW_FILTER_TRANSITION_ID
})
};
}
export class SaveFilterDialogComponent extends AbstractTaskViewComponent {
_dialogRef;
_data;
_userFilterService;
_log;
_injectedData;
constructor(_dialogRef, _data, _userFilterService, _log, taskViewService, _activatedRoute) {
super(taskViewService, _activatedRoute);
this._dialogRef = _dialogRef;
this._data = _data;
this._userFilterService = _userFilterService;
this._log = _log;
if (this._data) {
this._injectedData = this._data;
}
}
processTaskEvents(notification) {
if (!notification.success) {
return;
}
if (notification.event === TaskEvent.FINISH) {
this._dialogRef.close({ opened: false, message: 'Filter saved' });
}
if (notification.event === TaskEvent.CANCEL) {
this._userFilterService.delete(this._injectedData.newFilterCaseId);
this._dialogRef.close({ opened: false, message: 'Filter save canceled' });
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SaveFilterDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.UserFiltersService }, { token: i2.LoggerService }, { token: i2.TaskViewService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SaveFilterDialogComponent, selector: "nc-save-filter-dialog", providers: [
TaskViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: saveBaseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.save' | translate}}\n</div>\n<div mat-dialog-content class=\"save-filter-container side-menu-root\">\n <nc-task-list [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\"\n [responsiveBody]=\"true\" [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"processTaskEvents($event)\" fxFlex class=\"virtual-scroll-list-padding\"></nc-task-list>\n</div>\n\n", styles: [".save-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.virtual-scroll-list-padding{padding-right:4px}\n"], dependencies: [{ kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.TaskListComponent, selector: "nc-task-list" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SaveFilterDialogComponent, decorators: [{
type: Component,
args: [{ selector: 'nc-save-filter-dialog', providers: [
TaskViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: saveBaseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.save' | translate}}\n</div>\n<div mat-dialog-content class=\"save-filter-container side-menu-root\">\n <nc-task-list [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\"\n [responsiveBody]=\"true\" [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"processTaskEvents($event)\" fxFlex class=\"virtual-scroll-list-padding\"></nc-task-list>\n</div>\n\n", styles: [".save-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.virtual-scroll-list-padding{padding-right:4px}\n"] }]
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }, { type: i2.UserFiltersService }, { type: i2.LoggerService }, { type: i2.TaskViewService }, { type: i3.ActivatedRoute }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9zYXZlLWZpbHRlci1kaWFsb2cvc2F2ZS1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUV6QixlQUFlLEVBRWYsYUFBYSxFQUFFLFlBQVksRUFDM0IsU0FBUyxFQUVULGVBQWUsRUFBRSxtQkFBbUIsR0FFdkMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7O0FBRTdHLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxhQUFzQztJQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztLQUNyRjtJQUNELE1BQU0sWUFBWSxHQUFHLGFBQXdDLENBQUM7SUFFOUQsT0FBTztRQUNILE1BQU0sRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQy9CLElBQUksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsZUFBZSxFQUFDO1lBQ3hDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyx3QkFBd0I7U0FDN0QsQ0FBQztLQUNMLENBQUM7QUFDTixDQUFDO0FBc0JELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx5QkFBeUI7SUFJOUM7SUFDeUI7SUFDekI7SUFDQTtJQUxaLGFBQWEsQ0FBMEI7SUFFakQsWUFBc0IsVUFBbUQsRUFDMUIsS0FBOEIsRUFDdkQsa0JBQXNDLEVBQ3RDLElBQW1CLEVBQzdCLGVBQWdDLEVBQ2hDLGVBQWdDO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFOdEIsZUFBVSxHQUFWLFVBQVUsQ0FBeUM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDdkQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFlO1FBSXJDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQWdDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRU0saUJBQWlCLENBQUMsWUFBbUM7UUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQzt3R0E3QlEseUJBQXlCLDhDQUtkLGVBQWU7NEZBTDFCLHlCQUF5QixnREFmdkI7WUFDUCxlQUFlO1lBQ2YsYUFBYTtZQUNiO2dCQUNJLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixVQUFVLEVBQUUscUJBQXFCO2dCQUNqQyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDMUI7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCO2dCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzthQUNwQztTQUNKLGlEQ2xETCwwaUJBUUE7OzRGRDRDYSx5QkFBeUI7a0JBbkJyQyxTQUFTOytCQUNJLHVCQUF1QixhQUd0Qjt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2I7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7NEJBQ2pDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzt5QkFDMUI7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsVUFBVSxFQUFFLHVCQUF1Qjs0QkFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7eUJBQ3BDO3FCQUNKOzswQkFPWSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQmFzZUZpbHRlcixcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE5BRV9CQVNFX0ZJTFRFUixcbiAgICBTYXZlRmlsdGVySW5qZWN0aW9uRGF0YSxcbiAgICBTZWFyY2hTZXJ2aWNlLCBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza0V2ZW50LFxuICAgIFRhc2tFdmVudE5vdGlmaWNhdGlvbixcbiAgICBUYXNrVmlld1NlcnZpY2UsIFVzZXJGaWx0ZXJDb25zdGFudHMsXG4gICAgVXNlckZpbHRlcnNTZXJ2aWNlLFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2xvY2FsQWxsb3dlZE5ldHNGYWN0b3J5fSBmcm9tICcuLi8uLi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3NhdmUtZmlsdGVyL3NhdmUtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXZlQmFzZUZpbHRlckZhY3RvcnkoZGlhbG9nQ29udHJvbDogU2F2ZUZpbHRlckluamVjdGlvbkRhdGEpOiBCYXNlRmlsdGVyIHtcbiAgICBpZiAoIWRpYWxvZ0NvbnRyb2wpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXdGaWx0ZXJDYXNlSWQgd2FzIG5vdCBwcm92aWRlZCBpbiB0aGUgc2lkZW1lbnUgaW5qZWN0aW8gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBpbmplY3RlZERhdGEgPSBkaWFsb2dDb250cm9sIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsdGVyOiBTaW1wbGVGaWx0ZXIuZnJvbVRhc2tRdWVyeSh7XG4gICAgICAgICAgICBjYXNlOiB7aWQ6IGluamVjdGVkRGF0YS5uZXdGaWx0ZXJDYXNlSWR9LFxuICAgICAgICAgICAgdHJhbnNpdGlvbklkOiBVc2VyRmlsdGVyQ29uc3RhbnRzLk5FV19GSUxURVJfVFJBTlNJVElPTl9JRFxuICAgICAgICB9KVxuICAgIH07XG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zYXZlLWZpbHRlci1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYXZlLWZpbHRlci1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NhdmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5BRV9CQVNFX0ZJTFRFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHNhdmVCYXNlRmlsdGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfRElBTE9HX0RBVEFdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFsbG93ZWROZXRzU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0FsbG93ZWROZXRzU2VydmljZUZhY3RvcnldXG4gICAgICAgIH0sXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTYXZlRmlsdGVyRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCB7XG5cbiAgICBwcm90ZWN0ZWQgX2luamVjdGVkRGF0YTogU2F2ZUZpbHRlckluamVjdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNhdmVGaWx0ZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlckZpbHRlclNlcnZpY2U6IFVzZXJGaWx0ZXJzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICB0YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBfYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UsIF9hY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIFNhdmVGaWx0ZXJJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NUYXNrRXZlbnRzKG5vdGlmaWNhdGlvbjogVGFza0V2ZW50Tm90aWZpY2F0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmICghbm90aWZpY2F0aW9uLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5GSU5JU0gpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlZCd9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RpZmljYXRpb24uZXZlbnQgPT09IFRhc2tFdmVudC5DQU5DRUwpIHtcbiAgICAgICAgICAgIHRoaXMuX3VzZXJGaWx0ZXJTZXJ2aWNlLmRlbGV0ZSh0aGlzLl9pbmplY3RlZERhdGEubmV3RmlsdGVyQ2FzZUlkKTtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh7b3BlbmVkOiBmYWxzZSwgbWVzc2FnZTogJ0ZpbHRlciBzYXZlIGNhbmNlbGVkJ30pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiPlxuICAgIHt7ICdzZWFyY2gudG9vbHRpcC5zYXZlJyB8IHRyYW5zbGF0ZX19XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwic2F2ZS1maWx0ZXItY29udGFpbmVyIHNpZGUtbWVudS1yb290XCI+XG4gICAgPG5jLXRhc2stbGlzdCBbYWxsb3dNdWx0aU9wZW5dPVwiZmFsc2VcIiBbdGFza3MkXT1cInRhc2tzJFwiIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiIFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtmb3JjZUxvYWREYXRhT25PcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Jlc3BvbnNpdmVCb2R5XT1cInRydWVcIiBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgKHRhc2tFdmVudCk9XCJwcm9jZXNzVGFza0V2ZW50cygkZXZlbnQpXCIgZnhGbGV4IGNsYXNzPVwidmlydHVhbC1zY3JvbGwtbGlzdC1wYWRkaW5nXCI+PC9uYy10YXNrLWxpc3Q+XG48L2Rpdj5cblxuIl19