tango-app-ui-ticket-user 3.0.21-dev → 3.0.23-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +3 -3
- package/esm2022/lib/components/store-info/store-info.component.mjs +4 -4
- package/esm2022/lib/components/tickets/tickets.component.mjs +3 -3
- package/fesm2022/tango-app-ui-ticket-user.mjs +7 -7
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -582,7 +582,7 @@ export class StoreInfoComponent {
|
|
|
582
582
|
if (this.DowmTimeArray?.length && this.DowmTimeArray.filter((x) => x.hour == parseInt(time[0]) && x.downtime > 0 && x.downtime > parseInt(time[1])).length) {
|
|
583
583
|
return 'negative';
|
|
584
584
|
}
|
|
585
|
-
else if (this.DowmTimeArray?.length && this.DowmTimeArray.filter((x) => x.hour == parseInt(time[0]) && (this.selectedDate < date || (this.selectedDate == date && (x.hour < nowHour || (nowHour == x.hour && nowminutes >= parseInt(time[1])))))).length) {
|
|
585
|
+
else if (this.DowmTimeArray?.length && this.DowmTimeArray.filter((x) => x.hour == parseInt(time[0]) && x.downtime !== '' && (this.selectedDate < date || (this.selectedDate == date && (x.hour < nowHour || (nowHour == x.hour && nowminutes >= parseInt(time[1])))))).length) {
|
|
586
586
|
return 'positive';
|
|
587
587
|
}
|
|
588
588
|
else {
|
|
@@ -680,12 +680,12 @@ export class StoreInfoComponent {
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, deps: [{ token: i1.TicketsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
683
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\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\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-danger':'bg-success'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\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 || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\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 class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\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\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\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: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.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"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\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\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\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 || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\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 class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\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\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\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: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.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"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
684
684
|
}
|
|
685
685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, decorators: [{
|
|
686
686
|
type: Component,
|
|
687
|
-
args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\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\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-danger':'bg-success'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\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 || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\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 class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\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\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"] }]
|
|
687
|
+
args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\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\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\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 || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\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 class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\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\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"] }]
|
|
688
688
|
}], ctorParameters: () => [{ type: i1.TicketsService }, { type: i0.ChangeDetectorRef }], propDecorators: { storeId: [{
|
|
689
689
|
type: Input
|
|
690
690
|
}] } });
|
|
691
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQTZDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUF3ZFQ7SUFBK0I7SUF2ZG5ELFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIseUJBQXlCO0lBQ3pCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFLLEVBQUUsQ0FBQztJQUV6QixvQkFBb0IsQ0FBUztJQUM3QixtQkFBbUIsR0FBUTtRQUN6QixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFVBQVUsR0FBTztRQUNmO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtTQUNqQztRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtLQUNKLENBQUE7SUFDQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2Is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QUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO3VHQTdwQlUsa0JBQWtCOzJGQUFsQixrQkFBa0Isc0ZDZi9CLHdxbENBMmFNOzsyRkQ1Wk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttSEFzZGxCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0LENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RvcmUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgaW1hZ2VVcmw6YW55W10gPSBbXTtcclxuICAvLyB0aW1lU2VyaWVzOmFueVtdID0gW107XHJcbiAgc3RvcmVUaWNrZXQ6YW55O1xyXG4gIGZpcnN0SW5kZXg6YW55ID0gMDtcclxuICBsYXN0SW5kZXg6YW55ID0gMztcclxuICBzaG93UHJldjpib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzpib29sZWFuID0gZmFsc2U7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93TmV4dDpib29sZWFuID0gdHJ1ZTtcclxuICBzaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTphbnk9e307XHJcbiAgXHJcbiAgc2hvd0luY2lkZW50UG9wSW5kZXg6IG51bWJlcjtcclxuICBzaG93SW5jaWRlbnRPcHRpb25zOiBhbnkgPSB7XHJcbiAgICBuZWc6IGZhbHNlLFxyXG4gICAgcG9zOiBmYWxzZSxcclxuICAgIHN0b3Jlb3A6IGZhbHNlXHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVTZXJpZXM6YW55W109W1xyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjAwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjIwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTowMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToxMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToyMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoyMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo1MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfVxyXG5dXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHRvdGFsSW1hZ2VVcmw6YW55W107XHJcbiBzZWxlY3RlZFVybDphbnk7XHJcbiBcclxuIGFuZ2xlY2hhbmdlRGF0YTogYW55O1xyXG4gdG90YWxEb3dudGltZTogbnVtYmVyID0gMDtcclxuIHJlc29sdXRpb250eXBlOiBib29sZWFuPXRydWU7XHJcbiBASW5wdXQoKSBzdG9yZUlkOnN0cmluZzsgXHJcbiAgICBEb3dtVGltZUFycmF5OiBhbnlbXTsgXHJcbiAgICBjYW1lcmFJbWFnZXM6IGFueTtcclxuICAgIHNlbGVjdGVkRGF0ZTogc3RyaW5nO1xyXG4gICAgdG90YWxEb3duVGltZTogYW55ID0gMDtcclxuICAgIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIHRoaXMuRG93bVRpbWUoKTtcclxufVxyXG5cclxubmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5nZXRDYW1lcmFJbWFnZXMoKXtcclxuICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUxpc3QodGhpcy5zdG9yZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jYW1lcmFJbWFnZXMgPSByZXMuZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEltYWdlVXJsID0gdGhpcy5jYW1lcmFJbWFnZXNcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFuZ2xlQ2hhbmdlKHRoaXMuaW1hZ2VVcmxbMF0/LnN0cmVhbU5hbWUpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICB9KVxyXG4gIH1cclxuICBnZXRBbmdsZUNoYW5nZShzdHJlYW06IGFueSkge1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgXCJzdG9yZUlkXCI6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgICBcIkRhdGVcIjogdGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICAgICAgXCJTdHJlYW1OYW1lXCI6IHN0cmVhbVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUFuZ2xlQ2hhbmdlKHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFuZ2xlY2hhbmdlRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbi5zcGxpdCgnKicpWzBdPDcyMCYmdGhpcy5hbmdsZWNoYW5nZURhdGE/LnJlc29sdXRpb24uc3BsaXQoJyonKVsxXTw3MjApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x1dGlvbnR5cGUgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxufVxyXG4gIERvd21UaW1lKCl7XHJcbiAgICBsZXQgZGF0YT17XHJcbiAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAvLyAgIFwic3RvcmVJZFwiOlwiMTEtMTAxM1wiLFxyXG4gICAgXCJEYXRlXCI6dGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlKGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIHRoaXMuRG93bVRpbWVBcnJheSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIHRoaXMudG90YWxEb3duVGltZSA9IDBcclxuICAgICAgICB0aGlzLkRvd21UaW1lQXJyYXkuZm9yRWFjaCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0/LmRvd250aW1lICE9ICcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxEb3duVGltZSArPSBpdGVtLmRvd250aW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuaGlkZURpYWxvZ0JveCgpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG59XHJcblxyXG5nZXRTdHlsZSgpe1xyXG4gIHJldHVybiB7XHJcbiAgLy8gJ21hcmdpbi1sZWZ0JzogKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPD0gNSkgPyAnMHB4JyA6ICgodGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA+PSA1OCkgPyAnLTE2MHB4JyA6ICctMTE1cHgnKVxyXG4gIH1cclxufVxyXG5cclxuc2hvd0luY2lkZW50VHlwZSh0aW1lU2VyaWVzOiBhbnksaTphbnkpIHtcclxuICAgIGxldCBub3dIb3VyID0gdGhpcy5kYXlqcygpLmhvdXIoKTtcclxuICAgIGxldCBub3dtaW51dGVzID0gdGhpcy5kYXlqcygpLm1pbnV0ZSgpO1xyXG4gICAgbGV0IGRhdGUgPSBkYXlqcygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICBcclxuICAgIGxldCB0aW1lUmFuZ2UgPSB0aW1lU2VyaWVzLnNwbGl0KCcgJylbMF07XHJcbiAgICBsZXQgdGltZSA9IHRpbWVSYW5nZS5zcGxpdCgnOicpXHJcbiAgICBpZih0aW1lWzBdID09IG5vd0hvdXIgKSB7XHJcbiAgICAgICAgdGhpcy50aW1lU2VyaWVzW2ldLmFjdGl2ZUhyID0gbm93SG91cjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMuRG93bVRpbWVBcnJheT8ubGVuZ3RoICYmIHRoaXMuRG93bVRpbWVBcnJheS5maWx0ZXIoKHg6IGFueSkgPT4geC5ob3VyID09IHBhcnNlSW50KHRpbWVbMF0pICYmIHguZG93bnRpbWUgPiAwICYmICB4LmRvd250aW1lID4gcGFyc2VJbnQodGltZVsxXSkpLmxlbmd0aCkgeyBcclxuICAgICAgICByZXR1cm4gJ25lZ2F0aXZlJztcclxuICAgICAgfSBcclxuICAgICAgZWxzZSBpZiAodGhpcy5Eb3dtVGltZUFycmF5Py5sZW5ndGggJiYgdGhpcy5Eb3dtVGltZUFycmF5LmZpbHRlcigoeDogYW55KSA9PiB4LmhvdXIgPT0gcGFyc2VJbnQodGltZVswXSkgJiYgKHRoaXMuc2VsZWN0ZWREYXRlIDwgZGF0ZSB8fCAodGhpcy5zZWxlY3RlZERhdGUgPT0gZGF0ZSAmJiAoeC5ob3VyIDwgbm93SG91ciAgfHwgKG5vd0hvdXIgPT0geC5ob3VyICYmIG5vd21pbnV0ZXMgPj0gcGFyc2VJbnQodGltZVsxXSkpKSkpKS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIHJldHVybiAncG9zaXRpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ25vcm1hbCc7XHJcbiAgICAgIH1cclxufVxyXG5cclxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPSBpbmRleDtcclxuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcInBvc2l0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IHRydWU7XHJcbiAgfVxyXG4gIC8vIHRoaXMuc2hvd0luY2lkZW50UG9wID0gdHJ1ZTtcclxufVxyXG5cclxuZGlzcGxheUNhdGVnb3J5KGNhdGVnb3J5OiBhbnksIHR5cGU6IGFueSkge1xyXG4gIGlmIChjYXRlZ29yeSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ2N1c3RvbScpIHtcclxuICAgIGlmICh0eXBlID09ICdwb3NpdGl2ZScpXHJcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJ1N1Ym1pc3Npb24gRGVsYXllZCc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XHJcbiAgICByZXR1cm4gJ1N0b3JlIE9wZW4gQ2xvc2UnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdGVkSW1nKGRhdGE6YW55KXtcclxuICAgdGhpcy5zZWxlY3RlZFVybCA9ZGF0YTtcclxuICAgdGhpcy5nZXRBbmdsZUNoYW5nZSh0aGlzLnNlbGVjdGVkVXJsLnN0cmVhbU5hbWUpXHJcbn1cclxucHJldkltYWdlcygpeyBcclxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XHJcbiAgdGhpcy5zaG93TmV4dCA9IHRydWU7XHJcbiAgdGhpcy5maXJzdEluZGV4IC09IDM7XHJcbiAgdGhpcy5sYXN0SW5kZXggLT0gMzsgXHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGlmKHRoaXMuZmlyc3RJbmRleCA9PSAwICYmIHRoaXMubGFzdEluZGV4ID09IDMpe1xyXG4gICAgdGhpcy5zaG93UHJldiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5uZXh0SW1hZ2VzKCl7XHJcbiAgdGhpcy5zaG93UHJldiA9IHRydWU7XHJcbiAgdGhpcy5zZWxlY3RlZFVybCA9ICcnO1xyXG4gIHRoaXMuZmlyc3RJbmRleCArPSAzO1xyXG4gIHRoaXMubGFzdEluZGV4ICs9IDM7IFxyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBpZih0aGlzLmxhc3RJbmRleCA9PSB0aGlzLnRvdGFsSW1hZ2VVcmwubGVuZ3RoIHx8IHRoaXMuaW1hZ2VVcmwubGVuZ3RoIDwgMyl7XHJcbiAgdGhpcy5zaG93TmV4dCA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICAgICAgICB0aGlzLkRvd21UaW1lKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZXMgcHJvdmlkZWQ6JywgZXZlbnQuc3RhcnREYXRlLCBldmVudC5lbmREYXRlKTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcignSW52YWxpZCBldmVudCBvYmplY3Q6JywgZXZlbnQpO1xyXG4gIH1cclxuIH1cclxuXHJcbnNob3dIb3Vycyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCBob3VyOiBhbnkgPSBmYWxzZTtcclxuICAgIGhvdXIgPSB0aW1lLnRpbWUyNEhvdXIuc3BsaXQoJzonKVsxXSA9PSAnMDAnID8gdGltZS50aW1lU3RyaW5nMTJIb3VyT25seSA6IGZhbHNlO1xyXG4gICAgcmV0dXJuIGhvdXI7XHJcbiAgfVxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCBcImRheXNcIikpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZC00MDAgc3ViVGl0bGVcIj5BbiBvdmVydmlldyBvZiB0aGUgc3RvcmUgaXNzdWVzIGFuZCB0aGUgZG93bnRpbWUgZm9yIHt7c2VsZWN0ZWREYXRlIHwgY3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXktNSB0aW1lUmFuZ2UgZnctc2VtaWJvbGRcIj5Ub3RhbCA6IHt7dG90YWxEb3duVGltZX19IG1pbnMgRG93bnRpbWUgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yIG14LTJcIiAqbmdJZj1cInRpbWVTZXJpZXM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGltZSBvZiB0aW1lU2VyaWVzO2xldCBJbmRleD1pbmRleFwiIGNsYXNzPVwic3ZnLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gbm9ybWFsIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbm9ybWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlc2VudCBob3VyIGZvciBsaXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyAqbmdJZj1cInRpbWUuYWN0aXZlSHJcIiBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCIgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjA4MDMyIDIuNUwyLjA4MDMyIDUwLjVcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3NpdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy50aW1lMjRIb3VyLEluZGV4KSA9PT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQwMDE1IDIuNUwyLjQwMDE0IDY2LjVcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKG1vdXNlZW50ZXIpPVwic2hvd0RpYWxvZ0JveCh0aW1lLEluZGV4KVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDUgNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWJveFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKClcIiAqbmdJZj1cInNob3dJbmNpZGVudFBvcCAmJiBzaG93SW5jaWRlbnRQb3BJbmRleCA9PT0gSW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAobW91c2VsZWF2ZSk9XCJoaWRlRGlhbG9nQm94KClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLm5lZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY1XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY1IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA3NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODI2NDJcIiB5PVwiNC4zMjYxN1wiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNGRUYzRjJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDI1LjU5ODdDMzAuMjIyMSAyNS44NzYxIDMwLjIyMjEgMjYuMzI1OSAyOS45NDQ2IDI2LjYwMzNMMjcuMTAzMiAyOS40NDQ4QzI2LjgyNTcgMjkuNzIyMiAyNi4zNzYgMjkuNzIyMiAyNi4wOTg1IDI5LjQ0NDhMMjQuNjc3OCAyOC4wMjQxQzI0LjQwMDQgMjcuNzQ2NiAyNC40MDA0IDI3LjI5NjkgMjQuNjc3OCAyNy4wMTk0QzI0Ljk1NTIgMjYuNzQyIDI1LjQwNSAyNi43NDIgMjUuNjgyNCAyNy4wMTk0TDI2LjYwMDggMjcuOTM3OUwyOC45NCAyNS41OTg3QzI5LjIxNzUgMjUuMzIxMyAyOS42NjcyIDI1LjMyMTMgMjkuOTQ0NiAyNS41OTg3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5Ljk0NDYgMzIuNzAyNkMzMC4yMjIxIDMyLjk4MDEgMzAuMjIyMSAzMy40Mjk5IDI5Ljk0NDYgMzMuNzA3NEwyNy4xMDMyIDM2LjU0ODlDMjYuODI1NyAzNi44MjYyIDI2LjM3NiAzNi44MjYyIDI2LjA5ODUgMzYuNTQ4OUwyNC42Nzc4IDM1LjEyODFDMjQuNDAwNCAzNC44NTA3IDI0LjQwMDQgMzQuNDAwOCAyNC42Nzc4IDM0LjEyMzRDMjQuOTU1MiAzMy44NDYgMjUuNDA1IDMzLjg0NiAyNS42ODI0IDM0LjEyMzRMMjYuNjAwOCAzNS4wNDE5TDI4Ljk0IDMyLjcwMjZDMjkuMjE3NSAzMi40MjUzIDI5LjY2NzIgMzIuNDI1MyAyOS45NDQ2IDMyLjcwMjZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuNTczNSAyNy41MjE5QzMxLjU3MzUgMjcuMTI5NiAzMS44OTE2IDI2LjgxMTUgMzIuMjgzOSAyNi44MTE1SDM2LjU0NjFDMzYuOTM4NCAyNi44MTE1IDM3LjI1NjUgMjcuMTI5NiAzNy4yNTY1IDI3LjUyMTlDMzcuMjU2NSAyNy45MTQyIDM2LjkzODQgMjguMjMyMyAzNi41NDYxIDI4LjIzMjNIMzIuMjgzOUMzMS44OTE2IDI4LjIzMjMgMzEuNTczNSAyNy45MTQyIDMxLjU3MzUgMjcuNTIxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNS4xOCAyMS4xMjg0QzIzLjIxODQgMjEuMTI4NCAyMS42MjgyIDIyLjcxODYgMjEuNjI4MiAyNC42ODAzVjM3LjQ2N0MyMS42MjgyIDM5LjQyODYgMjMuMjE4NCA0MS4wMTg5IDI1LjE4IDQxLjAxODlIMzEuMDA0N0MzMC43NzQ2IDQwLjU2ODggMzAuNTg2OSA0MC4wOTM0IDMwLjQ0NjggMzkuNTk4MUgyNS4xOEMyNC4wMDMxIDM5LjU5ODEgMjMuMDQ4OSAzOC42NDM5IDIzLjA0ODkgMzcuNDY3VjI0LjY4MDNDMjMuMDQ4OSAyMy41MDMzIDI0LjAwMzEgMjIuNTQ5MiAyNS4xOCAyMi41NDkySDM3Ljk2NjhDMzkuMTQzNyAyMi41NDkyIDQwLjA5NzkgMjMuNTAzMyA0MC4wOTc5IDI0LjY4MDNWMjkuOTQ3QzQwLjU5MzEgMzAuMDg3MSA0MS4wNjg1IDMwLjI3NDkgNDEuNTE4NiAzMC41MDQ5VjI0LjY4MDNDNDEuNTE4NiAyMi43MTg2IDM5LjkyODQgMjEuMTI4NCAzNy45NjY4IDIxLjEyODRIMjUuMThaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjM3LjkzNlwiIGN5PVwiMzcuNDM2XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4Ljc0MTUgMzUuNTI2NVY0MC41NTgxSDM3LjY3NzdWMzYuNTM2M0gzNy42NDgyTDM2LjQ5NiAzNy4yNTg2VjM2LjMxNTJMMzcuNzQxNiAzNS41MjY1SDM4Ljc0MTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI1LjMyMDU5XCIgeT1cIjQuODIwMzRcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRkVGM0YyXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA3NVwiIHg9XCIwLjgyNjQxNlwiIHk9XCIwLjMyNjE3MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjYzLjM0NzRcIiBoZWlnaHQ9XCI2My4zNDcyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImRpbGF0ZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjk5NzA1OSAwIDAgMCAwIDAuODkyNzQ1IDAgMCAwIDAgMC44ODUyOTQgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgc3VwcG9ydGluZy10ZXh0XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cInNjcm9sbFRvX21vYmRldGVjdGlvbnNlY3Rpb24odGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSk7XCI+Q2xpY2sgdG8gdmlldyBkZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gK3ZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5wb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1N1wiIGhlaWdodD1cIjU3XCIgdmlld0JveD1cIjAgMCA1NyA1N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjUgMjcuOTE3VjI4LjgzN0MzOC40OTg4IDMwLjk5MzQgMzcuODAwNSAzMy4wOTE3IDM2LjUwOTMgMzQuODE4OEMzNS4yMTgyIDM2LjU0NiAzMy40MDMzIDM3LjgwOTUgMzEuMzM1NCAzOC40MjA5QzI5LjI2NzQgMzkuMDMyMyAyNy4wNTczIDM4Ljk1ODkgMjUuMDM0NSAzOC4yMTE2QzIzLjAxMTcgMzcuNDY0MyAyMS4yODQ3IDM2LjA4MzEgMjAuMTExIDM0LjI3NDFDMTguOTM3MyAzMi40NjUxIDE4LjM3OTggMzAuMzI1MSAxOC41MjE3IDI4LjE3MzNDMTguNjYzNiAyNi4wMjE2IDE5LjQ5NzIgMjMuOTczMyAyMC44OTgzIDIyLjMzNDFDMjIuMjk5NCAyMC42OTQ4IDI0LjE5MjggMTkuNTUyNCAyNi4yOTYyIDE5LjA3NzJDMjguMzk5NiAxOC42MDE5IDMwLjYwMDMgMTguODE5NCAzMi41NyAxOS42OTdNMzguNSAyMC44MzdMMjguNSAzMC44NDdMMjUuNSAyNy44NDdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VwcG9ydGluZy10ZXh0IHRleHQtcHJpbWFyeVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvX1N1Ym1pdHVzZXIoKTtcIj5TdWJtaXR0ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy5pbmNpZGVudHNbMF0/LnVzZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdG9yZSBvcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY0XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY0IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA2NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuMzI2NDJcIiB5PVwiNFwiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNFQUY4RkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDI1LjI3MkMyOS43MjIzIDI1LjU0OTUgMjkuNzIyMyAyNS45OTkyIDI5LjQ0NDkgMjYuMjc2NkwyNi42MDM0IDI5LjExODFDMjYuMzI2IDI5LjM5NTYgMjUuODc2MiAyOS4zOTU2IDI1LjU5ODggMjkuMTE4MUwyNC4xNzggMjcuNjk3NEMyMy45MDA2IDI3LjQyIDIzLjkwMDYgMjYuOTcwMiAyNC4xNzggMjYuNjkyOEMyNC40NTU1IDI2LjQxNTQgMjQuOTA1MiAyNi40MTU0IDI1LjE4MjcgMjYuNjkyOEwyNi4xMDExIDI3LjYxMTJMMjguNDQwMyAyNS4yNzJDMjguNzE3NyAyNC45OTQ2IDI5LjE2NzUgMjQuOTk0NiAyOS40NDQ5IDI1LjI3MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDMyLjM3NkMyOS43MjIzIDMyLjY1MzQgMjkuNzIyMyAzMy4xMDMyIDI5LjQ0NDkgMzMuMzgwN0wyNi42MDM0IDM2LjIyMjJDMjYuMzI2IDM2LjQ5OTUgMjUuODc2MiAzNi40OTk1IDI1LjU5ODggMzYuMjIyMkwyNC4xNzggMzQuODAxNUMyMy45MDA2IDM0LjUyNCAyMy45MDA2IDM0LjA3NDIgMjQuMTc4IDMzLjc5NjdDMjQuNDU1NSAzMy41MTk0IDI0LjkwNTIgMzMuNTE5NCAyNS4xODI3IDMzLjc5NjdMMjYuMTAxMSAzNC43MTUyTDI4LjQ0MDMgMzIuMzc2QzI4LjcxNzcgMzIuMDk4NiAyOS4xNjc1IDMyLjA5ODYgMjkuNDQ0OSAzMi4zNzZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuMDczNyAyNy4xOTUyQzMxLjA3MzcgMjYuODAyOSAzMS4zOTE4IDI2LjQ4NDkgMzEuNzg0MSAyNi40ODQ5SDM2LjA0NjNDMzYuNDM4NiAyNi40ODQ5IDM2Ljc1NjcgMjYuODAyOSAzNi43NTY3IDI3LjE5NTJDMzYuNzU2NyAyNy41ODc2IDM2LjQzODYgMjcuOTA1NiAzNi4wNDYzIDI3LjkwNTZIMzEuNzg0MUMzMS4zOTE4IDI3LjkwNTYgMzEuMDczNyAyNy41ODc2IDMxLjA3MzcgMjcuMTk1MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNC42ODAzIDIwLjgwMThDMjIuNzE4NiAyMC44MDE4IDIxLjEyODQgMjIuMzkyIDIxLjEyODQgMjQuMzUzNlYzNy4xNDAzQzIxLjEyODQgMzkuMTAyIDIyLjcxODYgNDAuNjkyMiAyNC42ODAzIDQwLjY5MjJIMzAuNTA0OUMzMC4yNzQ5IDQwLjI0MjEgMzAuMDg3MSAzOS43NjY3IDI5Ljk0NyAzOS4yNzE1SDI0LjY4MDNDMjMuNTAzMyAzOS4yNzE1IDIyLjU0OTIgMzguMzE3MyAyMi41NDkyIDM3LjE0MDNWMjQuMzUzNkMyMi41NDkyIDIzLjE3NjYgMjMuNTAzMyAyMi4yMjI1IDI0LjY4MDMgMjIuMjIyNUgzNy40NjdDMzguNjQzOSAyMi4yMjI1IDM5LjU5ODEgMjMuMTc2NiAzOS41OTgxIDI0LjM1MzZWMjkuNjIwNEM0MC4wOTM0IDI5Ljc2MDUgNDAuNTY4OCAyOS45NDgyIDQxLjAxODkgMzAuMTc4M1YyNC4zNTM2QzQxLjAxODkgMjIuMzkyIDM5LjQyODYgMjAuODAxOCAzNy40NjcgMjAuODAxOEgyNC42ODAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy40MzZcIiBjeT1cIjM3LjEwOThcIiByPVwiNi40MjQyNFwiIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguMjQxNyAzNS4yMDA0VjQwLjIzMTlIMzcuMTc3OVYzNi4yMTAxSDM3LjE0ODVMMzUuOTk2MiAzNi45MzI0VjM1Ljk4OUwzNy4yNDE4IDM1LjIwMDRIMzguMjQxN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODIwNTlcIiB5PVwiNC40OTQxN1wiIHdpZHRoPVwiNTQuMzU5XCIgaGVpZ2h0PVwiNTQuMzU5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy40MTI1OVwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCIwLjk4ODM0NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF81NzUyXzM2MDY3XCIgeD1cIjAuMzI2NDE2XCIgeT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC44MzYzNyAwIDAgMCAwIDAuOTM4Mzc3IDAgMCAwIDAgMC45OTY2NjcgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwcG9ydGluZy10ZXh0XCI+T24gdGltZSBvcGVuaW5nL2Nsb3Npbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPlN0b3JlIE9wZW4vQ2xvc2UgRGVsYXllZD9FYXJseTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0aW1lIG9mIHRpbWVTZXJpZXM7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJob3VyVGV4dFwiICpuZ0lmPVwic2hvd0hvdXJzKHRpbWUpXCI+e3tzaG93SG91cnModGltZSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPkNhbWVyYSBJbmZvPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZXxjdXN0b21EYXRlRm9ybWF0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW3NpbmdsZURhdGVQaWNrZXJdPVwidHJ1ZVwiIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiAgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG90YWxJbWFnZVVybD8ubGVuZ3RoICYmICFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPjxkaXYgKm5nSWY9XCJzZWxlY3RlZFVybD8uY2FtZXJhTnVtYmVyIHx8IGltYWdlVXJsWzBdPy5jYW1lcmFOdW1iZXJcIiBbbmdDbGFzc109XCIoKHNlbGVjdGVkVXJsPy5pc0FjdGl2YXRlZCAmJiBzZWxlY3RlZFVybD8uaXNVcCkgfHwgKGltYWdlVXJsWzBdPy5pc0FjdGl2YXRlZCAmJiBpbWFnZVVybFswXT8uaXNVcCkpPydiZy1kYW5nZXInOidiZy1zdWNjZXNzJ1wiIGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgbWUtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPnt7c2VsZWN0ZWRVcmw/LmNhbWVyYU51bWJlciA/IHNlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgOiBpbWFnZVVybFswXT8uY2FtZXJhTnVtYmVyfX08L3NwYW4+IDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWUgPyBzZWxlY3RlZFVybD8uY2FtZXJhTmFtZSA6IGltYWdlVXJsWzBdPy5jYW1lcmFOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSAhPT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSAhPT0gJydcIiBjbGFzcz1cInctMTAwIG1oLTM1MHB4XCIgW3NyY109XCJzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPyBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgOiBpbWFnZVVybFswXT8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSA9PT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSA9PT0gJycgfHwgc2VsZWN0ZWRVcmwgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCAgaC0zMDBweCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuIE5vcHJldmlldyBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdUaXRsZSB0ZXh0LWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1cmwgb2YgaW1hZ2VVcmw7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImNvbC1zbS00IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNlbGVjdGVkSW1nKHVybClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlICE9PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgbWgtMTAwcHhcIiBbc3JjXT1cInVybD8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgaC0xMDBweCBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3VGl0bGUgdGV4dC1jZW50ZXIgZnMtNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJwcmV2aWV3c3ViVGl0bGUgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByZXZcIiAoY2xpY2spPVwicHJldkltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBtcy01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNSAxNS4wMjY0TDcuNSAxMC4wMjY0TDEyLjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05leHQgJiYgdG90YWxJbWFnZVVybC5sZW5ndGggPiAzXCIgKGNsaWNrKT1cIm5leHRJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCBtZS01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy41IDE1LjAyNjRMMTIuNSAxMC4wMjY0TDcuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSAmJiB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbikgfHwgKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSB8fCB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhLWFjdHVhbCBmdy1ib2xkXCI+Q2FtZXJhIEFuZ2xlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj5DaGFuZ2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgW3NyY109XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlQ2hhbmdlSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTBcIiAgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtLTAgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5FeHBlY3RlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG0tMCBwcy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiICAqbmdJZj1cInRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkluc3RhbmNlczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkV4cGVjdGVkPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0dWFsPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+UmVzdWx0czwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj4gQ2FtZXJhIFJlc29sdXRpb24gPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjEwODAgeCA5MDA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3RoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtc3VjY2VzcyBweC0xXCIgKm5nSWY9XCJyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXIgcHgtMVwiICAqbmdJZj1cIiFyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDguMDI2MzdWNi4wMjYzN002IDQuMDI2MzdINi4wMDVNMTEgNi4wMjYzN0MxMSA4Ljc4Nzc5IDguNzYxNDIgMTEuMDI2NCA2IDExLjAyNjRDMy4yMzg1OCAxMS4wMjY0IDEgOC43ODc3OSAxIDYuMDI2MzdDMSAzLjI2NDk0IDMuMjM4NTggMS4wMjYzNyA2IDEuMDI2MzdDOC43NjE0MiAxLjAyNjM3IDExIDMuMjY0OTQgMTEgNi4wMjYzN1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzIzMjZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj5Eb3dudGltZTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4yMDBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MTQwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18xODIwMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICF0b3RhbEltYWdlVXJsPy5sZW5ndGggJiYgIWFuZ2xlY2hhbmdlRGF0YT8uYW5nbGVjaGFuZ2UgJiYgIXRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItZWRnZWFwcC1sb2cgW3N0b3JlSWRdID0gXCJzdG9yZUlkXCI+PC9saWItZWRnZWFwcC1sb2c+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgPGxpYi1zdG9yZS1hY3Rpdml0eSBbc3RvcmVJZF09XCJzdG9yZUlkXCI+PC9saWItc3RvcmUtYWN0aXZpdHk+XHJcbjwvZGl2PiJdfQ==
|
|
691
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQTZDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUF3ZFQ7SUFBK0I7SUF2ZG5ELFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIseUJBQXlCO0lBQ3pCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFLLEVBQUUsQ0FBQztJQUV6QixvQkFBb0IsQ0FBUztJQUM3QixtQkFBbUIsR0FBUTtRQUN6QixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFVBQVUsR0FBTztRQUNmO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtTQUNqQztRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtLQUNKLENBQUE7SUFDQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2Is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QUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO3VHQTdwQlUsa0JBQWtCOzJGQUFsQixrQkFBa0Isc0ZDZi9CLHdxbENBMmFNOzsyRkQ1Wk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttSEFzZGxCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0LENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RvcmUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgaW1hZ2VVcmw6YW55W10gPSBbXTtcclxuICAvLyB0aW1lU2VyaWVzOmFueVtdID0gW107XHJcbiAgc3RvcmVUaWNrZXQ6YW55O1xyXG4gIGZpcnN0SW5kZXg6YW55ID0gMDtcclxuICBsYXN0SW5kZXg6YW55ID0gMztcclxuICBzaG93UHJldjpib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzpib29sZWFuID0gZmFsc2U7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93TmV4dDpib29sZWFuID0gdHJ1ZTtcclxuICBzaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTphbnk9e307XHJcbiAgXHJcbiAgc2hvd0luY2lkZW50UG9wSW5kZXg6IG51bWJlcjtcclxuICBzaG93SW5jaWRlbnRPcHRpb25zOiBhbnkgPSB7XHJcbiAgICBuZWc6IGZhbHNlLFxyXG4gICAgcG9zOiBmYWxzZSxcclxuICAgIHN0b3Jlb3A6IGZhbHNlXHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVTZXJpZXM6YW55W109W1xyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjAwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjIwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTowMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToxMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToyMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoyMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo1MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfVxyXG5dXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHRvdGFsSW1hZ2VVcmw6YW55W107XHJcbiBzZWxlY3RlZFVybDphbnk7XHJcbiBcclxuIGFuZ2xlY2hhbmdlRGF0YTogYW55O1xyXG4gdG90YWxEb3dudGltZTogbnVtYmVyID0gMDtcclxuIHJlc29sdXRpb250eXBlOiBib29sZWFuPXRydWU7XHJcbiBASW5wdXQoKSBzdG9yZUlkOnN0cmluZzsgXHJcbiAgICBEb3dtVGltZUFycmF5OiBhbnlbXTsgXHJcbiAgICBjYW1lcmFJbWFnZXM6IGFueTtcclxuICAgIHNlbGVjdGVkRGF0ZTogc3RyaW5nO1xyXG4gICAgdG90YWxEb3duVGltZTogYW55ID0gMDtcclxuICAgIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIHRoaXMuRG93bVRpbWUoKTtcclxufVxyXG5cclxubmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5nZXRDYW1lcmFJbWFnZXMoKXtcclxuICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUxpc3QodGhpcy5zdG9yZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jYW1lcmFJbWFnZXMgPSByZXMuZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEltYWdlVXJsID0gdGhpcy5jYW1lcmFJbWFnZXNcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFuZ2xlQ2hhbmdlKHRoaXMuaW1hZ2VVcmxbMF0/LnN0cmVhbU5hbWUpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICB9KVxyXG4gIH1cclxuICBnZXRBbmdsZUNoYW5nZShzdHJlYW06IGFueSkge1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgXCJzdG9yZUlkXCI6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgICBcIkRhdGVcIjogdGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICAgICAgXCJTdHJlYW1OYW1lXCI6IHN0cmVhbVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUFuZ2xlQ2hhbmdlKHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFuZ2xlY2hhbmdlRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbi5zcGxpdCgnKicpWzBdPDcyMCYmdGhpcy5hbmdsZWNoYW5nZURhdGE/LnJlc29sdXRpb24uc3BsaXQoJyonKVsxXTw3MjApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x1dGlvbnR5cGUgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxufVxyXG4gIERvd21UaW1lKCl7XHJcbiAgICBsZXQgZGF0YT17XHJcbiAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAvLyAgIFwic3RvcmVJZFwiOlwiMTEtMTAxM1wiLFxyXG4gICAgXCJEYXRlXCI6dGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlKGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIHRoaXMuRG93bVRpbWVBcnJheSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIHRoaXMudG90YWxEb3duVGltZSA9IDBcclxuICAgICAgICB0aGlzLkRvd21UaW1lQXJyYXkuZm9yRWFjaCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0/LmRvd250aW1lICE9ICcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxEb3duVGltZSArPSBpdGVtLmRvd250aW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuaGlkZURpYWxvZ0JveCgpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG59XHJcblxyXG5nZXRTdHlsZSgpe1xyXG4gIHJldHVybiB7XHJcbiAgLy8gJ21hcmdpbi1sZWZ0JzogKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPD0gNSkgPyAnMHB4JyA6ICgodGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA+PSA1OCkgPyAnLTE2MHB4JyA6ICctMTE1cHgnKVxyXG4gIH1cclxufVxyXG5cclxuc2hvd0luY2lkZW50VHlwZSh0aW1lU2VyaWVzOiBhbnksaTphbnkpIHtcclxuICAgIGxldCBub3dIb3VyID0gdGhpcy5kYXlqcygpLmhvdXIoKTtcclxuICAgIGxldCBub3dtaW51dGVzID0gdGhpcy5kYXlqcygpLm1pbnV0ZSgpO1xyXG4gICAgbGV0IGRhdGUgPSBkYXlqcygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICBcclxuICAgIGxldCB0aW1lUmFuZ2UgPSB0aW1lU2VyaWVzLnNwbGl0KCcgJylbMF07XHJcbiAgICBsZXQgdGltZSA9IHRpbWVSYW5nZS5zcGxpdCgnOicpXHJcbiAgICBpZih0aW1lWzBdID09IG5vd0hvdXIgKSB7XHJcbiAgICAgICAgdGhpcy50aW1lU2VyaWVzW2ldLmFjdGl2ZUhyID0gbm93SG91cjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMuRG93bVRpbWVBcnJheT8ubGVuZ3RoICYmIHRoaXMuRG93bVRpbWVBcnJheS5maWx0ZXIoKHg6IGFueSkgPT4geC5ob3VyID09IHBhcnNlSW50KHRpbWVbMF0pICYmIHguZG93bnRpbWUgPiAwICYmICB4LmRvd250aW1lID4gcGFyc2VJbnQodGltZVsxXSkpLmxlbmd0aCkgeyBcclxuICAgICAgICByZXR1cm4gJ25lZ2F0aXZlJztcclxuICAgICAgfSBcclxuICAgICAgZWxzZSBpZiAodGhpcy5Eb3dtVGltZUFycmF5Py5sZW5ndGggJiYgdGhpcy5Eb3dtVGltZUFycmF5LmZpbHRlcigoeDogYW55KSA9PiB4LmhvdXIgPT0gcGFyc2VJbnQodGltZVswXSkmJiB4LmRvd250aW1lICE9PSAnJyYmKHRoaXMuc2VsZWN0ZWREYXRlIDwgZGF0ZSB8fCAodGhpcy5zZWxlY3RlZERhdGUgPT0gZGF0ZSAmJiAoeC5ob3VyIDwgbm93SG91ciAgfHwgKG5vd0hvdXIgPT0geC5ob3VyICYmIG5vd21pbnV0ZXMgPj0gcGFyc2VJbnQodGltZVsxXSkpKSkpKS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIHJldHVybiAncG9zaXRpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ25vcm1hbCc7XHJcbiAgICAgIH1cclxufVxyXG5cclxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPSBpbmRleDtcclxuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcInBvc2l0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IHRydWU7XHJcbiAgfVxyXG4gIC8vIHRoaXMuc2hvd0luY2lkZW50UG9wID0gdHJ1ZTtcclxufVxyXG5cclxuZGlzcGxheUNhdGVnb3J5KGNhdGVnb3J5OiBhbnksIHR5cGU6IGFueSkge1xyXG4gIGlmIChjYXRlZ29yeSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ2N1c3RvbScpIHtcclxuICAgIGlmICh0eXBlID09ICdwb3NpdGl2ZScpXHJcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJ1N1Ym1pc3Npb24gRGVsYXllZCc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XHJcbiAgICByZXR1cm4gJ1N0b3JlIE9wZW4gQ2xvc2UnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdGVkSW1nKGRhdGE6YW55KXtcclxuICAgdGhpcy5zZWxlY3RlZFVybCA9ZGF0YTtcclxuICAgdGhpcy5nZXRBbmdsZUNoYW5nZSh0aGlzLnNlbGVjdGVkVXJsLnN0cmVhbU5hbWUpXHJcbn1cclxucHJldkltYWdlcygpeyBcclxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XHJcbiAgdGhpcy5zaG93TmV4dCA9IHRydWU7XHJcbiAgdGhpcy5maXJzdEluZGV4IC09IDM7XHJcbiAgdGhpcy5sYXN0SW5kZXggLT0gMzsgXHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGlmKHRoaXMuZmlyc3RJbmRleCA9PSAwICYmIHRoaXMubGFzdEluZGV4ID09IDMpe1xyXG4gICAgdGhpcy5zaG93UHJldiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5uZXh0SW1hZ2VzKCl7XHJcbiAgdGhpcy5zaG93UHJldiA9IHRydWU7XHJcbiAgdGhpcy5zZWxlY3RlZFVybCA9ICcnO1xyXG4gIHRoaXMuZmlyc3RJbmRleCArPSAzO1xyXG4gIHRoaXMubGFzdEluZGV4ICs9IDM7IFxyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBpZih0aGlzLmxhc3RJbmRleCA9PSB0aGlzLnRvdGFsSW1hZ2VVcmwubGVuZ3RoIHx8IHRoaXMuaW1hZ2VVcmwubGVuZ3RoIDwgMyl7XHJcbiAgdGhpcy5zaG93TmV4dCA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICAgICAgICB0aGlzLkRvd21UaW1lKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZXMgcHJvdmlkZWQ6JywgZXZlbnQuc3RhcnREYXRlLCBldmVudC5lbmREYXRlKTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcignSW52YWxpZCBldmVudCBvYmplY3Q6JywgZXZlbnQpO1xyXG4gIH1cclxuIH1cclxuXHJcbnNob3dIb3Vycyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCBob3VyOiBhbnkgPSBmYWxzZTtcclxuICAgIGhvdXIgPSB0aW1lLnRpbWUyNEhvdXIuc3BsaXQoJzonKVsxXSA9PSAnMDAnID8gdGltZS50aW1lU3RyaW5nMTJIb3VyT25seSA6IGZhbHNlO1xyXG4gICAgcmV0dXJuIGhvdXI7XHJcbiAgfVxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCBcImRheXNcIikpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZC00MDAgc3ViVGl0bGVcIj5BbiBvdmVydmlldyBvZiB0aGUgc3RvcmUgaXNzdWVzIGFuZCB0aGUgZG93bnRpbWUgZm9yIHt7c2VsZWN0ZWREYXRlIHwgY3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXktNSB0aW1lUmFuZ2UgZnctc2VtaWJvbGRcIj5Ub3RhbCA6IHt7dG90YWxEb3duVGltZX19IG1pbnMgRG93bnRpbWUgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yIG14LTJcIiAqbmdJZj1cInRpbWVTZXJpZXM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGltZSBvZiB0aW1lU2VyaWVzO2xldCBJbmRleD1pbmRleFwiIGNsYXNzPVwic3ZnLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gbm9ybWFsIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbm9ybWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlc2VudCBob3VyIGZvciBsaXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyAqbmdJZj1cInRpbWUuYWN0aXZlSHJcIiBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCIgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjA4MDMyIDIuNUwyLjA4MDMyIDUwLjVcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3NpdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy50aW1lMjRIb3VyLEluZGV4KSA9PT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQwMDE1IDIuNUwyLjQwMDE0IDY2LjVcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKG1vdXNlZW50ZXIpPVwic2hvd0RpYWxvZ0JveCh0aW1lLEluZGV4KVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDUgNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWJveFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKClcIiAqbmdJZj1cInNob3dJbmNpZGVudFBvcCAmJiBzaG93SW5jaWRlbnRQb3BJbmRleCA9PT0gSW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAobW91c2VsZWF2ZSk9XCJoaWRlRGlhbG9nQm94KClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLm5lZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY1XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY1IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA3NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODI2NDJcIiB5PVwiNC4zMjYxN1wiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNGRUYzRjJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDI1LjU5ODdDMzAuMjIyMSAyNS44NzYxIDMwLjIyMjEgMjYuMzI1OSAyOS45NDQ2IDI2LjYwMzNMMjcuMTAzMiAyOS40NDQ4QzI2LjgyNTcgMjkuNzIyMiAyNi4zNzYgMjkuNzIyMiAyNi4wOTg1IDI5LjQ0NDhMMjQuNjc3OCAyOC4wMjQxQzI0LjQwMDQgMjcuNzQ2NiAyNC40MDA0IDI3LjI5NjkgMjQuNjc3OCAyNy4wMTk0QzI0Ljk1NTIgMjYuNzQyIDI1LjQwNSAyNi43NDIgMjUuNjgyNCAyNy4wMTk0TDI2LjYwMDggMjcuOTM3OUwyOC45NCAyNS41OTg3QzI5LjIxNzUgMjUuMzIxMyAyOS42NjcyIDI1LjMyMTMgMjkuOTQ0NiAyNS41OTg3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5Ljk0NDYgMzIuNzAyNkMzMC4yMjIxIDMyLjk4MDEgMzAuMjIyMSAzMy40Mjk5IDI5Ljk0NDYgMzMuNzA3NEwyNy4xMDMyIDM2LjU0ODlDMjYuODI1NyAzNi44MjYyIDI2LjM3NiAzNi44MjYyIDI2LjA5ODUgMzYuNTQ4OUwyNC42Nzc4IDM1LjEyODFDMjQuNDAwNCAzNC44NTA3IDI0LjQwMDQgMzQuNDAwOCAyNC42Nzc4IDM0LjEyMzRDMjQuOTU1MiAzMy44NDYgMjUuNDA1IDMzLjg0NiAyNS42ODI0IDM0LjEyMzRMMjYuNjAwOCAzNS4wNDE5TDI4Ljk0IDMyLjcwMjZDMjkuMjE3NSAzMi40MjUzIDI5LjY2NzIgMzIuNDI1MyAyOS45NDQ2IDMyLjcwMjZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuNTczNSAyNy41MjE5QzMxLjU3MzUgMjcuMTI5NiAzMS44OTE2IDI2LjgxMTUgMzIuMjgzOSAyNi44MTE1SDM2LjU0NjFDMzYuOTM4NCAyNi44MTE1IDM3LjI1NjUgMjcuMTI5NiAzNy4yNTY1IDI3LjUyMTlDMzcuMjU2NSAyNy45MTQyIDM2LjkzODQgMjguMjMyMyAzNi41NDYxIDI4LjIzMjNIMzIuMjgzOUMzMS44OTE2IDI4LjIzMjMgMzEuNTczNSAyNy45MTQyIDMxLjU3MzUgMjcuNTIxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNS4xOCAyMS4xMjg0QzIzLjIxODQgMjEuMTI4NCAyMS42MjgyIDIyLjcxODYgMjEuNjI4MiAyNC42ODAzVjM3LjQ2N0MyMS42MjgyIDM5LjQyODYgMjMuMjE4NCA0MS4wMTg5IDI1LjE4IDQxLjAxODlIMzEuMDA0N0MzMC43NzQ2IDQwLjU2ODggMzAuNTg2OSA0MC4wOTM0IDMwLjQ0NjggMzkuNTk4MUgyNS4xOEMyNC4wMDMxIDM5LjU5ODEgMjMuMDQ4OSAzOC42NDM5IDIzLjA0ODkgMzcuNDY3VjI0LjY4MDNDMjMuMDQ4OSAyMy41MDMzIDI0LjAwMzEgMjIuNTQ5MiAyNS4xOCAyMi41NDkySDM3Ljk2NjhDMzkuMTQzNyAyMi41NDkyIDQwLjA5NzkgMjMuNTAzMyA0MC4wOTc5IDI0LjY4MDNWMjkuOTQ3QzQwLjU5MzEgMzAuMDg3MSA0MS4wNjg1IDMwLjI3NDkgNDEuNTE4NiAzMC41MDQ5VjI0LjY4MDNDNDEuNTE4NiAyMi43MTg2IDM5LjkyODQgMjEuMTI4NCAzNy45NjY4IDIxLjEyODRIMjUuMThaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjM3LjkzNlwiIGN5PVwiMzcuNDM2XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4Ljc0MTUgMzUuNTI2NVY0MC41NTgxSDM3LjY3NzdWMzYuNTM2M0gzNy42NDgyTDM2LjQ5NiAzNy4yNTg2VjM2LjMxNTJMMzcuNzQxNiAzNS41MjY1SDM4Ljc0MTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI1LjMyMDU5XCIgeT1cIjQuODIwMzRcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRkVGM0YyXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA3NVwiIHg9XCIwLjgyNjQxNlwiIHk9XCIwLjMyNjE3MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjYzLjM0NzRcIiBoZWlnaHQ9XCI2My4zNDcyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImRpbGF0ZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjk5NzA1OSAwIDAgMCAwIDAuODkyNzQ1IDAgMCAwIDAgMC44ODUyOTQgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgc3VwcG9ydGluZy10ZXh0XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cInNjcm9sbFRvX21vYmRldGVjdGlvbnNlY3Rpb24odGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSk7XCI+Q2xpY2sgdG8gdmlldyBkZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gK3ZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5wb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1N1wiIGhlaWdodD1cIjU3XCIgdmlld0JveD1cIjAgMCA1NyA1N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjUgMjcuOTE3VjI4LjgzN0MzOC40OTg4IDMwLjk5MzQgMzcuODAwNSAzMy4wOTE3IDM2LjUwOTMgMzQuODE4OEMzNS4yMTgyIDM2LjU0NiAzMy40MDMzIDM3LjgwOTUgMzEuMzM1NCAzOC40MjA5QzI5LjI2NzQgMzkuMDMyMyAyNy4wNTczIDM4Ljk1ODkgMjUuMDM0NSAzOC4yMTE2QzIzLjAxMTcgMzcuNDY0MyAyMS4yODQ3IDM2LjA4MzEgMjAuMTExIDM0LjI3NDFDMTguOTM3MyAzMi40NjUxIDE4LjM3OTggMzAuMzI1MSAxOC41MjE3IDI4LjE3MzNDMTguNjYzNiAyNi4wMjE2IDE5LjQ5NzIgMjMuOTczMyAyMC44OTgzIDIyLjMzNDFDMjIuMjk5NCAyMC42OTQ4IDI0LjE5MjggMTkuNTUyNCAyNi4yOTYyIDE5LjA3NzJDMjguMzk5NiAxOC42MDE5IDMwLjYwMDMgMTguODE5NCAzMi41NyAxOS42OTdNMzguNSAyMC44MzdMMjguNSAzMC44NDdMMjUuNSAyNy44NDdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VwcG9ydGluZy10ZXh0IHRleHQtcHJpbWFyeVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvX1N1Ym1pdHVzZXIoKTtcIj5TdWJtaXR0ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy5pbmNpZGVudHNbMF0/LnVzZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdG9yZSBvcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY0XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY0IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA2NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuMzI2NDJcIiB5PVwiNFwiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNFQUY4RkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDI1LjI3MkMyOS43MjIzIDI1LjU0OTUgMjkuNzIyMyAyNS45OTkyIDI5LjQ0NDkgMjYuMjc2NkwyNi42MDM0IDI5LjExODFDMjYuMzI2IDI5LjM5NTYgMjUuODc2MiAyOS4zOTU2IDI1LjU5ODggMjkuMTE4MUwyNC4xNzggMjcuNjk3NEMyMy45MDA2IDI3LjQyIDIzLjkwMDYgMjYuOTcwMiAyNC4xNzggMjYuNjkyOEMyNC40NTU1IDI2LjQxNTQgMjQuOTA1MiAyNi40MTU0IDI1LjE4MjcgMjYuNjkyOEwyNi4xMDExIDI3LjYxMTJMMjguNDQwMyAyNS4yNzJDMjguNzE3NyAyNC45OTQ2IDI5LjE2NzUgMjQuOTk0NiAyOS40NDQ5IDI1LjI3MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDMyLjM3NkMyOS43MjIzIDMyLjY1MzQgMjkuNzIyMyAzMy4xMDMyIDI5LjQ0NDkgMzMuMzgwN0wyNi42MDM0IDM2LjIyMjJDMjYuMzI2IDM2LjQ5OTUgMjUuODc2MiAzNi40OTk1IDI1LjU5ODggMzYuMjIyMkwyNC4xNzggMzQuODAxNUMyMy45MDA2IDM0LjUyNCAyMy45MDA2IDM0LjA3NDIgMjQuMTc4IDMzLjc5NjdDMjQuNDU1NSAzMy41MTk0IDI0LjkwNTIgMzMuNTE5NCAyNS4xODI3IDMzLjc5NjdMMjYuMTAxMSAzNC43MTUyTDI4LjQ0MDMgMzIuMzc2QzI4LjcxNzcgMzIuMDk4NiAyOS4xNjc1IDMyLjA5ODYgMjkuNDQ0OSAzMi4zNzZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuMDczNyAyNy4xOTUyQzMxLjA3MzcgMjYuODAyOSAzMS4zOTE4IDI2LjQ4NDkgMzEuNzg0MSAyNi40ODQ5SDM2LjA0NjNDMzYuNDM4NiAyNi40ODQ5IDM2Ljc1NjcgMjYuODAyOSAzNi43NTY3IDI3LjE5NTJDMzYuNzU2NyAyNy41ODc2IDM2LjQzODYgMjcuOTA1NiAzNi4wNDYzIDI3LjkwNTZIMzEuNzg0MUMzMS4zOTE4IDI3LjkwNTYgMzEuMDczNyAyNy41ODc2IDMxLjA3MzcgMjcuMTk1MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNC42ODAzIDIwLjgwMThDMjIuNzE4NiAyMC44MDE4IDIxLjEyODQgMjIuMzkyIDIxLjEyODQgMjQuMzUzNlYzNy4xNDAzQzIxLjEyODQgMzkuMTAyIDIyLjcxODYgNDAuNjkyMiAyNC42ODAzIDQwLjY5MjJIMzAuNTA0OUMzMC4yNzQ5IDQwLjI0MjEgMzAuMDg3MSAzOS43NjY3IDI5Ljk0NyAzOS4yNzE1SDI0LjY4MDNDMjMuNTAzMyAzOS4yNzE1IDIyLjU0OTIgMzguMzE3MyAyMi41NDkyIDM3LjE0MDNWMjQuMzUzNkMyMi41NDkyIDIzLjE3NjYgMjMuNTAzMyAyMi4yMjI1IDI0LjY4MDMgMjIuMjIyNUgzNy40NjdDMzguNjQzOSAyMi4yMjI1IDM5LjU5ODEgMjMuMTc2NiAzOS41OTgxIDI0LjM1MzZWMjkuNjIwNEM0MC4wOTM0IDI5Ljc2MDUgNDAuNTY4OCAyOS45NDgyIDQxLjAxODkgMzAuMTc4M1YyNC4zNTM2QzQxLjAxODkgMjIuMzkyIDM5LjQyODYgMjAuODAxOCAzNy40NjcgMjAuODAxOEgyNC42ODAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy40MzZcIiBjeT1cIjM3LjEwOThcIiByPVwiNi40MjQyNFwiIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguMjQxNyAzNS4yMDA0VjQwLjIzMTlIMzcuMTc3OVYzNi4yMTAxSDM3LjE0ODVMMzUuOTk2MiAzNi45MzI0VjM1Ljk4OUwzNy4yNDE4IDM1LjIwMDRIMzguMjQxN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODIwNTlcIiB5PVwiNC40OTQxN1wiIHdpZHRoPVwiNTQuMzU5XCIgaGVpZ2h0PVwiNTQuMzU5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy40MTI1OVwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCIwLjk4ODM0NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF81NzUyXzM2MDY3XCIgeD1cIjAuMzI2NDE2XCIgeT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC44MzYzNyAwIDAgMCAwIDAuOTM4Mzc3IDAgMCAwIDAgMC45OTY2NjcgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwcG9ydGluZy10ZXh0XCI+T24gdGltZSBvcGVuaW5nL2Nsb3Npbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPlN0b3JlIE9wZW4vQ2xvc2UgRGVsYXllZD9FYXJseTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0aW1lIG9mIHRpbWVTZXJpZXM7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJob3VyVGV4dFwiICpuZ0lmPVwic2hvd0hvdXJzKHRpbWUpXCI+e3tzaG93SG91cnModGltZSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPkNhbWVyYSBJbmZvPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZXxjdXN0b21EYXRlRm9ybWF0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW3NpbmdsZURhdGVQaWNrZXJdPVwidHJ1ZVwiIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiAgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG90YWxJbWFnZVVybD8ubGVuZ3RoICYmICFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPjxkaXYgKm5nSWY9XCJzZWxlY3RlZFVybD8uY2FtZXJhTnVtYmVyIHx8IGltYWdlVXJsWzBdPy5jYW1lcmFOdW1iZXJcIiBbbmdDbGFzc109XCIoKHNlbGVjdGVkVXJsPy5pc0FjdGl2YXRlZCAmJiBzZWxlY3RlZFVybD8uaXNVcCkgfHwgKGltYWdlVXJsWzBdPy5pc0FjdGl2YXRlZCAmJiBpbWFnZVVybFswXT8uaXNVcCkpPydiZy1zdWNjZXNzJzonYmctZGFuZ2VyJ1wiIGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgbWUtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPnt7c2VsZWN0ZWRVcmw/LmNhbWVyYU51bWJlciA/IHNlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgOiBpbWFnZVVybFswXT8uY2FtZXJhTnVtYmVyfX08L3NwYW4+IDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWUgPyBzZWxlY3RlZFVybD8uY2FtZXJhTmFtZSA6IGltYWdlVXJsWzBdPy5jYW1lcmFOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSAhPT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSAhPT0gJydcIiBjbGFzcz1cInctMTAwIG1oLTM1MHB4XCIgW3NyY109XCJzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPyBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgOiBpbWFnZVVybFswXT8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSA9PT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSA9PT0gJycgfHwgc2VsZWN0ZWRVcmwgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCAgaC0zMDBweCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuIE5vcHJldmlldyBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdUaXRsZSB0ZXh0LWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1cmwgb2YgaW1hZ2VVcmw7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImNvbC1zbS00IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNlbGVjdGVkSW1nKHVybClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlICE9PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgbWgtMTAwcHhcIiBbc3JjXT1cInVybD8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgaC0xMDBweCBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3VGl0bGUgdGV4dC1jZW50ZXIgZnMtNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJwcmV2aWV3c3ViVGl0bGUgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByZXZcIiAoY2xpY2spPVwicHJldkltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBtcy01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNSAxNS4wMjY0TDcuNSAxMC4wMjY0TDEyLjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05leHQgJiYgdG90YWxJbWFnZVVybC5sZW5ndGggPiAzXCIgKGNsaWNrKT1cIm5leHRJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCBtZS01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy41IDE1LjAyNjRMMTIuNSAxMC4wMjY0TDcuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSAmJiB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbikgfHwgKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSB8fCB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhLWFjdHVhbCBmdy1ib2xkXCI+Q2FtZXJhIEFuZ2xlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj5DaGFuZ2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgW3NyY109XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlQ2hhbmdlSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTBcIiAgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtLTAgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5FeHBlY3RlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG0tMCBwcy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiICAqbmdJZj1cInRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkluc3RhbmNlczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkV4cGVjdGVkPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0dWFsPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+UmVzdWx0czwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj4gQ2FtZXJhIFJlc29sdXRpb24gPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjEwODAgeCA5MDA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3RoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtc3VjY2VzcyBweC0xXCIgKm5nSWY9XCJyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXIgcHgtMVwiICAqbmdJZj1cIiFyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDguMDI2MzdWNi4wMjYzN002IDQuMDI2MzdINi4wMDVNMTEgNi4wMjYzN0MxMSA4Ljc4Nzc5IDguNzYxNDIgMTEuMDI2NCA2IDExLjAyNjRDMy4yMzg1OCAxMS4wMjY0IDEgOC43ODc3OSAxIDYuMDI2MzdDMSAzLjI2NDk0IDMuMjM4NTggMS4wMjYzNyA2IDEuMDI2MzdDOC43NjE0MiAxLjAyNjM3IDExIDMuMjY0OTQgMTEgNi4wMjYzN1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzIzMjZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj5Eb3dudGltZTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4yMDBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MTQwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18xODIwMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICF0b3RhbEltYWdlVXJsPy5sZW5ndGggJiYgIWFuZ2xlY2hhbmdlRGF0YT8uYW5nbGVjaGFuZ2UgJiYgIXRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItZWRnZWFwcC1sb2cgW3N0b3JlSWRdID0gXCJzdG9yZUlkXCI+PC9saWItZWRnZWFwcC1sb2c+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgPGxpYi1zdG9yZS1hY3Rpdml0eSBbc3RvcmVJZF09XCJzdG9yZUlkXCI+PC9saWItc3RvcmUtYWN0aXZpdHk+XHJcbjwvZGl2PiJdfQ==
|