tango-app-ui-ticket-user 3.0.2-dev → 3.0.3-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.
@@ -10,6 +10,7 @@ import * as i3 from "@angular/forms";
10
10
  import * as i4 from "ngx-daterangepicker-material";
11
11
  import * as i5 from "../edgeapp-log/edgeapp-log.component";
12
12
  import * as i6 from "../store-activity/store-activity.component";
13
+ import * as i7 from "tango-app-ui-shared";
13
14
  dayjs.extend(utc);
14
15
  dayjs.extend(timezone);
15
16
  export class StoreInfoComponent {
@@ -24,7 +25,7 @@ export class StoreInfoComponent {
24
25
  noData = false;
25
26
  showNext = true;
26
27
  showIncidentPop = false;
27
- selectedDateRange;
28
+ selectedDateRange = {};
28
29
  showIncidentPopIndex;
29
30
  showIncidentOptions = {
30
31
  neg: false,
@@ -51,6 +52,7 @@ export class StoreInfoComponent {
51
52
  this.service = service;
52
53
  }
53
54
  ngOnInit() {
55
+ this.selectedDateRange.startDate = this.dayjs().utc().format('DD-MM-YYYY');
54
56
  this.imageUrl = this.totalImageUrl.slice(this.firstIndex, this.lastIndex);
55
57
  console.log('this.image', this.imageUrl);
56
58
  }
@@ -150,12 +152,12 @@ export class StoreInfoComponent {
150
152
  }
151
153
  }
152
154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, deps: [{ token: i1.TicketsService }], target: i0.ɵɵFactoryTarget.Component });
153
- 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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for 02 July, 2023</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (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>\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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for 02 July, 2023</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\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\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\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\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-2 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\" (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-2 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 <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\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 <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=\"w-100 mt-10 table-responsive\">\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>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger 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_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 </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\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 && !loading\">\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\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\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 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}: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}.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}}\n"], dependencies: [{ 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"] }] });
155
+ 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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (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>\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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|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\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\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\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\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-2 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\" (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-2 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 <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\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 <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=\"w-100 mt-10 table-responsive\">\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>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger 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_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 </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\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 && !loading\">\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\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\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 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}: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}.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}}\n"], dependencies: [{ 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" }] });
154
156
  }
155
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, decorators: [{
156
158
  type: Component,
157
- 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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for 02 July, 2023</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (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>\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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for 02 July, 2023</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\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\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\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\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-2 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\" (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-2 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 <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\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 <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=\"w-100 mt-10 table-responsive\">\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>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger 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_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 </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\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 && !loading\">\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\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\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 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}: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}.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}}\n"] }]
159
+ 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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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 <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\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\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (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>\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 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\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|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\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\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\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\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-2 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\" (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-2 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 <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\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 <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=\"w-100 mt-10 table-responsive\">\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>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger 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_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 </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\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 && !loading\">\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\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\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 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}: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}.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}}\n"] }]
158
160
  }], ctorParameters: () => [{ type: i1.TicketsService }], propDecorators: { storeId: [{
159
161
  type: Input
160
162
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUc3QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7QUFPdEIsTUFBTSxPQUFPLGtCQUFrQjtJQWtDVDtJQWpDcEIsUUFBUSxHQUFTLEVBQUUsQ0FBQztJQUNwQixVQUFVLEdBQVMsRUFBRSxDQUFDO0lBQ3RCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixDQUFLO0lBQ3RCLG9CQUFvQixDQUFTO0lBQzdCLG1CQUFtQixHQUFRO1FBQ3pCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixPQUFPLEVBQUUsS0FBSztLQUNmLENBQUE7SUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2IsYUFBYSxHQUFRO1FBQ25CLHlLQUF5SztRQUN6Syx5S0FBeUs7UUFDeksseUtBQXlLO1FBQ3pLLHlLQUF5SztRQUN6Syx5S0FBeUs7UUFDeksseUtBQXlLO1FBQ3pLLHlLQUF5SztRQUN6Syx5S0FBeUs7UUFDeksseUtBQXlLO1FBQ3pLLHlLQUF5SztRQUN6Syx5S0FBeUs7S0FDMUssQ0FBQTtJQUNGLFdBQVcsQ0FBSztJQUNQLE9BQU8sQ0FBUTtJQUN2QixZQUFvQixPQUFzQjtRQUF0QixZQUFPLEdBQVAsT0FBTyxDQUFlO0lBRTFDLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87WUFDUCxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7U0FDbEgsQ0FBQTtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFnQjtRQUMvQixJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQzdELE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNwRSxPQUFPLFVBQVUsQ0FBQztTQUNuQjthQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNqRixPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDMUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUN6RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUNyQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQWEsRUFBRSxJQUFTO1FBQ3RDLElBQUksUUFBUSxJQUFJLHNCQUFzQixFQUFFO1lBQ3RDLE9BQU8sd0JBQXdCLENBQUM7U0FDakM7YUFBTSxJQUFJLFFBQVEsSUFBSSxRQUFRLEVBQUU7WUFDL0IsSUFBSSxJQUFJLElBQUksVUFBVTtnQkFDcEIsT0FBTyxzQkFBc0IsQ0FBQzs7Z0JBRTlCLE9BQU8sb0JBQW9CLENBQUM7U0FDL0I7YUFBTSxJQUFJLFFBQVEsSUFBSSxtQkFBbUIsRUFBRTtZQUMxQyxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO2FBQU0sSUFBSSxRQUFRLElBQUksa0JBQWtCLEVBQUU7WUFDekMsT0FBTyxtQkFBbUIsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBUztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUM7WUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUMzRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDN0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0Y7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxRTtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQzt1R0F0SVcsa0JBQWtCOzJGQUFsQixrQkFBa0Isc0ZDZi9CLDhnNkJBcVhNOzsyRkR0V08sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttRkFxQ2xCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB7IGRhdGEgfSBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuZGF5anMuZXh0ZW5kKHV0Yyk7XHJcbmRheWpzLmV4dGVuZCh0aW1lem9uZSlcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0b3JlLWluZm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RvcmUtaW5mby5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JlSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaW1hZ2VVcmw6YW55W10gPSBbXTtcclxuICB0aW1lU2VyaWVzOmFueVtdID0gW107XHJcbiAgc3RvcmVUaWNrZXQ6YW55O1xyXG4gIGZpcnN0SW5kZXg6YW55ID0gMDtcclxuICBsYXN0SW5kZXg6YW55ID0gMztcclxuICBzaG93UHJldjpib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzpib29sZWFuID0gZmFsc2U7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93TmV4dDpib29sZWFuID0gdHJ1ZTtcclxuICBzaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTphbnk7XHJcbiAgc2hvd0luY2lkZW50UG9wSW5kZXg6IG51bWJlcjtcclxuICBzaG93SW5jaWRlbnRPcHRpb25zOiBhbnkgPSB7XHJcbiAgICBuZWc6IGZhbHNlLFxyXG4gICAgcG9zOiBmYWxzZSxcclxuICAgIHN0b3Jlb3A6IGZhbHNlXHJcbiAgfVxyXG4gIGRheWpzID0gZGF5anNcclxuICB0b3RhbEltYWdlVXJsOmFueVtdID1bXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJ1xyXG4gIF1cclxuIHNlbGVjdGVkVXJsOmFueTtcclxuIEBJbnB1dCgpIHN0b3JlSWQ6c3RyaW5nOyBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6VGlja2V0c1NlcnZpY2Upe1xyXG5cclxuICB9XHJcblxyXG5uZ09uSW5pdCgpe1xyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBjb25zb2xlLmxvZygndGhpcy5pbWFnZScsdGhpcy5pbWFnZVVybClcclxufVxyXG5cclxuXHJcbmhpZGVEaWFsb2dCb3goKSB7XHJcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxufVxyXG5cclxuZ2V0U3R5bGUoKXtcclxuICByZXR1cm4ge1xyXG4gICdtYXJnaW4tbGVmdCc6ICh0aGlzLnNob3dJbmNpZGVudFBvcEluZGV4IDw9IDUpID8gJzBweCcgOiAoKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPj0gNTgpID8gJy0xNjBweCcgOiAnLTExNXB4JylcclxuICB9XHJcbn1cclxuXHJcbnNob3dJbmNpZGVudFR5cGUoaW5jaWRlbnRzOiBhbnlbXSkge1xyXG4gIGlmIChpbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSAnbmVnYXRpdmUnKS5sZW5ndGgpIHtcclxuICAgIHJldHVybiAnbmVnYXRpdmUnO1xyXG4gIH0gZWxzZSBpZiAoaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT0gJ3Bvc2l0aXZlJykubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gJ3Bvc2l0aXZlJztcclxuICB9IGVsc2UgaWYgKGluY2lkZW50cy5maWx0ZXIoKHg6IGFueSkgPT4geC5jYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKS5sZW5ndGgpIHtcclxuICAgIHJldHVybiAnc3RvcmVvcCc7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiAnbm9ybWFsJztcclxuICB9XHJcbn1cclxuXHJcbnNob3dEaWFsb2dCb3godGltZTogYW55LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcEluZGV4ID0gaW5kZXg7XHJcbiAgaWYgKHRpbWUuaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT0gXCJuZWdhdGl2ZVwiKS5sZW5ndGgpIHtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5uZWcgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3AgPSBmYWxzZTtcclxuICB9IGVsc2UgaWYgKHRpbWUuaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT0gXCJwb3NpdGl2ZVwiKS5sZW5ndGgpIHtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5uZWcgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5wb3MgPSB0cnVlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3AgPSBmYWxzZTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3AgPSB0cnVlO1xyXG4gIH1cclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IHRydWU7XHJcbn1cclxuXHJcbmRpc3BsYXlDYXRlZ29yeShjYXRlZ29yeTogYW55LCB0eXBlOiBhbnkpIHtcclxuICBpZiAoY2F0ZWdvcnkgPT0gJ21vYmlsZXVzYWdlZGV0ZWN0aW9uJykge1xyXG4gICAgcmV0dXJuICdNb2JpbGUgVXNhZ2UgRGV0ZWN0aW9uJztcclxuICB9IGVsc2UgaWYgKGNhdGVnb3J5ID09ICdjdXN0b20nKSB7XHJcbiAgICBpZiAodHlwZSA9PSAncG9zaXRpdmUnKVxyXG4gICAgICByZXR1cm4gJ0NoZWNrbGlzdCBTdWJtaXNzaW9uJztcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuICdTdWJtaXNzaW9uIERlbGF5ZWQnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3N0b3Jlb3BlbmFuZGNsb3NlJykge1xyXG4gICAgcmV0dXJuICdTdG9yZSBPcGVuIENsb3NlJztcclxuICB9IGVsc2UgaWYgKGNhdGVnb3J5ID09ICd1bmlmb3JtZGV0ZWN0aW9uJykge1xyXG4gICAgcmV0dXJuICdVbmlmb3JtIERldGVjdGlvbic7XHJcbiAgfVxyXG59XHJcblxyXG5zZWxlY3RlZEltZyhpbmRleDphbnkpe1xyXG4gICB0aGlzLnNlbGVjdGVkVXJsID10aGlzLmltYWdlVXJsW2luZGV4XTtcclxufVxyXG5wcmV2SW1hZ2VzKCl7IFxyXG4gIHRoaXMuc2VsZWN0ZWRVcmwgPSAnJztcclxuICB0aGlzLnNob3dOZXh0ID0gdHJ1ZTtcclxuICB0aGlzLmZpcnN0SW5kZXggLT0gMztcclxuICB0aGlzLmxhc3RJbmRleCAtPSAzOyBcclxuICB0aGlzLmltYWdlVXJsID0gdGhpcy50b3RhbEltYWdlVXJsLnNsaWNlKHRoaXMuZmlyc3RJbmRleCx0aGlzLmxhc3RJbmRleCk7XHJcbiAgaWYodGhpcy5maXJzdEluZGV4ID09IDAgJiYgdGhpcy5sYXN0SW5kZXggPT0gMyl7XHJcbiAgICB0aGlzLnNob3dQcmV2ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbm5leHRJbWFnZXMoKXtcclxuICB0aGlzLnNob3dQcmV2ID0gdHJ1ZTtcclxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XHJcbiAgdGhpcy5maXJzdEluZGV4ICs9IDM7XHJcbiAgdGhpcy5sYXN0SW5kZXggKz0gMzsgXHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGlmKHRoaXMubGFzdEluZGV4ID09IHRoaXMudG90YWxJbWFnZVVybC5sZW5ndGggfHwgdGhpcy5pbWFnZVVybC5sZW5ndGggPCAzKXtcclxuICB0aGlzLnNob3dOZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5kYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBkYXRlcyBwcm92aWRlZDonLCBldmVudC5zdGFydERhdGUsIGV2ZW50LmVuZERhdGUpO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGV2ZW50IG9iamVjdDonLCBldmVudCk7XHJcbiAgfVxyXG4gfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPlN0b3JlIEluZm88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyXCI+IDxpbnB1dCBjbGFzcz1cInctMTBweCBoLTEwcHggYm9yZGVyLTAgcm91bmRlZC0yIGJnLWRhbmdlciBtZS0yXCI+IEF0dGVudGlvbiBOZWVkZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZC00MDAgc3ViVGl0bGVcIj5BbiBvdmVydmlldyBvZiB0aGUgc3RvcmUgaXNzdWVzIGFuZCB0aGUgZG93bnRpbWUgZm9yIDAyIEp1bHksIDIwMjM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtMiBteC0yXCIgKm5nSWY9XCJ0aW1lU2VyaWVzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0aW1lIG9mIHRpbWVTZXJpZXM7bGV0IEluZGV4PWluZGV4XCIgY2xhc3M9XCJzdmctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBub3JtYWwgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dJbmNpZGVudFR5cGUodGltZT8uaW5jaWRlbnRzKT09J25vcm1hbCcgJiYgIXRpbWUuYWN0aXZlSHJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjA4MDMyIDIuNUwyLjA4MDMyIDUwLjVcIiBzdHJva2U9XCIjRDBENUREXCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByZXNlbnQgaG91ciBmb3IgbGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwidGltZS5hY3RpdmVIclwiIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIiB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gcG9zaXRpdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dJbmNpZGVudFR5cGUodGltZT8uaW5jaWRlbnRzKT09J3Bvc2l0aXZlJyAmJiAhdGltZS5hY3RpdmVIclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW1cIiAobW91c2VlbnRlcik9XCJzaG93RGlhbG9nQm94KHRpbWUsSW5kZXgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI2OFwiIHZpZXdCb3g9XCIwIDAgNSA2OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi40MDAxNSAyLjVMMi40MDAxNCA2Ni41XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBuZWdhdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy5pbmNpZGVudHMpPT0nbmVnYXRpdmUnICYmICF0aW1lLmFjdGl2ZUhyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQ4NjgyIDJMMi40ODY4MiA2NlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctYm94XCIgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiICpuZ0lmPVwic2hvd0luY2lkZW50UG9wICYmIHNob3dJbmNpZGVudFBvcEluZGV4PT1JbmRleFwiIChtb3VzZWxlYXZlKT1cImhpZGVEaWFsb2dCb3goKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC12ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMubmVnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNjVcIiBoZWlnaHQ9XCI2NFwiIHZpZXdCb3g9XCIwIDAgNjUgNjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kZF81NzUyXzM2MDc1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC44MjY0MlwiIHk9XCI0LjMyNjE3XCIgd2lkdGg9XCI1NS4zNDczXCIgaGVpZ2h0PVwiNTUuMzQ3M1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuOTA2NzZcIiBmaWxsPVwiI0ZFRjNGMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5Ljk0NDYgMjUuNTk4N0MzMC4yMjIxIDI1Ljg3NjEgMzAuMjIyMSAyNi4zMjU5IDI5Ljk0NDYgMjYuNjAzM0wyNy4xMDMyIDI5LjQ0NDhDMjYuODI1NyAyOS43MjIyIDI2LjM3NiAyOS43MjIyIDI2LjA5ODUgMjkuNDQ0OEwyNC42Nzc4IDI4LjAyNDFDMjQuNDAwNCAyNy43NDY2IDI0LjQwMDQgMjcuMjk2OSAyNC42Nzc4IDI3LjAxOTRDMjQuOTU1MiAyNi43NDIgMjUuNDA1IDI2Ljc0MiAyNS42ODI0IDI3LjAxOTRMMjYuNjAwOCAyNy45Mzc5TDI4Ljk0IDI1LjU5ODdDMjkuMjE3NSAyNS4zMjEzIDI5LjY2NzIgMjUuMzIxMyAyOS45NDQ2IDI1LjU5ODdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuOTQ0NiAzMi43MDI2QzMwLjIyMjEgMzIuOTgwMSAzMC4yMjIxIDMzLjQyOTkgMjkuOTQ0NiAzMy43MDc0TDI3LjEwMzIgMzYuNTQ4OUMyNi44MjU3IDM2LjgyNjIgMjYuMzc2IDM2LjgyNjIgMjYuMDk4NSAzNi41NDg5TDI0LjY3NzggMzUuMTI4MUMyNC40MDA0IDM0Ljg1MDcgMjQuNDAwNCAzNC40MDA4IDI0LjY3NzggMzQuMTIzNEMyNC45NTUyIDMzLjg0NiAyNS40MDUgMzMuODQ2IDI1LjY4MjQgMzQuMTIzNEwyNi42MDA4IDM1LjA0MTlMMjguOTQgMzIuNzAyNkMyOS4yMTc1IDMyLjQyNTMgMjkuNjY3MiAzMi40MjUzIDI5Ljk0NDYgMzIuNzAyNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zMS41NzM1IDI3LjUyMTlDMzEuNTczNSAyNy4xMjk2IDMxLjg5MTYgMjYuODExNSAzMi4yODM5IDI2LjgxMTVIMzYuNTQ2MUMzNi45Mzg0IDI2LjgxMTUgMzcuMjU2NSAyNy4xMjk2IDM3LjI1NjUgMjcuNTIxOUMzNy4yNTY1IDI3LjkxNDIgMzYuOTM4NCAyOC4yMzIzIDM2LjU0NjEgMjguMjMyM0gzMi4yODM5QzMxLjg5MTYgMjguMjMyMyAzMS41NzM1IDI3LjkxNDIgMzEuNTczNSAyNy41MjE5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI1LjE4IDIxLjEyODRDMjMuMjE4NCAyMS4xMjg0IDIxLjYyODIgMjIuNzE4NiAyMS42MjgyIDI0LjY4MDNWMzcuNDY3QzIxLjYyODIgMzkuNDI4NiAyMy4yMTg0IDQxLjAxODkgMjUuMTggNDEuMDE4OUgzMS4wMDQ3QzMwLjc3NDYgNDAuNTY4OCAzMC41ODY5IDQwLjA5MzQgMzAuNDQ2OCAzOS41OTgxSDI1LjE4QzI0LjAwMzEgMzkuNTk4MSAyMy4wNDg5IDM4LjY0MzkgMjMuMDQ4OSAzNy40NjdWMjQuNjgwM0MyMy4wNDg5IDIzLjUwMzMgMjQuMDAzMSAyMi41NDkyIDI1LjE4IDIyLjU0OTJIMzcuOTY2OEMzOS4xNDM3IDIyLjU0OTIgNDAuMDk3OSAyMy41MDMzIDQwLjA5NzkgMjQuNjgwM1YyOS45NDdDNDAuNTkzMSAzMC4wODcxIDQxLjA2ODUgMzAuMjc0OSA0MS41MTg2IDMwLjUwNDlWMjQuNjgwM0M0MS41MTg2IDIyLjcxODYgMzkuOTI4NCAyMS4xMjg0IDM3Ljk2NjggMjEuMTI4NEgyNS4xOFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzcuOTM2XCIgY3k9XCIzNy40MzZcIiByPVwiNi40MjQyNFwiIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguNzQxNSAzNS41MjY1VjQwLjU1ODFIMzcuNjc3N1YzNi41MzYzSDM3LjY0ODJMMzYuNDk2IDM3LjI1ODZWMzYuMzE1MkwzNy43NDE2IDM1LjUyNjVIMzguNzQxNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjUuMzIwNTlcIiB5PVwiNC44MjAzNFwiIHdpZHRoPVwiNTQuMzU5XCIgaGVpZ2h0PVwiNTQuMzU5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy40MTI1OVwiIHN0cm9rZT1cIiNGRUYzRjJcIiBzdHJva2Utd2lkdGg9XCIwLjk4ODM0NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF81NzUyXzM2MDc1XCIgeD1cIjAuODI2NDE2XCIgeT1cIjAuMzI2MTcyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjMuMzQ3NFwiIGhlaWdodD1cIjYzLjM0NzJcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZGlsYXRlXCIgaW49XCJTb3VyY2VBbHBoYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuOTk3MDU5IDAgMCAwIDAgMC44OTI3NDUgMCAwIDAgMCAwLjg4NTI5NCAwIDAgMCAxIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57e2Rpc3BsYXlDYXRlZ29yeSh0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5LHRpbWU/LmluY2lkZW50c1swXT8udHlwZSl9fSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBzdXBwb3J0aW5nLXRleHRcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIiAoY2xpY2spPVwic2Nyb2xsVG9fbW9iZGV0ZWN0aW9uc2VjdGlvbih0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5KTtcIj5DbGljayB0byB2aWV3IGRldGFpbHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSArdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLnBvc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjU3XCIgaGVpZ2h0PVwiNTdcIiB2aWV3Qm94PVwiMCAwIDU3IDU3XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC41XCIgeT1cIjQuODM2OTFcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMUZBREZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguNSAyNy45MTdWMjguODM3QzM4LjQ5ODggMzAuOTkzNCAzNy44MDA1IDMzLjA5MTcgMzYuNTA5MyAzNC44MTg4QzM1LjIxODIgMzYuNTQ2IDMzLjQwMzMgMzcuODA5NSAzMS4zMzU0IDM4LjQyMDlDMjkuMjY3NCAzOS4wMzIzIDI3LjA1NzMgMzguOTU4OSAyNS4wMzQ1IDM4LjIxMTZDMjMuMDExNyAzNy40NjQzIDIxLjI4NDcgMzYuMDgzMSAyMC4xMTEgMzQuMjc0MUMxOC45MzczIDMyLjQ2NTEgMTguMzc5OCAzMC4zMjUxIDE4LjUyMTcgMjguMTczM0MxOC42NjM2IDI2LjAyMTYgMTkuNDk3MiAyMy45NzMzIDIwLjg5ODMgMjIuMzM0MUMyMi4yOTk0IDIwLjY5NDggMjQuMTkyOCAxOS41NTI0IDI2LjI5NjIgMTkuMDc3MkMyOC4zOTk2IDE4LjYwMTkgMzAuNjAwMyAxOC44MTk0IDMyLjU3IDE5LjY5N00zOC41IDIwLjgzN0wyOC41IDMwLjg0N0wyNS41IDI3Ljg0N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC41XCIgeT1cIjQuODM2OTFcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0VDRkRGM1wiIHN0cm9rZS13aWR0aD1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHQgdGV4dC1wcmltYXJ5XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9fU3VibWl0dXNlcigpO1wiPlN1Ym1pdHRlZCBieVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LmluY2lkZW50c1swXT8udXNlck5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0b3JlIG9wIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5zdG9yZW9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNjRcIiBoZWlnaHQ9XCI2NFwiIHZpZXdCb3g9XCIwIDAgNjQgNjRcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kZF81NzUyXzM2MDY3KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC4zMjY0MlwiIHk9XCI0XCIgd2lkdGg9XCI1NS4zNDczXCIgaGVpZ2h0PVwiNTUuMzQ3M1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuOTA2NzZcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5LjQ0NDkgMjUuMjcyQzI5LjcyMjMgMjUuNTQ5NSAyOS43MjIzIDI1Ljk5OTIgMjkuNDQ0OSAyNi4yNzY2TDI2LjYwMzQgMjkuMTE4MUMyNi4zMjYgMjkuMzk1NiAyNS44NzYyIDI5LjM5NTYgMjUuNTk4OCAyOS4xMTgxTDI0LjE3OCAyNy42OTc0QzIzLjkwMDYgMjcuNDIgMjMuOTAwNiAyNi45NzAyIDI0LjE3OCAyNi42OTI4QzI0LjQ1NTUgMjYuNDE1NCAyNC45MDUyIDI2LjQxNTQgMjUuMTgyNyAyNi42OTI4TDI2LjEwMTEgMjcuNjExMkwyOC40NDAzIDI1LjI3MkMyOC43MTc3IDI0Ljk5NDYgMjkuMTY3NSAyNC45OTQ2IDI5LjQ0NDkgMjUuMjcyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5LjQ0NDkgMzIuMzc2QzI5LjcyMjMgMzIuNjUzNCAyOS43MjIzIDMzLjEwMzIgMjkuNDQ0OSAzMy4zODA3TDI2LjYwMzQgMzYuMjIyMkMyNi4zMjYgMzYuNDk5NSAyNS44NzYyIDM2LjQ5OTUgMjUuNTk4OCAzNi4yMjIyTDI0LjE3OCAzNC44MDE1QzIzLjkwMDYgMzQuNTI0IDIzLjkwMDYgMzQuMDc0MiAyNC4xNzggMzMuNzk2N0MyNC40NTU1IDMzLjUxOTQgMjQuOTA1MiAzMy41MTk0IDI1LjE4MjcgMzMuNzk2N0wyNi4xMDExIDM0LjcxNTJMMjguNDQwMyAzMi4zNzZDMjguNzE3NyAzMi4wOTg2IDI5LjE2NzUgMzIuMDk4NiAyOS40NDQ5IDMyLjM3NlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zMS4wNzM3IDI3LjE5NTJDMzEuMDczNyAyNi44MDI5IDMxLjM5MTggMjYuNDg0OSAzMS43ODQxIDI2LjQ4NDlIMzYuMDQ2M0MzNi40Mzg2IDI2LjQ4NDkgMzYuNzU2NyAyNi44MDI5IDM2Ljc1NjcgMjcuMTk1MkMzNi43NTY3IDI3LjU4NzYgMzYuNDM4NiAyNy45MDU2IDM2LjA0NjMgMjcuOTA1NkgzMS43ODQxQzMxLjM5MTggMjcuOTA1NiAzMS4wNzM3IDI3LjU4NzYgMzEuMDczNyAyNy4xOTUyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI0LjY4MDMgMjAuODAxOEMyMi43MTg2IDIwLjgwMTggMjEuMTI4NCAyMi4zOTIgMjEuMTI4NCAyNC4zNTM2VjM3LjE0MDNDMjEuMTI4NCAzOS4xMDIgMjIuNzE4NiA0MC42OTIyIDI0LjY4MDMgNDAuNjkyMkgzMC41MDQ5QzMwLjI3NDkgNDAuMjQyMSAzMC4wODcxIDM5Ljc2NjcgMjkuOTQ3IDM5LjI3MTVIMjQuNjgwM0MyMy41MDMzIDM5LjI3MTUgMjIuNTQ5MiAzOC4zMTczIDIyLjU0OTIgMzcuMTQwM1YyNC4zNTM2QzIyLjU0OTIgMjMuMTc2NiAyMy41MDMzIDIyLjIyMjUgMjQuNjgwMyAyMi4yMjI1SDM3LjQ2N0MzOC42NDM5IDIyLjIyMjUgMzkuNTk4MSAyMy4xNzY2IDM5LjU5ODEgMjQuMzUzNlYyOS42MjA0QzQwLjA5MzQgMjkuNzYwNSA0MC41Njg4IDI5Ljk0ODIgNDEuMDE4OSAzMC4xNzgzVjI0LjM1MzZDNDEuMDE4OSAyMi4zOTIgMzkuNDI4NiAyMC44MDE4IDM3LjQ2NyAyMC44MDE4SDI0LjY4MDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjM3LjQzNlwiIGN5PVwiMzcuMTA5OFwiIHI9XCI2LjQyNDI0XCIgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC4yNDE3IDM1LjIwMDRWNDAuMjMxOUgzNy4xNzc5VjM2LjIxMDFIMzcuMTQ4NUwzNS45OTYyIDM2LjkzMjRWMzUuOTg5TDM3LjI0MTggMzUuMjAwNEgzOC4yNDE3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC44MjA1OVwiIHk9XCI0LjQ5NDE3XCIgd2lkdGg9XCI1NC4zNTlcIiBoZWlnaHQ9XCI1NC4zNTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjQxMjU5XCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjAuOTg4MzQ1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzU3NTJfMzYwNjdcIiB4PVwiMC4zMjY0MTZcIiB5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjYzLjM0NzRcIiBoZWlnaHQ9XCI2My4zNDcyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImRpbGF0ZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjgzNjM3IDAgMCAwIDAgMC45MzgzNzcgMCAwIDAgMCAwLjk5NjY2NyAwIDAgMCAxIDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57e2Rpc3BsYXlDYXRlZ29yeSh0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5LHRpbWU/LmluY2lkZW50c1swXT8udHlwZSl9fSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpbWU/LmluY2lkZW50c1swXT8udHlwZSA9PSAncG9zaXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHRcIj5PbiB0aW1lIG9wZW5pbmcvY2xvc2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ25lZ2F0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwcG9ydGluZy10ZXh0XCI+U3RvcmUgT3Blbi9DbG9zZSBEZWxheWVkP0Vhcmx5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+Q2FtZXJhIEluZm88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj4gQXR0ZW50aW9uIE5lZWRlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3IgMDIgSnVseSwgMjAyMzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtzaW5nbGVEYXRlUGlja2VyXT1cInRydWVcIiBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGFcIiBjbGFzcz1cInJvdyBtdC03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+PGRpdiBjbGFzcz1cInctMTBweCBoLTEwcHggYm9yZGVyLTAgcm91bmRlZC0zIGJnLXN1Y2Nlc3MgbWUtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEtdGl0bGVcIj5DYW1lcmEgMTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRW50cmFuY2UgQ2FtZXJhXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTVcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0zNTBweFwiIFtzcmNdPVwic2VsZWN0ZWRVcmwgPyBzZWxlY3RlZFVybCA6IGltYWdlVXJsWzBdXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHVybCBvZiBpbWFnZVVybDsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiY29sLXNtLTRcIiAoY2xpY2spPVwic2VsZWN0ZWRJbWcoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIHJvdW5kZWQtMiBtaC0xMDBweFwiIHNyYz1cInt7dXJsfX1cIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQcmV2XCIgKGNsaWNrKT1cInByZXZJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBsZWZ0LTAgbXMtNSBtdC0yIHRvcC0yNVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMjAgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNSAxNS4wMjY0TDcuNSAxMC4wMjY0TDEyLjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dOZXh0XCIgKGNsaWNrKT1cIm5leHRJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCBtZS01IG10LTIgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjUgMTUuMDI2NEwxMi41IDEwLjAyNjRMNy41IDUuMDI2MzdcIiBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhLWFjdHVhbCBmdy1ib2xkXCI+Q2FtZXJhIEFuZ2xlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj5DaGFuZ2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgbWgtMTUwcHhcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgYmctbGlnaHQtcHJpbWFyeSBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkV4cGVjdGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5BY3R1YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG10LTEwIHRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+SW5zdGFuY2VzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RXhwZWN0ZWQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5BY3R1YWw8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5SZXN1bHRzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJzdWJUaXRsZSBmdy1zZW1pYm9sZFwiPiBDYW1lcmEgUmVzb2x1dGlvbiA8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MTA4MCB4IDkwMDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjY4MCB4IDQwMDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyIHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MjNfMjMyNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiA4LjAyNjM3VjYuMDI2MzdNNiA0LjAyNjM3SDYuMDA1TTExIDYuMDI2MzdDMTEgOC43ODc3OSA4Ljc2MTQyIDExLjAyNjQgNiAxMS4wMjY0QzMuMjM4NTggMTEuMDI2NCAxIDguNzg3NzkgMSA2LjAyNjM3QzEgMy4yNjQ5NCAzLjIzODU4IDEuMDI2MzcgNiAxLjAyNjM3QzguNzYxNDIgMS4wMjYzNyAxMSAzLjI2NDk0IDExIDYuMDI2MzdaXCIgc3Ryb2tlPVwiI0YwNDQzOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18yMzI2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJzdWJUaXRsZSBmdy1zZW1pYm9sZFwiPkRvd250aW1lPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjIwMG1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xNDBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtc3VjY2VzcyBweC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMSA1LjU2NjNWNi4wMjYzQzEwLjk5OTQgNy4xMDQ1MSAxMC42NTAzIDguMTUzNjQgMTAuMDA0NyA5LjAxNzIxQzkuMzU5MDggOS44ODA3OSA4LjQ1MTY0IDEwLjUxMjUgNy40MTc2OCAxMC44MTgyQzYuMzgzNzIgMTEuMTI0IDUuMjc4NjMgMTEuMDg3MiA0LjI2NzI0IDEwLjcxMzZDMy4yNTU4NCAxMC4zMzk5IDIuMzkyMzMgOS42NDkzNSAxLjgwNTQ4IDguNzQ0ODNDMS4yMTg2MyA3Ljg0MDMyIDAuOTM5ODk2IDYuNzcwMzMgMS4wMTA4NCA1LjY5NDQ2QzEuMDgxNzggNC42MTg1OCAxLjQ5ODYgMy41OTQ0NiAyLjE5OTE0IDIuNzc0ODRDMi44OTk2OCAxLjk1NTIxIDMuODQ2MzkgMS4zODM5OSA0Ljg5ODA5IDEuMTQ2MzdDNS45NDk4IDAuOTA4NzU0IDcuMDUwMTMgMS4wMTc0NyA4LjAzNSAxLjQ1NjNNMTEgMi4wMjYzTDYgNy4wMzEzTDQuNSA1LjUzMTNcIiBzdHJva2U9XCIjMTJCNzZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzE4MjAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nICYmICFub0RhdGFcIiA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgPGxpYi1lZGdlYXBwLWxvZyBbc3RvcmVJZF0gPSBcInN0b3JlSWRcIj48L2xpYi1lZGdlYXBwLWxvZz5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtdC01XCI+XHJcbiAgICA8bGliLXN0b3JlLWFjdGl2aXR5IFtzdG9yZUlkXT1cInN0b3JlSWRcIj48L2xpYi1zdG9yZS1hY3Rpdml0eT5cclxuPC9kaXY+Il19
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7QUFFN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUFtQ1Q7SUFsQ3BCLFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIsVUFBVSxHQUFTLEVBQUUsQ0FBQztJQUN0QixXQUFXLENBQUs7SUFDaEIsVUFBVSxHQUFPLENBQUMsQ0FBQztJQUNuQixTQUFTLEdBQU8sQ0FBQyxDQUFDO0lBQ2xCLFFBQVEsR0FBVyxLQUFLLENBQUM7SUFDekIsT0FBTyxHQUFXLEtBQUssQ0FBQztJQUN4QixNQUFNLEdBQVcsS0FBSyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixpQkFBaUIsR0FBSyxFQUFFLENBQUM7SUFFekIsb0JBQW9CLENBQVM7SUFDN0IsbUJBQW1C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SyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0Y7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxRTtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQzt1R0F4SVcsa0JBQWtCOzJGQUFsQixrQkFBa0Isc0ZDZC9CLHNsNkJBcVhNOzsyRkR2V08sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttRkFzQ2xCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RvcmUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpbWFnZVVybDphbnlbXSA9IFtdO1xyXG4gIHRpbWVTZXJpZXM6YW55W10gPSBbXTtcclxuICBzdG9yZVRpY2tldDphbnk7XHJcbiAgZmlyc3RJbmRleDphbnkgPSAwO1xyXG4gIGxhc3RJbmRleDphbnkgPSAzO1xyXG4gIHNob3dQcmV2OmJvb2xlYW4gPSBmYWxzZTtcclxuICBsb2FkaW5nOmJvb2xlYW4gPSBmYWxzZTtcclxuICBub0RhdGE6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dOZXh0OmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOmFueT17fTtcclxuICBcclxuICBzaG93SW5jaWRlbnRQb3BJbmRleDogbnVtYmVyO1xyXG4gIHNob3dJbmNpZGVudE9wdGlvbnM6IGFueSA9IHtcclxuICAgIG5lZzogZmFsc2UsXHJcbiAgICBwb3M6IGZhbHNlLFxyXG4gICAgc3RvcmVvcDogZmFsc2VcclxuICB9XHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHRvdGFsSW1hZ2VVcmw6YW55W10gPVtcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnXHJcbiAgXVxyXG4gc2VsZWN0ZWRVcmw6YW55O1xyXG4gQElucHV0KCkgc3RvcmVJZDpzdHJpbmc7IFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSl7XHJcblxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGNvbnNvbGUubG9nKCd0aGlzLmltYWdlJyx0aGlzLmltYWdlVXJsKVxyXG59XHJcblxyXG5cclxuaGlkZURpYWxvZ0JveCgpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG59XHJcblxyXG5nZXRTdHlsZSgpe1xyXG4gIHJldHVybiB7XHJcbiAgJ21hcmdpbi1sZWZ0JzogKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPD0gNSkgPyAnMHB4JyA6ICgodGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA+PSA1OCkgPyAnLTE2MHB4JyA6ICctMTE1cHgnKVxyXG4gIH1cclxufVxyXG5cclxuc2hvd0luY2lkZW50VHlwZShpbmNpZGVudHM6IGFueVtdKSB7XHJcbiAgaWYgKGluY2lkZW50cy5maWx0ZXIoKHg6IGFueSkgPT4geC50eXBlID09ICduZWdhdGl2ZScpLmxlbmd0aCkge1xyXG4gICAgcmV0dXJuICduZWdhdGl2ZSc7XHJcbiAgfSBlbHNlIGlmIChpbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSAncG9zaXRpdmUnKS5sZW5ndGgpIHtcclxuICAgIHJldHVybiAncG9zaXRpdmUnO1xyXG4gIH0gZWxzZSBpZiAoaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LmNhdGVnb3J5ID09ICdzdG9yZW9wZW5hbmRjbG9zZScpLmxlbmd0aCkge1xyXG4gICAgcmV0dXJuICdzdG9yZW9wJztcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuICdub3JtYWwnO1xyXG4gIH1cclxufVxyXG5cclxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPSBpbmRleDtcclxuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcInBvc2l0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IHRydWU7XHJcbiAgfVxyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wID0gdHJ1ZTtcclxufVxyXG5cclxuZGlzcGxheUNhdGVnb3J5KGNhdGVnb3J5OiBhbnksIHR5cGU6IGFueSkge1xyXG4gIGlmIChjYXRlZ29yeSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ2N1c3RvbScpIHtcclxuICAgIGlmICh0eXBlID09ICdwb3NpdGl2ZScpXHJcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJ1N1Ym1pc3Npb24gRGVsYXllZCc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XHJcbiAgICByZXR1cm4gJ1N0b3JlIE9wZW4gQ2xvc2UnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdGVkSW1nKGluZGV4OmFueSl7XHJcbiAgIHRoaXMuc2VsZWN0ZWRVcmwgPXRoaXMuaW1hZ2VVcmxbaW5kZXhdO1xyXG59XHJcbnByZXZJbWFnZXMoKXsgXHJcbiAgdGhpcy5zZWxlY3RlZFVybCA9ICcnO1xyXG4gIHRoaXMuc2hvd05leHQgPSB0cnVlO1xyXG4gIHRoaXMuZmlyc3RJbmRleCAtPSAzO1xyXG4gIHRoaXMubGFzdEluZGV4IC09IDM7IFxyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBpZih0aGlzLmZpcnN0SW5kZXggPT0gMCAmJiB0aGlzLmxhc3RJbmRleCA9PSAzKXtcclxuICAgIHRoaXMuc2hvd1ByZXYgPSBmYWxzZTtcclxuICB9XHJcbn1cclxubmV4dEltYWdlcygpe1xyXG4gIHRoaXMuc2hvd1ByZXYgPSB0cnVlO1xyXG4gIHRoaXMuc2VsZWN0ZWRVcmwgPSAnJztcclxuICB0aGlzLmZpcnN0SW5kZXggKz0gMztcclxuICB0aGlzLmxhc3RJbmRleCArPSAzOyBcclxuICB0aGlzLmltYWdlVXJsID0gdGhpcy50b3RhbEltYWdlVXJsLnNsaWNlKHRoaXMuZmlyc3RJbmRleCx0aGlzLmxhc3RJbmRleCk7XHJcbiAgaWYodGhpcy5sYXN0SW5kZXggPT0gdGhpcy50b3RhbEltYWdlVXJsLmxlbmd0aCB8fCB0aGlzLmltYWdlVXJsLmxlbmd0aCA8IDMpe1xyXG4gIHRoaXMuc2hvd05leHQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbmRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGVzIHByb3ZpZGVkOicsIGV2ZW50LnN0YXJ0RGF0ZSwgZXZlbnQuZW5kRGF0ZSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZXZlbnQgb2JqZWN0OicsIGV2ZW50KTtcclxuICB9XHJcbiB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj4gQXR0ZW50aW9uIE5lZWRlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3Ige3tzZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlfGN1c3RvbURhdGVGb3JtYXR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtdC0yIG14LTJcIiAqbmdJZj1cInRpbWVTZXJpZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHRpbWUgb2YgdGltZVNlcmllcztsZXQgSW5kZXg9aW5kZXhcIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5vcm1hbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy5pbmNpZGVudHMpPT0nbm9ybWFsJyAmJiAhdGltZS5hY3RpdmVIclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlc2VudCBob3VyIGZvciBsaXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJ0aW1lLmFjdGl2ZUhyXCIgY2xhc3M9XCJ0aW1lSXRlbSBteS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI1M1wiIHZpZXdCb3g9XCIwIDAgNCA1M1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi4wODAzMiAyLjVMMi4wODAzMiA1MC41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3NpdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy5pbmNpZGVudHMpPT0ncG9zaXRpdmUnICYmICF0aW1lLmFjdGl2ZUhyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQwMDE1IDIuNUwyLjQwMDE0IDY2LjVcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LmluY2lkZW50cyk9PSduZWdhdGl2ZScgJiYgIXRpbWUuYWN0aXZlSHJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtXCIgKG1vdXNlZW50ZXIpPVwic2hvd0RpYWxvZ0JveCh0aW1lLEluZGV4KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDUgNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCIgKm5nSWY9XCJzaG93SW5jaWRlbnRQb3AgJiYgc2hvd0luY2lkZW50UG9wSW5kZXg9PUluZGV4XCIgKG1vdXNlbGVhdmUpPVwiaGlkZURpYWxvZ0JveCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5uZWdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NVwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NSA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyNjQyXCIgeT1cIjQuMzI2MTdcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRkVGM0YyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuOTQ0NiAyNS41OTg3QzMwLjIyMjEgMjUuODc2MSAzMC4yMjIxIDI2LjMyNTkgMjkuOTQ0NiAyNi42MDMzTDI3LjEwMzIgMjkuNDQ0OEMyNi44MjU3IDI5LjcyMjIgMjYuMzc2IDI5LjcyMjIgMjYuMDk4NSAyOS40NDQ4TDI0LjY3NzggMjguMDI0MUMyNC40MDA0IDI3Ljc0NjYgMjQuNDAwNCAyNy4yOTY5IDI0LjY3NzggMjcuMDE5NEMyNC45NTUyIDI2Ljc0MiAyNS40MDUgMjYuNzQyIDI1LjY4MjQgMjcuMDE5NEwyNi42MDA4IDI3LjkzNzlMMjguOTQgMjUuNTk4N0MyOS4yMTc1IDI1LjMyMTMgMjkuNjY3MiAyNS4zMjEzIDI5Ljk0NDYgMjUuNTk4N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDMyLjcwMjZDMzAuMjIyMSAzMi45ODAxIDMwLjIyMjEgMzMuNDI5OSAyOS45NDQ2IDMzLjcwNzRMMjcuMTAzMiAzNi41NDg5QzI2LjgyNTcgMzYuODI2MiAyNi4zNzYgMzYuODI2MiAyNi4wOTg1IDM2LjU0ODlMMjQuNjc3OCAzNS4xMjgxQzI0LjQwMDQgMzQuODUwNyAyNC40MDA0IDM0LjQwMDggMjQuNjc3OCAzNC4xMjM0QzI0Ljk1NTIgMzMuODQ2IDI1LjQwNSAzMy44NDYgMjUuNjgyNCAzNC4xMjM0TDI2LjYwMDggMzUuMDQxOUwyOC45NCAzMi43MDI2QzI5LjIxNzUgMzIuNDI1MyAyOS42NjcyIDMyLjQyNTMgMjkuOTQ0NiAzMi43MDI2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjU3MzUgMjcuNTIxOUMzMS41NzM1IDI3LjEyOTYgMzEuODkxNiAyNi44MTE1IDMyLjI4MzkgMjYuODExNUgzNi41NDYxQzM2LjkzODQgMjYuODExNSAzNy4yNTY1IDI3LjEyOTYgMzcuMjU2NSAyNy41MjE5QzM3LjI1NjUgMjcuOTE0MiAzNi45Mzg0IDI4LjIzMjMgMzYuNTQ2MSAyOC4yMzIzSDMyLjI4MzlDMzEuODkxNiAyOC4yMzIzIDMxLjU3MzUgMjcuOTE0MiAzMS41NzM1IDI3LjUyMTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjUuMTggMjEuMTI4NEMyMy4yMTg0IDIxLjEyODQgMjEuNjI4MiAyMi43MTg2IDIxLjYyODIgMjQuNjgwM1YzNy40NjdDMjEuNjI4MiAzOS40Mjg2IDIzLjIxODQgNDEuMDE4OSAyNS4xOCA0MS4wMTg5SDMxLjAwNDdDMzAuNzc0NiA0MC41Njg4IDMwLjU4NjkgNDAuMDkzNCAzMC40NDY4IDM5LjU5ODFIMjUuMThDMjQuMDAzMSAzOS41OTgxIDIzLjA0ODkgMzguNjQzOSAyMy4wNDg5IDM3LjQ2N1YyNC42ODAzQzIzLjA0ODkgMjMuNTAzMyAyNC4wMDMxIDIyLjU0OTIgMjUuMTggMjIuNTQ5MkgzNy45NjY4QzM5LjE0MzcgMjIuNTQ5MiA0MC4wOTc5IDIzLjUwMzMgNDAuMDk3OSAyNC42ODAzVjI5Ljk0N0M0MC41OTMxIDMwLjA4NzEgNDEuMDY4NSAzMC4yNzQ5IDQxLjUxODYgMzAuNTA0OVYyNC42ODAzQzQxLjUxODYgMjIuNzE4NiAzOS45Mjg0IDIxLjEyODQgMzcuOTY2OCAyMS4xMjg0SDI1LjE4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy45MzZcIiBjeT1cIjM3LjQzNlwiIHI9XCI2LjQyNDI0XCIgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC43NDE1IDM1LjUyNjVWNDAuNTU4MUgzNy42Nzc3VjM2LjUzNjNIMzcuNjQ4MkwzNi40OTYgMzcuMjU4NlYzNi4zMTUyTDM3Ljc0MTYgMzUuNTI2NUgzOC43NDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNS4zMjA1OVwiIHk9XCI0LjgyMDM0XCIgd2lkdGg9XCI1NC4zNTlcIiBoZWlnaHQ9XCI1NC4zNTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjQxMjU5XCIgc3Ryb2tlPVwiI0ZFRjNGMlwiIHN0cm9rZS13aWR0aD1cIjAuOTg4MzQ1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzU3NTJfMzYwNzVcIiB4PVwiMC44MjY0MTZcIiB5PVwiMC4zMjYxNzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC45OTcwNTkgMCAwIDAgMCAwLjg5Mjc0NSAwIDAgMCAwIDAuODg1Mjk0IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHN1cHBvcnRpbmctdGV4dFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJzY3JvbGxUb19tb2JkZXRlY3Rpb25zZWN0aW9uKHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnkpO1wiPkNsaWNrIHRvIHZpZXcgZGV0YWlsczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tICt2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMucG9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1N1wiIHZpZXdCb3g9XCIwIDAgNTcgNTdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC41IDI3LjkxN1YyOC44MzdDMzguNDk4OCAzMC45OTM0IDM3LjgwMDUgMzMuMDkxNyAzNi41MDkzIDM0LjgxODhDMzUuMjE4MiAzNi41NDYgMzMuNDAzMyAzNy44MDk1IDMxLjMzNTQgMzguNDIwOUMyOS4yNjc0IDM5LjAzMjMgMjcuMDU3MyAzOC45NTg5IDI1LjAzNDUgMzguMjExNkMyMy4wMTE3IDM3LjQ2NDMgMjEuMjg0NyAzNi4wODMxIDIwLjExMSAzNC4yNzQxQzE4LjkzNzMgMzIuNDY1MSAxOC4zNzk4IDMwLjMyNTEgMTguNTIxNyAyOC4xNzMzQzE4LjY2MzYgMjYuMDIxNiAxOS40OTcyIDIzLjk3MzMgMjAuODk4MyAyMi4zMzQxQzIyLjI5OTQgMjAuNjk0OCAyNC4xOTI4IDE5LjU1MjQgMjYuMjk2MiAxOS4wNzcyQzI4LjM5OTYgMTguNjAxOSAzMC42MDAzIDE4LjgxOTQgMzIuNTcgMTkuNjk3TTM4LjUgMjAuODM3TDI4LjUgMzAuODQ3TDI1LjUgMjcuODQ3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRUNGREYzXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57e2Rpc3BsYXlDYXRlZ29yeSh0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5LHRpbWU/LmluY2lkZW50c1swXT8udHlwZSl9fSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cHBvcnRpbmctdGV4dCB0ZXh0LXByaW1hcnlcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb19TdWJtaXR1c2VyKCk7XCI+U3VibWl0dGVkIGJ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8uaW5jaWRlbnRzWzBdPy51c2VyTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RvcmUgb3AgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NFwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NCA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNjcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjMyNjQyXCIgeT1cIjRcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAyNS4yNzJDMjkuNzIyMyAyNS41NDk1IDI5LjcyMjMgMjUuOTk5MiAyOS40NDQ5IDI2LjI3NjZMMjYuNjAzNCAyOS4xMTgxQzI2LjMyNiAyOS4zOTU2IDI1Ljg3NjIgMjkuMzk1NiAyNS41OTg4IDI5LjExODFMMjQuMTc4IDI3LjY5NzRDMjMuOTAwNiAyNy40MiAyMy45MDA2IDI2Ljk3MDIgMjQuMTc4IDI2LjY5MjhDMjQuNDU1NSAyNi40MTU0IDI0LjkwNTIgMjYuNDE1NCAyNS4xODI3IDI2LjY5MjhMMjYuMTAxMSAyNy42MTEyTDI4LjQ0MDMgMjUuMjcyQzI4LjcxNzcgMjQuOTk0NiAyOS4xNjc1IDI0Ljk5NDYgMjkuNDQ0OSAyNS4yNzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAzMi4zNzZDMjkuNzIyMyAzMi42NTM0IDI5LjcyMjMgMzMuMTAzMiAyOS40NDQ5IDMzLjM4MDdMMjYuNjAzNCAzNi4yMjIyQzI2LjMyNiAzNi40OTk1IDI1Ljg3NjIgMzYuNDk5NSAyNS41OTg4IDM2LjIyMjJMMjQuMTc4IDM0LjgwMTVDMjMuOTAwNiAzNC41MjQgMjMuOTAwNiAzNC4wNzQyIDI0LjE3OCAzMy43OTY3QzI0LjQ1NTUgMzMuNTE5NCAyNC45MDUyIDMzLjUxOTQgMjUuMTgyNyAzMy43OTY3TDI2LjEwMTEgMzQuNzE1MkwyOC40NDAzIDMyLjM3NkMyOC43MTc3IDMyLjA5ODYgMjkuMTY3NSAzMi4wOTg2IDI5LjQ0NDkgMzIuMzc2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjA3MzcgMjcuMTk1MkMzMS4wNzM3IDI2LjgwMjkgMzEuMzkxOCAyNi40ODQ5IDMxLjc4NDEgMjYuNDg0OUgzNi4wNDYzQzM2LjQzODYgMjYuNDg0OSAzNi43NTY3IDI2LjgwMjkgMzYuNzU2NyAyNy4xOTUyQzM2Ljc1NjcgMjcuNTg3NiAzNi40Mzg2IDI3LjkwNTYgMzYuMDQ2MyAyNy45MDU2SDMxLjc4NDFDMzEuMzkxOCAyNy45MDU2IDMxLjA3MzcgMjcuNTg3NiAzMS4wNzM3IDI3LjE5NTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjQuNjgwMyAyMC44MDE4QzIyLjcxODYgMjAuODAxOCAyMS4xMjg0IDIyLjM5MiAyMS4xMjg0IDI0LjM1MzZWMzcuMTQwM0MyMS4xMjg0IDM5LjEwMiAyMi43MTg2IDQwLjY5MjIgMjQuNjgwMyA0MC42OTIySDMwLjUwNDlDMzAuMjc0OSA0MC4yNDIxIDMwLjA4NzEgMzkuNzY2NyAyOS45NDcgMzkuMjcxNUgyNC42ODAzQzIzLjUwMzMgMzkuMjcxNSAyMi41NDkyIDM4LjMxNzMgMjIuNTQ5MiAzNy4xNDAzVjI0LjM1MzZDMjIuNTQ5MiAyMy4xNzY2IDIzLjUwMzMgMjIuMjIyNSAyNC42ODAzIDIyLjIyMjVIMzcuNDY3QzM4LjY0MzkgMjIuMjIyNSAzOS41OTgxIDIzLjE3NjYgMzkuNTk4MSAyNC4zNTM2VjI5LjYyMDRDNDAuMDkzNCAyOS43NjA1IDQwLjU2ODggMjkuOTQ4MiA0MS4wMTg5IDMwLjE3ODNWMjQuMzUzNkM0MS4wMTg5IDIyLjM5MiAzOS40Mjg2IDIwLjgwMTggMzcuNDY3IDIwLjgwMThIMjQuNjgwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzcuNDM2XCIgY3k9XCIzNy4xMDk4XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjI0MTcgMzUuMjAwNFY0MC4yMzE5SDM3LjE3NzlWMzYuMjEwMUgzNy4xNDg1TDM1Ljk5NjIgMzYuOTMyNFYzNS45ODlMMzcuMjQxOCAzNS4yMDA0SDM4LjI0MTdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyMDU5XCIgeT1cIjQuNDk0MTdcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA2N1wiIHg9XCIwLjMyNjQxNlwiIHk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjMuMzQ3NFwiIGhlaWdodD1cIjYzLjM0NzJcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZGlsYXRlXCIgaW49XCJTb3VyY2VBbHBoYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuODM2MzcgMCAwIDAgMCAwLjkzODM3NyAwIDAgMCAwIDAuOTk2NjY3IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICdwb3NpdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPk9uIHRpbWUgb3BlbmluZy9jbG9zaW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpbWU/LmluY2lkZW50c1swXT8udHlwZSA9PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHRcIj5TdG9yZSBPcGVuL0Nsb3NlIERlbGF5ZWQ/RWFybHk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5DYW1lcmEgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlclwiPiA8aW5wdXQgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMiBiZy1kYW5nZXIgbWUtMlwiPiBBdHRlbnRpb24gTmVlZGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydERhdGV8Y3VzdG9tRGF0ZUZvcm1hdH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW3NpbmdsZURhdGVQaWNrZXJdPVwidHJ1ZVwiIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YVwiIGNsYXNzPVwicm93IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48ZGl2IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgYmctc3VjY2VzcyBtZS0yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPkNhbWVyYSAxPC9zcGFuPiA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbnRyYW5jZSBDYW1lcmFcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMiB3LTEwMCBtaC0zNTBweCBvdmVyZmxvdy1oaWRkZW4gbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTM1MHB4XCIgW3NyY109XCJzZWxlY3RlZFVybCA/IHNlbGVjdGVkVXJsIDogaW1hZ2VVcmxbMF1cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdXJsIG9mIGltYWdlVXJsOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjb2wtc20tNFwiIChjbGljayk9XCJzZWxlY3RlZEltZyhpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4XCIgc3JjPVwie3t1cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByZXZcIiAoY2xpY2spPVwicHJldkltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBtcy01IG10LTIgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi41IDE1LjAyNjRMNy41IDEwLjAyNjRMMTIuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05leHRcIiAoY2xpY2spPVwibmV4dEltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIG1lLTUgbXQtMiB0b3AtMjVcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNSAxNS4wMjY0TDEyLjUgMTAuMDI2NEw3LjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEtYWN0dWFsIGZ3LWJvbGRcIj5DYW1lcmEgQW5nbGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlclwiPiA8aW5wdXQgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMiBiZy1kYW5nZXIgbWUtMlwiPkNoYW5nZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5JbnN0YW5jZXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FeHBlY3RlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkFjdHVhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlJlc3VsdHM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+IENhbWVyYSBSZXNvbHV0aW9uIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xMDgwIHggOTAwPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+NjgwIHggNDAwPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXIgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDguMDI2MzdWNi4wMjYzN002IDQuMDI2MzdINi4wMDVNMTEgNi4wMjYzN0MxMSA4Ljc4Nzc5IDguNzYxNDIgMTEuMDI2NCA2IDExLjAyNjRDMy4yMzg1OCAxMS4wMjY0IDEgOC43ODc3OSAxIDYuMDI2MzdDMSAzLjI2NDk0IDMuMjM4NTggMS4wMjYzNyA2IDEuMDI2MzdDOC43NjE0MiAxLjAyNjM3IDExIDMuMjY0OTQgMTEgNi4wMjYzN1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzIzMjZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+RG93bnRpbWU8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjE0MG1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgdGV4dC1zdWNjZXNzIHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MjNfMTgyMDEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExIDUuNTY2M1Y2LjAyNjNDMTAuOTk5NCA3LjEwNDUxIDEwLjY1MDMgOC4xNTM2NCAxMC4wMDQ3IDkuMDE3MjFDOS4zNTkwOCA5Ljg4MDc5IDguNDUxNjQgMTAuNTEyNSA3LjQxNzY4IDEwLjgxODJDNi4zODM3MiAxMS4xMjQgNS4yNzg2MyAxMS4wODcyIDQuMjY3MjQgMTAuNzEzNkMzLjI1NTg0IDEwLjMzOTkgMi4zOTIzMyA5LjY0OTM1IDEuODA1NDggOC43NDQ4M0MxLjIxODYzIDcuODQwMzIgMC45Mzk4OTYgNi43NzAzMyAxLjAxMDg0IDUuNjk0NDZDMS4wODE3OCA0LjYxODU4IDEuNDk4NiAzLjU5NDQ2IDIuMTk5MTQgMi43NzQ4NEMyLjg5OTY4IDEuOTU1MjEgMy44NDYzOSAxLjM4Mzk5IDQuODk4MDkgMS4xNDYzN0M1Ljk0OTggMC45MDg3NTQgNy4wNTAxMyAxLjAxNzQ3IDguMDM1IDEuNDU2M00xMSAyLjAyNjNMNiA3LjAzMTNMNC41IDUuNTMxM1wiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ2MjNfMTgyMDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmcgJiYgIW5vRGF0YVwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICFsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC01XCI+XHJcbiAgICA8bGliLWVkZ2VhcHAtbG9nIFtzdG9yZUlkXSA9IFwic3RvcmVJZFwiPjwvbGliLWVkZ2VhcHAtbG9nPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItc3RvcmUtYWN0aXZpdHkgW3N0b3JlSWRdPVwic3RvcmVJZFwiPjwvbGliLXN0b3JlLWFjdGl2aXR5PlxyXG48L2Rpdj4iXX0=