tango-app-ui-ticket-user 3.0.55-dev → 3.0.57-dev
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/esm2022/lib/components/audit-management/audit-management.component.mjs +20 -24
- package/esm2022/lib/components/audit-workspace/audit-workspace.component.mjs +37 -23
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +4 -26
- package/esm2022/lib/components/viewhistory/viewhistory.component.mjs +15 -13
- package/esm2022/lib/services/ticket-infra.service.mjs +13 -23
- package/fesm2022/tango-app-ui-ticket-user.mjs +84 -104
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/audit-management/audit-management.component.d.ts +2 -4
- package/lib/components/audit-workspace/audit-workspace.component.d.ts +1 -1
- package/lib/components/infratickets/infratickets.component.d.ts +0 -2
- package/lib/services/ticket-infra.service.d.ts +5 -8
- package/package.json +1 -1
|
@@ -30,22 +30,24 @@ export class ViewhistoryComponent {
|
|
|
30
30
|
this.destroy$.complete();
|
|
31
31
|
}
|
|
32
32
|
viewHistory(data) {
|
|
33
|
-
console.log('data', this.data);
|
|
34
33
|
var payload = {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
storeId: data?.storeId,
|
|
35
|
+
fileDate: data?.fileDate,
|
|
36
|
+
zoneName: data?.zoneName,
|
|
37
|
+
moduleType: data?.moduleType,
|
|
38
38
|
};
|
|
39
|
+
this.Loading = true;
|
|
40
|
+
this.nodata = false;
|
|
39
41
|
this.auditservice.getAuditmappinglist(payload).pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
40
42
|
if (res && res.code == 200) {
|
|
43
|
+
this.auditmappingdata = res?.data?.result?.customer;
|
|
44
|
+
this.junkimage = res?.data?.result?.junk;
|
|
45
|
+
this.employeimage = res?.data?.result?.employee;
|
|
46
|
+
this.customercount = res?.data?.result?.customerCount;
|
|
47
|
+
this.employeecount = res?.data?.result?.employeeCount;
|
|
48
|
+
this.junkcount = res?.data?.result?.junkCount;
|
|
41
49
|
this.Loading = false;
|
|
42
50
|
this.nodata = false;
|
|
43
|
-
this.auditmappingdata = res.data.customer;
|
|
44
|
-
this.junkimage = res.data.junk;
|
|
45
|
-
this.employeimage = res.data.employee;
|
|
46
|
-
this.customercount = res.data.customer_count;
|
|
47
|
-
this.employeecount = res.data.employee_count;
|
|
48
|
-
this.junkcount = res.data.junk_count;
|
|
49
51
|
}
|
|
50
52
|
else if (!res || res.code == 204) {
|
|
51
53
|
this.Loading = false;
|
|
@@ -67,12 +69,12 @@ export class ViewhistoryComponent {
|
|
|
67
69
|
return this.auditmappingdata.filter((obj) => obj.count === count);
|
|
68
70
|
}
|
|
69
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, deps: [{ token: i1.TicketsService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
71
73
|
}
|
|
72
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, decorators: [{
|
|
73
75
|
type: Component,
|
|
74
|
-
args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body
|
|
76
|
+
args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"] }]
|
|
75
77
|
}], ctorParameters: () => [{ type: i1.TicketsService }, { type: i2.NgbActiveModal }], propDecorators: { data: [{
|
|
76
78
|
type: Input
|
|
77
79
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFvQztJQWIvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUNOLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLFlBQTRCLEVBQVEsV0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRW5GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSCxXQUFXLENBQUMsSUFBUTtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxPQUFPLEdBQUc7WUFDWixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUztTQUMxQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ25HLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTthQUdyQztpQkFBTSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQixHQUFNLENBQUMsQ0FBQztJQUV4QixjQUFjLENBQUMsR0FBUTtRQUNyQixJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FDbEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FyRVUsb0JBQW9COzRGQUFwQixvQkFBb0IsaUZDVmpDLHV6UEFtSUE7OzRGRHpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO2dIQU1sQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12aWV3aGlzdG9yeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdoaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmlld2hpc3RvcnkuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3aGlzdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBkYXRhdmFsdWU6IGFueTtcclxuICBMb2FkaW5nOiBhbnkgPSB0cnVlXHJcbiAganVua2ltYWdlOiBhbnkgPSBbXVxyXG4gIGF1ZGl0bWFwcGluZ2RhdGE6IGFueSA9W107XHJcbiAgY3VzdG9tZXJjb3VudDogYW55O1xyXG4gIGp1bmtjb3VudDogYW55ID0gMDtcclxuICBlbXBsb3llZWNvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVpbWFnZTogYW55ID1bXTtcclxuICBub2RhdGE6IGJvb2xlYW4gPWZhbHNlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdWRpdHNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLHB1YmxpYyBhY3RpdmVtb2RhbDogTmdiQWN0aXZlTW9kYWwpe1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy52aWV3SGlzdG9yeSh0aGlzLmRhdGEpO1xyXG4gIH1cclxuICBcclxuICBuZ09uRGVzdHJveSgpe1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbnZpZXdIaXN0b3J5KGRhdGE6YW55KXtcclxuICBjb25zb2xlLmxvZygnZGF0YScsdGhpcy5kYXRhKTtcclxuICB2YXIgcGF5bG9hZCA9IHtcclxuICAgIHVzZXJJZDogZGF0YT8uX2lkLFxyXG4gICAgc3RvcmVJZDogZGF0YT8uc3RvcmVfaWQsXHJcbiAgICBmaWxlRGF0ZTogZGF0YT8uZmlsZV9kYXRlXHJcbiAgfVxyXG4gIHRoaXMuYXVkaXRzZXJ2aWNlLmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIHRoaXMubm9kYXRhID1mYWxzZTtcclxuICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gcmVzLmRhdGEuY3VzdG9tZXJcclxuICAgICAgdGhpcy5qdW5raW1hZ2UgPSByZXMuZGF0YS5qdW5rXHJcbiAgICAgIHRoaXMuZW1wbG95ZWltYWdlID0gcmVzLmRhdGEuZW1wbG95ZWVcclxuICAgICAgdGhpcy5jdXN0b21lcmNvdW50ID0gcmVzLmRhdGEuY3VzdG9tZXJfY291bnRcclxuICAgICAgdGhpcy5lbXBsb3llZWNvdW50ID0gcmVzLmRhdGEuZW1wbG95ZWVfY291bnRcclxuICAgICAgdGhpcy5qdW5rY291bnQgPSByZXMuZGF0YS5qdW5rX2NvdW50XHJcblxyXG5cclxuICAgIH0gZWxzZSBpZiAoIXJlcyB8fCByZXMuY29kZSA9PSAyMDQpIHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2VcclxudGhpcy5ub2RhdGEgPXRydWU7XHJcbiAgICB9XHJcbiAgfSlcclxufVxyXG5cclxuY3VycmVudEdyb3VwTnVtYmVyOmFueSA9MDtcclxuXHJcbiAgZ2V0R3JvdXBOdW1iZXIob2JqOiBhbnkpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmIChvYmouY291bnQgPiAxKSB7XHJcbiAgICAgIHJldHVybiArK3RoaXMuY3VycmVudEdyb3VwTnVtYmVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZXNldEdyb3VwTnVtYmVyKCkge1xyXG4gICAgdGhpcy5jdXJyZW50R3JvdXBOdW1iZXIgPSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWREYXRhKGNvdW50OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChvYmo6YW55KSA9PiBvYmouY291bnQgPT09IGNvdW50KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG10LTRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy00IHRleHQtZGFyayBmdy1ib2xkZXIgbXktMiBteC0xMFwiPiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIgZnctYm9sZCB0ZXh0LWRhcmtcIj48ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IG15LTFcIj5TdG9yZSBJRCA6e3tkYXRhPy5zdG9yZUlkfX08L2Rpdj48c3BhbiAqbmdJZj1cImRhdGE/LmZpbGVEYXRlXCI+RGF0ZSA6e3tkYXRhPy5maWxlRGF0ZX19PC9zcGFuPiA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnkgbWUtNVwiIChjbGljayk9XCJhY3RpdmVtb2RhbC5kaXNtaXNzKClcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiNlwiIHk9XCIxNy4zMTM3XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDYgMTcuMzEzNylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI3LjQxNDIyXCIgeT1cIjZcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSA3LjQxNDIyIDYpXCIgZmlsbD1cImJsYWNrXCI+XHJcbiAgICAgICAgICAgICAgICA8L3JlY3Q+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInNlcGFyYXRvciBzZXBhcmF0b3ItZGFzaGVkXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTNcIiA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kYXRhXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFMb2FkaW5nICYmICFub2RhdGFcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB0LTAgIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmouaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7b2JqLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC01MDBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBcIj5DdXN0b21lciA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57eyBnZXRGaWx0ZXJlZERhdGEoMSkubGVuZ3RoIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNldEdyb3VwTnVtYmVyKCkgPT09IG51bGxcIj48L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iaj8uY291bnQgPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouY291bnQgPiAxXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+R3JvdXAge3sgZ2V0R3JvdXBOdW1iZXIob2JqKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgZHJhZ2dhYmxlPVwidHJ1ZVwiIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZy5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFvQztJQWIvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUNOLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLFlBQTRCLEVBQVEsV0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRW5GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSCxXQUFXLENBQUMsSUFBUTtRQUNsQixJQUFJLE9BQU8sR0FBRztZQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTztZQUN0QixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsUUFBUSxFQUFHLElBQUksRUFBRSxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVTtTQUM3QixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ25HLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFBO2dCQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQTtnQkFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUE7Z0JBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFBO2dCQUNyRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUE7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO2dCQUNwQixJQUFJLENBQUMsTUFBTSxHQUFFLEtBQUssQ0FBQzthQUNwQjtpQkFBTSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxrQkFBa0IsR0FBTSxDQUFDLENBQUM7SUFFeEIsY0FBYyxDQUFDLEdBQVE7UUFDckIsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBckVVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGlGQ1ZqQyxpMFBBbUlBOzs0RkR6SGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjtnSEFNbEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdmlld2hpc3RvcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3ZpZXdoaXN0b3J5LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld2hpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZGF0YTphbnk7XHJcbiAgZGF0YXZhbHVlOiBhbnk7XHJcbiAgTG9hZGluZzogYW55ID0gdHJ1ZVxyXG4gIGp1bmtpbWFnZTogYW55ID0gW11cclxuICBhdWRpdG1hcHBpbmdkYXRhOiBhbnkgPVtdO1xyXG4gIGN1c3RvbWVyY291bnQ6IGFueTtcclxuICBqdW5rY291bnQ6IGFueSA9IDA7XHJcbiAgZW1wbG95ZWVjb3VudDogYW55ID0gMDtcclxuICBlbXBsb3llaW1hZ2U6IGFueSA9W107XHJcbiAgbm9kYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXVkaXRzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxwdWJsaWMgYWN0aXZlbW9kYWw6IE5nYkFjdGl2ZU1vZGFsKXtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudmlld0hpc3RvcnkodGhpcy5kYXRhKTtcclxuICB9XHJcbiAgXHJcbiAgbmdPbkRlc3Ryb3koKXtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG52aWV3SGlzdG9yeShkYXRhOmFueSl7XHJcbiAgdmFyIHBheWxvYWQgPSB7XHJcbiAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZUlkLFxyXG4gICAgZmlsZURhdGU6IGRhdGE/LmZpbGVEYXRlLFxyXG4gICAgem9uZU5hbWUgOiBkYXRhPy56b25lTmFtZSxcclxuICAgIG1vZHVsZVR5cGU6IGRhdGE/Lm1vZHVsZVR5cGUsXHJcbiAgfVxyXG4gIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcbiAgdGhpcy5ub2RhdGEgPSBmYWxzZTtcclxuICB0aGlzLmF1ZGl0c2VydmljZS5nZXRBdWRpdG1hcHBpbmdsaXN0KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJcclxuICAgICAgdGhpcy5qdW5raW1hZ2UgPSByZXM/LmRhdGE/LnJlc3VsdD8uanVua1xyXG4gICAgICB0aGlzLmVtcGxveWVpbWFnZSA9IHJlcz8uZGF0YT8ucmVzdWx0Py5lbXBsb3llZVxyXG4gICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJDb3VudFxyXG4gICAgICB0aGlzLmVtcGxveWVlY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uZW1wbG95ZWVDb3VudFxyXG4gICAgICB0aGlzLmp1bmtjb3VudCA9IHJlcz8uZGF0YT8ucmVzdWx0Py5qdW5rQ291bnRcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2VcclxuICAgICAgdGhpcy5ub2RhdGEgPWZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICghcmVzIHx8IHJlcy5jb2RlID09IDIwNCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB0aGlzLm5vZGF0YSA9dHJ1ZTtcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5jdXJyZW50R3JvdXBOdW1iZXI6YW55ID0wO1xyXG5cclxuICBnZXRHcm91cE51bWJlcihvYmo6IGFueSk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKG9iai5jb3VudCA+IDEpIHtcclxuICAgICAgcmV0dXJuICsrdGhpcy5jdXJyZW50R3JvdXBOdW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJlc2V0R3JvdXBOdW1iZXIoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRHcm91cE51bWJlciA9IDA7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZERhdGEoY291bnQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maWx0ZXIoKG9iajphbnkpID0+IG9iai5jb3VudCA9PT0gY291bnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbXQtNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBkLWZsZXggXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTQgdGV4dC1kYXJrIGZ3LWJvbGRlciBteS0yIG14LTEwXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiBmdy1ib2xkIHRleHQtZGFya1wiPjxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbXktMVwiPlN0b3JlIElEIDp7e2RhdGE/LnN0b3JlSWR9fTwvZGl2PjxzcGFuICpuZ0lmPVwiZGF0YT8uZmlsZURhdGVcIj5EYXRlIDp7e2RhdGE/LmZpbGVEYXRlfX08L3NwYW4+IDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cImFjdGl2ZW1vZGFsLmRpc21pc3MoKVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCI2XCIgeT1cIjE3LjMxMzdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgNiAxNy4zMTM3KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjcuNDE0MjJcIiB5PVwiNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDcuNDE0MjIgNilcIiBmaWxsPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIUxvYWRpbmcgJiYgIW5vZGF0YVwiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmo/LmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iaj8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTUwMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIFwiPkN1c3RvbWVyIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IGF1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nPy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZz8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc2V0R3JvdXBOdW1iZXIoKSA9PT0gbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmo/LmNvdW50ID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWcgb2Ygb2JqLm1hcHBlZGlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBkcmFnZ2FibGU9XCJ0cnVlXCIgbmFtZT1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7aW1nLmltZ19pZH19XCIgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgW3NyY109XCJpbWcuaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPkdyb3VwIHt7IGdldEdyb3VwTnVtYmVyKG9iaikgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiAqbmdJZj1cIm9iai5jb3VudCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -18,6 +18,7 @@ export class TicketsService {
|
|
|
18
18
|
auditApiUrl;
|
|
19
19
|
dataSubject = new BehaviorSubject(null);
|
|
20
20
|
metricsApiUrl;
|
|
21
|
+
zoneauditApiUrl;
|
|
21
22
|
constructor(http, gs) {
|
|
22
23
|
this.http = http;
|
|
23
24
|
this.gs = gs;
|
|
@@ -29,6 +30,7 @@ export class TicketsService {
|
|
|
29
30
|
this.edgeAppApiUrl = env.edgeAppApiUrl;
|
|
30
31
|
this.auditApiUrl = env.auditApiUrl;
|
|
31
32
|
this.metricsApiUrl = env.auditmetricApiUrl;
|
|
33
|
+
this.zoneauditApiUrl = env.zoneauditApiUrl;
|
|
32
34
|
}
|
|
33
35
|
this.gs.dataRangeValue.subscribe((e) => {
|
|
34
36
|
if (e) {
|
|
@@ -135,34 +137,22 @@ export class TicketsService {
|
|
|
135
137
|
}
|
|
136
138
|
// audit code
|
|
137
139
|
auditHistory(data) {
|
|
138
|
-
return this.http.post(`${this.
|
|
140
|
+
return this.http.post(`${this.auditApiUrl}/metrics/user-audit-history`, data);
|
|
139
141
|
}
|
|
140
|
-
|
|
141
|
-
return this.http.
|
|
142
|
+
auditHistoryExport(data) {
|
|
143
|
+
return this.http.post(`${this.auditApiUrl}/metrics/user-audit-history`, data, { responseType: 'arraybuffer' });
|
|
142
144
|
}
|
|
143
|
-
export(
|
|
144
|
-
return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${
|
|
145
|
+
export(payload) {
|
|
146
|
+
return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${payload?.searchValue}&offset=${payload?.offset}&limit=${payload?.limit}&isExport=${payload?.export}&moduleType=${payload?.moduleType}`, { responseType: 'arraybuffer' });
|
|
145
147
|
}
|
|
146
|
-
|
|
147
|
-
return this.http.get(`${this.auditApiUrl}/
|
|
148
|
+
getAudit(payload) {
|
|
149
|
+
return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${payload?.searchValue}&offset=${payload?.offset}&limit=${payload?.limit}&isExport=${payload?.export}&moduleType=${payload?.moduleType}`);
|
|
148
150
|
}
|
|
149
|
-
|
|
150
|
-
return this.http.
|
|
151
|
-
}
|
|
152
|
-
getAudit(offset, limit, searchValue, data) {
|
|
153
|
-
return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`);
|
|
154
|
-
}
|
|
155
|
-
saveDraft(data) {
|
|
156
|
-
return this.http.post(`${this.auditApiUrl}/audit/saveDraft`, data);
|
|
157
|
-
}
|
|
158
|
-
getAuditmappinglist(data) {
|
|
159
|
-
return this.http.post(`${this.auditApiUrl}/audit/getmapping`, data);
|
|
160
|
-
}
|
|
161
|
-
saveaudit(data) {
|
|
162
|
-
return this.http.post(`${this.auditApiUrl}/audit/saveAudit`, data);
|
|
151
|
+
getAuditmappinglist(payload) {
|
|
152
|
+
return this.http.get(`${this.auditApiUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}&zoneName=${payload?.zoneName}&moduleType=${payload?.moduleType}`);
|
|
163
153
|
}
|
|
164
154
|
getstoreList(data) {
|
|
165
|
-
return this.http.post(`${this.auditApiUrl}/
|
|
155
|
+
return this.http.post(`${this.auditApiUrl}/audit-stores`, data);
|
|
166
156
|
}
|
|
167
157
|
userDetails() {
|
|
168
158
|
return this.http.get(`${this.auditApiUrl}/auth/me`, {}).pipe(map((response) => {
|
|
@@ -179,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
179
169
|
providedIn: 'root'
|
|
180
170
|
}]
|
|
181
171
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWdCTDtJQUEwQjtJQWQ5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFFbkIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FB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QUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3RCLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakUsT0FBTyxRQUFRLENBQUE7UUFDbkIsQ0FBQyxDQUFDLEVBQ0UsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBcFBZLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCB0aHJvd0Vycm9yLEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRzU2VydmljZSB7XHJcblxyXG4gIHRpY2tldEFwaVVybDogYW55O1xyXG4gIHN0b3JlQXBpVXJsOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIHVzZXJVcmw6IGFueTtcclxuICB0b2tlblN0b3JhZ2U6IGFueTtcclxuICBlZGdlQXBwQXBpVXJsOiBhbnk7XHJcbiAgY2xpZW50QXBpVXJsOnN0cmluZ1xyXG5cclxuICBjbGllbnRJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgYXVkaXRBcGlVcmw6IGFueTtcclxuICBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBtZXRyaWNzQXBpVXJsOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnRpY2tldEFwaVVybCA9IGVudi50aWNrZXRzQXBpVXJsXHJcbiAgICAgICAgdGhpcy5zdG9yZUFwaVVybCA9IGVudi5zdG9yZUFwaVVybDtcclxuICAgICAgICB0aGlzLnVzZXJVcmwgPSBlbnYudXNlclVybDtcclxuICAgICAgICB0aGlzLmVkZ2VBcHBBcGlVcmwgPSBlbnYuZWRnZUFwcEFwaVVybDtcclxuICAgICAgICB0aGlzLmF1ZGl0QXBpVXJsID0gZW52LmF1ZGl0QXBpVXJsO1xyXG4gICAgICAgIHRoaXMubWV0cmljc0FwaVVybCA9IGVudi5hdWRpdG1ldHJpY0FwaVVybFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUuc3Vic2NyaWJlKChlOmFueSk9PnsgICAgICBcclxuICAgICAgICBpZihlKXtcclxuICAgICAgICAgIHRoaXMuY2xpZW50SWQubmV4dChlLmNsaWVudClcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICB1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGlja2V0TGlzdGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuICBleHBvcnR1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvdXNlclRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB1c2VyVGFrZVRpY2tldChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGFrZVRpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcmltYXJ5UmVhc29uKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9QcmltYXJ5UmVhc29uc2AsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9zZWNvbmRhcnlSZWFzb25gLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSlcclxuICB9XHJcblxyXG4gIGVkZ2VBcHBMb2dUYWJsZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2VkZ2VBcHBMb2dUYWJsZWAsIGRhdGEpXHJcblxyXG4gIH1cclxuXHJcbiAgZWRnZUFwcExvZ1RhYmxlRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvZWRnZUFwcExvZ1RhYmxlYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRBdHRhY2htZW50cyh0aWNrZXRJZDogYW55LCBmb3JtRGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGxvYWRBdHRhY2htZW50cy8ke3RpY2tldElkfWAsIGZvcm1EYXRhKVxyXG4gIH1cclxuICByZW1vdmVBdHRhY2htZW50KHRpY2tldElkOiBhbnksIGRhdGE6IGFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvcmVtb3ZlQXR0YWNobWVudC8ke3RpY2tldElkfWAsIGRhdGEpXHJcbiAgfVxyXG4gIHZpZXdlZGdlQXBwTG9nKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvdmlld2VkZ2VBcHBMb2dgLCBkYXRhKVxyXG5cclxuICB9XHJcbiAgdXBkYXRlVGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdXBkYXRlVGlja2V0SXNzdWVgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRjYXJkKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRjYXJkYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdEV4cG9ydChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB2aWV3VGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdmlld1RpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIGdldENhbWVyYUxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0Q2FtZXJhSW1hZ2VgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBzdGF0dXNVcGRhdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGRhdGVTdGF0dXNgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgd29ya0hpc3RvcnkoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3dvcmtIaXN0b3J5YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHdvcmtIaXN0b3J5RXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS93b3JrSGlzdG9yeWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBnZXRTcG9jTG9nRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zcG9jLWxpc3RgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGNhbWVyYUFuZ2xlQ2hhbmdlKGRhdGE6IGFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2NhbWVyYUFuZ2xlQ2hhbmdlYCxkYXRhKVxyXG4gIH1cclxuICBjYW1lcmFMaXN0KHN0b3JlSWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhP3N0b3JlSWQ9JHtzdG9yZUlkfWApXHJcbiAgfVxyXG4gIGFkZFNpbmdsZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vY3JlYXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS91cGRhdGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkZWxldGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2RlbGV0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFJlbW90ZShpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3RvcmUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUmVtb3RlKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5zdG9yZUFwaVVybH0vdXBkYXRlLXN0b3JlLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGFjdGl2ZVRpY2tldChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL2FjdGl2ZVRpY2tldExpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhSW1hZ2VzKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0QWxsQ2FtZXJhU3RyZWFtRGF0YWAsIHsgcGFyYW1zOiBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVN0b3JlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS91cGRhdGVTdG9yZUlzc3VlLyR7aWR9YCwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgZ2V0QWxsQ291bnRzKGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvcGVuZGluZ1RpY2tldGAsIGRhdGEpXHJcbiAgfVxyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoXHJcbiAgICAgICgpID0+IG5ldyBFcnJvcihcIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQ7IHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuLy8gYXVkaXQgY29kZVxyXG5cclxuYXVkaXRIaXN0b3J5KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5tZXRyaWNzQXBpVXJsfS91c2VyLWF1ZGl0LWhpc3RvcnlgLGRhdGEpXHJcbn1cclxuXHJcbmdldEF1ZGl0TWFwcGluZyhpZDogYW55LCBuYW1lOiBhbnksIGxpbWl0OiBhbnksIG5leHRJZDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvYXVkaXRfbGlzdD91c2VyX2lkPSR7aWR9JnF1ZXVlX25hbWU9JHtuYW1lfSZsaW1pdD0ke2xpbWl0fSZuZXh0SWQ9JHtuZXh0SWR9YClcclxufVxyXG5cclxuZXhwb3J0KG9mZnNldDogYW55LCBsaW1pdDogYW55LCBzZWFyY2hWYWx1ZTogYW55LGRhdGE6YW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vd29yay1zcGFjZT8mc2VhcmNoVmFsdWU9JHtzZWFyY2hWYWx1ZX0mb2Zmc2V0PSR7b2Zmc2V0fSZsaW1pdD0ke2xpbWl0fSZpc0V4cG9ydD0ke2RhdGF9YCwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbn1cclxuXHJcbmdldGF1ZGl0Q2FyZChmaWx0ZXI6IGFueSx1c2VyOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvdXNlckF1ZGl0U3VtbWFyeT9yYW5nZT0ke2ZpbHRlcn0mdXNlcklkPSR7dXNlcn1gKVxyXG59XHJcblxyXG5nZXRhY3Rpdml0eWxvZyhkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYWN0aXZpdHlsb2cvbGlzdGAsIGRhdGEpXHJcbn1cclxuZ2V0QXVkaXQob2Zmc2V0OiBhbnksIGxpbWl0OiBhbnksIHNlYXJjaFZhbHVlOiBhbnksZGF0YTphbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS93b3JrLXNwYWNlPyZzZWFyY2hWYWx1ZT0ke3NlYXJjaFZhbHVlfSZvZmZzZXQ9JHtvZmZzZXR9JmxpbWl0PSR7bGltaXR9JmlzRXhwb3J0PSR7ZGF0YX1gKVxyXG59XHJcbnNhdmVEcmFmdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvc2F2ZURyYWZ0YCwgZGF0YSlcclxufVxyXG5nZXRBdWRpdG1hcHBpbmdsaXN0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC9nZXRtYXBwaW5nYCwgZGF0YSlcclxufVxyXG5zYXZlYXVkaXQoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0L3NhdmVBdWRpdGAsIGRhdGEpXHJcbn1cclxuZ2V0c3RvcmVMaXN0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vc3RvcmUvYXVkaXQtc3RvcmVzYCxkYXRhKVxyXG59XHJcblxyXG51c2VyRGV0YWlscygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdXRoL21lYCwge1xyXG4gIH0pLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlci1pbmZvJywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXHJcbiAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWlCTDtJQUEwQjtJQWY5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFDbkIsZUFBZSxDQUFLO0lBRXBCLFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxJQUFJLENB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IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgdGhyb3dFcnJvcixCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0c1NlcnZpY2Uge1xyXG5cclxuICB0aWNrZXRBcGlVcmw6IGFueTtcclxuICBzdG9yZUFwaVVybDogYW55O1xyXG4gIGRhdGE6IGFueTtcclxuICB1c2VyVXJsOiBhbnk7XHJcbiAgdG9rZW5TdG9yYWdlOiBhbnk7XHJcbiAgZWRnZUFwcEFwaVVybDogYW55O1xyXG4gIGNsaWVudEFwaVVybDpzdHJpbmdcclxuXHJcbiAgY2xpZW50SWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXHJcbiAgY2xpZW50RGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKVxyXG4gIGF1ZGl0QXBpVXJsOiBhbnk7XHJcbiAgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgbWV0cmljc0FwaVVybDogYW55O1xyXG4gIHpvbmVhdWRpdEFwaVVybDphbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnRpY2tldEFwaVVybCA9IGVudi50aWNrZXRzQXBpVXJsXHJcbiAgICAgICAgdGhpcy5zdG9yZUFwaVVybCA9IGVudi5zdG9yZUFwaVVybDtcclxuICAgICAgICB0aGlzLnVzZXJVcmwgPSBlbnYudXNlclVybDtcclxuICAgICAgICB0aGlzLmVkZ2VBcHBBcGlVcmwgPSBlbnYuZWRnZUFwcEFwaVVybDtcclxuICAgICAgICB0aGlzLmF1ZGl0QXBpVXJsID0gZW52LmF1ZGl0QXBpVXJsO1xyXG4gICAgICAgIHRoaXMubWV0cmljc0FwaVVybCA9IGVudi5hdWRpdG1ldHJpY0FwaVVybDtcclxuICAgICAgICB0aGlzLnpvbmVhdWRpdEFwaVVybD0gZW52LnpvbmVhdWRpdEFwaVVybFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUuc3Vic2NyaWJlKChlOmFueSk9PnsgICAgICBcclxuICAgICAgICBpZihlKXtcclxuICAgICAgICAgIHRoaXMuY2xpZW50SWQubmV4dChlLmNsaWVudClcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICB1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGlja2V0TGlzdGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxuICBleHBvcnR1c2VyVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvdXNlclRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB1c2VyVGFrZVRpY2tldChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGFrZVRpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcmltYXJ5UmVhc29uKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9QcmltYXJ5UmVhc29uc2AsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9zZWNvbmRhcnlSZWFzb25gLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSlcclxuICB9XHJcblxyXG4gIGVkZ2VBcHBMb2dUYWJsZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2VkZ2VBcHBMb2dUYWJsZWAsIGRhdGEpXHJcblxyXG4gIH1cclxuXHJcbiAgZWRnZUFwcExvZ1RhYmxlRXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvZWRnZUFwcExvZ1RhYmxlYCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuXHJcbiAgfVxyXG5cclxuICB1cGxvYWRBdHRhY2htZW50cyh0aWNrZXRJZDogYW55LCBmb3JtRGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGxvYWRBdHRhY2htZW50cy8ke3RpY2tldElkfWAsIGZvcm1EYXRhKVxyXG4gIH1cclxuICByZW1vdmVBdHRhY2htZW50KHRpY2tldElkOiBhbnksIGRhdGE6IGFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvcmVtb3ZlQXR0YWNobWVudC8ke3RpY2tldElkfWAsIGRhdGEpXHJcbiAgfVxyXG4gIHZpZXdlZGdlQXBwTG9nKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvdmlld2VkZ2VBcHBMb2dgLCBkYXRhKVxyXG5cclxuICB9XHJcbiAgdXBkYXRlVGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdXBkYXRlVGlja2V0SXNzdWVgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRjYXJkKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRjYXJkYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0TGlzdEV4cG9ydChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldExpc3RgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuICB2aWV3VGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdmlld1RpY2tldGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIGdldENhbWVyYUxpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0Q2FtZXJhSW1hZ2VgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBzdGF0dXNVcGRhdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGRhdGVTdGF0dXNgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgd29ya0hpc3RvcnkoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3dvcmtIaXN0b3J5YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHdvcmtIaXN0b3J5RXhwb3J0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS93b3JrSGlzdG9yeWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG5cclxuICBnZXRTcG9jTG9nRGF0YShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zcG9jLWxpc3RgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGNhbWVyYUFuZ2xlQ2hhbmdlKGRhdGE6IGFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2NhbWVyYUFuZ2xlQ2hhbmdlYCxkYXRhKVxyXG4gIH1cclxuICBjYW1lcmFMaXN0KHN0b3JlSWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhP3N0b3JlSWQ9JHtzdG9yZUlkfWApXHJcbiAgfVxyXG4gIGFkZFNpbmdsZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vY3JlYXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS91cGRhdGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkZWxldGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2RlbGV0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFJlbW90ZShpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3RvcmUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUmVtb3RlKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5zdG9yZUFwaVVybH0vdXBkYXRlLXN0b3JlLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGFjdGl2ZVRpY2tldChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL2FjdGl2ZVRpY2tldExpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhSW1hZ2VzKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0QWxsQ2FtZXJhU3RyZWFtRGF0YWAsIHsgcGFyYW1zOiBwYXJhbXMgfSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVN0b3JlKGlkOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS91cGRhdGVTdG9yZUlzc3VlLyR7aWR9YCwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgZ2V0QWxsQ291bnRzKGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvcGVuZGluZ1RpY2tldGAsIGRhdGEpXHJcbiAgfVxyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoXHJcbiAgICAgICgpID0+IG5ldyBFcnJvcihcIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQ7IHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuLy8gYXVkaXQgY29kZVxyXG5cclxuYXVkaXRIaXN0b3J5KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vbWV0cmljcy91c2VyLWF1ZGl0LWhpc3RvcnlgLGRhdGEpXHJcbn1cclxuXHJcbmF1ZGl0SGlzdG9yeUV4cG9ydChkYXRhOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L21ldHJpY3MvdXNlci1hdWRpdC1oaXN0b3J5YCxkYXRhLHtyZXNwb25zZVR5cGU6J2FycmF5YnVmZmVyJ30pXHJcbn1cclxuXHJcbmV4cG9ydChwYXlsb2FkOmFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L3dvcmstc3BhY2U/JnNlYXJjaFZhbHVlPSR7cGF5bG9hZD8uc2VhcmNoVmFsdWV9Jm9mZnNldD0ke3BheWxvYWQ/Lm9mZnNldH0mbGltaXQ9JHtwYXlsb2FkPy5saW1pdH0maXNFeHBvcnQ9JHtwYXlsb2FkPy5leHBvcnR9Jm1vZHVsZVR5cGU9JHtwYXlsb2FkPy5tb2R1bGVUeXBlfWAsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG59XHJcblxyXG5nZXRBdWRpdChwYXlsb2FkOmFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L3dvcmstc3BhY2U/JnNlYXJjaFZhbHVlPSR7cGF5bG9hZD8uc2VhcmNoVmFsdWV9Jm9mZnNldD0ke3BheWxvYWQ/Lm9mZnNldH0mbGltaXQ9JHtwYXlsb2FkPy5saW1pdH0maXNFeHBvcnQ9JHtwYXlsb2FkPy5leHBvcnR9Jm1vZHVsZVR5cGU9JHtwYXlsb2FkPy5tb2R1bGVUeXBlfWApXHJcbn1cclxuXHJcbmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZDphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2dldC1kcmFmdGVkLWRhdGE/ZmlsZURhdGU9JHtwYXlsb2FkPy5maWxlRGF0ZX0mc3RvcmVJZD0ke3BheWxvYWQ/LnN0b3JlSWR9JnpvbmVOYW1lPSR7cGF5bG9hZD8uem9uZU5hbWV9Jm1vZHVsZVR5cGU9JHtwYXlsb2FkPy5tb2R1bGVUeXBlfWApXHJcbn1cclxuXHJcbmdldHN0b3JlTGlzdChkYXRhOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0LXN0b3Jlc2AsZGF0YSlcclxufVxyXG5cclxudXNlckRldGFpbHMoKSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXV0aC9tZWAsIHtcclxuICB9KS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXItaW5mbycsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEpKTtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZVxyXG4gICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG59XHJcblxyXG5cclxuXHJcbn1cclxuIl19
|