tango-app-ui-ticket-user 3.4.0-beta.21 → 3.4.0-beta.22

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.
Files changed (30) hide show
  1. package/README.md +28 -28
  2. package/esm2022/lib/components/audit-management/audit-management.component.mjs +5 -5
  3. package/esm2022/lib/components/audit-workspace/audit-workspace.component.mjs +6 -6
  4. package/esm2022/lib/components/contact-details/contact-details.component.mjs +5 -5
  5. package/esm2022/lib/components/dropdown/dropdown.component.mjs +5 -5
  6. package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +5 -5
  7. package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +5 -5
  8. package/esm2022/lib/components/edit-details/edit-details.component.mjs +5 -5
  9. package/esm2022/lib/components/infratickets/infratickets.component.mjs +5 -5
  10. package/esm2022/lib/components/installation/installation.component.mjs +5 -5
  11. package/esm2022/lib/components/store-activity/store-activity.component.mjs +5 -5
  12. package/esm2022/lib/components/store-info/store-info.component.mjs +5 -5
  13. package/esm2022/lib/components/takeremote/takeremote.component.mjs +5 -5
  14. package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -5
  15. package/esm2022/lib/components/tickets/tickets.component.mjs +5 -5
  16. package/esm2022/lib/components/viewhistory/viewhistory.component.mjs +5 -5
  17. package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +5 -5
  18. package/esm2022/lib/services/data.service.mjs +4 -4
  19. package/esm2022/lib/services/excel.service.mjs +4 -4
  20. package/esm2022/lib/services/ticket-infra.service.mjs +4 -4
  21. package/esm2022/lib/tango-ticket-users-routing.module.mjs +5 -5
  22. package/esm2022/lib/tango-ticket-users.module.mjs +5 -5
  23. package/esm2022/public-api.mjs +1 -1
  24. package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs → tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs} +5 -5
  25. package/fesm2022/tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs.map +1 -0
  26. package/fesm2022/tango-app-ui-ticket-user.mjs +79 -79
  27. package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
  28. package/lib/components/store-info/store-info.component.d.ts +2 -2
  29. package/package.json +1 -1
  30. package/fesm2022/tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs.map +0 -1
@@ -65,13 +65,13 @@ export class EdgeCameraviewComponent {
65
65
  },
66
66
  });
67
67
  }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeCameraviewComponent, deps: [{ token: i1.TicketsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EdgeCameraviewComponent, selector: "lib-edge-cameraview", inputs: { value: "value" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"card-header flex-column border-0\">\n <img class=\"mt-5 msgprofile\" src=\"./assets/tango/Images/edgeapp icon.svg\">\n <div class=\"card-title flex-column\">\n <span class=\"card-label mb-1\">{{value?.storeName}}- Store Infrastructure</span>\n <span class=\"sub-title\">Based on date : {{currentDate | date:'dd-MM-yy'}} </span>\n </div>\n </div>\n <div class=\"card-body\">\n <div>\n <span class=\"heading mb-5 fw-semibold\">Edge App Status <span *ngIf=\"viewEdgeAppLogList?.appStatus\">- {{viewEdgeAppLogList?.appStatus ? viewEdgeAppLogList?.appStatus :'--'}}</span></span>\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Login Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.appStartTime ? viewEdgeAppLogList?.appStartTime :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Close Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.appQuitTime ? viewEdgeAppLogList?.appQuitTime :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Crash Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.AppCrashtime ? viewEdgeAppLogList?.AppCrashtime :'--'}}</span>\n </div>\n </div>\n </div>\n <div class=\"mt-10\">\n <span class=\"heading mb-5 fw-semibold\">System Check </span>\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title \">System Idle</span>\n <span class=\"title\">{{viewEdgeAppLogList?.screenStatus ?viewEdgeAppLogList?.screenStatus :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">Antivirus</span>\n <span class=\"title\">{{viewEdgeAppLogList?.antiVirus ?viewEdgeAppLogList?.antiVirus :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">Files Pushed</span>\n <span class=\"title\">{{viewEdgeAppLogList?.filesPushed ?viewEdgeAppLogList?.filesPushed :'--'}}</span>\n </div>\n </div>\n </div>\n <div class=\"mt-10\">\n <span class=\"heading mb-5 fw-semibold\">Camera Check</span>\n <div class=\"row\">\n <div *ngFor=\"let details of CameraDetails\" class=\"col-sm-6 mt-10\">\n <div>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <div class=\"d-flex align-items-center\">\n <div [ngClass]=\"(details?.isActivated && details?.isUp) ? 'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div><span *ngIf=\"details?.cameraNumber\">{{details?.cameraNumber}}</span>\n <span *ngIf=\"details?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">{{details?.cameraName | titlecase}} Camera</span>\n </div>\n <div class=\"streamdate fw-semibold\"><span>{{details?.streamName}}</span></div>\n </div>\n </div>\n \n <img class=\"w-100 mh-200px rounded-3 mt-3\" src='{{details?.thumbnailImage}}'>\n <div class=\"mt-3 d-flex justify-content-between\">\n <span *ngIf=\"details?.captureAt\" class=\"streamdate fw-semibold\">Date Added : {{details?.captureAt | customDateFormat}}</span>\n <span *ngIf=\"details?.timeElapsed\" class=\"streamdate fw-semibold\">Frame Rate : {{details?.timeElapsed}} Sec</span>\n </div>\n </div> \n </div>\n </div>\n </div>\n \n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"noData || !CameraDetails?.length\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".card-label{font-size:18px!important;line-height:28px!important}.sub-title{font-size:14px;font-weight:400;line-height:20px;color:var(--Gray-500, #667085)}.card-view .title{color:var(--Gray-900, #101828)!important;font-size:20px!important;line-height:30px;font-weight:600!important}.card-view .sub-title{color:var(--Gray-900, #101828)!important;font-size:14px!important;line-height:20px;font-weight:500!important}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.streamdate{color:var(--Gray-400, #98A2B3);font-size:12px;line-height:18px}.heading{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EdgeCameraviewComponent, deps: [{ token: i1.TicketsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: EdgeCameraviewComponent, selector: "lib-edge-cameraview", inputs: { value: "value" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-header flex-column border-0\">\r\n <img class=\"mt-5 msgprofile\" src=\"./assets/tango/Images/edgeapp icon.svg\">\r\n <div class=\"card-title flex-column\">\r\n <span class=\"card-label mb-1\">{{value?.storeName}}- Store Infrastructure</span>\r\n <span class=\"sub-title\">Based on date : {{currentDate | date:'dd-MM-yy'}} </span>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div>\r\n <span class=\"heading mb-5 fw-semibold\">Edge App Status <span *ngIf=\"viewEdgeAppLogList?.appStatus\">- {{viewEdgeAppLogList?.appStatus ? viewEdgeAppLogList?.appStatus :'--'}}</span></span>\r\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Login Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.appStartTime ? viewEdgeAppLogList?.appStartTime :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Close Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.appQuitTime ? viewEdgeAppLogList?.appQuitTime :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Crash Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.AppCrashtime ? viewEdgeAppLogList?.AppCrashtime :'--'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-10\">\r\n <span class=\"heading mb-5 fw-semibold\">System Check </span>\r\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title \">System Idle</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.screenStatus ?viewEdgeAppLogList?.screenStatus :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">Antivirus</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.antiVirus ?viewEdgeAppLogList?.antiVirus :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">Files Pushed</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.filesPushed ?viewEdgeAppLogList?.filesPushed :'--'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-10\">\r\n <span class=\"heading mb-5 fw-semibold\">Camera Check</span>\r\n <div class=\"row\">\r\n <div *ngFor=\"let details of CameraDetails\" class=\"col-sm-6 mt-10\">\r\n <div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-9\">\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"(details?.isActivated && details?.isUp) ? 'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div><span *ngIf=\"details?.cameraNumber\">{{details?.cameraNumber}}</span>\r\n <span *ngIf=\"details?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">{{details?.cameraName | titlecase}} Camera</span>\r\n </div>\r\n <div class=\"streamdate fw-semibold\"><span>{{details?.streamName}}</span></div>\r\n </div>\r\n </div>\r\n \r\n <img class=\"w-100 mh-200px rounded-3 mt-3\" src='{{details?.thumbnailImage}}'>\r\n <div class=\"mt-3 d-flex justify-content-between\">\r\n <span *ngIf=\"details?.captureAt\" class=\"streamdate fw-semibold\">Date Added : {{details?.captureAt | customDateFormat}}</span>\r\n <span *ngIf=\"details?.timeElapsed\" class=\"streamdate fw-semibold\">Frame Rate : {{details?.timeElapsed}} Sec</span>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n \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 \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData || !CameraDetails?.length\">\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>\r\n</div>\r\n", styles: [".card-label{font-size:18px!important;line-height:28px!important}.sub-title{font-size:14px;font-weight:400;line-height:20px;color:var(--Gray-500, #667085)}.card-view .title{color:var(--Gray-900, #101828)!important;font-size:20px!important;line-height:30px;font-weight:600!important}.card-view .sub-title{color:var(--Gray-900, #101828)!important;font-size:14px!important;line-height:20px;font-weight:500!important}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.streamdate{color:var(--Gray-400, #98A2B3);font-size:12px;line-height:18px}.heading{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeCameraviewComponent, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EdgeCameraviewComponent, decorators: [{
72
72
  type: Component,
73
- args: [{ selector: 'lib-edge-cameraview', template: "<div class=\"card\">\n <div class=\"card-header flex-column border-0\">\n <img class=\"mt-5 msgprofile\" src=\"./assets/tango/Images/edgeapp icon.svg\">\n <div class=\"card-title flex-column\">\n <span class=\"card-label mb-1\">{{value?.storeName}}- Store Infrastructure</span>\n <span class=\"sub-title\">Based on date : {{currentDate | date:'dd-MM-yy'}} </span>\n </div>\n </div>\n <div class=\"card-body\">\n <div>\n <span class=\"heading mb-5 fw-semibold\">Edge App Status <span *ngIf=\"viewEdgeAppLogList?.appStatus\">- {{viewEdgeAppLogList?.appStatus ? viewEdgeAppLogList?.appStatus :'--'}}</span></span>\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Login Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.appStartTime ? viewEdgeAppLogList?.appStartTime :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Close Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.appQuitTime ? viewEdgeAppLogList?.appQuitTime :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">App Crash Time</span>\n <span class=\"title\">{{viewEdgeAppLogList?.AppCrashtime ? viewEdgeAppLogList?.AppCrashtime :'--'}}</span>\n </div>\n </div>\n </div>\n <div class=\"mt-10\">\n <span class=\"heading mb-5 fw-semibold\">System Check </span>\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title \">System Idle</span>\n <span class=\"title\">{{viewEdgeAppLogList?.screenStatus ?viewEdgeAppLogList?.screenStatus :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">Antivirus</span>\n <span class=\"title\">{{viewEdgeAppLogList?.antiVirus ?viewEdgeAppLogList?.antiVirus :'--'}}</span>\n </div>\n <div class=\"card-view d-flex flex-column\">\n <span class=\"sub-title\">Files Pushed</span>\n <span class=\"title\">{{viewEdgeAppLogList?.filesPushed ?viewEdgeAppLogList?.filesPushed :'--'}}</span>\n </div>\n </div>\n </div>\n <div class=\"mt-10\">\n <span class=\"heading mb-5 fw-semibold\">Camera Check</span>\n <div class=\"row\">\n <div *ngFor=\"let details of CameraDetails\" class=\"col-sm-6 mt-10\">\n <div>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <div class=\"d-flex align-items-center\">\n <div [ngClass]=\"(details?.isActivated && details?.isUp) ? 'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div><span *ngIf=\"details?.cameraNumber\">{{details?.cameraNumber}}</span>\n <span *ngIf=\"details?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">{{details?.cameraName | titlecase}} Camera</span>\n </div>\n <div class=\"streamdate fw-semibold\"><span>{{details?.streamName}}</span></div>\n </div>\n </div>\n \n <img class=\"w-100 mh-200px rounded-3 mt-3\" src='{{details?.thumbnailImage}}'>\n <div class=\"mt-3 d-flex justify-content-between\">\n <span *ngIf=\"details?.captureAt\" class=\"streamdate fw-semibold\">Date Added : {{details?.captureAt | customDateFormat}}</span>\n <span *ngIf=\"details?.timeElapsed\" class=\"streamdate fw-semibold\">Frame Rate : {{details?.timeElapsed}} Sec</span>\n </div>\n </div> \n </div>\n </div>\n </div>\n \n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"noData || !CameraDetails?.length\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".card-label{font-size:18px!important;line-height:28px!important}.sub-title{font-size:14px;font-weight:400;line-height:20px;color:var(--Gray-500, #667085)}.card-view .title{color:var(--Gray-900, #101828)!important;font-size:20px!important;line-height:30px;font-weight:600!important}.card-view .sub-title{color:var(--Gray-900, #101828)!important;font-size:14px!important;line-height:20px;font-weight:500!important}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.streamdate{color:var(--Gray-400, #98A2B3);font-size:12px;line-height:18px}.heading{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}\n"] }]
73
+ args: [{ selector: 'lib-edge-cameraview', template: "<div class=\"card\">\r\n <div class=\"card-header flex-column border-0\">\r\n <img class=\"mt-5 msgprofile\" src=\"./assets/tango/Images/edgeapp icon.svg\">\r\n <div class=\"card-title flex-column\">\r\n <span class=\"card-label mb-1\">{{value?.storeName}}- Store Infrastructure</span>\r\n <span class=\"sub-title\">Based on date : {{currentDate | date:'dd-MM-yy'}} </span>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div>\r\n <span class=\"heading mb-5 fw-semibold\">Edge App Status <span *ngIf=\"viewEdgeAppLogList?.appStatus\">- {{viewEdgeAppLogList?.appStatus ? viewEdgeAppLogList?.appStatus :'--'}}</span></span>\r\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Login Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.appStartTime ? viewEdgeAppLogList?.appStartTime :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Close Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.appQuitTime ? viewEdgeAppLogList?.appQuitTime :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">App Crash Time</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.AppCrashtime ? viewEdgeAppLogList?.AppCrashtime :'--'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-10\">\r\n <span class=\"heading mb-5 fw-semibold\">System Check </span>\r\n <div class=\"border border-gray border-1 rounded-3 w-100 px-10 py-3 mt-3 d-flex justify-content-between\">\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title \">System Idle</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.screenStatus ?viewEdgeAppLogList?.screenStatus :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">Antivirus</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.antiVirus ?viewEdgeAppLogList?.antiVirus :'--'}}</span>\r\n </div>\r\n <div class=\"card-view d-flex flex-column\">\r\n <span class=\"sub-title\">Files Pushed</span>\r\n <span class=\"title\">{{viewEdgeAppLogList?.filesPushed ?viewEdgeAppLogList?.filesPushed :'--'}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-10\">\r\n <span class=\"heading mb-5 fw-semibold\">Camera Check</span>\r\n <div class=\"row\">\r\n <div *ngFor=\"let details of CameraDetails\" class=\"col-sm-6 mt-10\">\r\n <div>\r\n <div class=\"row\">\r\n <div class=\"col-sm-9\">\r\n <div class=\"d-flex align-items-center\">\r\n <div [ngClass]=\"(details?.isActivated && details?.isUp) ? 'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div><span *ngIf=\"details?.cameraNumber\">{{details?.cameraNumber}}</span>\r\n <span *ngIf=\"details?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">{{details?.cameraName | titlecase}} Camera</span>\r\n </div>\r\n <div class=\"streamdate fw-semibold\"><span>{{details?.streamName}}</span></div>\r\n </div>\r\n </div>\r\n \r\n <img class=\"w-100 mh-200px rounded-3 mt-3\" src='{{details?.thumbnailImage}}'>\r\n <div class=\"mt-3 d-flex justify-content-between\">\r\n <span *ngIf=\"details?.captureAt\" class=\"streamdate fw-semibold\">Date Added : {{details?.captureAt | customDateFormat}}</span>\r\n <span *ngIf=\"details?.timeElapsed\" class=\"streamdate fw-semibold\">Frame Rate : {{details?.timeElapsed}} Sec</span>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n \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 \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData || !CameraDetails?.length\">\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>\r\n</div>\r\n", styles: [".card-label{font-size:18px!important;line-height:28px!important}.sub-title{font-size:14px;font-weight:400;line-height:20px;color:var(--Gray-500, #667085)}.card-view .title{color:var(--Gray-900, #101828)!important;font-size:20px!important;line-height:30px;font-weight:600!important}.card-view .sub-title{color:var(--Gray-900, #101828)!important;font-size:14px!important;line-height:20px;font-weight:500!important}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.streamdate{color:var(--Gray-400, #98A2B3);font-size:12px;line-height:18px}.heading{color:var(--Gray-900, #101828);font-size:16px;line-height:24px}\n"] }]
74
74
  }], ctorParameters: () => [{ type: i1.TicketsService }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
75
75
  type: Input
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlLWNhbWVyYXZpZXcvZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlLWNhbWVyYXZpZXcvZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQVNkO0lBQXNDO0lBUjFELE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixrQkFBa0IsQ0FBTTtJQUN4QixXQUFXLENBQU87SUFDVCxLQUFLLENBQU07SUFDcEIsYUFBYSxDQUFNO0lBQ0YsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsWUFBb0IsWUFBNEIsRUFBVSxFQUFxQjtRQUEzRCxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUcvRSxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksR0FBRyxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTztZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTO1lBQzNCLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87U0FDeEIsQ0FBQTtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7aUJBQ3hCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBRWYsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLEdBQUc7WUFDVCxPQUFPLEVBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPO1lBQzdCLG9CQUFvQjtTQUNyQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0UsSUFBSSxFQUFDLENBQUMsR0FBTyxFQUFDLEVBQUU7Z0JBQ2QsSUFBRyxHQUFHLElBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUM7b0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztvQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2lCQUNyQjtxQkFBSTtvQkFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0E5RFUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsdUZDVHBDLHVuTEFrR0E7OzRGRHpGYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO21IQVN0QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZWRnZS1jYW1lcmF2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkZ2UtY2FtZXJhdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9lZGdlLWNhbWVyYXZpZXcuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VDYW1lcmF2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuICB2aWV3RWRnZUFwcExvZ0xpc3Q6IGFueTtcbiAgY3VycmVudERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIENhbWVyYURldGFpbHM6IGFueTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmZyYVNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXG5cbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldFZpZXdFZGdlQXBwTG9nKCk7XG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgfVxuICBnZXRWaWV3RWRnZUFwcExvZygpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG5cbiAgICBsZXQgb2JqID0ge1xuICAgICAgc3RvcmVJZDogdGhpcy52YWx1ZT8uc3RvcmVJZCxcbiAgICAgIGZyb206IHRoaXMudmFsdWU/LnN0YXJ0VGltZSxcbiAgICAgIHRvOiB0aGlzLnZhbHVlPy5lbmRUaW1lXG4gICAgfVxuXG4gICAgdGhpcy5pbmZyYVNlcnZpY2Uudmlld2VkZ2VBcHBMb2cob2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcbiAgICAgICAgICB0aGlzLnZpZXdFZGdlQXBwTG9nTGlzdCA9IHJlcz8uZGF0YTtcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRDYW1lcmFJbWFnZXMoKXtcbiAgICBsZXQgZGF0YSA9IHtcbiAgICAgIHN0b3JlSWQgOiB0aGlzLnZhbHVlPy5zdG9yZUlkXG4gICAgICAvLyBzdG9yZUlkOlwiMjAxLTEyOVwiXG4gICAgfVxuICAgIHRoaXMuaW5mcmFTZXJ2aWNlLmdldENhbWVyYUltYWdlcyhkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xuICAgICAgICBpZihyZXMmJiByZXMuY29kZSA9PSAyMDApe1xuICAgICAgICAgIHRoaXMuQ2FtZXJhRGV0YWlscyA9IHJlcz8uZGF0YTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjooZXJyKT0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBmbGV4LWNvbHVtbiBib3JkZXItMFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwibXQtNSBtc2dwcm9maWxlXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL2VkZ2VhcHAgaWNvbi5zdmdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTFcIj57e3ZhbHVlPy5zdG9yZU5hbWV9fS0gU3RvcmUgSW5mcmFzdHJ1Y3R1cmU8L3NwYW4+XG4gICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLXRpdGxlXCI+QmFzZWQgb24gZGF0ZSA6IHt7Y3VycmVudERhdGUgfCBkYXRlOidkZC1NTS15eSd9fSA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZyBtYi01IGZ3LXNlbWlib2xkXCI+RWRnZSBBcHAgU3RhdHVzIDxzcGFuICpuZ0lmPVwidmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBTdGF0dXNcIj4tIHt7dmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBTdGF0dXMgPyB2aWV3RWRnZUFwcExvZ0xpc3Q/LmFwcFN0YXR1cyA6Jy0tJ319PC9zcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXkgYm9yZGVyLTEgcm91bmRlZC0zIHctMTAwIHB4LTEwIHB5LTMgbXQtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZpZXcgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIj5BcHAgTG9naW4gVGltZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LmFwcFN0YXJ0VGltZSA/IHZpZXdFZGdlQXBwTG9nTGlzdD8uYXBwU3RhcnRUaW1lIDonLS0nfX08L3NwYW4+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZpZXcgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIj5BcHAgQ2xvc2UgVGltZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LmFwcFF1aXRUaW1lID8gdmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBRdWl0VGltZSA6Jy0tJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC12aWV3IGQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLXRpdGxlXCI+QXBwIENyYXNoIFRpbWU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7dmlld0VkZ2VBcHBMb2dMaXN0Py5BcHBDcmFzaHRpbWUgPyB2aWV3RWRnZUFwcExvZ0xpc3Q/LkFwcENyYXNodGltZSA6Jy0tJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5nIG1iLTUgZnctc2VtaWJvbGRcIj5TeXN0ZW0gQ2hlY2sgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheSBib3JkZXItMSByb3VuZGVkLTMgdy0xMDAgcHgtMTAgcHktMyBtdC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdmlldyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZSBcIj5TeXN0ZW0gSWRsZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LnNjcmVlblN0YXR1cyA/dmlld0VkZ2VBcHBMb2dMaXN0Py5zY3JlZW5TdGF0dXMgOictLSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdmlldyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkFudGl2aXJ1czwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LmFudGlWaXJ1cyA/dmlld0VkZ2VBcHBMb2dMaXN0Py5hbnRpVmlydXMgOictLSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdmlldyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkZpbGVzIFB1c2hlZDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LmZpbGVzUHVzaGVkID92aWV3RWRnZUFwcExvZ0xpc3Q/LmZpbGVzUHVzaGVkIDonLS0nfX08L3NwYW4+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmcgbWItNSBmdy1zZW1pYm9sZFwiPkNhbWVyYSBDaGVjazwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRldGFpbHMgb2YgQ2FtZXJhRGV0YWlsc1wiIGNsYXNzPVwiY29sLXNtLTYgbXQtMTBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiKGRldGFpbHM/LmlzQWN0aXZhdGVkICYmIGRldGFpbHM/LmlzVXApID8gJ2JnLXN1Y2Nlc3MnOidiZy1kYW5nZXInXCIgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMyBtZS0yXCI+PC9kaXY+PHNwYW4gKm5nSWY9XCJkZXRhaWxzPy5jYW1lcmFOdW1iZXJcIj57e2RldGFpbHM/LmNhbWVyYU51bWJlcn19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkZXRhaWxzPy5jYW1lcmFOYW1lXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBtcy0yXCI+e3tkZXRhaWxzPy5jYW1lcmFOYW1lIHwgdGl0bGVjYXNlfX0gQ2FtZXJhPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cmVhbWRhdGUgZnctc2VtaWJvbGRcIj48c3Bhbj57e2RldGFpbHM/LnN0cmVhbU5hbWV9fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTIwMHB4IHJvdW5kZWQtMyBtdC0zXCIgc3JjPSd7e2RldGFpbHM/LnRodW1ibmFpbEltYWdlfX0nPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGV0YWlscz8uY2FwdHVyZUF0XCIgY2xhc3M9XCJzdHJlYW1kYXRlIGZ3LXNlbWlib2xkXCI+RGF0ZSBBZGRlZCA6IHt7ZGV0YWlscz8uY2FwdHVyZUF0IHwgY3VzdG9tRGF0ZUZvcm1hdH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkZXRhaWxzPy50aW1lRWxhcHNlZFwiIGNsYXNzPVwic3RyZWFtZGF0ZSBmdy1zZW1pYm9sZFwiPkZyYW1lIFJhdGUgOiB7e2RldGFpbHM/LnRpbWVFbGFwc2VkfX0gU2VjPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIiA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YSB8fCAhQ2FtZXJhRGV0YWlscz8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlLWNhbWVyYXZpZXcvZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlLWNhbWVyYXZpZXcvZWRnZS1jYW1lcmF2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQVNkO0lBQXNDO0lBUjFELE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixrQkFBa0IsQ0FBTTtJQUN4QixXQUFXLENBQU87SUFDVCxLQUFLLENBQU07SUFDcEIsYUFBYSxDQUFNO0lBQ0YsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsWUFBb0IsWUFBNEIsRUFBVSxFQUFxQjtRQUEzRCxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUcvRSxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksR0FBRyxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTztZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTO1lBQzNCLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87U0FDeEIsQ0FBQTtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7aUJBQ3hCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBRWYsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLEdBQUc7WUFDVCxPQUFPLEVBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPO1lBQzdCLG9CQUFvQjtTQUNyQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0UsSUFBSSxFQUFDLENBQUMsR0FBTyxFQUFDLEVBQUU7Z0JBQ2QsSUFBRyxHQUFHLElBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUM7b0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztvQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2lCQUNyQjtxQkFBSTtvQkFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3BCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt3R0E5RFUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsdUZDVHBDLDJ6TEFrR0E7OzRGRHpGYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCO21IQVN0QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkZ2UtY2FtZXJhdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkZ2UtY2FtZXJhdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2VkZ2UtY2FtZXJhdmlldy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkZ2VDYW1lcmF2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB2aWV3RWRnZUFwcExvZ0xpc3Q6IGFueTtcclxuICBjdXJyZW50RGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG4gIENhbWVyYURldGFpbHM6IGFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmZyYVNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cclxuXHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRWaWV3RWRnZUFwcExvZygpO1xyXG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBnZXRWaWV3RWRnZUFwcExvZygpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG5cclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMudmFsdWU/LnN0b3JlSWQsXHJcbiAgICAgIGZyb206IHRoaXMudmFsdWU/LnN0YXJ0VGltZSxcclxuICAgICAgdG86IHRoaXMudmFsdWU/LmVuZFRpbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluZnJhU2VydmljZS52aWV3ZWRnZUFwcExvZyhvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudmlld0VkZ2VBcHBMb2dMaXN0ID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhSW1hZ2VzKCl7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgc3RvcmVJZCA6IHRoaXMudmFsdWU/LnN0b3JlSWRcclxuICAgICAgLy8gc3RvcmVJZDpcIjIwMS0xMjlcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5pbmZyYVNlcnZpY2UuZ2V0Q2FtZXJhSW1hZ2VzKGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KT0+IHtcclxuICAgICAgICBpZihyZXMmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgdGhpcy5DYW1lcmFEZXRhaWxzID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooZXJyKT0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBmbGV4LWNvbHVtbiBib3JkZXItMFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJtdC01IG1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZWRnZWFwcCBpY29uLnN2Z1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTFcIj57e3ZhbHVlPy5zdG9yZU5hbWV9fS0gU3RvcmUgSW5mcmFzdHJ1Y3R1cmU8L3NwYW4+XHJcbiAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIj5CYXNlZCBvbiBkYXRlIDoge3tjdXJyZW50RGF0ZSB8IGRhdGU6J2RkLU1NLXl5J319IDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZyBtYi01IGZ3LXNlbWlib2xkXCI+RWRnZSBBcHAgU3RhdHVzIDxzcGFuICpuZ0lmPVwidmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBTdGF0dXNcIj4tIHt7dmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBTdGF0dXMgPyB2aWV3RWRnZUFwcExvZ0xpc3Q/LmFwcFN0YXR1cyA6Jy0tJ319PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheSBib3JkZXItMSByb3VuZGVkLTMgdy0xMDAgcHgtMTAgcHktMyBtdC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC12aWV3IGQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIj5BcHAgTG9naW4gVGltZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57e3ZpZXdFZGdlQXBwTG9nTGlzdD8uYXBwU3RhcnRUaW1lID8gdmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBTdGFydFRpbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZpZXcgZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkFwcCBDbG9zZSBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7dmlld0VkZ2VBcHBMb2dMaXN0Py5hcHBRdWl0VGltZSA/IHZpZXdFZGdlQXBwTG9nTGlzdD8uYXBwUXVpdFRpbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZpZXcgZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkFwcCBDcmFzaCBUaW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7dmlld0VkZ2VBcHBMb2dMaXN0Py5BcHBDcmFzaHRpbWUgPyB2aWV3RWRnZUFwcExvZ0xpc3Q/LkFwcENyYXNodGltZSA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZyBtYi01IGZ3LXNlbWlib2xkXCI+U3lzdGVtIENoZWNrIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JheSBib3JkZXItMSByb3VuZGVkLTMgdy0xMDAgcHgtMTAgcHktMyBtdC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC12aWV3IGQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGUgXCI+U3lzdGVtIElkbGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3t2aWV3RWRnZUFwcExvZ0xpc3Q/LnNjcmVlblN0YXR1cyA/dmlld0VkZ2VBcHBMb2dMaXN0Py5zY3JlZW5TdGF0dXMgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXZpZXcgZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi10aXRsZVwiPkFudGl2aXJ1czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57e3ZpZXdFZGdlQXBwTG9nTGlzdD8uYW50aVZpcnVzID92aWV3RWRnZUFwcExvZ0xpc3Q/LmFudGlWaXJ1cyA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdmlldyBkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLXRpdGxlXCI+RmlsZXMgUHVzaGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7dmlld0VkZ2VBcHBMb2dMaXN0Py5maWxlc1B1c2hlZCA/dmlld0VkZ2VBcHBMb2dMaXN0Py5maWxlc1B1c2hlZCA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZyBtYi01IGZ3LXNlbWlib2xkXCI+Q2FtZXJhIENoZWNrPC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRldGFpbHMgb2YgQ2FtZXJhRGV0YWlsc1wiIGNsYXNzPVwiY29sLXNtLTYgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIihkZXRhaWxzPy5pc0FjdGl2YXRlZCAmJiBkZXRhaWxzPy5pc1VwKSA/ICdiZy1zdWNjZXNzJzonYmctZGFuZ2VyJ1wiIGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgbWUtMlwiPjwvZGl2PjxzcGFuICpuZ0lmPVwiZGV0YWlscz8uY2FtZXJhTnVtYmVyXCI+e3tkZXRhaWxzPy5jYW1lcmFOdW1iZXJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkZXRhaWxzPy5jYW1lcmFOYW1lXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBtcy0yXCI+e3tkZXRhaWxzPy5jYW1lcmFOYW1lIHwgdGl0bGVjYXNlfX0gQ2FtZXJhPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJlYW1kYXRlIGZ3LXNlbWlib2xkXCI+PHNwYW4+e3tkZXRhaWxzPy5zdHJlYW1OYW1lfX08L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTIwMHB4IHJvdW5kZWQtMyBtdC0zXCIgc3JjPSd7e2RldGFpbHM/LnRodW1ibmFpbEltYWdlfX0nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRldGFpbHM/LmNhcHR1cmVBdFwiIGNsYXNzPVwic3RyZWFtZGF0ZSBmdy1zZW1pYm9sZFwiPkRhdGUgQWRkZWQgOiB7e2RldGFpbHM/LmNhcHR1cmVBdCB8IGN1c3RvbURhdGVGb3JtYXR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkZXRhaWxzPy50aW1lRWxhcHNlZFwiIGNsYXNzPVwic3RyZWFtZGF0ZSBmdy1zZW1pYm9sZFwiPkZyYW1lIFJhdGUgOiB7e2RldGFpbHM/LnRpbWVFbGFwc2VkfX0gU2VjPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEgfHwgIUNhbWVyYURldGFpbHM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -143,13 +143,13 @@ export class EdgeappLogComponent {
143
143
  };
144
144
  }
145
145
  }
146
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeappLogComponent, deps: [{ token: i1.NgbModal }, { token: i2.TicketsService }, { token: i0.ChangeDetectorRef }, { token: i3.DataService }, { token: i4.GlobalStateService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
147
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"card-header border-0\">\n <div class=\"card-title\"> \n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\n </div>\n <div class=\"card-toolbar\">\n <div *ngIf=\" !noData\" class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></span> Export\n </div>\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\n <table class=\"table bottom-border\">\n <thead>\n <tr>\n <th>Time Stamp</th>\n <th>Downtime</th>\n <th>Avg Internet Speed</th>\n <th>App Status</th>\n <th>Files Pushed</th>\n <th>Action</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\n <td>\n <div class=\"d-flex align-items-center\">\n <span><img src='./assets/tango/Images/document.svg'></span>\n <div class=\"d-grid ms-3\">\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\n <span class=\"textSub mt-1\">{{obj.hourStatus}}</span>\n </div>\n </div>\n </td>\n <td>{{obj.downtime}} mins</td>\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <g clip-path=\"url(#clip0_4652_11479)\">\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4652_11479\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg></span></td>\n </tr>\n \n </tbody>\n \n </table> \n </div>\n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"noData\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
146
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EdgeappLogComponent, deps: [{ token: i1.NgbModal }, { token: i2.TicketsService }, { token: i0.ChangeDetectorRef }, { token: i3.DataService }, { token: i4.GlobalStateService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\"> \r\n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\" !noData\" class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </div>\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Time Stamp</th>\r\n <th>Downtime</th>\r\n <th>Avg Internet Speed</th>\r\n <th>App Status</th>\r\n <th>Files Pushed</th>\r\n <th>Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <span><img src='./assets/tango/Images/document.svg'></span>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\r\n <span class=\"textSub mt-1\">{{obj.hourStatus}}</span>\r\n </div>\r\n </div>\r\n </td>\r\n <td>{{obj.downtime}} mins</td>\r\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\r\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\r\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\r\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4652_11479)\">\r\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4652_11479\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span></td>\r\n </tr>\r\n \r\n </tbody>\r\n \r\n </table> \r\n </div>\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 \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>\r\n</div>\r\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeappLogComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EdgeappLogComponent, decorators: [{
150
150
  type: Component,
151
- args: [{ selector: 'lib-edgeapp-log', template: "<div class=\"card\">\n <div class=\"card-header border-0\">\n <div class=\"card-title\"> \n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\n </div>\n <div class=\"card-toolbar\">\n <div *ngIf=\" !noData\" class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></span> Export\n </div>\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\n <table class=\"table bottom-border\">\n <thead>\n <tr>\n <th>Time Stamp</th>\n <th>Downtime</th>\n <th>Avg Internet Speed</th>\n <th>App Status</th>\n <th>Files Pushed</th>\n <th>Action</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\n <td>\n <div class=\"d-flex align-items-center\">\n <span><img src='./assets/tango/Images/document.svg'></span>\n <div class=\"d-grid ms-3\">\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\n <span class=\"textSub mt-1\">{{obj.hourStatus}}</span>\n </div>\n </div>\n </td>\n <td>{{obj.downtime}} mins</td>\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <g clip-path=\"url(#clip0_4652_11479)\">\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4652_11479\">\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg></span></td>\n </tr>\n \n </tbody>\n \n </table> \n </div>\n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"noData\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}\n"] }]
151
+ args: [{ selector: 'lib-edgeapp-log', template: "<div class=\"card\">\r\n <div class=\"card-header border-0\">\r\n <div class=\"card-title\"> \r\n <div class=\"badge-light-primary text-primary rounded-2 px-5 py-3\">Edge App Logs</div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div *ngIf=\" !noData\" class=\"btn btn-default btn-outline\" (click)=\"edgeAppExportasXlsx()\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M17.5 12.5264V15.8597C17.5 16.3017 17.3244 16.7257 17.0118 17.0382C16.6993 17.3508 16.2754 17.5264 15.8333 17.5264H4.16667C3.72464 17.5264 3.30072 17.3508 2.98816 17.0382C2.67559 16.7257 2.5 16.3017 2.5 15.8597V12.5264M14.1667 6.69303L10 2.52637M10 2.52637L5.83333 6.69303M10 2.52637V12.5264\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </div>\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Time Stamp</th>\r\n <th>Downtime</th>\r\n <th>Avg Internet Speed</th>\r\n <th>App Status</th>\r\n <th>Files Pushed</th>\r\n <th>Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let obj of getEdgeAppLoveValue;let i=index;\">\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <span><img src='./assets/tango/Images/document.svg'></span>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{obj.startTime}} - {{obj.endTime}}</span>\r\n <span class=\"textSub mt-1\">{{obj.hourStatus}}</span>\r\n </div>\r\n </div>\r\n </td>\r\n <td>{{obj.downtime}} mins</td>\r\n <td>{{obj.Internetspeed ? obj.Internetspeed:'--'}}</td>\r\n <td><span class=\"badge badge-light-success text-success\">{{obj.AppStatus ? obj.AppStatus :'--'}}</span></td>\r\n <td>{{obj.files_pushed ? obj.files_pushed:'--'}}</td>\r\n <td><span (click)=\"openCameraView(obj)\" class=\"cursor-pointer\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4652_11479)\">\r\n <path d=\"M0.833984 10.0265C0.833984 10.0265 4.16732 3.35986 10.0007 3.35986C15.834 3.35986 19.1673 10.0265 19.1673 10.0265C19.1673 10.0265 15.834 16.6932 10.0007 16.6932C4.16732 16.6932 0.833984 10.0265 0.833984 10.0265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10.0007 12.5265C11.3814 12.5265 12.5006 11.4072 12.5006 10.0265C12.5006 8.64582 11.3814 7.52653 10.0007 7.52653C8.61994 7.52653 7.50065 8.64582 7.50065 10.0265C7.50065 11.4072 8.61994 12.5265 10.0007 12.5265Z\" stroke=\"#475467\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4652_11479\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span></td>\r\n </tr>\r\n \r\n </tbody>\r\n \r\n </table> \r\n </div>\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 \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>\r\n</div>\r\n", styles: [".textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}tr{vertical-align:middle!important}\n"] }]
152
152
  }], ctorParameters: () => [{ type: i1.NgbModal }, { type: i2.TicketsService }, { type: i0.ChangeDetectorRef }, { type: i3.DataService }, { type: i4.GlobalStateService }, { type: i5.ActivatedRoute }], propDecorators: { storeId: [{
153
153
  type: Input
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZWFwcC1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL2VkZ2VhcHAtbG9nL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlYXBwLWxvZy9lZGdlYXBwLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFFN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBTXRCLE1BQU0sT0FBTyxtQkFBbUI7SUFZVjtJQUNWO0lBQ0E7SUFDQTtJQUNEO0lBQ0E7SUFoQlQsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztJQUNyQixPQUFPLENBQU07SUFDdEIsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDSSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxZQUFZLENBQU07SUFDbEIsUUFBUSxDQUFNO0lBQ2QsVUFBVSxDQUFNO0lBQ2hCLFlBQVksQ0FBNkM7SUFDekQsWUFBb0IsWUFBc0IsRUFDaEMsWUFBNEIsRUFDNUIsRUFBcUIsRUFDckIsV0FBd0IsRUFDekIsRUFBcUIsRUFDckIsS0FBb0I7UUFMVCxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7WUFDckMsTUFBTSxXQUFXLEdBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFBO1FBQ0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLE1BQU0sR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQTtpQkFDMUM7WUFDSCxDQUFDO1NBQ0EsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLEdBQUcsR0FBRztZQUNSLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDeEIsQ0FBQTtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtpQkFDeEI7cUJBQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2lCQUNwQjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLElBQUksR0FBRyxHQUFHO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN2QixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUE7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDbEQsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBUztRQUN0QixJQUFJLEdBQUcsR0FBRztZQUNSLFNBQVMsRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVM7WUFDcEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3JGLE9BQU8sRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2xGLENBQUE7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQy9ELFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQzt3R0F4SFUsbUJBQW1COzRGQUFuQixtQkFBbUIsdUZDbkJoQyxxK01BdUdBOzs0RkRwRmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjtrT0FRbEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmLCBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEVkZ2VDYW1lcmF2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vZWRnZS1jYW1lcmF2aWV3L2VkZ2UtY2FtZXJhdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVkZ2VhcHAtbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBFZGdlYXBwTG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBnZXRFZGdlQXBwTG92ZVZhbHVlOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc3RvcmVJZDogYW55O1xuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XG4gIGRheWpzID0gZGF5anNcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHNlbGVjdGVkRGF0ZTogYW55O1xuICB0aWNrZXRJZDogYW55O1xuICB0aWNrZXRJbmZvOiBhbnk7XG4gIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcbiAgICBwcml2YXRlIGluZnJhU2VydmljZTogVGlja2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkYXRhc2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHVibGljIGdzOkdsb2JhbFN0YXRlU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6QWN0aXZhdGVkUm91dGUgICkge1xuICAgIHRoaXMudGlja2V0SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgndGlja2V0SWQnKTtcbiAgICBjb25zb2xlLmxvZygncm91dGUuc25hcHNob3QnLHRoaXMudGlja2V0SWQpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSAgbSA+IHRoaXMuZGF5anMoKTsgICAgXG4gICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyAnaW52YWxpZC1kYXRlJyA6IGZhbHNlO1xuICB9XG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgdGhpcy5nZXRFZGdlQXBwTG9nVGFibGUoKTtcbiAgICB0aGlzLnZpZXdUaWNrZXQoKVxuICB9XG4gIHZpZXdUaWNrZXQoKSB7XG4gICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgIHRpY2tldElkOiB0aGlzLnRpY2tldElkXG4gICAgfVxuICAgIHRoaXMuaW5mcmFTZXJ2aWNlLnZpZXdUaWNrZXQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudGlja2V0SW5mbyA9IHJlcz8uZGF0YT8uYmFzaWNEZXRhaWxzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIH0pXG4gIH1cbiAgZ2V0RWRnZUFwcExvZ1RhYmxlKCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcbiAgICBsZXQgb2JqID0ge1xuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgRGF0ZTogdGhpcy5zZWxlY3RlZERhdGVcbiAgICB9XG4gICAgdGhpcy5pbmZyYVNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlKG9iaikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5nZXRFZGdlQXBwTG92ZVZhbHVlID0gcmVzPy5kYXRhO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDQpIHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSAmJiBldmVudC5lbmREYXRlKSB7XG4gICAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkudXRjKCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgICAgIHRoaXMuZ2V0RWRnZUFwcExvZ1RhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGVzIHByb3ZpZGVkOicsIGV2ZW50LnN0YXJ0RGF0ZSwgZXZlbnQuZW5kRGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZXZlbnQgb2JqZWN0OicsIGV2ZW50KTtcbiAgICB9XG4gIH1cbiAgZWRnZUFwcEV4cG9ydGFzWGxzeCgpIHsgICAgXG4gICAgbGV0IG9iaiA9IHsgICAgICBcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIERhdGU6IHRoaXMuc2VsZWN0ZWREYXRlLFxuICAgICAgZXhwb3J0OiB0cnVlXG4gICAgfVxuICAgIHRoaXMuaW5mcmFTZXJ2aWNlLmVkZ2VBcHBMb2dUYWJsZUV4cG9ydChvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YXNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgJ0VkZ2VhcHAnKVxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgb3BlbkNhbWVyYVZpZXcoZGF0YTogYW55KSB7XG4gICAgbGV0IG9iaiA9IHtcbiAgICAgIHN0b3JlTmFtZTp0aGlzLnRpY2tldEluZm8/LnN0b3JlTmFtZSxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIHN0YXJ0VGltZTogZGF5anMoYDE5OTEtMDEtMDEgJHtkYXRhLnN0YXJ0VGltZX1gLCdZWVlZLU1NLUREIGhoOm1tIEEnKS5mb3JtYXQoXCJISDptbVwiKSxcbiAgICAgIGVuZFRpbWU6IGRheWpzKGAxOTkxLTAxLTAxICR7ZGF0YS5lbmRUaW1lfWAsJ1lZWVktTU0tREQgaGg6bW0gQScpLmZvcm1hdChcIkhIOm1tXCIpXG4gICAgfVxuICAgIGNvbnNvbGUubG9nKG9iailcblxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGdlQ2FtZXJhdmlld0NvbXBvbmVudCwge1xuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICBzaXplOiAnbGcnLFxuICAgIH0pO1xuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnZhbHVlID0gb2JqO1xuICB9XG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgXCJkYXlzXCIpKTtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPiAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSByb3VuZGVkLTIgcHgtNSBweS0zXCI+RWRnZSBBcHAgTG9nczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiICFub0RhdGFcIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tb3V0bGluZVwiIChjbGljayk9XCJlZGdlQXBwRXhwb3J0YXNYbHN4KClcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjUyNjRWMTUuODU5N0MxNy41IDE2LjMwMTcgMTcuMzI0NCAxNi43MjU3IDE3LjAxMTggMTcuMDM4MkMxNi42OTkzIDE3LjM1MDggMTYuMjc1NCAxNy41MjY0IDE1LjgzMzMgMTcuNTI2NEg0LjE2NjY3QzMuNzI0NjQgMTcuNTI2NCAzLjMwMDcyIDE3LjM1MDggMi45ODgxNiAxNy4wMzgyQzIuNjc1NTkgMTYuNzI1NyAyLjUgMTYuMzAxNyAyLjUgMTUuODU5N1YxMi41MjY0TTE0LjE2NjcgNi42OTMwM0wxMCAyLjUyNjM3TTEwIDIuNTI2MzdMNS44MzMzMyA2LjY5MzAzTTEwIDIuNTI2MzdWMTIuNTI2NFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IEV4cG9ydFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMSBtcy0zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbc2luZ2xlRGF0ZVBpY2tlcl09XCJ0cnVlXCIgW2Ryb3BzXT1cIidkb3duJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIiAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCIgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcbiAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhXCIgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cbiAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aD5UaW1lIFN0YW1wPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoPkRvd250aW1lPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoPkF2ZyBJbnRlcm5ldCBTcGVlZDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aD5BcHAgU3RhdHVzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoPkZpbGVzIFB1c2hlZDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb248L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGdldEVkZ2VBcHBMb3ZlVmFsdWU7bGV0IGk9aW5kZXg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGltZyBzcmM9Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy9kb2N1bWVudC5zdmcnPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIG1zLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tvYmouc3RhcnRUaW1lfX0gLSB7e29iai5lbmRUaW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFN1YiBtdC0xXCI+e3tvYmouaG91clN0YXR1c319PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5kb3dudGltZX19IG1pbnM8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouSW50ZXJuZXRzcGVlZCA/IG9iai5JbnRlcm5ldHNwZWVkOictLSd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgdGV4dC1zdWNjZXNzXCI+e3tvYmouQXBwU3RhdHVzID8gb2JqLkFwcFN0YXR1cyA6Jy0tJ319PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5maWxlc19wdXNoZWQgPyBvYmouZmlsZXNfcHVzaGVkOictLSd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiAoY2xpY2spPVwib3BlbkNhbWVyYVZpZXcob2JqKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDY1Ml8xMTQ3OSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMC44MzM5ODQgMTAuMDI2NUMwLjgzMzk4NCAxMC4wMjY1IDQuMTY3MzIgMy4zNTk4NiAxMC4wMDA3IDMuMzU5ODZDMTUuODM0IDMuMzU5ODYgMTkuMTY3MyAxMC4wMjY1IDE5LjE2NzMgMTAuMDI2NUMxOS4xNjczIDEwLjAyNjUgMTUuODM0IDE2LjY5MzIgMTAuMDAwNyAxNi42OTMyQzQuMTY3MzIgMTYuNjkzMiAwLjgzMzk4NCAxMC4wMjY1IDAuODMzOTg0IDEwLjAyNjVaXCIgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDcgMTIuNTI2NUMxMS4zODE0IDEyLjUyNjUgMTIuNTAwNiAxMS40MDcyIDEyLjUwMDYgMTAuMDI2NUMxMi41MDA2IDguNjQ1ODIgMTEuMzgxNCA3LjUyNjUzIDEwLjAwMDcgNy41MjY1M0M4LjYxOTk0IDcuNTI2NTMgNy41MDA2NSA4LjY0NTgyIDcuNTAwNjUgMTAuMDI2NUM3LjUwMDY1IDExLjQwNzIgOC42MTk5NCAxMi41MjY1IDEwLjAwMDcgMTIuNTI2NVpcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDY1Ml8xMTQ3OVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgXG4gICAgICAgIDwvdGFibGU+ICAgXG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmMgdy0yNVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZWFwcC1sb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL2VkZ2VhcHAtbG9nL2VkZ2VhcHAtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGdlYXBwLWxvZy9lZGdlYXBwLWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7QUFFN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBTXRCLE1BQU0sT0FBTyxtQkFBbUI7SUFZVjtJQUNWO0lBQ0E7SUFDQTtJQUNEO0lBQ0E7SUFoQlQsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztJQUNyQixPQUFPLENBQU07SUFDdEIsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDSSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FB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O1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQzt3R0F4SFUsbUJBQW1COzRGQUFuQixtQkFBbUIsdUZDbkJoQyxtck5BdUdBOzs0RkRwRmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjtrT0FRbEIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiTW9kYWxSZWYsIE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGdlQ2FtZXJhdmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2VkZ2UtY2FtZXJhdmlldy9lZGdlLWNhbWVyYXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lbic7XHJcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XHJcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmRheWpzLmV4dGVuZCh1dGMpO1xyXG5kYXlqcy5leHRlbmQodGltZXpvbmUpXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkZ2VhcHAtbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRnZWFwcC1sb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9lZGdlYXBwLWxvZy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkZ2VhcHBMb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldEVkZ2VBcHBMb3ZlVmFsdWU6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIHN0b3JlSWQ6IGFueTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIHRpY2tldElkOiBhbnk7XHJcbiAgdGlja2V0SW5mbzogYW55O1xyXG4gIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSBpbmZyYVNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRhdGFzZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcm91dGU6QWN0aXZhdGVkUm91dGUgICkge1xyXG4gICAgdGhpcy50aWNrZXRJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCd0aWNrZXRJZCcpO1xyXG4gICAgY29uc29sZS5sb2coJ3JvdXRlLnNuYXBzaG90Jyx0aGlzLnRpY2tldElkKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICBtID4gdGhpcy5kYXlqcygpOyAgICBcclxuICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxuICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgdGhpcy5nZXRFZGdlQXBwTG9nVGFibGUoKTtcclxuICAgIHRoaXMudmlld1RpY2tldCgpXHJcbiAgfVxyXG4gIHZpZXdUaWNrZXQoKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICB0aWNrZXRJZDogdGhpcy50aWNrZXRJZFxyXG4gICAgfVxyXG4gICAgdGhpcy5pbmZyYVNlcnZpY2Uudmlld1RpY2tldChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRpY2tldEluZm8gPSByZXM/LmRhdGE/LmJhc2ljRGV0YWlsc1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuICBnZXRFZGdlQXBwTG9nVGFibGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgRGF0ZTogdGhpcy5zZWxlY3RlZERhdGVcclxuICAgIH1cclxuICAgIHRoaXMuaW5mcmFTZXJ2aWNlLmVkZ2VBcHBMb2dUYWJsZShvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZ2V0RWRnZUFwcExvdmVWYWx1ZSA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDQpIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICAgICAgICB0aGlzLmdldEVkZ2VBcHBMb2dUYWJsZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZXMgcHJvdmlkZWQ6JywgZXZlbnQuc3RhcnREYXRlLCBldmVudC5lbmREYXRlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBldmVudCBvYmplY3Q6JywgZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBlZGdlQXBwRXhwb3J0YXNYbHN4KCkgeyAgICBcclxuICAgIGxldCBvYmogPSB7ICAgICAgXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgRGF0ZTogdGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICAgIGV4cG9ydDogdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5pbmZyYVNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlRXhwb3J0KG9iaikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YXNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgJ0VkZ2VhcHAnKVxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG9wZW5DYW1lcmFWaWV3KGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgc3RvcmVOYW1lOnRoaXMudGlja2V0SW5mbz8uc3RvcmVOYW1lLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAgIHN0YXJ0VGltZTogZGF5anMoYDE5OTEtMDEtMDEgJHtkYXRhLnN0YXJ0VGltZX1gLCdZWVlZLU1NLUREIGhoOm1tIEEnKS5mb3JtYXQoXCJISDptbVwiKSxcclxuICAgICAgZW5kVGltZTogZGF5anMoYDE5OTEtMDEtMDEgJHtkYXRhLmVuZFRpbWV9YCwnWVlZWS1NTS1ERCBoaDptbSBBJykuZm9ybWF0KFwiSEg6bW1cIilcclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKG9iailcclxuXHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRnZUNhbWVyYXZpZXdDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHNpemU6ICdsZycsXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cclxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg5MCwgXCJkYXlzXCIpKTtcclxuICAgICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPiAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHJvdW5kZWQtMiBweC01IHB5LTNcIj5FZGdlIEFwcCBMb2dzPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIgIW5vRGF0YVwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cImVkZ2VBcHBFeHBvcnRhc1hsc3goKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjUyNjRWMTUuODU5N0MxNy41IDE2LjMwMTcgMTcuMzI0NCAxNi43MjU3IDE3LjAxMTggMTcuMDM4MkMxNi42OTkzIDE3LjM1MDggMTYuMjc1NCAxNy41MjY0IDE1LjgzMzMgMTcuNTI2NEg0LjE2NjY3QzMuNzI0NjQgMTcuNTI2NCAzLjMwMDcyIDE3LjM1MDggMi45ODgxNiAxNy4wMzgyQzIuNjc1NTkgMTYuNzI1NyAyLjUgMTYuMzAxNyAyLjUgMTUuODU5N1YxMi41MjY0TTE0LjE2NjcgNi42OTMwM0wxMCAyLjUyNjM3TTEwIDIuNTI2MzdMNS44MzMzMyA2LjY5MzAzTTEwIDIuNTI2MzdWMTIuNTI2NFwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gRXhwb3J0XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbc2luZ2xlRGF0ZVBpY2tlcl09XCJ0cnVlXCIgW2Ryb3BzXT1cIidkb3duJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW29wZW5zXT1cIidyaWdodCdcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cInRydWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIG5hbWU9XCJkYXRlcmFuZ2VcIiAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgPC9kaXY+XHJcbiAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhXCIgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYm90dG9tLWJvcmRlclwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPlRpbWUgU3RhbXA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD5Eb3dudGltZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkF2ZyBJbnRlcm5ldCBTcGVlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPkFwcCBTdGF0dXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD5GaWxlcyBQdXNoZWQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvYmogb2YgZ2V0RWRnZUFwcExvdmVWYWx1ZTtsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL2RvY3VtZW50LnN2Zyc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tvYmouc3RhcnRUaW1lfX0gLSB7e29iai5lbmRUaW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0U3ViIG10LTFcIj57e29iai5ob3VyU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZG93bnRpbWV9fSBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouSW50ZXJuZXRzcGVlZCA/IG9iai5JbnRlcm5ldHNwZWVkOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3NcIj57e29iai5BcHBTdGF0dXMgPyBvYmouQXBwU3RhdHVzIDonLS0nfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmouZmlsZXNfcHVzaGVkID8gb2JqLmZpbGVzX3B1c2hlZDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiAoY2xpY2spPVwib3BlbkNhbWVyYVZpZXcob2JqKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjUyXzExNDc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuODMzOTg0IDEwLjAyNjVDMC44MzM5ODQgMTAuMDI2NSA0LjE2NzMyIDMuMzU5ODYgMTAuMDAwNyAzLjM1OTg2QzE1LjgzNCAzLjM1OTg2IDE5LjE2NzMgMTAuMDI2NSAxOS4xNjczIDEwLjAyNjVDMTkuMTY3MyAxMC4wMjY1IDE1LjgzNCAxNi42OTMyIDEwLjAwMDcgMTYuNjkzMkM0LjE2NzMyIDE2LjY5MzIgMC44MzM5ODQgMTAuMDI2NSAwLjgzMzk4NCAxMC4wMjY1WlwiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDcgMTIuNTI2NUMxMS4zODE0IDEyLjUyNjUgMTIuNTAwNiAxMS40MDcyIDEyLjUwMDYgMTAuMDI2NUMxMi41MDA2IDguNjQ1ODIgMTEuMzgxNCA3LjUyNjUzIDEwLjAwMDcgNy41MjY1M0M4LjYxOTk0IDcuNTI2NTMgNy41MDA2NSA4LjY0NTgyIDcuNTAwNjUgMTAuMDI2NUM3LjUwMDY1IDExLjQwNzIgOC42MTk5NCAxMi41MjY1IDEwLjAwMDcgMTIuNTI2NVpcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDY1Ml8xMTQ3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDwvdGFibGU+ICAgXHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -108,13 +108,13 @@ export class EditDetailsComponent {
108
108
  k = event.charCode; // k = event.keyCode; (Both can be used)
109
109
  return (k == 8 || k == 32 || (k >= 48 && k <= 57));
110
110
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditDetailsComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditDetailsComponent, selector: "lib-edit-details", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"card pt-5\">\n <div class=\"card-header d-grid border border-0\">\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\n <div class=\"header fw-bold-600\"><span *ngIf=\"!editSpoc\">Add User</span><span *ngIf=\"editSpoc\">Edit Details</span></div>\n </div>\n <div class=\"card-body\">\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"mb-3\">\n <label for=\"Username\" class=\"form-label\">User Name</label>\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\n <div class=\"mt-3\" *ngIf=\"(myForm.get('name')?.invalid && (myForm.get('name')?.touched)) || (submit&&myForm?.invalid &&myForm.get('name')?.invalid )\">\n <div class=\"text-danger\" *ngIf=\"myForm.get('name')?.errors?.required\">Name is required</div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label for=\"Email\" class=\"form-label\">Email</label>\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\n <div class=\"mt-3\" *ngIf=\"(email?.invalid && (email?.dirty || email?.touched)) || (submit&&myForm?.invalid && email?.invalid)\">\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required && email?.errors?.invalidEmail\">Email is required</div>\n <div class=\"text-danger\" *ngIf=\"email?.errors?.invalidEmail && !email?.errors?.required\">Invalid email format</div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label for=\"contact\" class=\"form-label\">Contact number</label>\n <div class=\"input-group\">\n <input type=\"text\" placeholder=\"+91 (555) 000-0000\" minlength=\"10\" maxlength=\"14\" (keypress)=\"omit_special_char($event)\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\n </div>\n <div class=\"mt-3\" *ngIf=\"(contact?.invalid && (contact?.dirty || contact?.touched)) || (submit&&myForm?.invalid && contact?.invalid)\">\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.minlength\">Please enter a valid contact number (min length: 10 characters)</div>\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\n </div>\n </div>\n <div class=\"d-flex justify-content-between\">\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"><span *ngIf=\"!editSpoc\">Add</span><span *ngIf=\"editSpoc\">Update</span></button>\n </div>\n </form>\n </div>\n</div>\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EditDetailsComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: EditDetailsComponent, selector: "lib-edit-details", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"card pt-5\">\r\n <div class=\"card-header d-grid border border-0\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\r\n <div class=\"header fw-bold-600\"><span *ngIf=\"!editSpoc\">Add User</span><span *ngIf=\"editSpoc\">Edit Details</span></div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\r\n <div class=\"mt-3\" *ngIf=\"(myForm.get('name')?.invalid && (myForm.get('name')?.touched)) || (submit&&myForm?.invalid &&myForm.get('name')?.invalid )\">\r\n <div class=\"text-danger\" *ngIf=\"myForm.get('name')?.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"Email\" class=\"form-label\">Email</label>\r\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\r\n <div class=\"mt-3\" *ngIf=\"(email?.invalid && (email?.dirty || email?.touched)) || (submit&&myForm?.invalid && email?.invalid)\">\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required && email?.errors?.invalidEmail\">Email is required</div>\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.invalidEmail && !email?.errors?.required\">Invalid email format</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact number</label>\r\n <div class=\"input-group\">\r\n <input type=\"text\" placeholder=\"+91 (555) 000-0000\" minlength=\"10\" maxlength=\"14\" (keypress)=\"omit_special_char($event)\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"(contact?.invalid && (contact?.dirty || contact?.touched)) || (submit&&myForm?.invalid && contact?.invalid)\">\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.minlength\">Please enter a valid contact number (min length: 10 characters)</div>\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"><span *ngIf=\"!editSpoc\">Add</span><span *ngIf=\"editSpoc\">Update</span></button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditDetailsComponent, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: EditDetailsComponent, decorators: [{
115
115
  type: Component,
116
- args: [{ selector: 'lib-edit-details', template: "<div class=\"card pt-5\">\n <div class=\"card-header d-grid border border-0\">\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\n <div class=\"header fw-bold-600\"><span *ngIf=\"!editSpoc\">Add User</span><span *ngIf=\"editSpoc\">Edit Details</span></div>\n </div>\n <div class=\"card-body\">\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"mb-3\">\n <label for=\"Username\" class=\"form-label\">User Name</label>\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\n <div class=\"mt-3\" *ngIf=\"(myForm.get('name')?.invalid && (myForm.get('name')?.touched)) || (submit&&myForm?.invalid &&myForm.get('name')?.invalid )\">\n <div class=\"text-danger\" *ngIf=\"myForm.get('name')?.errors?.required\">Name is required</div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label for=\"Email\" class=\"form-label\">Email</label>\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\n <div class=\"mt-3\" *ngIf=\"(email?.invalid && (email?.dirty || email?.touched)) || (submit&&myForm?.invalid && email?.invalid)\">\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required && email?.errors?.invalidEmail\">Email is required</div>\n <div class=\"text-danger\" *ngIf=\"email?.errors?.invalidEmail && !email?.errors?.required\">Invalid email format</div>\n </div>\n </div>\n <div class=\"mb-3\">\n <label for=\"contact\" class=\"form-label\">Contact number</label>\n <div class=\"input-group\">\n <input type=\"text\" placeholder=\"+91 (555) 000-0000\" minlength=\"10\" maxlength=\"14\" (keypress)=\"omit_special_char($event)\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\n </div>\n <div class=\"mt-3\" *ngIf=\"(contact?.invalid && (contact?.dirty || contact?.touched)) || (submit&&myForm?.invalid && contact?.invalid)\">\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.minlength\">Please enter a valid contact number (min length: 10 characters)</div>\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\n </div>\n </div>\n <div class=\"d-flex justify-content-between\">\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"><span *ngIf=\"!editSpoc\">Add</span><span *ngIf=\"editSpoc\">Update</span></button>\n </div>\n </form>\n </div>\n</div>\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"] }]
116
+ args: [{ selector: 'lib-edit-details', template: "<div class=\"card pt-5\">\r\n <div class=\"card-header d-grid border border-0\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/userProfile.svg\">\r\n <div class=\"header fw-bold-600\"><span *ngIf=\"!editSpoc\">Add User</span><span *ngIf=\"editSpoc\">Edit Details</span></div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">User Name</label>\r\n <input type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"name\">\r\n <div class=\"mt-3\" *ngIf=\"(myForm.get('name')?.invalid && (myForm.get('name')?.touched)) || (submit&&myForm?.invalid &&myForm.get('name')?.invalid )\">\r\n <div class=\"text-danger\" *ngIf=\"myForm.get('name')?.errors?.required\">Name is required</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"Email\" class=\"form-label\">Email</label>\r\n <input class=\"form-control\" id=\"Email\" formControlName=\"email\">\r\n <div class=\"mt-3\" *ngIf=\"(email?.invalid && (email?.dirty || email?.touched)) || (submit&&myForm?.invalid && email?.invalid)\">\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.required && email?.errors?.invalidEmail\">Email is required</div>\r\n <div class=\"text-danger\" *ngIf=\"email?.errors?.invalidEmail && !email?.errors?.required\">Invalid email format</div>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"contact\" class=\"form-label\">Contact number</label>\r\n <div class=\"input-group\">\r\n <input type=\"text\" placeholder=\"+91 (555) 000-0000\" minlength=\"10\" maxlength=\"14\" (keypress)=\"omit_special_char($event)\" class=\"form-control\" id=\"contact\" formControlName=\"contact\">\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"(contact?.invalid && (contact?.dirty || contact?.touched)) || (submit&&myForm?.invalid && contact?.invalid)\">\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.minlength\">Please enter a valid contact number (min length: 10 characters)</div>\r\n <div class=\"text-danger\" *ngIf=\"contact?.errors?.required\">Contact is required</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between\">\r\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelPopup()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"><span *ngIf=\"!editSpoc\">Add</span><span *ngIf=\"editSpoc\">Update</span></button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-600{font-weight:600!important}.fw-bold-400{font-weight:400!important}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}\n"] }]
117
117
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.TicketsService }, { type: i3.ToastService }, { type: i4.GlobalStateService }], propDecorators: { data: [{
118
118
  type: Input
119
119
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWRldGFpbHMvZWRpdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWRldGFpbHMvZWRpdC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFZckYsTUFBTSxPQUFPLG9CQUFvQjtJQVFWO0lBQW9DO0lBQWdDO0lBQTJCO0lBUHBILE1BQU0sQ0FBWTtJQUNsQixXQUFXLENBQUs7SUFDaEIsUUFBUSxDQUFLO0lBRUosSUFBSSxDQUFNO0lBQ25CLE1BQU0sQ0FBVTtJQUVoQixZQUFxQixXQUEyQixFQUFTLE9BQXVCLEVBQVMsS0FBa0IsRUFBUyxFQUFxQjtRQUFwSCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWE7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUN2SSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzFCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUN6QixVQUFVLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxDQUFDLGNBQWM7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LElBQUksQ0FBQyxDQUFDO1FBQ04sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBRSxpREFBaUQ7UUFDdEUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzt3R0FyR1Usb0JBQW9COzRGQUFwQixvQkFBb0Isa0ZDYmpDLG96RkF1Q0E7OzRGRDFCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzRLQVNuQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xuLy8gaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAncHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZWRpdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBFZGl0RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG15Rm9ybTogRm9ybUdyb3VwO1xuICBzcG9jRGV0YWlsczphbnk7XG4gIGVkaXRTcG9jOmFueTtcblxuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIHN1Ym1pdDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBhY3RpdmVNb2RlbDogTmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSkgeyBcbiAgICB0aGlzLm15Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKCcnLFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbCgnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLCBcbiAgICAgICAgdGhpcy5lbWFpbFZhbGlkYXRvclxuICAgICAgXSksIFxuICAgICAgY29udGFjdDogbmV3IEZvcm1Db250cm9sKCcnLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE0KSxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApXG4gICAgICAgXSlcbiAgICB9KTtcbiAgfVxuXG4gIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgICBjb25zdCBlbWFpbFJlZ2V4ID0gL15bYS16QS1aMC05Ll8lKy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsfSQvO1xuICAgIGNvbnN0IHZhbGlkID0gZW1haWxSZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiB7ICdpbnZhbGlkRW1haWwnOiB0cnVlIH07XG4gIH1cbiAgXG4gIG5nT25Jbml0KCl7XG4gICAgaWYodGhpcy5kYXRhLmVkaXQgPT09IHRydWUpe1xuICAgICAgdGhpcy5lZGl0U3BvYyA9IHRydWU7XG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snbmFtZSddLnNldFZhbHVlKHRoaXMuZGF0YS5uYW1lKSxcbiAgICAgIHRoaXMubXlGb3JtLmNvbnRyb2xzWydlbWFpbCddLnNldFZhbHVlKHRoaXMuZGF0YS5lbWFpbCksXG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snY29udGFjdCddLnNldFZhbHVlKHRoaXMuZGF0YS5jb250YWN0KVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5lZGl0U3BvYyA9IGZhbHNlO1xuICAgICAgdGhpcy5teUZvcm0uY29udHJvbHNbJ25hbWUnXS5zZXRWYWx1ZSgnJyksXG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snZW1haWwnXS5zZXRWYWx1ZSgnJyksXG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snY29udGFjdCddLnNldFZhbHVlKCcnKVxuICAgIH1cblxuICB9XG5cbiAgZ2V0IGVtYWlsKCkgeyByZXR1cm4gdGhpcy5teUZvcm0uZ2V0KCdlbWFpbCcpOyB9XG4gIGdldCBjb250YWN0KCkgeyByZXR1cm4gdGhpcy5teUZvcm0uZ2V0KCdjb250YWN0Jyk7IH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZih0aGlzLm15Rm9ybS52YWxpZCl7XG4gICAgICB0aGlzLnN1Ym1pdCA9IGZhbHNlO1xuICAgICAgdGhpcy5zcG9jRGV0YWlscyA9IHRoaXMubXlGb3JtLnZhbHVlXG4gICAgICBpZih0aGlzLmRhdGEuZWRpdCA9PT0gdHJ1ZSlcbiAgICAgIHRoaXMudXBkYXRlRWRpdERldGFpbHMoKTtcbiAgICAgIGVsc2VcbiAgICAgIHRoaXMuYWRkU2luZ2xlU3BvYygpO1xuICAgICAgfWVsc2V7XG4gICAgICAgdGhpcy5zdWJtaXQgPSB0cnVlOyAgXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlRWRpdERldGFpbHMoKXtcbiAgICB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKCdjbG9zZScpO1xuICAgIHRoaXMuc3BvY0RldGFpbHMuX2lkID0gdGhpcy5kYXRhLnNwb2NJZDtcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlU3BvYyh0aGlzLmRhdGEuaWQseyBzcG9jRGV0YWlsOiB0aGlzLnNwb2NEZXRhaWxzfSkuc3Vic2NyaWJlKHtcbiAgICBuZXh0OihyZXM6YW55KSA9PntcbiAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xuICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIGVycm9yOihlcnIpPT4ge1xuICAgICAgaWYoZXJyKXtcbiAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxuICAgICAgfVxuICAgIH0sXG4gIH0pXG4gIH1cblxuICBhZGRTaW5nbGVTcG9jKCl7XG4gICAgdGhpcy5hY3RpdmVNb2RlbC5jbG9zZSgnY2xvc2UnKTtcbiAgICB0aGlzLnNlcnZpY2UuYWRkU2luZ2xlU3BvYyh0aGlzLmRhdGEuaWQseyBzcG9jRGV0YWlsOiB0aGlzLnNwb2NEZXRhaWxzfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xuICAgICAgICAgIHRoaXMudG9hc3QuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6KGVycik9PiB7XG4gICAgICAgIGlmKGVycil7XG4gICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgY2FuY2VsUG9wdXAoKXtcbiAgICB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKCk7XG4gIH1cblxuICBvbWl0X3NwZWNpYWxfY2hhcihldmVudDogYW55KSB7XG4gICAgdmFyIGs7XG4gICAgayA9IGV2ZW50LmNoYXJDb2RlOyAgLy8gICAgICAgICBrID0gZXZlbnQua2V5Q29kZTsgIChCb3RoIGNhbiBiZSB1c2VkKVxuICAgIHJldHVybiAoayA9PSA4IHx8IGsgPT0gMzIgfHwgKGsgPj0gNDggJiYgayA8PSA1NykpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB0LTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZC1ncmlkIGJvcmRlciBib3JkZXItMFwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwibWItM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy91c2VyUHJvZmlsZS5zdmdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBmdy1ib2xkLTYwMFwiPjxzcGFuICpuZ0lmPVwiIWVkaXRTcG9jXCI+QWRkIFVzZXI8L3NwYW4+PHNwYW4gKm5nSWY9XCJlZGl0U3BvY1wiPkVkaXQgRGV0YWlsczwvc3Bhbj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibXlGb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJVc2VybmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlVzZXIgTmFtZTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiVXNlcm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCIobXlGb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkICYmIChteUZvcm0uZ2V0KCduYW1lJyk/LnRvdWNoZWQpKSB8fCAoc3VibWl0JiZteUZvcm0/LmludmFsaWQgJiZteUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwibXlGb3JtLmdldCgnbmFtZScpPy5lcnJvcnM/LnJlcXVpcmVkXCI+TmFtZSBpcyByZXF1aXJlZDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIkVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RW1haWw8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIkVtYWlsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cIihlbWFpbD8uaW52YWxpZCAmJiAoZW1haWw/LmRpcnR5IHx8IGVtYWlsPy50b3VjaGVkKSkgfHwgKHN1Ym1pdCYmbXlGb3JtPy5pbnZhbGlkICYmIGVtYWlsPy5pbnZhbGlkKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiZW1haWw/LmVycm9ycz8ucmVxdWlyZWQgJiYgZW1haWw/LmVycm9ycz8uaW52YWxpZEVtYWlsXCI+RW1haWwgaXMgcmVxdWlyZWQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cImVtYWlsPy5lcnJvcnM/LmludmFsaWRFbWFpbCAmJiAhZW1haWw/LmVycm9ycz8ucmVxdWlyZWRcIj5JbnZhbGlkIGVtYWlsIGZvcm1hdDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgbnVtYmVyPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIis5MSAoNTU1KSAwMDAtMDAwMFwiIG1pbmxlbmd0aD1cIjEwXCIgbWF4bGVuZ3RoPVwiMTRcIiAoa2V5cHJlc3MpPVwib21pdF9zcGVjaWFsX2NoYXIoJGV2ZW50KVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb250YWN0XCIgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdFwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCIoY29udGFjdD8uaW52YWxpZCAmJiAoY29udGFjdD8uZGlydHkgfHwgY29udGFjdD8udG91Y2hlZCkpIHx8IChzdWJtaXQmJm15Rm9ybT8uaW52YWxpZCAmJiBjb250YWN0Py5pbnZhbGlkKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cImNvbnRhY3Q/LmVycm9ycz8ubWlubGVuZ3RoXCI+UGxlYXNlIGVudGVyIGEgdmFsaWQgY29udGFjdCBudW1iZXIgKG1pbiBsZW5ndGg6IDEwIGNoYXJhY3RlcnMpPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiY29udGFjdD8uZXJyb3JzPy5yZXF1aXJlZFwiPkNvbnRhY3QgaXMgcmVxdWlyZWQ8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInJlc2V0XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgdy01MCBtZS0yXCIgKGNsaWNrKT1cImNhbmNlbFBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTUwIG1zLTJcIj48c3BhbiAqbmdJZj1cIiFlZGl0U3BvY1wiPkFkZDwvc3Bhbj48c3BhbiAqbmdJZj1cImVkaXRTcG9jXCI+VXBkYXRlPC9zcGFuPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mb3JtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWRldGFpbHMvZWRpdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9lZGl0LWRldGFpbHMvZWRpdC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFZckYsTUFBTSxPQUFPLG9CQUFvQjtJQVFWO0lBQW9DO0lBQWdDO0lBQTJCO0lBUHBILE1BQU0sQ0FBWTtJQUNsQixXQUFXLENBQUs7SUFDaEIsUUFBUSxDQUFLO0lBRUosSUFBSSxDQUFNO0lBQ25CLE1BQU0sQ0FBVTtJQUVoQixZQUFxQixXQUEyQixFQUFTLE9BQXVCLEVBQVMsS0FBa0IsRUFBUyxFQUFxQjtRQUFwSCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWE7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUN2SSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzFCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUN6QixVQUFVLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxDQUFDLGNBQWM7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LElBQUksQ0FBQyxDQUFDO1FBQ04sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBRSxpREFBaUQ7UUFDdEUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzt3R0FyR1Usb0JBQW9COzRGQUFwQixvQkFBb0Isa0ZDYmpDLGs0RkF1Q0E7OzRGRDFCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzRLQVNuQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbi8vIGltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL3B1YmxpYy1hcGknO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZGV0YWlscycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2VkaXQtZGV0YWlscy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXREZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBteUZvcm06IEZvcm1Hcm91cDtcclxuICBzcG9jRGV0YWlsczphbnk7XHJcbiAgZWRpdFNwb2M6YW55O1xyXG5cclxuICBASW5wdXQoKSBkYXRhOiBhbnk7XHJcbiAgc3VibWl0OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBhY3RpdmVNb2RlbDogTmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSkgeyBcclxuICAgIHRoaXMubXlGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJyxWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbCgnJywgW1xyXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsIFxyXG4gICAgICAgIHRoaXMuZW1haWxWYWxpZGF0b3JcclxuICAgICAgXSksIFxyXG4gICAgICBjb250YWN0OiBuZXcgRm9ybUNvbnRyb2woJycsIFtcclxuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE0KSxcclxuICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMClcclxuICAgICAgIF0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcclxuICAgIGNvbnN0IGVtYWlsUmVnZXggPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Mix9JC87XHJcbiAgICBjb25zdCB2YWxpZCA9IGVtYWlsUmVnZXgudGVzdChjb250cm9sLnZhbHVlKTtcclxuICAgIHJldHVybiB2YWxpZCA/IG51bGwgOiB7ICdpbnZhbGlkRW1haWwnOiB0cnVlIH07XHJcbiAgfVxyXG4gIFxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICBpZih0aGlzLmRhdGEuZWRpdCA9PT0gdHJ1ZSl7XHJcbiAgICAgIHRoaXMuZWRpdFNwb2MgPSB0cnVlO1xyXG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snbmFtZSddLnNldFZhbHVlKHRoaXMuZGF0YS5uYW1lKSxcclxuICAgICAgdGhpcy5teUZvcm0uY29udHJvbHNbJ2VtYWlsJ10uc2V0VmFsdWUodGhpcy5kYXRhLmVtYWlsKSxcclxuICAgICAgdGhpcy5teUZvcm0uY29udHJvbHNbJ2NvbnRhY3QnXS5zZXRWYWx1ZSh0aGlzLmRhdGEuY29udGFjdClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmVkaXRTcG9jID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubXlGb3JtLmNvbnRyb2xzWyduYW1lJ10uc2V0VmFsdWUoJycpLFxyXG4gICAgICB0aGlzLm15Rm9ybS5jb250cm9sc1snZW1haWwnXS5zZXRWYWx1ZSgnJyksXHJcbiAgICAgIHRoaXMubXlGb3JtLmNvbnRyb2xzWydjb250YWN0J10uc2V0VmFsdWUoJycpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0IGVtYWlsKCkgeyByZXR1cm4gdGhpcy5teUZvcm0uZ2V0KCdlbWFpbCcpOyB9XHJcbiAgZ2V0IGNvbnRhY3QoKSB7IHJldHVybiB0aGlzLm15Rm9ybS5nZXQoJ2NvbnRhY3QnKTsgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGlmKHRoaXMubXlGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5zdWJtaXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zcG9jRGV0YWlscyA9IHRoaXMubXlGb3JtLnZhbHVlXHJcbiAgICAgIGlmKHRoaXMuZGF0YS5lZGl0ID09PSB0cnVlKVxyXG4gICAgICB0aGlzLnVwZGF0ZUVkaXREZXRhaWxzKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgdGhpcy5hZGRTaW5nbGVTcG9jKCk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgdGhpcy5zdWJtaXQgPSB0cnVlOyAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFZGl0RGV0YWlscygpe1xyXG4gICAgdGhpcy5hY3RpdmVNb2RlbC5jbG9zZSgnY2xvc2UnKTtcclxuICAgIHRoaXMuc3BvY0RldGFpbHMuX2lkID0gdGhpcy5kYXRhLnNwb2NJZDtcclxuICAgIHRoaXMuc2VydmljZS51cGRhdGVTcG9jKHRoaXMuZGF0YS5pZCx7IHNwb2NEZXRhaWw6IHRoaXMuc3BvY0RldGFpbHN9KS5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDoocmVzOmFueSkgPT57XHJcbiAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6KGVycik9PiB7XHJcbiAgICAgIGlmKGVycil7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgfVxyXG5cclxuICBhZGRTaW5nbGVTcG9jKCl7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKCdjbG9zZScpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmFkZFNpbmdsZVNwb2ModGhpcy5kYXRhLmlkLHsgc3BvY0RldGFpbDogdGhpcy5zcG9jRGV0YWlsc30pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCl7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOihlcnIpPT4ge1xyXG4gICAgICAgIGlmKGVycil7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjYW5jZWxQb3B1cCgpe1xyXG4gICAgdGhpcy5hY3RpdmVNb2RlbC5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgb21pdF9zcGVjaWFsX2NoYXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdmFyIGs7XHJcbiAgICBrID0gZXZlbnQuY2hhckNvZGU7ICAvLyAgICAgICAgIGsgPSBldmVudC5rZXlDb2RlOyAgKEJvdGggY2FuIGJlIHVzZWQpXHJcbiAgICByZXR1cm4gKGsgPT0gOCB8fCBrID09IDMyIHx8IChrID49IDQ4ICYmIGsgPD0gNTcpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB0LTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBkLWdyaWQgYm9yZGVyIGJvcmRlci0wXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cIm1iLTNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdXNlclByb2ZpbGUuc3ZnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBmdy1ib2xkLTYwMFwiPjxzcGFuICpuZ0lmPVwiIWVkaXRTcG9jXCI+QWRkIFVzZXI8L3NwYW4+PHNwYW4gKm5nSWY9XCJlZGl0U3BvY1wiPkVkaXQgRGV0YWlsczwvc3Bhbj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibXlGb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiVXNlcm5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Vc2VyIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiVXNlcm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIiAqbmdJZj1cIihteUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgJiYgKG15Rm9ybS5nZXQoJ25hbWUnKT8udG91Y2hlZCkpIHx8IChzdWJtaXQmJm15Rm9ybT8uaW52YWxpZCAmJm15Rm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCApXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cIm15Rm9ybS5nZXQoJ25hbWUnKT8uZXJyb3JzPy5yZXF1aXJlZFwiPk5hbWUgaXMgcmVxdWlyZWQ8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIkVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RW1haWw8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiRW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCIoZW1haWw/LmludmFsaWQgJiYgKGVtYWlsPy5kaXJ0eSB8fCBlbWFpbD8udG91Y2hlZCkpIHx8IChzdWJtaXQmJm15Rm9ybT8uaW52YWxpZCAmJiBlbWFpbD8uaW52YWxpZClcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiZW1haWw/LmVycm9ycz8ucmVxdWlyZWQgJiYgZW1haWw/LmVycm9ycz8uaW52YWxpZEVtYWlsXCI+RW1haWwgaXMgcmVxdWlyZWQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiZW1haWw/LmVycm9ycz8uaW52YWxpZEVtYWlsICYmICFlbWFpbD8uZXJyb3JzPy5yZXF1aXJlZFwiPkludmFsaWQgZW1haWwgZm9ybWF0PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvbnRhY3RcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db250YWN0IG51bWJlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiKzkxICg1NTUpIDAwMC0wMDAwXCIgbWlubGVuZ3RoPVwiMTBcIiBtYXhsZW5ndGg9XCIxNFwiIChrZXlwcmVzcyk9XCJvbWl0X3NwZWNpYWxfY2hhcigkZXZlbnQpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImNvbnRhY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCIgKm5nSWY9XCIoY29udGFjdD8uaW52YWxpZCAmJiAoY29udGFjdD8uZGlydHkgfHwgY29udGFjdD8udG91Y2hlZCkpIHx8IChzdWJtaXQmJm15Rm9ybT8uaW52YWxpZCAmJiBjb250YWN0Py5pbnZhbGlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiY29udGFjdD8uZXJyb3JzPy5taW5sZW5ndGhcIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBjb250YWN0IG51bWJlciAobWluIGxlbmd0aDogMTAgY2hhcmFjdGVycyk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cImNvbnRhY3Q/LmVycm9ycz8ucmVxdWlyZWRcIj5Db250YWN0IGlzIHJlcXVpcmVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInJlc2V0XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgdy01MCBtZS0yXCIgKGNsaWNrKT1cImNhbmNlbFBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctNTAgbXMtMlwiPjxzcGFuICpuZ0lmPVwiIWVkaXRTcG9jXCI+QWRkPC9zcGFuPjxzcGFuICpuZ0lmPVwiZWRpdFNwb2NcIj5VcGRhdGU8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=